PageSourceSearch

https://www.someren.nl/typo3temp/assets/compressed/merged-efde76e2…e7dae5b35880507ce29bb3b2d7.js.gz?1789040462

js someren.nl collected 2026-10-02 18:32:18 UTC 2,578,887 bytes, 37,261 lines download raw bytes

1
2/*! For license information please see ol.js.LICENSE.txt */
3!function (t, n) {
4    "object" == typeof exports && "object" == typeof module ? module.exports = n() : "function" == typeof define && define.amd ? define([], n) : "object" == typeof exports ? exports.ol = n() : t.ol = n()
5}(self, (function () {
6    return function () {
7        var t, n = {
8            226: function (t, n) {
9                n.read = function (t, n, i, r, e) {
10                    var o, s, a = 8 * e - r - 1, u = (1 << a) - 1, c = u >> 1, h = -7, f = i ? e - 1 : 0,
11                        l = i ? -1 : 1, v = t[n + f];
12                    for (f += l, o = v & (1 << -h) - 1, v >>= -h, h += a; h > 0; o = 256 * o + t[n + f], f += l, h -= 8) ;
13                    for (s = o & (1 << -h) - 1, o >>= -h, h += r; h > 0; s = 256 * s + t[n + f], f += l, h -= 8) ;
14                    if (0 === o) o = 1 - c; else {
15                        if (o === u) return s ? NaN : 1 / 0 * (v ? -1 : 1);
16                        s += Math.pow(2, r), o -= c
17                    }
18                    return (v ? -1 : 1) * s * Math.pow(2, o - r)
19                }, n.write = function (t, n, i, r, e, o) {
20                    var s, a, u, c = 8 * o - e - 1, h = (1 << c) - 1, f = h >> 1,
21                        l = 23 === e ? Math.pow(2, -24) - Math.pow(2, -77) : 0, v = r ? 0 : o - 1, d = r ? 1 : -1,
22                        p = n < 0 || 0 === n && 1 / n < 0 ? 1 : 0;
23                    for (n = Math.abs(n), isNaN(n) || n === 1 / 0 ? (a = isNaN(n) ? 1 : 0, s = h) : (s = Math.floor(Math.log(n) / Math.LN2), n * (u = Math.pow(2, -s)) < 1 && (s--, u *= 2), (n += s + f >= 1 ? l / u : l * Math.pow(2, 1 - f)) * u >= 2 && (s++, u /= 2), s + f >= h ? (a = 0, s = h) : s + f >= 1 ? (a = (n * u - 1) * Math.pow(2, e), s += f) : (a = n * Math.pow(2, f - 1) * Math.pow(2, e), s = 0)); e >= 8; t[i + v] = 255 & a, v += d, a /= 256, e -= 8) ;
24                    for (s = s << e | a, c += e; c > 0; t[i + v] = 255 & s, v += d, s /= 256, c -= 8) ;
25                    t[i + v - d] |= 128 * p
26                }
27            }, 875: function (t, n, i) {
28                "use strict";
29
30                function r(t, n) {
31                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
32                }
33
34                function e(t, n) {
35                    for (var i = 0; i < n.length; i++) {
36                        var r = n[i];
37                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
38                    }
39                }
40
41                function o(t, n, i) {
42                    return n && e(t.prototype, n), i && e(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
43                }
44
45                var s = i(692), a = Symbol("max"), u = Symbol("length"), c = Symbol("lengthCalculator"),
46                    h = Symbol("allowStale"), f = Symbol("maxAge"), l = Symbol("dispose"), v = Symbol("noDisposeOnSet"),
47                    d = Symbol("lruList"), p = Symbol("cache"), y = Symbol("updateAgeOnGet"), m = function () {
48                        return 1
49                    }, w = function () {
50                        function t(n) {
51                            if (r(this, t), "number" == typeof n && (n = {max: n}), n || (n = {}), n.max && ("number" != typeof n.max || n.max < 0)) throw new TypeError("max must be a non-negative number");
52                            this[a] = n.max || 1 / 0;
53                            var i = n.length || m;
54                            if (this[c] = "function" != typeof i ? m : i, this[h] = n.stale || !1, n.maxAge && "number" != typeof n.maxAge) throw new TypeError("maxAge must be a number");
55                            this[f] = n.maxAge || 0, this[l] = n.dispose, this[v] 
55= n.noDisposeOnSet || !1, this[y] = n.updateAgeOnGet || !1, this.reset()
56                        }
57
58                        return o(t, [{
59                            key: "max", get: function () {
60                                return this[a]
61                            }, set: function (t) {
62                                if ("number" != typeof t || t < 0) throw new TypeError("max must be a non-negative number");
63                                this[a] = t || 1 / 0, x(this)
64                            }
65                        }, {
66                            key: "allowStale", get: function () {
67                                return this[h]
68                            }, set: function (t) {
69                                this[h] = !!t
70                            }
71                        }, {
72                            key: "maxAge", get: function () {
73                                return this[f]
74                            }, set: function (t) {
75                                if ("number" != typeof t) throw new TypeError("maxAge must be a non-negative number");
76                                this[f] = t, x(this)
77                            }
78                        }, {
79                            key: "lengthCalculator", get: function () {
80                                return this[c]
81                            }, set: function (t) {
82                                var n = this;
83                                "function" != typeof t && (t = m), t !== this[c] && (this[c] = t, this[u] = 0, this[d].forEach((function (t) {
84                                    t.length = n[c](t.value, t.key), n[u] += t.length
85                                }))), x(this)
86                            }
87                        }, {
88                            key: "length", get: function () {
89                                return this[u]
90                            }
91                        }, {
92                            key: "itemCount", get: function () {
93                                return this[d].length
94                            }
95                        }, {
96                            key: "rforEach", value: function (t, n) {
97                                n = n || this;
98                                for (var i = this[d].tail; null !== i;) {
99                                    var r = i.prev;
100                                    k(this, t, i, n), i = r
101                                }
102                            }
103                        }, {
104                            key: "forEach", value: function (t, n) {
105                                n = n || this;
106                                for (var i = this[d].head; null !== i;) {
107                                    var r = i.next;
108                                    k(this, t, i, n), i = r
109                                }
110                            }
111                        }, {
112                            key: "keys", value: function () {
113                                return this[d].toArray().map((function (t) {
114                                    return t.key
115                                }))
116                            }
117                        }, {
118                            key: "values", value: function () {
119                                return this[d].toArray().map((function (t) {
120                                    return t.value
121                                }))
122                            }
123                        }, {
124                            key: "reset", value: function () {
125                                var t = this;
126                                this[l] && this[d] && this[d].length && this[d].forEach((function (n) {
127                                    return t[l](n.key, n.value)
128                                })), this[p] = new Map, this[d] = new s, this[u] = 0
129                            }
130                        }, {
131                            key: "dump", value: function () {
132                                var t = this;
133                                return this[d].map((function (n) {
134                                    return !g(t, n) && {k: n.key, v: n.value, e: n.now + (n.maxAge || 0)}
135                                })).toArray().filter((function (t) {
136                                    return t
137                                }))
138                            }
139                        }, {
140                            key: "dumpLru", value: function () {
141                                return this[d]
142                            }
143                        }, {
144                            key: "set", value: function (t, n, i) {
145                                if ((i = i || this[f]) && "number" != typeof i) throw new TypeError("maxAge must be a number");
146                                var r = i ? Date.now() : 0, e = this[c](n, t);
147                                if (this[p].has(t)) {
148                                    if (e > this[a]) return j(this, this[p].get(t)), !1;
149                                    var o = this[p].get(t).value;
150                                    return this[l] && (this[v] || this[l](t, o.value)), o.now = r, o.maxAge = i, o.value = n, this[u] += e - o.length, o.length = e, this.get(t), x(this), !0
151                                }
152                                var s = new S(t, n, e, r, i);
153                                return s.length > this[a] ? (this[l] && this[l](t, n), !1) : (this[u] += s.length, this[d].unshift(s), this[p].set(t, this[d].head), x(this), !0)
154                            }
155                        }, {
156                            key: "has", value: function (t) {
157                                if (!this[p].has(t)) return !1;
158                                var n = this[p].get(t).value;
159                                return !g(this, n)
160                            }
161                        }, {
162                            key: "get", value: function (t) {
163                                return b(this, t, !0)
164                            }
165                        }, {
166                            key: "peek", value: function (t) {
167                                return b(this, t, !1)
168                            }
169                        }, {
170                            key: "pop", value: function () {
171                                var t = this[d].tail;
172                                return t ? (j(this, t), t.value) : null
173                            }
174                        }, {
175                            key: "del", value: function (t) {
176                                j(this, this[p].get(t))
177                            }
178                        }, {
179                            key: "load", value: function (t) {
180                                this.reset();
181                                for (var n = Date.now(), i = t.length - 1; i >= 0; i--) {
182                                    var r = t[i], e = r.e || 0;
183                                    if (0 === e) this.set(r.k, r.v); else {
184                                        var o = e - n;
185                                        o > 0 && this.set(r.k, r.v, o)
186                                    }
187                                }
188                            }
189                        }, {
190                            key: "prune", value: function () {
191                                var t = this;
192                                this[p].forEach((function (n, i) {
193                                    return b(t, i, !1)
194                                }))
195                            }
196                        }]), t
197                    }(), b = function (t, n, i) {
198                        var r = t[p].get(n);
199                        if (r) {
200                            var e = r.value;
201                            if (g(t, e)) {
202                                if (j(t, r), !t[h]) return
203                            } else i && (t[y] && (r.value.now = Date.now()), t[d].unshiftNode(r));
204                            return e.value
205                        }
206                    }, g = function (t, n) {
207                        if (!n || !n.maxAge && !t[f]) return !1;
208                        var i = Date.now() - n.now;
209                        return n.maxAge ? i > n.maxAge : t[f] && i > t[f]
210                    }, x = function (t) {
211                        if (t[u] > t[a]) for (var n = t[d].tail; t[u] > t[a] && null !== n;) {
212                            var i = n.prev;
213                            j(t, n), n = i
214                        }
215                    }, j = function (t, n) {
216                        if (n) {
217                            var i = n.value;
218                            t[l] && t[l](i.key, i.value), t[u] -= i.length, t[p].delete(i.key), t[d].removeNode(n)
219                        }
220                    }, S = o((function t(n, i, e, o, s) {
221                        r(this, t), this.key = n, this.value = i, this.length = e, this.now = o, this.maxAge = s || 0
222                    })), k = function (t, n, i, r) {
223                        var e = i.value;
224                        g(t, e) && (j(t, i), t[h] || (e = void 0)), e && n.call(r, e.value, e.key, t)
225                    };
226                t.exports = w
227            }, 63: function (t) {
228                var n = {
229                    thin: 100,
230                    hairline: 100,
231                    "ultra-light": 100,
232                    "extra-light": 100,
233                    light: 200,
234                    book: 300,
235                    regular: 400,
236                    normal: 400,
237                    plain: 400,
238                    roman: 400,
239                    standard: 400,
240                    medium: 500,
241                    "semi-bold": 600,
242                    "demi-bold": 600,
243                    bold: 700,
244                    heavy: 800,
245                    black: 800,
246                    "extra-bold": 800,
247                    "ultra-black": 900,
248                    "extra-black": 900,
249                    "ultra-bold": 900,
250                    "heavy-black": 900,
251                    fat: 900,
252                    poster: 900
253                }, i = " ", r = /(italic|oblique)$/i, e = {};
254                t.exports = function (t, o, s) {
255                    var a = e[t];
256                    if (!a) {
257                        Array.isArray(t) || (t = [t]);
258                        for (var u = 400, c = "normal", h = [], f = 0, l = t.length; f < l; ++f) {
259                            var v = t[f].split(" "), d = v[v.length - 1].toLowerCase();
260                            for (var p in "normal" == d || "italic" == d || "oblique" == d ? (c = d, v.pop(), d = v[v.length - 1].toLowerCase()) : r.test(d) && (d = d.replace(r, ""), c = v[v.length - 1].replace(d, "")), n) {
261                                var y = v.length > 1 ? v[v.length - 2].toLowerCase() : "";
262                                if (d == p || d == p.replace("-", "") || y + "-" + d == p) {
263                                    u = n[p], v.pop(), y && p.startsWith(y) && v.pop();
264                                    break
265                                }
266                            }
267                            "number" == typeof d && (u = d);
268                            var m = v.join(i).replace("Klokantech Noto Sans", "Noto Sans");
269                            -1 !== m.indexOf(i) && (m = '"' + m + '"'), h.push(m)
270                        }
271                        a = e[t] = [c, u, h]
272                    }
273                    return a[0] + i + a[1] + i + o + "px" + (s ? "/" + s : "") + i + a[2]
274                }
275            }, 98: function (t, n, i) {
276                "use strict";
277                t.exports = e;
278                var r = i(226);
279
280                function e(t) {
281                    this.buf = ArrayBuffer.isView && ArrayBuffer.isView(t) ? t : new Uint8Array(t || 0), this.pos = 0, this.type = 0, this.length = this.buf.length
282                }
283
284                e.Varint = 0, e.Fixed64 = 1, e.Bytes = 2, e.Fixed32 = 5;
285                var o = 4294967296, s = 1 / o, a = "undefined" == typeof TextDecoder ? null : new TextDecoder("utf8");
286
287                function u(t) {
288                    return t.type === e.Bytes ? t.readVarint() + t.pos : t.pos + 1
289                }
290
291                function c(t, n, i) {
vendor: 17,386 bytes, lines 292-566
292                    return i ? 4294967296 * n + (t >>> 0) : 4294967296 * (n >>> 0) + (t >>> 0)
293                }
294
295                function h(t, n, i) {
296                    var r = n <= 16383 ? 1 : n <= 2097151 ? 2 : n <= 268435455 ? 3 : Math.floor(Math.log(n) / (7 * Math.LN2));
297                    i.realloc(r);
298                    for (var e = i.pos - 1; e >= t; e--) i.buf[e + r] = i.buf[e]
299                }
300
301                function f(t, n) {
302                    for (var i = 0; i < t.length; i++) n.writeVarint(t[i])
303                }
304
305                function l(t, n) {
306                    for (var i = 0; i < t.length; i++) n.writeSVarint(t[i])
307                }
308
309                function v(t, n) {
310                    for (var i = 0; i < t.length; i++) n.writeFloat(t[i])
311                }
312
313                function d(t, n) {
314                    for (var i = 0; i < t.length; i++) n.writeDouble(t[i])
315                }
316
317                function p(t, n) {
318                    for (var i = 0; i < t.length; i++) n.writeBoolean(t[i])
319                }
320
321                function y(t, n) {
322                    for (var i = 0; i < t.length; i++) n.writeFixed32(t[i])
323                }
324
325                function m(t, n) {
326                    for (var i = 0; i < t.length; i++) n.writeSFixed32(t[i])
327                }
328
329                function w(t, n) {
330                    for (var i = 0; i < t.length; i++) n.writeFixed64(t[i])
331                }
332
333                function b(t, n) {
334                    for (var i = 0; i < t.length; i++) n.writeSFixed64(t[i])
335                }
336
337                function g(t, n) {
338                    return (t[n] | t[n + 1] << 8 | t[n + 2] << 16) + 16777216 * t[n + 3]
339                }
340
341                function x(t, n, i) {
342                    t[i] = n, t[i + 1] = n >>> 8, t[i + 2] = n >>> 16, t[i + 3] = n >>> 24
343                }
344
345                function j(t, n) {
346                    return (t[n] | t[n + 1] << 8 | t[n + 2] << 16) + (t[n + 3] << 24)
347                }
348
349                e.prototype = {
350                    destroy: function () {
351                        this.buf = null
352                    }, readFields: function (t, n, i) {
353                        for (i = i || this.length; this.pos < i;) {
354                            var r = this.readVarint(), e = r >> 3, o = this.pos;
355                            this.type = 7 & r, t(e, n, this), this.pos === o && this.skip(r)
356                        }
357                        return n
358                    }, readMessage: function (t, n) {
359                        return this.readFields(t, n, this.readVarint() + this.pos)
360                    }, readFixed32: function () {
361                        var t = g(this.buf, this.pos);
362                        return this.pos += 4, t
363                    }, readSFixed32: function () {
364                        var t = j(this.buf, this.pos);
365                        return this.pos += 4, t
366                    }, readFixed64: function () {
367                        var t = g(this.buf, this.pos) + g(this.buf, this.pos + 4) * o;
368                        return this.pos += 8, t
369                    }, readSFixed64: function () {
370                        var t = g(this.buf, this.pos) + j(this.buf, this.pos + 4) * o;
371                        return this.pos += 8, t
372                    }, readFloat: function () {
373                        var t = r.read(this.buf, this.pos, !0, 23, 4);
374                        return this.pos += 4, t
375                    }, readDouble: function () {
376                        var t = r.read(this.buf, this.pos, !0, 52, 8);
377                        return this.pos += 8, t
378                    }, readVarint: function (t) {
379                        var n, i, r = this.buf;
380                        return n = 127 & (i = r[this.pos++]), i < 128 ? n : (n |= (127 & (i = r[this.pos++])) << 7, i < 128 ? n : (n |= (127 & (i = r[this.pos++])) << 14, i < 128 ? n : (n |= (127 & (i = r[this.pos++])) << 21, i < 128 ? n : function (t, n, i) {
381                            var r, e, o = i.buf;
382                            if (e = o[i.pos++], r = (112 & e) >> 4, e < 128) return c(t, r, n);
383                            if (e = o[i.pos++], r |= (127 & e) << 3, e < 128) return c(t, r, n);
384                            if (e = o[i.pos++], r |= (127 & e) << 10, e < 128) return c(t, r, n);
385                            if (e = o[i.pos++], r |= (127 & e) << 17, e < 128) return c(t, r, n);
386                            if (e = o[i.pos++], r |= (127 & e) << 24, e < 128) return c(t, r, n);
387                            if (e = o[i.pos++], r |= (1 & e) << 31, e < 128) return c(t, r, n);
388                            throw new Error("Expected varint not more than 10 bytes")
389                        }(n |= (15 & (i = r[this.pos])) << 28, t, this))))
390                    }, readVarint64: function () {
391                        return this.readVarint(!0)
392                    }, readSVarint: function () {
393                        var t = this.readVarint();
394                        return t % 2 == 1 ? (t + 1) / -2 : t / 2
395                    }, readBoolean: function () {
396                        return Boolean(this.readVarint())
397                    }, readString: function () {
398                        var t = this.readVarint() + this.pos, n = this.pos;
399                        return this.pos = t, t - n >= 12 && a ? function (t, n, i) {
400                            return a.decode(t.subarray(n, i))
401                        }(this.buf, n, t) : function (t, n, i) {
402                            var r = "", e = n;
403                            for (; e < i;) {
404                                var o, s, a, u = t[e], c = null, h = u > 239 ? 4 : u > 223 ? 3 : u > 191 ? 2 : 1;
405                                if (e + h > i) break;
406                                1 === h ? u < 128 && (c = u) : 2 === h ? 128 == (192 & (o = t[e + 1])) && (c = (31 & u) << 6 | 63 & o) <= 127 && (c = null) : 3 === h ? (o = t[e + 1], s = t[e + 2], 128 == (192 & o) && 128 == (192 & s) && ((c = (15 & u) << 12 | (63 & o) << 6 | 63 & s) <= 2047 || c >= 55296 && c <= 57343) && (c = null)) : 4 === h && (o = t[e + 1], s = t[e + 2], a = t[e + 3], 128 == (192 & o) && 128 == (192 & s) && 128 == (192 & a) && ((c = (15 & u) << 18 | (63 & o) << 12 | (63 & s) << 6 | 63 & a) <= 65535 || c >= 1114112) && (c = null)), null === c ? (c = 65533, h = 1) : c > 65535 && (c -= 65536, r += String.fromCharCode(c >>> 10 & 1023 | 55296), c = 56320 | 1023 & c), r += String.fromCharCode(c), e += h
407                            }
408                            return r
409                        }(this.buf, n, t)
410                    }, readBytes: function () {
411                        var t = this.readVarint() + this.pos, n = this.buf.subarray(this.pos, t);
412                        return this.pos = t, n
413                    }, readPackedVarint: function (t, n) {
414                        if (this.type !== e.Bytes) return t.push(this.readVarint(n));
415                        var i = u(this);
416                        for (t = t || []; this.pos < i;) t.push(this.readVarint(n));
417                        return t
418                    }, readPackedSVarint: function (t) {
419                        if (this.type !== e.Bytes) return t.push(this.readSVarint());
420                        var n = u(this);
421                        for (t = t || []; this.pos < n;) t.push(this.readSVarint());
422                        return t
423                    }, readPackedBoolean: function (t) {
424                        if (this.type !== e.Bytes) return t.push(this.readBoolean());
425                        var n = u(this);
426                        for (t = t || []; this.pos < n;) t.push(this.readBoolean());
427                        return t
428                    }, readPackedFloat: function (t) {
429                        if (this.type !== e.Bytes) return t.push(this.readFloat());
430                        var n = u(this);
431                        for (t = t || []; this.pos < n;) t.push(this.readFloat());
432                        return t
433                    }, readPackedDouble: function (t) {
434                        if (this.type !== e.Bytes) return t.push(this.readDouble());
435                        var n = u(this);
436                        for (t = t || []; this.pos < n;) t.push(this.readDouble());
437                        return t
438                    }, readPackedFixed32: function (t) {
439                        if (this.type !== e.Bytes) return t.push(this.readFixed32());
440                        var n = u(this);
441                        for (t = t || []; this.pos < n;) t.push(this.readFixed32());
442                        return t
443                    }, readPackedSFixed32: function (t) {
444                        if (this.type !== e.Bytes) return t.push(this.readSFixed32());
445                        var n = u(this);
446                        for (t = t || []; this.pos < n;) t.push(this.readSFixed32());
447                        return t
448                    }, readPackedFixed64: function (t) {
449                        if (this.type !== e.Bytes) return t.push(this.readFixed64());
450                        var n = u(this);
451                        for (t = t || []; this.pos < n;) t.push(this.readFixed64());
452                        return t
453                    }, readPackedSFixed64: function (t) {
454                        if (this.type !== e.Bytes) return t.push(this.readSFixed64());
455                        var n = u(this);
456                        for (t = t || []; this.pos < n;) t.push(this.readSFixed64());
457                        return t
458                    }, skip: function (t) {
459                        var n = 7 & t;
460                        if (n === e.Varint) for (; this.buf[this.pos++] > 127;) ; else if (n === e.Bytes) this.pos = this.readVarint() + this.pos; else if (n === e.Fixed32) this.pos += 4; else {
461                            if (n !== e.Fixed64) throw new Error("Unimplemented type: " + n);
462                            this.pos += 8
463                        }
464                    }, writeTag: function (t, n) {
465                        this.writeVarint(t << 3 | n)
466                    }, realloc: function (t) {
467                        for (var n = this.length || 16; n < this.pos + t;) n *= 2;
468                        if (n !== this.length) {
469                            var i = new Uint8Array(n);
470                            i.set(this.buf), this.buf = i, this.length = n
471                        }
472                    }, finish: function () {
473                        return this.length = this.pos, this.pos = 0, this.buf.subarray(0, this.length)
474                    }, writeFixed32: function (t) {
475                        this.realloc(4), x(this.buf, t, this.pos), this.pos += 4
476                    }, writeSFixed32: function (t) {
477                        this.realloc(4), x(this.buf, t, this.pos), this.pos += 4
478                    }, writeFixed64: function (t) {
479                        this.realloc(8), x(this.buf, -1 & t, this.pos), x(this.buf, Math.floor(t * s), this.pos + 4), this.pos += 8
480                    }, writeSFixed64: function (t) {
481                        this.realloc(8), x(this.buf, -1 & t, this.pos), x(this.buf, Math.floor(t * s), this.pos + 4), this.pos += 8
482                    }, writeVarint: function (t) {
483                        (t = +t || 0) > 268435455 || t < 0 ? function (t, n) {
484                            var i, r;
485                            t >= 0 ? (i = t % 4294967296 | 0, r = t / 4294967296 | 0) : (r = ~(-t / 4294967296), 4294967295 ^ (i = ~(-t % 4294967296)) ? i = i + 1 | 0 : (i = 0, r = r + 1 | 0));
486                            if (t >= 0x10000000000000000 || t < -0x10000000000000000) throw new Error("Given varint doesn't fit into 10 bytes");
487                            n.realloc(10), function (t, n, i) {
488                                i.buf[i.pos++] = 127 & t | 128, t >>>= 7, i.buf[i.pos++] = 127 & t | 128, t >>>= 7, i.buf[i.pos++] = 127 & t | 128, t >>>= 7, i.buf[i.pos++] = 127 & t | 128, t >>>= 7, i.buf[i.pos] = 127 & t
489                            }(i, 0, n), function (t, n) {
490                                var i = (7 & t) << 4;
491                                if (n.buf[n.pos++] |= i | ((t >>>= 3) ? 128 : 0), !t) return;
492                                if (n.buf[n.pos++] = 127 & t | ((t >>>= 7) ? 128 : 0), !t) return;
493                                if (n.buf[n.pos++] = 127 & t | ((t >>>= 7) ? 128 : 0), !t) return;
494                                if (n.buf[n.pos++] = 127 & t | ((t >>>= 7) ? 128 : 0), !t) return;
495                                if (n.buf[n.pos++] = 127 & t | ((t >>>= 7) ? 128 : 0), !t) return;
496                                n.buf[n.pos++] = 127 & t
497                            }(r, n)
498                        }(t, this) : (this.realloc(4), this.buf[this.pos++] = 127 & t | (t > 127 ? 128 : 0), t <= 127 || (this.buf[this.pos++] = 127 & (t >>>= 7) | (t > 127 ? 128 : 0), t <= 127 || (this.buf[this.pos++] = 127 & (t >>>= 7) | (t > 127 ? 128 : 0), t <= 127 || (this.buf[this.pos++] = t >>> 7 & 127))))
499                    }, writeSVarint: function (t) {
500                        this.writeVarint(t < 0 ? 2 * -t - 1 : 2 * t)
501                    }, writeBoolean: function (t) {
502                        this.writeVarint(Boolean(t))
503                    }, writeString: function (t) {
504                        t = String(t), this.realloc(4 * t.length), this.pos++;
505                        var n = this.pos;
506                        this.pos = function (t, n, i) {
507                            for (var r, e, o = 0; o < n.length; o++) {
508                                if ((r = n.charCodeAt(o)) > 55295 && r < 57344) {
509                                    if (!e) {
510                                        r > 56319 || o + 1 === n.length ? (t[i++] = 239, t[i++] = 191, t[i++] = 189) : e = r;
511                                        continue
512                                    }
513                                    if (r < 56320) {
514                                        t[i++] = 239, t[i++] = 191, t[i++] = 189, e = r;
515                                        continue
516                                    }
517                                    r = e - 55296 << 10 | r - 56320 | 65536, e = null
518                                } else e && (t[i++] = 239, t[i++] = 191, t[i++] = 189, e = null);
519                                r < 128 ? t[i++] = r : (r < 2048 ? t[i++] = r >> 6 | 192 : (r < 65536 ? t[i++] = r >> 12 | 224 : (t[i++] = r >> 18 | 240, t[i++] = r >> 12 & 63 | 128), t[i++] = r >> 6 & 63 | 128), t[i++] = 63 & r | 128)
520                            }
521                            return i
522                        }(this.buf, t, this.pos);
523                        var i = this.pos - n;
524                        i >= 128 && h(n, i, this), this.pos = n - 1, this.writeVarint(i), this.pos += i
525                    }, writeFloat: function (t) {
526                        this.realloc(4), r.write(this.buf, t, this.pos, !0, 23, 4), this.pos += 4
527                    }, writeDouble: function (t) {
528                        this.realloc(8), r.write(this.buf, t, this.pos, !0, 52, 8), this.pos += 8
529                    }, writeBytes: function (t) {
530                        var n = t.length;
531                        this.writeVarint(n), this.realloc(n);
532                        for (var i = 0; i < n; i++) this.buf[this.pos++] = t[i]
533                    }, writeRawMessage: function (t, n) {
534                        this.pos++;
535                        var i = this.pos;
536                        t(n, this);
537                        var r = this.pos - i;
538                        r >= 128 && h(i, r, this), this.pos = i - 1, this.writeVarint(r), this.pos += r
539                    }, writeMessage: function (t, n, i) {
540                        this.writeTag(t, e.Bytes), this.writeRawMessage(n, i)
541                    }, writePackedVarint: function (t, n) {
542                        n.length && this.writeMessage(t, f, n)
543                    }, writePackedSVarint: function (t, n) {
544                        n.length && this.writeMessage(t, l, n)
545                    }, writePackedBoolean: function (t, n) {
546                        n.length && this.writeMessage(t, p, n)
547                    }, writePackedFloat: function (t, n) {
548                        n.length && this.writeMessage(t, v, n)
549                    }, writePackedDouble: function (t, n) {
550                        n.length && this.writeMessage(t, d, n)
551                    }, writePackedFixed32: function (t, n) {
552                        n.length && this.writeMessage(t, y, n)
553                    }, writePackedSFixed32: function (t, n) {
554                        n.length && this.writeMessage(t, m, n)
555                    }, writePackedFixed64: function (t, n) {
556                        n.length && this.writeMessage(t, w, n)
557                    }, writePackedSFixed64: function (t, n) {
558                        n.length && this.writeMessage(t, b, n)
559                    }, writeBytesField: function (t, n) {
560                        this.writeTag(t, e.Bytes), this.writeBytes(n)
561                    }, writeFixed32Field: function (t, n) {
562                        this.writeTag(t, e.Fixed32), this.writeFixed32(n)
563                    }, writeSFixed32Field: function (t, n) {
564                        this.writeTag(t, e.Fixed32), this.writeSFixed32(n)
565                    }, writeFixed64Field: function (t, n) {
566                        this.writeTag(t, e.Fixed64), this.writeFixed64
vendor: 5,306 bytes, lines 566-680
566(n)
567                    }, writeSFixed64Field: function (t, n) {
568                        this.writeTag(t, e.Fixed64), this.writeSFixed64(n)
569                    }, writeVarintField: function (t, n) {
570                        this.writeTag(t, e.Varint), this.writeVarint(n)
571                    }, writeSVarintField: function (t, n) {
572                        this.writeTag(t, e.Varint), this.writeSVarint(n)
573                    }, writeStringField: function (t, n) {
574                        this.writeTag(t, e.Bytes), this.writeString(n)
575                    }, writeFloatField: function (t, n) {
576                        this.writeTag(t, e.Fixed32), this.writeFloat(n)
577                    }, writeDoubleField: function (t, n) {
578                        this.writeTag(t, e.Fixed64), this.writeDouble(n)
579                    }, writeBooleanField: function (t, n) {
580                        this.writeVarintField(t, Boolean(n))
581                    }
582                }
583            }, 72: function (t, n, i) {
584                var r, e, o;
585
586                function s(t) {
587                    return (s = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
588                        return typeof t
589                    } : function (t) {
590                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
591                    })(t)
592                }
593
594                o = function () {
595                    "use strict";
596
597                    function t(t, r, e, o, s) {
598                        !function t(i, r, e, o, s) {
599                            for (; o > e;) {
600                                if (o - e > 600) {
601                                    var a = o - e + 1, u = r - e + 1, c = Math.log(a), h = .5 * Math.exp(2 * c / 3),
602                                        f = .5 * Math.sqrt(c * h * (a - h) / a) * (u - a / 2 < 0 ? -1 : 1);
603                                    t(i, r, Math.max(e, Math.floor(r - u * h / a + f)), Math.min(o, Math.floor(r + (a - u) * h / a + f)), s)
604                                }
605                                var l = i[r], v = e, d = o;
606                                for (n(i, e, r), s(i[o], l) > 0 && n(i, e, o); v < d;) {
607                                    for (n(i, v, d), v++, d--; s(i[v], l) < 0;) v++;
608                                    for (; s(i[d], l) > 0;) d--
609                                }
610                                0 === s(i[e], l) ? n(i, e, d) : n(i, ++d, o), d <= r && (e = d + 1), r <= d && (o = d - 1)
611                            }
612                        }(t, r, e || 0, o || t.length - 1, s || i)
613                    }
614
615                    function n(t, n, i) {
616                        var r = t[n];
617                        t[n] = t[i], t[i] = r
618                    }
619
620                    function i(t, n) {
621                        return t < n ? -1 : t > n ? 1 : 0
622                    }
623
624                    var r = function (t) {
625                        void 0 === t && (t = 9), this._maxEntries = Math.max(4, t), this._minEntries = Math.max(2, Math.ceil(.4 * this._maxEntries)), this.clear()
626                    };
627
628                    function e(t, n, i) {
629                        if (!i) return n.indexOf(t);
630                        for (var r = 0; r < n.length; r++) if (i(t, n[r])) return r;
631                        return -1
632                    }
633
634                    function o(t, n) {
635                        s(t, 0, t.children.length, n, t)
636                    }
637
638                    function s(t, n, i, r, e) {
639                        e || (e = d(null)), e.minX = 1 / 0, e.minY = 1 / 0, e.maxX = -1 / 0, e.maxY = -1 / 0;
640                        for (var o = n; o < i; o++) {
641                            var s = t.children[o];
642                            a(e, t.leaf ? r(s) : s)
643                        }
644                        return e
645                    }
646
647                    function a(t, n) {
648                        return t.minX = Math.min(t.minX, n.minX), t.minY = Math.min(t.minY, n.minY), t.maxX = Math.max(t.maxX, n.maxX), t.maxY = Math.max(t.maxY, n.maxY), t
649                    }
650
651                    function u(t, n) {
652                        return t.minX - n.minX
653                    }
654
655                    function c(t, n) {
656                        return t.minY - n.minY
657                    }
658
659                    function h(t) {
660                        return (t.maxX - t.minX) * (t.maxY - t.minY)
661                    }
662
663                    function f(t) {
664                        return t.maxX - t.minX + (t.maxY - t.minY)
665                    }
666
667                    function l(t, n) {
668                        return t.minX <= n.minX && t.minY <= n.minY && n.maxX <= t.maxX && n.maxY <= t.maxY
669                    }
670
671                    function v(t, n) {
672                        return n.minX <= t.maxX && n.minY <= t.maxY && n.maxX >= t.minX && n.maxY >= t.minY
673                    }
674
675                    function d(t) {
676                        return {children: t, height: 1, leaf: !0, minX: 1 / 0, minY: 1 / 0, maxX: -1 / 0, maxY: -1 / 0}
677                    }
678
679                    function p(n, i, r, e, o) {
680                        for (var s = [i, r]; s.length;) if (!((r = s.pop()) - (i = s.pop()) <= e)) {
vendor: 4,456 bytes, lines 681-757
681                            var a = i + Math.ceil((r - i) / e / 2) * e;
682                            t(n, a, i, r, o), s.push(i, a, a, r)
683                        }
684                    }
685
686                    return r.prototype.all = function () {
687                        return this._all(this.data, [])
688                    }, r.prototype.search = function (t) {
689                        var n = this.data, i = [];
690                        if (!v(t, n)) return i;
691                        for (var r = this.toBBox, e = []; n;) {
692                            for (var o = 0; o < n.children.length; o++) {
693                                var s = n.children[o], a = n.leaf ? r(s) : s;
694                                v(t, a) && (n.leaf ? i.push(s) : l(t, a) ? this._all(s, i) : e.push(s))
695                            }
696                            n = e.pop()
697                        }
698                        return i
699                    }, r.prototype.collides = function (t) {
700                        var n = this.data;
701                        if (!v(t, n)) return !1;
702                        for (var i = []; n;) {
703                            for (var r = 0; r < n.children.length; r++) {
704                                var e = n.children[r], o = n.leaf ? this.toBBox(e) : e;
705                                if (v(t, o)) {
706                                    if (n.leaf || l(t, o)) return !0;
707                                    i.push(e)
708                                }
709                            }
710                            n = i.pop()
711                        }
712                        return !1
713                    }, r.prototype.load = function (t) {
714                        if (!t || !t.length) return this;
715                        if (t.length < this._minEntries) {
716                            for (var n = 0; n < t.length; n++) this.insert(t[n]);
717                            return this
718                        }
719                        var i = this._build(t.slice(), 0, t.length - 1, 0);
720                        if (this.data.children.length) if (this.data.height === i.height) this._splitRoot(this.data, i); else {
721                            if (this.data.height < i.height) {
722                                var r = this.data;
723                                this.data = i, i = r
724                            }
725                            this._insert(i, this.data.height - i.height - 1, !0)
726                        } else this.data = i;
727                        return this
728                    }, r.prototype.insert = function (t) {
729                        return t && this._insert(t, this.data.height - 1), this
730                    }, r.prototype.clear = function () {
731                        return this.data = d([]), this
732                    }, r.prototype.remove = function (t, n) {
733                        if (!t) return this;
734                        for (var i, r, o, s = this.data, a = this.toBBox(t), u = [], c = []; s || u.length;) {
735                            if (s || (s = u.pop(), r = u[u.length - 1], i = c.pop(), o = !0), s.leaf) {
736                                var h = e(t, s.children, n);
737                                if (-1 !== h) return s.children.splice(h, 1), u.push(s), this._condense(u), this
738                            }
739                            o || s.leaf || !l(s, a) ? r ? (i++, s = r.children[i], o = !1) : s = null : (u.push(s), c.push(i), i = 0, r = s, s = s.children[0])
740                        }
741                        return this
742                    }, r.prototype.toBBox = function (t) {
743                        return t
744                    }, r.prototype.compareMinX = function (t, n) {
745                        return t.minX - n.minX
746                    }, r.prototype.compareMinY = function (t, n) {
747                        return t.minY - n.minY
748                    }, r.prototype.toJSON = function () {
749                        return this.data
750                    }, r.prototype.fromJSON = function (t) {
751                        return this.data = t, this
752                    }, r.prototype._all = function (t, n) {
753                        for (var i = []; t;) t.leaf ? n.push.apply(n, t.children) : i.push.apply(i, t.children), t = i.pop();
754                        return n
755                    }, r.prototype._build = function (t, n, i, r) {
756                        var e, s = i - n + 1, a = this._maxEntries;
757                        if (s <= a) return o(e = d(t.slice(n, i + 1)), this.toBBox), e;
vendor: 12,334 bytes, lines 758-979
758                        r || (r = Math.ceil(Math.log(s) / Math.log(a)), a = Math.ceil(s / Math.pow(a, r - 1))), (e = d([])).leaf = !1, e.height = r;
759                        var u = Math.ceil(s / a), c = u * Math.ceil(Math.sqrt(a));
760                        p(t, n, i, c, this.compareMinX);
761                        for (var h = n; h <= i; h += c) {
762                            var f = Math.min(h + c - 1, i);
763                            p(t, h, f, u, this.compareMinY);
764                            for (var l = h; l <= f; l += u) {
765                                var v = Math.min(l + u - 1, f);
766                                e.children.push(this._build(t, l, v, r - 1))
767                            }
768                        }
769                        return o(e, this.toBBox), e
770                    }, r.prototype._chooseSubtree = function (t, n, i, r) {
771                        for (; r.push(n), !n.leaf && r.length - 1 !== i;) {
772                            for (var e = 1 / 0, o = 1 / 0, s = void 0, a = 0; a < n.children.length; a++) {
773                                var u = n.children[a], c = h(u),
774                                    f = (l = t, v = u, (Math.max(v.maxX, l.maxX) - Math.min(v.minX, l.minX)) * (Math.max(v.maxY, l.maxY) - Math.min(v.minY, l.minY)) - c);
775                                f < o ? (o = f, e = c < e ? c : e, s = u) : f === o && c < e && (e = c, s = u)
776                            }
777                            n = s || n.children[0]
778                        }
779                        var l, v;
780                        return n
781                    }, r.prototype._insert = function (t, n, i) {
782                        var r = i ? t : this.toBBox(t), e = [], o = this._chooseSubtree(r, this.data, n, e);
783                        for (o.children.push(t), a(o, r); n >= 0 && e[n].children.length > this._maxEntries;) this._split(e, n), n--;
784                        this._adjustParentBBoxes(r, e, n)
785                    }, r.prototype._split = function (t, n) {
786                        var i = t[n], r = i.children.length, e = this._minEntries;
787                        this._chooseSplitAxis(i, e, r);
788                        var s = this._chooseSplitIndex(i, e, r), a = d(i.children.splice(s, i.children.length - s));
789                        a.height = i.height, a.leaf = i.leaf, o(i, this.toBBox), o(a, this.toBBox), n ? t[n - 1].children.push(a) : this._splitRoot(i, a)
790                    }, r.prototype._splitRoot = function (t, n) {
791                        this.data = d([t, n]), this.data.height = t.height + 1, this.data.leaf = !1, o(this.data, this.toBBox)
792                    }, r.prototype._chooseSplitIndex = function (t, n, i) {
793                        for (var r, e, o, a, u, c, f, l = 1 / 0, v = 1 / 0, d = n; d <= i - n; d++) {
794                            var p = s(t, 0, d, this.toBBox), y = s(t, d, i, this.toBBox),
795                                m = (e = p, o = y, a = Math.max(e.minX, o.minX), u = Math.max(e.minY, o.minY), c = Math.min(e.maxX, o.maxX), f = Math.min(e.maxY, o.maxY), Math.max(0, c - a) * Math.max(0, f - u)),
796                                w = h(p) + h(y);
797                            m < l ? (l = m, r = d, v = w < v ? w : v) : m === l && w < v && (v = w, r = d)
798                        }
799                        return r || i - n
800                    }, r.prototype._chooseSplitAxis = function (t, n, i) {
801                        var r = t.leaf ? this.compareMinX : u, e = t.leaf ? this.compareMinY : c;
802                        this._allDistMargin(t, n, i, r) < this._allDistMargin(t, n, i, e) && t.children.sort(r)
803                    }, r.prototype._allDistMargin = function (t, n, i, r) {
804                        t.children.sort(r);
805                        for (var e = this.toBBox, o = s(t, 0, n, e), u = s(t, i - n, i, e), c = f(o) + f(u), h = n; h < i - n; h++) {
806                            var l = t.children[h];
807                            a(o, t.leaf ? e(l) : l), c += f(o)
808                        }
809                        for (var v = i - n - 1; v >= n; v--) {
810                            var d = t.children[v];
811                            a(u, t.leaf ? e(d) : d), c += f(u)
812                        }
813                        return c
814                    }, r.prototype._adjustParentBBoxes = function (t, n, i) {
815                        for (var r = i; r >= 0; r--) a(n[r], t)
816                    }, r.prototype._condense = function (t) {
817                        for (var n = t.length - 1, i = void 0; n >= 0; n--) 0 === t[n].children.length ? n > 0 ? (i = t[n - 1].children).splice(i.indexOf(t[n]), 1) : this.clear() : o(t[n], this.toBBox)
818                    }, r
819                }, "object" == s(n) ? t.exports = o() : void 0 === (e = "function" == typeof (r = o) ? r.call(n, i, n, t) : r) || (t.exports = e)
820            }, 760: function (t, n, i) {
821                function r(t) {
822                    return (r = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
823                        return typeof t
824                    } : function (t) {
825                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
826                    })(t)
827                }
828
829                var e = function (t) {
830                    "use strict";
831                    var n, i = Object.prototype, e = i.hasOwnProperty, o = "function" == typeof Symbol ? Symbol : {},
832                        s = o.iterator || "@@iterator", a = o.asyncIterator || "@@asyncIterator",
833                        u = o.toStringTag || "@@toStringTag";
834
835                    function c(t, n, i) {
836                        return Object.defineProperty(t, n, {
837                            value: i,
838                            enumerable: !0,
839                            configurable: !0,
840                            writable: !0
841                        }), t[n]
842                    }
843
844                    try {
845                        c({}, "")
846                    } catch (t) {
847                        c = function (t, n, i) {
848                            return t[n] = i
849                        }
850                    }
851
852                    function h(t, n, i, r) {
853                        var e = n && n.prototype instanceof m ? n : m, o = Object.create(e.prototype),
854                            s = new E(r || []);
855                        return o._invoke = function (t, n, i) {
856                            var r = l;
857                            return function (e, o) {
858                                if (r === d) throw new Error("Generator is already running");
859                                if (r === p) {
860                                    if ("throw" === e) throw o;
861                                    return C()
862                                }
863                                for (i.method = e, i.arg = o; ;) {
864                                    var s = i.delegate;
865                                    if (s) {
866                                        var a = _(s, i);
867                                        if (a) {
868                                            if (a === y) continue;
869                                            return a
870                                        }
871                                    }
872                                    if ("next" === i.method) i.sent = i._sent = i.arg; else if ("throw" === i.method) {
873                                        if (r === l) throw r = p, i.arg;
874                                        i.dispatchException(i.arg)
875                                    } else "return" === i.method && i.abrupt("return", i.arg);
876                                    r = d;
877                                    var u = f(t, n, i);
878                                    if ("normal" === u.type) {
879                                        if (r = i.done ? p : v, u.arg === y) continue;
880                                        return {value: u.arg, done: i.done}
881                                    }
882                                    "throw" === u.type && (r = p, i.method = "throw", i.arg = u.arg)
883                                }
884                            }
885                        }(t, i, s), o
886                    }
887
888                    function f(t, n, i) {
889                        try {
890                            return {type: "normal", arg: t.call(n, i)}
891                        } catch (t) {
892                            return {type: "throw", arg: t}
893                        }
894                    }
895
896                    t.wrap = h;
897                    var l = "suspendedStart", v = "suspendedYield", d = "executing", p = "completed", y = {};
898
899                    function m() {
900                    }
901
902                    function w() {
903                    }
904
905                    function b() {
906                    }
907
908                    var g = {};
909                    c(g, s, (function () {
910                        return this
911                    }));
912                    var x = Object.getPrototypeOf, j = x && x(x(A([])));
913                    j && j !== i && e.call(j, s) && (g = j);
914                    var S = b.prototype = m.prototype = Object.create(g);
915
916                    function k(t) {
917                        ["next", "throw", "return"].forEach((function (n) {
918                            c(t, n, (function (t) {
919                                return this._invoke(n, t)
920                            }))
921                        }))
922                    }
923
924                    function M(t, n) {
925                        function i(o, s, a, u) {
926                            var c = f(t[o], t, s);
927                            if ("throw" !== c.type) {
928                                var h = c.arg, l = h.value;
929                                return l && "object" === r(l) && e.call(l, "__await") ? n.resolve(l.__await).then((function (t) {
930                                    i("next", t, a, u)
931                                }), (function (t) {
932                                    i("throw", t, a, u)
933                                })) : n.resolve(l).then((function (t) {
934                                    h.value = t, a(h)
935                                }), (function (t) {
936                                    return i("throw", t, a, u)
937                                }))
938                            }
939                            u(c.arg)
940                        }
941
942                        var o;
943                        this._invoke = function (t, r) {
944                            function e() {
945                                return new n((function (n, e) {
946                                    i(t, r, n, e)
947                                }))
948                            }
949
950                            return o = o ? o.then(e, e) : e()
951                        }
952                    }
953
954                    function _(t, i) {
955                        var r = t.iterator[i.method];
956                        if (r === n) {
957                            if (i.delegate = null, "throw" === i.method) {
958                                if (t.iterator.return && (i.method = "return", i.arg = n, _(t, i), "throw" === i.method)) return y;
959                                i.method = "throw", i.arg = new TypeError("The iterator does not provide a 'throw' method")
960                            }
961                            return y
962                        }
963                        var e = f(r, t.iterator, i.arg);
964                        if ("throw" === e.type) return i.method = "throw", i.arg = e.arg, i.delegate = null, y;
965                        var o = e.arg;
966                        return o ? o.done ? (i[t.resultName] = o.value, i.next = t.nextLoc, "return" !== i.method && (i.method = "next", i.arg = n), i.delegate = null, y) : o : (i.method = "throw", i.arg = new TypeError("iterator result is not an object"), i.delegate = null, y)
967                    }
968
969                    function O(t) {
970                        var n = {tryLoc: t[0]};
971                        1 in t && (n.catchLoc = t[1]), 2 in t && (n.finallyLoc = t[2], n.afterLoc = t[3]), this.tryEntries.push(n)
972                    }
973
974                    function T(t) {
975                        var n = t.completion || {};
976                        n.type = "normal", delete n.arg, t.completion = n
977                    }
978
979                    function E(t) {
vendor: 6,873 bytes, lines 980-1089
980                        this.tryEntries = [{tryLoc: "root"}], t.forEach(O, this), this.reset(!0)
981                    }
982
983                    function A(t) {
984                        if (t) {
985                            var i = t[s];
986                            if (i) return i.call(t);
987                            if ("function" == typeof t.next) return t;
988                            if (!isNaN(t.length)) {
989                                var r = -1, o = function i() {
990                                    for (; ++r < t.length;) if (e.call(t, r)) return i.value = t[r], i.done = !1, i;
991                                    return i.value = n, i.done = !0, i
992                                };
993                                return o.next = o
994                            }
995                        }
996                        return {next: C}
997                    }
998
999                    function C() {
1000                        return {value: n, done: !0}
1001                    }
1002
1003                    return w.prototype = b, c(S, "constructor", b), c(b, "constructor", w), w.displayName = c(b, u, "GeneratorFunction"), t.isGeneratorFunction = function (t) {
1004                        var n = "function" == typeof t && t.constructor;
1005                        return !!n && (n === w || "GeneratorFunction" === (n.displayName || n.name))
1006                    }, t.mark = function (t) {
1007                        return Object.setPrototypeOf ? Object.setPrototypeOf(t, b) : (t.__proto__ = b, c(t, u, "GeneratorFunction")), t.prototype = Object.create(S), t
1008                    }, t.awrap = function (t) {
1009                        return {__await: t}
1010                    }, k(M.prototype), c(M.prototype, a, (function () {
1011                        return this
1012                    })), t.AsyncIterator = M, t.async = function (n, i, r, e, o) {
1013                        void 0 === o && (o = Promise);
1014                        var s = new M(h(n, i, r, e), o);
1015                        return t.isGeneratorFunction(i) ? s : s.next().then((function (t) {
1016                            return t.done ? t.value : s.next()
1017                        }))
1018                    }, k(S), c(S, u, "Generator"), c(S, s, (function () {
1019                        return this
1020                    })), c(S, "toString", (function () {
1021                        return "[object Generator]"
1022                    })), t.keys = function (t) {
1023                        var n = [];
1024                        for (var i in t) n.push(i);
1025                        return n.reverse(), function i() {
1026                            for (; n.length;) {
1027                                var r = n.pop();
1028                                if (r in t) return i.value = r, i.done = !1, i
1029                            }
1030                            return i.done = !0, i
1031                        }
1032                    }, t.values = A, E.prototype = {
1033                        constructor: E, reset: function (t) {
1034                            if (this.prev = 0, this.next = 0, this.sent = this._sent = n, this.done = !1, this.delegate = null, this.method = "next", this.arg = n, this.tryEntries.forEach(T), !t) for (var i in this) "t" === i.charAt(0) && e.call(this, i) && !isNaN(+i.slice(1)) && (this[i] = n)
1035                        }, stop: function () {
1036                            this.done = !0;
1037                            var t = this.tryEntries[0].completion;
1038                            if ("throw" === t.type) throw t.arg;
1039                            return this.rval
1040                        }, dispatchException: function (t) {
1041                            if (this.done) throw t;
1042                            var i = this;
1043
1044                            function r(r, e) {
1045                                return a.type = "throw", a.arg = t, i.next = r, e && (i.method = "next", i.arg = n), !!e
1046                            }
1047
1048                            for (var o = this.tryEntries.length - 1; o >= 0; --o) {
1049                                var s = this.tryEntries[o], a = s.completion;
1050                                if ("root" === s.tryLoc) return r("end");
1051                                if (s.tryLoc <= this.prev) {
1052                                    var u = e.call(s, "catchLoc"), c = e.call(s, "finallyLoc");
1053                                    if (u && c) {
1054                                        if (this.prev < s.catchLoc) return r(s.catchLoc, !0);
1055                                        if (this.prev < s.finallyLoc) return r(s.finallyLoc)
1056                                    } else if (u) {
1057                                        if (this.prev < s.catchLoc) return r(s.catchLoc, !0)
1058                                    } else {
1059                                        if (!c) throw new Error("try statement without catch or finally");
1060                                        if (this.prev < s.finallyLoc) return r(s.finallyLoc)
1061                                    }
1062                                }
1063                            }
1064                        }, abrupt: function (t, n) {
1065                            for (var i = this.tryEntries.length - 1; i >= 0; --i) {
1066                                var r = this.tryEntries[i];
1067                                if (r.tryLoc <= this.prev && e.call(r, "finallyLoc") && this.prev < r.finallyLoc) {
1068                                    var o = r;
1069                                    break
1070                                }
1071                            }
1072                            o && ("break" === t || "continue" === t) && o.tryLoc <= n && n <= o.finallyLoc && (o = null);
1073                            var s = o ? o.completion : {};
1074                            return s.type = t, s.arg = n, o ? (this.method = "next", this.next = o.finallyLoc, y) : this.complete(s)
1075                        }, complete: function (t, n) {
1076                            if ("throw" === t.type) throw t.arg;
1077                            return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && n && (this.next = n), y
1078                        }, finish: function (t) {
1079                            for (var n = this.tryEntries.length - 1; n >= 0; --n) {
1080                                var i = this.tryEntries[n];
1081                                if (i.finallyLoc === t) return this.complete(i.completion, i.afterLoc), T(i), y
1082                            }
1083                        }, catch: function (t) {
1084                            for (var n = this.tryEntries.length - 1; n >= 0; --n) {
1085                                var i = this.tryEntries[n];
1086                                if (i.tryLoc === t) {
1087                                    var r = i.completion;
1088                                    if ("throw" === r.type) {
1089                                        var e = r.arg;
1090                                        T(i)
1091                                    }
1092                                    return e
1093                                }
1094                            }
1095                            throw new Error("illegal catch attempt")
1096                        }, delegateYield: function (t, i, r) {
1097                            return this.delegate = {
1098                                iterator: A(t),
1099                                resultName: i,
1100                                nextLoc: r
1101                            }, "next" === this.method && (this.arg = n), y
1102                        }
1103                    }, t
1104                }("object" === r(t = i.nmd(t)) ? t.exports : {});
1105                try {
1106                    regeneratorRuntime = e
1107                } catch (t) {
1108                    "object" === ("undefined" == typeof globalThis ? "undefined" : r(globalThis)) ? globalThis.regeneratorRuntime = e : Function("r", "regeneratorRuntime = r")(e)
1109                }
1110            }, 338: function (t) {
1111                (function () {
1112                    var n;
1113                    t.exports = {
1114                        icon: "icons/google.svg",
1115                        name: "google",
1116                        title: "Google Fonts",
1117                        link: "google.com/fonts",
1118                        getNames: function () {
1119                            return n
1120                        },
1121                        getLink: function (t) {
1122                            return "https://fonts.google.com/specimen/" + t.replace(/( )/g, "+")
1123                        },
1124                        normalizeName: function (t) {
1125                            return t
1126                        }
1127                    }, n = ["ABeeZee", "Abel", "Abril Fatface", "Aclonica", "Acme", "Actor", "Adamina", "Advent Pro", "Aguafina Script", "Akronim", "Aladin", "Aldrich", "Alef", "Alegreya", "Alegreya SC", "Alegreya Sans", "Alegreya Sans SC", "Alex Brush", "Alfa Slab One", "Alice", "Alike", "Alike Angular", "Allan", "Allerta", "Allerta Stencil", "Allura", "Almendra", "Almendra Display", "Almendra SC", "Amarante", "Amaranth", "Amatic SC", "Amethysta", "Amiri", "Amita", "Anaheim", "Andada", "Andika", "Angkor", "Annie Use Your Telescope", "Anonymous Pro", "Antic", "Antic Didone", "Antic Slab", "Anton", "Arapey", "Arbutus", "Arbutus Slab", "Architects Daughter", "Archivo Black", "Archivo Narrow", "Arimo", "Arizonia", "Armata", "Artifika", "Arvo", "Arya", "Asap", "Asar", "Asset", "Astloch", "Asul", "Atomic Age", "Aubrey", "Audiowide", "Autour One", "Average", "Average Sans", "Averia Gruesa Libre", "Averia Libre", "Averia Sans Libre", "Averia Serif Libre", "Bad Script", "Balthazar", "Bangers", "Basic", "Battambang", "Baumans", "Bayon", "Belgrano", "Belleza", "BenchNine", "Bentham", "Berkshire Swash", "Bevan", "Bigelow Rules", "Bigshot One", "Bilbo", "Bilbo Swash Caps", "Biryani", "Bitter", "Black Ops One", "Bokor", "Bonbon", "Boogaloo", "Bowlby One", "Bowlby One SC", "Brawler", "Bree Serif", "Bubblegum Sans", "Bubbler One", "Buda", "Buenard", "Butcherman", "Butterfly Kids", "Cabin", "Cabin Condensed", "Cabin Sketch", "Caesar Dressing", "Cagliostro", "Calligraffitti", "Cambay", "Cambo", "Candal", "Cantarell", "Cantata One", "Cantora One", "Capriola", "Cardo", "Carme", "Carrois Gothic", "Carrois Gothic SC", "Carter One", "Catamaran", "Caudex", "Caveat", "Caveat Brush", "Cedarville Cursive", "Ceviche One", "Changa One", "Chango", "Chau Philomene One", "Chela One", "Chelsea Market", "Chenla", "Cherry Cream Soda", "Cherry Swash", "Chewy", "Chicle", "Chivo", "Chonburi", "Cinzel", "Cinzel Decorative", "Clicker Script", "Coda", "Coda Caption", "Codystar", "Combo", "Comfortaa", "Coming Soon", "Concert One", "Condiment", "Content", "Contrail One", "Convergence", "Cookie", "Copse", "Corben", "Courgette", "Cousine", "Coustard", "Covered By Your Grace", "Crafty Girls", "Creepster", "Crete Round", "Crimson Text", "Croissant One", "Crushed", "Cuprum", "Cutive", "Cutive Mono", "Damion", "Dancing Script", "Dangrek", "Dawning of a New Day", "Days One", "Dekko", "Delius", "Delius Swash Caps", "Delius Unicase", "Della Respira", "Denk One", "Devonshire", "Dhurjati", "Didact Gothic", "Diplomata", "Diplomata SC", "Domine", "Donegal One", "Doppio One", "Dorsa", "Dosis", "Dr Sugiyama", "Droid Sans", "Droid Sans Mono", "Droid Serif", "Duru Sans", "Dynalight", "EB Garamond", "Eagle Lake", "Eater", "Economica", "Eczar", "Ek Mukta", "Electrolize", "Elsie", "Elsie Swash Caps", "Emblema One", "Emilys Candy", "Engagement", "Englebert", "Enriqueta", "Erica One", "Esteban", "Euphoria Script", "Ewert", "Ex
1127o", "Exo 2", "Expletus Sans", "Fanwood Text", "Fascinate", "Fascinate Inline", "Faster One", "Fasthand", "Fauna One", "Federant", "Federo", "Felipa", "Fenix", "Finger Paint", "Fira Mono", "Fira Sans", "Fjalla One", "Fjord One", "Flamenco", "Flavors", "Fondamento", "Fontdiner Swanky", "Forum", "Francois One", "Freckle Face", "Fredericka the Great", "Fredoka One", "Freehand", "Fresca", "Frijole", "Fruktur", "Fugaz One", "GFS Didot", "GFS Neohellenic", "Gabriela", "Gafata", "Galdeano", "Galindo", "Gentium Basic", "Gentium Book Basic", "Geo", "Geostar", "Geostar Fill", "Germania One", "Gidugu", "Gilda Display", "Give You Glory", "Glass Antiqua", "Glegoo", "Gloria Hallelujah", "Goblin One", "Gochi Hand", "Gorditas", "Goudy Bookletter 1911", "Graduate", "Grand Hotel", "Gravitas One", "Great Vibes", "Griffy", "Gruppo", "Gudea", "Gurajada", "Habibi", "Halant", "Hammersmith One", "Hanalei", "Hanalei Fill", "Handlee", "Hanuman", "Happy Monkey", "Headland One", "Henny Penny", "Herr Von Muellerhoff", "Hind", "Hind Siliguri", "Hind Vadodara", "Holtwood One SC", "Homemade Apple", "Homenaje", "IM Fell DW Pica", "IM Fell DW Pica SC", "IM Fell Double Pica", "IM Fell Double Pica SC", "IM Fell English", "IM Fell English SC", "IM Fell French Canon", "IM Fell French Canon SC", "IM Fell Great Primer", "IM Fell Great Primer SC", "Iceberg", "Iceland", "Imprima", "Inconsolata", "Inder", "Indie Flower", "Inika", "Inknut Antiqua", "Irish Grover", "Istok Web", "Italiana", "Italianno", "Itim", "Jacques Francois", "Jacques Francois Shadow", "Jaldi", "Jim Nightshade", "Jockey One", "Jolly Lodger", "Josefin Sans", "Josefin Slab", "Joti One", "Judson", "Julee", "Julius Sans One", "Junge", "Jura", "Just Another Hand", "Just Me Again Down Here", "Kadwa", "Kalam", "Kameron", "Kantumruy", "Karla", "Karma", "Kaushan Script", "Kavoon", "Kdam Thmor", "Keania One", "Kelly Slab", "Kenia", "Khand", "Khmer", "Khula", "Kite One", "Knewave", "Kotta One", "Koulen", "Kranky", "Kreon", "Kristi", "Krona One", "Kurale", "La Belle Aurore", "Laila", "Lakki Reddy", "Lancelot", "Lateef", "Lato", "League Script", "Leckerli One", "Ledger", "Lekton", "Lemon", "Libre Baskerville", "Life Savers", "Lilita One", "Lily Script One", "Limelight", "Linden Hill", "Lobster", "Lobster Two", "Londrina Outline", "Londrina Shadow", "Londrina Sketch", "Londrina Solid", "Lora", "Love Ya Like A Sister", "Loved by the King", "Lovers Quarrel", "Luckiest Guy", "Lusitana", "Lustria", "Macondo", "Macondo Swash Caps", "Magra", "Maiden Orange", "Mako", "Mallanna", "Mandali", "Marcellus", "Marcellus SC", "Marck Script", "Margarine", "Marko One", "Marmelad", "Martel", "Martel Sans", "Marvel", "Mate", "Mate SC", "Maven Pro", "McLaren", "Meddon", "MedievalSharp", "Medula One", "Megrim", "Meie Script", "Merienda", "Merienda One", "Merriweather", "Merriweather Sans", "Metal", "Metal Mania", "Metamorphous", "Metrophobic", "Michroma", "Milonga", "Miltonian", "Miltonian Tattoo", "Miniver", "Miss Fajardose", "Modak", "Modern Antiqua", "Molengo", "Molle", "Monda", "Monofett", "Monoton", "Monsieur La Doulaise", "Montaga", "Montez", "Montserrat", "Montserrat Alternates", "Montserrat Subrayada", "Moul", "Moulpali", "Mountains of Christmas", "Mouse Memoirs", "Mr Bedfort", "Mr Dafoe", "Mr De Haviland", "Mrs Saint Delafield", "Mrs Sheppards", "Muli", "Mystery Quest", "NTR", "Neucha", "Neuton", "New Rocker", "News Cycle", "Niconne", "Nixie One", "Nobile", "Nokora", "Norican", "Nosifer", "Nothing You Could Do", "Noticia Text", "Noto Sans", "Noto Serif", "Nova Cut", "Nova Flat", "Nova Mono", "Nova Oval", "Nova Round", "Nova Script", "Nova Slim", "Nova Square", "Numans", "Nunito", "Odor Mean Chey", "Offside", "Old Standard TT", "Oldenburg", "Oleo Script", "Oleo Script Swash Caps", "Open Sans", "Open Sans Condensed", "Oranienbaum", "Orbitron", "Oregano", "Orienta", "Original Surfer", "Oswald", "Over the Rainbow", "Overlock", "Overlock SC", "Ovo", "Oxygen", "Oxygen Mono", "PT Mono", "PT Sans", "PT Sans Caption", "PT Sans Narrow", "PT Serif", "PT Serif Caption", "Pacifico", "Palanquin", "Palanquin Dark", "Paprika", "Parisienne", "Passero One", "Passion One", "Pathway Gothic One", "Patrick Hand", "Patrick Hand SC", "Patua One", "Paytone One", "Peddana", "Peralta", "Permanent Marker", "Petit Formal Script", "Petrona", "Philosopher", "Piedra", "Pinyon Script", "Pirata One", "Plaster", "Play", "Playball", "Playfair Display", "Playfair Display SC", "Podkova", "Poiret One", "Poller One", "Poly", "Pompiere", "Pontano Sans", "Poppins", "Port Lligat Sans", "Port Lligat Slab", "Pragati Narrow", "Prata", "Preahvihear", "Press Start 2P", "Princess Sofia", "Prociono", "Prosto One", "Puritan", "Purple Purse", "Quando", "Quantico", "Quattrocento", "Quattrocento Sans", "Questrial", "Quicksand", "Quintessential", "Qwigley", "Racing Sans One", "Radley", "Rajdhani", "Raleway", "Raleway Dots", "Ramabhadra", "Ramaraja", "Rambla", "Rammetto One", "Ranchers", "Rancho", "Ranga", "Rationale", "Ravi Prakash", "Redressed", "Reenie Beanie", "Revalia", "Rhodium Libre", "Ribeye", "Ribeye Marrow", "Righteous", "Risque", "Roboto", "Roboto Condensed", "Roboto Mono", "Roboto Slab", "Rochester", "Rock Salt", "Rokkitt", "Romanesco", "Ropa Sans", "Rosario", "Rosarivo", "Rouge Script", "Rozha One", "Rubik", "Rubik Mono One", "Rubik One", "Ruda", "Rufina", "Ruge Boogie", "Ruluko", "Rum Raisin", "Ruslan Display", "Russo One", "Ruthie", "Rye", "Sacramento", "Sahitya", "Sail", "Salsa", "Sanchez", "Sancreek", "Sansita One", "Sarala", "Sarina", "Sarpanch", "Satisfy", "Scada", "Scheherazade", "Schoolbell", "Seaweed Script", "Sevillana", "Seymour One", "Shadows Into Light", "Shadows Into Light Two", "Shanti", "Share", "Share Tech", "Share Tech Mono", "Shojumaru", "Short Stack", "Siemreap", "Sigmar One", "Signika", "Signika Negative", "Simonetta", "Sintony", "Sirin Stencil", "Six Caps", "Skranji", "Slabo 13px", "Slabo 27px", "Slackey", "Smokum", "Smythe", "Sniglet", "Snippet", "Snowburst One", "Sofadi One", "Sofia", "Sonsie One", "Sorts Mill Goudy", "Source Code Pro", "Source Sans Pro", "Source Serif Pro", "Special Elite", "Spicy Rice", "Spinnaker", "Spirax", "Squada One", "Sree Krushnadevaraya", "Stalemate", "Stalinist One", "Stardos Stencil", "Stint Ultra Condensed", "Stint Ultra Expanded", "Stoke", "Strait", "Sue Ellen Francisco", "Sumana", "Sunshiney", "Supermercado One", "Sura", "Suranna", "Suravaram", "Suwannaphum", "Swanky and Moo Moo", "Syncopate", "Tangerine", "Taprom", "Tauri", "Teko", "Telex", "Tenali Ramakrishna", "Tenor Sans", "Text Me One", "The Girl Next Door", "Tienne", "Tillana", "Timmana", "Tinos", "Titan One", "Titillium Web", "Trade Winds", "Trocchi", "Trochut", "Trykker", "Tulpen One", "Ubuntu", "Ubuntu Condensed", "Ubuntu Mono", "Ultra", "Uncial Antiqua", "Underdog", "Unica One", "UnifrakturCook", "UnifrakturMaguntia", "Unkempt", "Unlock", "Unna", "VT323", "Vampiro One", "Varela", "Varela Round", "Vast Shadow", "Vesper Libre", "Vibur", "Vidaloka", "Viga", "Voces", "Volkhov", "Vollkorn", "Voltaire", "Waiting for the Sunrise", "Wallpoet", "Walter Turncoat", "Warnes", "Wellfleet", "Wendy One", "Wire One", "Work Sans", "Yanone Kaffeesatz", "Yantramanav", "Yellowtail", "Yeseva One", "Yesteryear", "Zeyada"]
1128                }).call(this)
1129            }, 617: function (t, n, i) {
1130                var r = i(279);
1131                t.exports = function (t, n, i) {
1132                    var e = i && i.debug || !1, o = i && i.startIndex || 0;
1133                    e && console.log("starting findTagByName with", n, " and ", i);
1134                    var s = r(t, "<".concat(n, "[ >]"), o);
1135                    if (e && console.log("start:", s), -1 !== s) {
1136                        var a = t.slice(s + n.length), u = r(a, "[ /]" + n + ">", 0), c = -1 === u;
1137                        c && (u = r(a, "[ /]>", 0));
1138                        var h = s + n.length + u + 1 + (c ? 0 : n.length) + 1;
1139                        if (e && console.log("end:", h), -1 !== h) {
1140                            var f = t.slice(s, h);
1141                            return {
1142                                inner: c ? null : f.slice(f.indexOf(">") + 1, f.lastIndexOf("<")),
1143                                outer: f,
1144                                start: s,
1145                                end: h
1146                            }
1147                        }
1148                    }
1149                }
1150            }, 51: function (t, n, i) {
1151                var r = i(617);
1152                t.exports = function (t, n, i) {
1153                    for (var e, o = [], s = i && i.debug || !1, a = i && i.startIndex || 0; e = r(t, n, {
1154                        debug: s,
1155                        startIndex: a
1156                    });) a = e.end, o.push(e);
1157                    return s && console.log("findTagsByName found", o.length, "tags"), o
1158                }
1159            }, 802: function (t) {
1160                function n(t) {
1161                    return (n = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
1162                        return typeof t
1163                    } : function (t) {
1164                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
1165                    })(t)
1166                }
1167
1168                t.exports = function (t, i, r) {
1169                    var e = r && r.debug || !1;
1170                    e && console.log("getting " + i + " in " + t);
1171                    var o = "object" === n(t) ? t.outer : t, s = "".concat(i, '\\="([^"]*)"');
1172                    e && console.log("pattern:", s);
1173                    var a = new RegExp(s).exec(o);
1174                    if (e && console.log("match:", a), a) return a[1]
1175                }
1176            }, 279: function (t) {
1177                t.exports = function (t, n, i) {
1178                    var r = new RegExp(n).exec(t.slice(i));
1179                    return r ? i + r.index : -1
1180                }
1181            }, 518: function (t) {
1182                "use strict";
1183                t.exports = function (t) {
1184                    t.prototype[Symbol.iterator] = regeneratorRuntime.mark((function t() {
1185                        var n;
1186                        return regeneratorRuntime.wrap((function (t) {
1187                            for (; ;) switch (t.prev = t.next) {
1188                                case 0:
1189                                    n = this.head;
1190                                case 1:
1191                                    if (!n) {
1192                                        t.next = 7;
1193                                        break
1194                                    }
1195                                    return t.next = 4, n.value;
1196                                case 4:
1197                                    n = n.next, t.next = 1;
1198                                    break;
1199                                case 7:
1200                                case"end":
1201                                    return t.stop()
1202                            }
1203                        }), t, this)
1204                    }))
1205                }
1206            }, 692: function (t, n, i) {
1207                "use strict";
1208
1209                function r(t) {
1210                    var n = this;
1211                    if (n instanceof r || (n = new r), n.tail = null, n.head = null, n.length = 0, t && "function" == typeof t.forEach) t.forEach((function (t) {
1212                        n.push(t)
1213                    })); else if (arguments.length > 0) for (var i = 0, e = arguments.length; i < e; i++) n.push(arguments[i]);
1214                    return n
1215                }
1216
1217                function e(t, n, i) {
1218                    var r = n === t.head ? new a(i, null, n, t) : new a(i, n, n.next, t);
1219                    return null === r.next && (t.tail = r), null === r.prev && (t.head = r), t.length++, r
1220                }
1221
1222                function o(t, n) {
1223                    t.tail = new a(n, t.tail, null, t), t.head || (t.head = t.tail), t.length++
1224                }
1225
1226                function s(t, n) {
1227                    t.head = new a(n, null, t.head, t), t.tail || (t.tail = t.head), t.length++
1228                }
1229
1230                function a(t, n, i, r) {
1231                    if (!(this instanceof a)) return new a(t, n, i, r);
1232                    this.list = r, this.value = t, n ? (n.next = this, this.prev = n) : this.prev = null, i ? (i.prev = this, this.next = i) : this.next = null
1233                }
1234
1235                t.exports = r, r.Node = a, r.create = r, r.prototype.removeNode = function (t) {
vendor: 5,715 bytes, lines 1236-1323
1236                    if (t.list !== this) throw new Error("removing node which does not belong to this list");
1237                    var n = t.next, i = t.prev;
1238                    return n && (n.prev = i), i && (i.next = n), t === this.head && (this.head = n), t === this.tail && (this.tail = i), t.list.length--, t.next = null, t.prev = null, t.list = null, n
1239                }, r.prototype.unshiftNode = function (t) {
1240                    if (t !== this.head) {
1241                        t.list && t.list.removeNode(t);
1242                        var n = this.head;
1243                        t.list = this, t.next = n, n && (n.prev = t), this.head = t, this.tail || (this.tail = t), this.length++
1244                    }
1245                }, r.prototype.pushNode = function (t) {
1246                    if (t !== this.tail) {
1247                        t.list && t.list.removeNode(t);
1248                        var n = this.tail;
1249                        t.list = this, t.prev = n, n && (n.next = t), this.tail = t, this.head || (this.head = t), this.length++
1250                    }
1251                }, r.prototype.push = function () {
1252                    for (var t = 0, n = arguments.length; t < n; t++) o(this, arguments[t]);
1253                    return this.length
1254                }, r.prototype.unshift = function () {
1255                    for (var t = 0, n = arguments.length; t < n; t++) s(this, arguments[t]);
1256                    return this.length
1257                }, r.prototype.pop = function () {
1258                    if (this.tail) {
1259                        var t = this.tail.value;
1260                        return this.tail = this.tail.prev, this.tail ? this.tail.next = null : this.head = null, this.length--, t
1261                    }
1262                }, r.prototype.shift = function () {
1263                    if (this.head) {
1264                        var t = this.head.value;
1265                        return this.head = this.head.next, this.head ? this.head.prev = null : this.tail = null, this.length--, t
1266                    }
1267                }, r.prototype.forEach = function (t, n) {
1268                    n = n || this;
1269                    for (var i = this.head, r = 0; null !== i; r++) t.call(n, i.value, r, this), i = i.next
1270                }, r.prototype.forEachReverse = function (t, n) {
1271                    n = n || this;
1272                    for (var i = this.tail, r = this.length - 1; null !== i; r--) t.call(n, i.value, r, this), i = i.prev
1273                }, r.prototype.get = function (t) {
1274                    for (var n = 0, i = this.head; null !== i && n < t; n++) i = i.next;
1275                    if (n === t && null !== i) return i.value
1276                }, r.prototype.getReverse = function (t) {
1277                    for (var n = 0, i = this.tail; null !== i && n < t; n++) i = i.prev;
1278                    if (n === t && null !== i) return i.value
1279                }, r.prototype.map = function (t, n) {
1280                    n = n || this;
1281                    for (var i = new r, e = this.head; null !== e;) i.push(t.call(n, e.value, this)), e = e.next;
1282                    return i
1283                }, r.prototype.mapReverse = function (t, n) {
1284                    n = n || this;
1285                    for (var i = new r, e = this.tail; null !== e;) i.push(t.call(n, e.value, this)), e = e.prev;
1286                    return i
1287                }, r.prototype.reduce = function (t, n) {
1288                    var i, r = this.head;
1289                    if (arguments.length > 1) i = n; else {
1290                        if (!this.head) throw new TypeError("Reduce of empty list with no initial value");
1291                        r = this.head.next, i = this.head.value
1292                    }
1293                    for (var e = 0; null !== r; e++) i = t(i, r.value, e), r = r.next;
1294                    return i
1295                }, r.prototype.reduceReverse = function (t, n) {
1296                    var i, r = this.tail;
1297                    if (arguments.length > 1) i = n; else {
1298                        if (!this.tail) throw new TypeError("Reduce of empty list with no initial value");
1299                        r = this.tail.prev, i = this.tail.value
1300                    }
1301                    for (var e = this.length - 1; null !== r; e--) i = t(i, r.value, e), r = r.prev;
1302                    return i
1303                }, r.prototype.toArray = function () {
1304                    for (var t = new Array(this.length), n = 0, i = this.head; null !== i; n++) t[n] = i.value, i = i.next;
1305                    return t
1306                }, r.prototype.toArrayReverse = function () {
1307                    for (var t = new Array(this.length), n = 0, i = this.tail; null !== i; n++) t[n] = i.value, i = i.prev;
1308                    return t
1309                }, r.prototype.slice = function (t, n) {
1310                    (n = n || this.length) < 0 && (n += this.length), (t = t || 0) < 0 && (t += this.length);
1311                    var i = new r;
1312                    if (n < t || n < 0) return i;
1313                    t < 0 && (t = 0), n > this.length && (n = this.length);
1314                    for (var e = 0, o = this.head; null !== o && e < t; e++) o = o.next;
1315                    for (; null !== o && e < n; e++, o = o.next) i.push(o.value);
1316                    return i
1317                }, r.prototype.sliceReverse = function (t, n) {
1318                    (n = n || this.length) < 0 && (n += this.length), (t = t || 0) < 0 && (t += this.length);
1319                    var i = new r;
1320                    if (n < t || n < 0) return i;
1321                    t < 0 && (t = 0), n > this.length && (n = this.length);
1322                    for (var e = this.length, o = this.tail; null !== o && e > n; e--) o = o.prev;
1323                    for (; null !== o && e > t;
1323 e--, o = o.prev) i.push(o.value);
1324                    return i
1325                }, r.prototype.splice = function (t, n) {
1326                    t > this.length && (t = this.length - 1), t < 0 && (t = this.length + t);
1327                    for (var i = 0, r = this.head; null !== r && i < t; i++) r = r.next;
1328                    var o = [];
1329                    for (i = 0; r && i < n; i++) o.push(r.value), r = this.removeNode(r);
1330                    null === r && (r = this.tail), r !== this.head && r !== this.tail && (r = r.prev);
1331                    for (i = 0; i < (arguments.length <= 2 ? 0 : arguments.length - 2); i++) r = e(this, r, i + 2 < 2 || arguments.length <= i + 2 ? void 0 : arguments[i + 2]);
1332                    return o
1333                }, r.prototype.reverse = function () {
1334                    for (var t = this.head, n = this.tail, i = t; null !== i; i = i.prev) {
1335                        var r = i.prev;
1336                        i.prev = i.next, i.next = r
1337                    }
1338                    return this.head = n, this.tail = t, this
1339                };
1340                try {
1341                    i(518)(r)
1342                } catch (t) {
1343                }
1344            }, 752: function () {
1345            }, 640: function () {
1346            }, 630: function () {
1347            }, 920: function (t, n, i) {
1348                "use strict";
1349
1350                function r() {
1351                    return function () {
1352                        throw new Error("Unimplemented abstract method.")
1353                    }()
1354                }
1355
1356                i.d(n, {
1357                    default: function () {
1358                        return dL
1359                    }
1360                });
1361                var e = 0;
1362
1363                function o(t) {
1364                    return t.ol_uid || (t.ol_uid = String(++e))
1365                }
1366
1367                var s, a = "6.13.0", u = (s = function (t, n) {
1368                    return (s = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1369                        t.__proto__ = n
1370                    } || function (t, n) {
1371                        for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1372                    })(t, n)
1373                }, function (t, n) {
1374                    if ("function" != typeof n && null !== n) throw new TypeError("Class extends value " + String(n) + " is not a constructor or null");
1375
1376                    function i() {
1377                        this.constructor = t
1378                    }
1379
1380                    s(t, n), t.prototype = null === n ? Object.create(n) : (i.prototype = n.prototype, new i)
1381                }), c = function (t) {
1382                    function n(n) {
1383                        var i = this,
1384                            r = "Assertion failed. See https://openlayers.org/en/" + ("v" + a.split("-")[0]) + "/doc/errors/#" + n + " for details.";
1385                        return (i = t.call(this, r) || this).code = n, i.name = "AssertionError", i.message = r, i
1386                    }
1387
1388                    return u(n, t), n
1389                }(Error);
1390
1391                function h(t) {
1392                    t.stopPropagation()
1393                }
1394
1395                var f = function () {
1396                    function t(t) {
1397                        this.propagationStopped, this.defaultPrevented, this.type = t, this.target = null
1398                    }
1399
1400                    return t.prototype.preventDefault = function () {
1401                        this.defaultPrevented = !0
1402                    }, t.prototype.stopPropagation = function () {
1403                        this.propagationStopped = !0
1404                    }, t
1405                }(), l = "propertychange", v = function () {
1406                    function t() {
1407                        this.disposed = !1
1408                    }
1409
1410                    return t.prototype.dispose = function () {
1411                        this.disposed || (this.disposed = !0, this.disposeInternal())
1412                    }, t.prototype.disposeInternal = function () {
1413                    }, t
1414                }();
1415
1416                function d(t, n, i) {
1417                    for (var r, e, o = i || p, s = 0, a = t.length, u = !1; s < a;) (e = +o(t[r = s + (a - s >> 1)], n)) < 0 ? s = r + 1 : (a = r, u = !e);
1418                    return u ? s : ~s
1419                }
1420
1421                function p(t, n) {
1422                    return t > n ? 1 : t < n ? -1 : 0
1423                }
1424
1425                function y(t, n) {
1426                    return t.indexOf(n) >= 0
1427                }
1428
1429                function m(t, n, i) {
1430                    var r = t.length;
1431                    if (t[0] <= n) return 0;
1432                    if (n <= t[r - 1]) return r - 1;
1433                    var e = void 0;
1434                    if (i > 0) {
1435                        for (e = 1; e < r; ++e) if (t[e] < n) return e - 1
1436                    } else if (i < 0) {
1437                        for (e = 1; e < r; ++e) if (t[e] <= n) return e
1438                    } else for (e = 1; e < r; ++e) {
1439                        if (t[e] == n) return e;
1440                        if (t[e] < n) return "function" == typeof i ? i(n, t[e - 1], t[e]) > 0 ? e - 1 : e : t[e - 1] - n < n - t[e] ? e - 1 : e
1441                    }
1442                    return r - 1
1443                }
1444
1445                function w(t, n, i) {
1446                    for (; n < i;) {
1447                        var r = t[n];
1448                        t[n] = t[i], t[i] = r, ++n, --i
1449                    }
1450                }
1451
1452                function b(t, n) {
vendor: 16,384 bytes, lines 1453-1785
1453                    for (var i = Array.isArray(n) ? n : [n], r = i.length, e = 0; e < r; e++) t[t.length] = i[e]
1454                }
1455
1456                function g(t, n) {
1457                    for (var i, r = t.length >>> 0, e = 0; e < r; e++) if (n(i = t[e], e, t)) return i;
1458                    return null
1459                }
1460
1461                function x(t, n) {
1462                    var i = t.length;
1463                    if (i !== n.length) return !1;
1464                    for (var r = 0; r < i; r++) if (t[r] !== n[r]) return !1;
1465                    return !0
1466                }
1467
1468                function j(t, n) {
1469                    var i;
1470                    return !t.every((function (r, e) {
1471                        return i = e, !n(r, e, t)
1472                    })) ? i : -1
1473                }
1474
1475                function S(t, n, i) {
1476                    var r = n || p;
1477                    return t.every((function (n, e) {
1478                        if (0 === e) return !0;
1479                        var o = r(t[e - 1], n);
1480                        return !(o > 0 || i && 0 === o)
1481                    }))
1482                }
1483
1484                function k() {
1485                    return !0
1486                }
1487
1488                function M() {
1489                    return !1
1490                }
1491
1492                function _() {
1493                }
1494
1495                function O(t) {
1496                    var n, i, r, e = !1;
1497                    return function () {
1498                        var o = Array.prototype.slice.call(arguments);
1499                        return e && this === r && x(o, i) || (e = !0, r = this, i = o, n = t.apply(this, arguments)), n
1500                    }
1501                }
1502
1503                function T(t) {
1504                    return function () {
1505                        var n;
1506                        try {
1507                            n = t()
1508                        } catch (t) {
1509                            return Promise.reject(t)
1510                        }
1511                        return n instanceof Promise ? n : Promise.resolve(n)
1512                    }()
1513                }
1514
1515                var E = "function" == typeof Object.assign ? Object.assign : function (t, n) {
1516                    if (null == t) throw new TypeError("Cannot convert undefined or null to object");
1517                    for (var i = Object(t), r = 1, e = arguments.length; r < e; ++r) {
1518                        var o = arguments[r];
1519                        if (null != o) for (var s in o) o.hasOwnProperty(s) && (i[s] = o[s])
1520                    }
1521                    return i
1522                };
1523
1524                function A(t) {
1525                    for (var n in t) delete t[n]
1526                }
1527
1528                var C = "function" == typeof Object.values ? Object.values : function (t) {
1529                    var n = [];
1530                    for (var i in t) n.push(t[i]);
1531                    return n
1532                };
1533
1534                function R(t) {
1535                    var n;
1536                    for (n in t) return !1;
1537                    return !n
1538                }
1539
1540                var P = function () {
1541                        var t = function (n, i) {
1542                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1543                                t.__proto__ = n
1544                            } || function (t, n) {
1545                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1546                            })(n, i)
1547                        };
1548                        return function (n, i) {
1549                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1550
1551                            function r() {
1552                                this.constructor = n
1553                            }
1554
1555                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1556                        }
1557                    }(), I = function (t) {
1558                        function n(n) {
1559                            var i = t.call(this) || this;
1560                            return i.t = n, i.S = null, i._ = null, i.O = null, i
1561                        }
1562
1563                        return P(n, t), n.prototype.addEventListener = function (t, n) {
1564                            if (t && n) {
1565                                var i = this.O || (this.O = {}), r = i[t] || (i[t] = []);
1566                                -1 === r.indexOf(n) && r.push(n)
1567                            }
1568                        }, n.prototype.dispatchEvent = function (t) {
1569                            var n = "string" == typeof t, i = n ? t : t.type, r = this.O && this.O[i];
1570                            if (r) {
1571                                var e = n ? new f(t) : t;
1572                                e.target || (e.target = this.t || this);
1573                                var o, s = this._ || (this._ = {}), a = this.S || (this.S = {});
1574                                i in s || (s[i] = 0, a[i] = 0), ++s[i];
1575                                for (var u = 0, c = r.length; u < c; ++u) if (!1 === (o = "handleEvent" in r[u] ? r[u].handleEvent(e) : r[u].call(this, e)) || e.propagationStopped) {
1576                                    o = !1;
1577                                    break
1578                                }
1579                                if (0 == --s[i]) {
1580                                    var h = a[i];
1581                                    for (delete a[i]; h--;) this.removeEventListener(i, _);
1582                                    delete s[i]
1583                                }
1584                                return o
1585                            }
1586                        }, n.prototype.disposeInternal = function () {
1587                            this.O && A(this.O)
1588                        }, n.prototype.getListeners = function (t) {
1589                            return this.O && this.O[t] || void 0
1590                        }, n.prototype.hasListener = function (t) {
1591                            return !!this.O && (t ? t in this.O : Object.keys(this.O).length > 0)
1592                        }, n.prototype.removeEventListener = function (t, n) {
1593                            var i = this.O && this.O[t];
1594                            if (i) {
1595                                var r = i.indexOf(n);
1596                                -1 !== r && (this.S && t in this.S ? (i[r] = _, ++this.S[t]) : (i.splice(r, 1), 0 === i.length && delete this.O[t]))
1597                            }
1598                        }, n
1599                    }(v), N = "change", z = "error", F = "clear", L = "contextmenu", G = "click", D = "dblclick",
1600                    U = "dragenter", q = "dragover", B = "drop", W = "keydown", V = "keypress", X = "load",
1601                    H = "resize", J = "touchmove", K = "wheel";
1602
1603                function Y(t, n, i, r, e) {
1604                    if (r && r !== t && (i = i.bind(r)), e) {
1605                        var o = i;
1606                        i = function () {
1607                            t.removeEventListener(n, i), o.apply(this, arguments)
1608                        }
1609                    }
1610                    var s = {target: t, type: n, listener: i};
1611                    return t.addEventListener(n, i), s
1612                }
1613
1614                function Z(t, n, i, r) {
1615                    return Y(t, n, i, r, !0)
1616                }
1617
1618                function $(t) {
1619                    t && t.target && (t.target.removeEventListener(t.type, t.listener), A(t))
1620                }
1621
1622                var Q = function () {
1623                    var t = function (n, i) {
1624                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1625                            t.__proto__ = n
1626                        } || function (t, n) {
1627                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1628                        })(n, i)
1629                    };
1630                    return function (n, i) {
1631                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1632
1633                        function r() {
1634                            this.constructor = n
1635                        }
1636
1637                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1638                    }
1639                }(), tt = function (t) {
1640                    function n() {
1641                        var n = t.call(this) || this;
1642                        return n.on = n.onInternal, n.once = n.onceInternal, n.un = n.unInternal, n.T = 0, n
1643                    }
1644
1645                    return Q(n, t), n.prototype.changed = function () {
1646                        ++this.T, this.dispatchEvent(N)
1647                    }, n.prototype.getRevision = function () {
1648                        return this.T
1649                    }, n.prototype.onInternal = function (t, n) {
1650                        if (Array.isArray(t)) {
1651                            for (var i = t.length, r = new Array(i), e = 0; e < i; ++e) r[e] = Y(this, t[e], n);
1652                            return r
1653                        }
1654                        return Y(this, t, n)
1655                    }, n.prototype.onceInternal = function (t, n) {
1656                        var i;
1657                        if (Array.isArray(t)) {
1658                            var r = t.length;
1659                            i = new Array(r);
1660                            for (var e = 0; e < r; ++e) i[e] = Z(this, t[e], n)
1661                        } else i = Z(this, t, n);
1662                        return n.ol_key = i, i
1663                    }, n.prototype.unInternal = function (t, n) {
1664                        var i = n.ol_key;
1665                        if (i) nt(i); else if (Array.isArray(t)) for (var r = 0, e = t.length; r < e; ++r) this.removeEventListener(t[r], n); else this.removeEventListener(t, n)
1666                    }, n
1667                }(I);
1668
1669                function nt(t) {
1670                    if (Array.isArray(t)) for (var n = 0, i = t.length; n < i; ++n) $(t[n]); else $(t)
1671                }
1672
1673                tt.prototype.on, tt.prototype.once, tt.prototype.un;
1674                var it = tt, rt = function () {
1675                    var t = function (n, i) {
1676                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1677                            t.__proto__ = n
1678                        } || function (t, n) {
1679                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1680                        })(n, i)
1681                    };
1682                    return function (n, i) {
1683                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1684
1685                        function r() {
1686                            this.constructor = n
1687                        }
1688
1689                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1690                    }
1691                }(), et = function (t) {
1692                    function n(n, i, r) {
1693                        var e = t.call(this, n) || this;
1694                        return e.key = i, e.oldValue = r, e
1695                    }
1696
1697                    return rt(n, t), n
1698                }(f), ot = function (t) {
1699                    function n(n) {
1700                        var i = t.call(this) || this;
1701                        return i.on, i.once, i.un, o(i), i.A = null, void 0 !== n && i.setProperties(n), i
1702                    }
1703
1704                    return rt(n, t), n.prototype.get = function (t) {
1705                        var n;
1706                        return this.A && this.A.hasOwnProperty(t) && (n = this.A[t]), n
1707                    }, n.prototype.getKeys = function () {
1708                        return this.A && Object.keys(this.A) || []
1709                    }, n.prototype.getProperties = function () {
1710                        return this.A && E({}, this.A) || {}
1711                    }, n.prototype.hasProperties = function () {
1712                        return !!this.A
1713                    }, n.prototype.notify = function (t, n) {
1714                        var i;
1715                        i = "change:".concat(t), this.hasListener(i) && this.dispatchEvent(new et(i, t, n)), i = l, this.hasListener(i) && this.dispatchEvent(new et(i, t, n))
1716                    }, n.prototype.addChangeListener = function (t, n) {
1717                        this.addEventListener("change:".concat(t), n)
1718                    }, n.prototype.removeChangeListener = function (t, n) {
1719                        this.removeEventListener("change:".concat(t), n)
1720                    }, n.prototype.set = function (t, n, i) {
1721                        var r = this.A || (this.A = {});
1722                        if (i) r[t] = n; else {
1723                            var e = r[t];
1724                            r[t] = n, e !== n && this.notify(t, e)
1725                        }
1726                    }, n.prototype.setProperties = function (t, n) {
1727                        for (var i in t) this.set(i, t[i], n)
1728                    }, n.prototype.applyProperties = function (t) {
1729                        t.A && E(this.A || (this.A = {}), t.A)
1730                    }, n.prototype.unset = function (t, n) {
1731                        if (this.A && t in this.A) {
1732                            var i = this.A[t];
1733                            delete this.A[t], R(this.A) && (this.A = null), n || this.notify(t, i)
1734                        }
1735                    }, n
1736                }(it), st = "add", at = "remove", ut = function () {
1737                    var t = function (n, i) {
1738                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1739                            t.__proto__ = n
1740                        } || function (t, n) {
1741                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1742                        })(n, i)
1743                    };
1744                    return function (n, i) {
1745                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1746
1747                        function r() {
1748                            this.constructor = n
1749                        }
1750
1751                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1752                    }
1753                }(), ct = "length", ht = function (t) {
1754                    function n(n, i, r) {
1755                        var e = t.call(this, n) || this;
1756                        return e.element = i, e.index = r, e
1757                    }
1758
1759                    return ut(n, t), n
1760                }(f), ft = function (t) {
1761                    function n(n, i) {
1762                        var r = t.call(this) || this;
1763                        r.on, r.once, r.un;
1764                        var e = i || {};
1765                        if (r.C = !!e.unique, r.R = n || [], r.C) for (var o = 0, s = r.R.length; o < s; ++o) r.P(r.R[o], o);
1766                        return r.G(), r
1767                    }
1768
1769                    return ut(n, t), n.prototype.clear = function () {
1770                        for (; this.getLength() > 0;) this.pop()
1771                    }, n.prototype.extend = function (t) {
1772                        for (var n = 0, i = t.length; n < i; ++n) this.push(t[n]);
1773                        return this
1774                    }, n.prototype.forEach = function (t) {
1775                        for (var n = this.R, i = 0, r = n.length; i < r; ++i) t(n[i], i, n)
1776                    }, n.prototype.getArray = function () {
1777                        return this.R
1778                    }, n.prototype.item = function (t) {
1779                        return this.R[t]
1780                    }, n.prototype.getLength = function () {
1781                        return this.get(ct)
1782                    }, n.prototype.insertAt = function (t, n) {
1783                        this.C && this.P(n), this.R.splice(t, 0, n), this.G(), this.dispatchEvent(new ht(st, n, t))
1784                    }, n.prototype.pop = function () {
1785                        return this.removeAt(this.getLengt
1785h() - 1)
1786                    }, n.prototype.push = function (t) {
1787                        this.C && this.P(t);
1788                        var n = this.getLength();
1789                        return this.insertAt(n, t), this.getLength()
1790                    }, n.prototype.remove = function (t) {
1791                        for (var n = this.R, i = 0, r = n.length; i < r; ++i) if (n[i] === t) return this.removeAt(i)
1792                    }, n.prototype.removeAt = function (t) {
1793                        var n = this.R[t];
1794                        return this.R.splice(t, 1), this.G(), this.dispatchEvent(new ht(at, n, t)), n
1795                    }, n.prototype.setAt = function (t, n) {
1796                        var i = this.getLength();
1797                        if (t < i) {
1798                            this.C && this.P(n, t);
1799                            var r = this.R[t];
1800                            this.R[t] = n, this.dispatchEvent(new ht(at, r, t)), this.dispatchEvent(new ht(st, n, t))
1801                        } else {
1802                            for (var e = i; e < t; ++e) this.insertAt(e, void 0);
1803                            this.insertAt(t, n)
1804                        }
1805                    }, n.prototype.G = function () {
1806                        this.set(ct, this.R.length)
1807                    }, n.prototype.P = function (t, n) {
1808                        for (var i = 0, r = this.R.length; i < r; ++i) if (this.R[i] === t && i !== n) throw new c(58)
1809                    }, n
1810                }(ot), lt = 0, vt = 1, dt = 2, pt = 3, yt = 4;
1811
1812                function mt(t) {
1813                    return Math.pow(t, 3)
1814                }
1815
1816                function wt(t) {
1817                    return 1 - mt(1 - t)
1818                }
1819
1820                function bt(t) {
1821                    return 3 * t * t - 2 * t * t * t
1822                }
1823
1824                function gt(t) {
1825                    return t
1826                }
1827
1828                var xt = function () {
1829                    var t = function (n, i) {
1830                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1831                            t.__proto__ = n
1832                        } || function (t, n) {
1833                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1834                        })(n, i)
1835                    };
1836                    return function (n, i) {
1837                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1838
1839                        function r() {
1840                            this.constructor = n
1841                        }
1842
1843                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1844                    }
1845                }(), jt = function (t) {
1846                    function n(n, i, r) {
1847                        var e = t.call(this) || this, o = r || {};
1848                        return e.tileCoord = n, e.state = i, e.interimTile = null, e.key = "", e.D = void 0 === o.transition ? 250 : o.transition, e.U = {}, e.interpolate = !!o.interpolate, e
1849                    }
1850
1851                    return xt(n, t), n.prototype.changed = function () {
1852                        this.dispatchEvent(N)
1853                    }, n.prototype.release = function () {
1854                    }, n.prototype.getKey = function () {
1855                        return this.key + "/" + this.tileCoord
1856                    }, n.prototype.getInterimTile = function () {
1857                        if (!this.interimTile) return this;
1858                        var t = this.interimTile;
1859                        do {
1860                            if (t.getState() == dt) return this.D = 0, t;
1861                            t = t.interimTile
1862                        } while (t);
1863                        return this
1864                    }, n.prototype.refreshInterimChain = function () {
1865                        if (this.interimTile) {
1866                            var t = this.interimTile, n = this;
1867                            do {
1868                                if (t.getState() == dt) {
1869                                    t.interimTile = null;
1870                                    break
1871                                }
1872                                t.getState() == vt ? n = t : t.getState() == lt ? n.interimTile = t.interimTile : n = t, t = n.interimTile
1873                            } while (t)
1874                        }
1875                    }, n.prototype.getTileCoord = function () {
1876                        return this.tileCoord
1877                    }, n.prototype.getState = function () {
1878                        return this.state
1879                    }, n.prototype.setState = function (t) {
1880                        if (this.state !== pt && this.state > t) throw new Error("Tile load sequence violation");
1881                        this.state = t, this.changed()
1882                    }, n.prototype.load = function () {
1883                        r()
1884                    }, n.prototype.getAlpha = function (t, n) {
1885                        if (!this.D) return 1;
1886                        var i = this.U[t];
1887                        if (i) {
1888                            if (-1 === i) return 1
1889                        } else i = n, this.U[t] = i;
1890                        var r = n - i + 1e3 / 60;
1891                        return r >= this.D ? 1 : mt(r / this.D)
1892                    }, n.prototype.inTransition = function (t) {
1893                        return !!this.D && -1 !== this.U[t]
1894                    }, n.prototype.endTransition = function (t) {
1895                        this.D && (this.U[t] = -1)
1896                    }, n
1897                }(I), St = function () {
1898                    var t = function (n, i) {
1899                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1900                            t.__proto__ = n
1901                        } || function (t, n) {
1902                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1903                        })(n, i)
1904                    };
1905                    return function (n, i) {
1906                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1907
1908                        function r() {
1909                            this.constructor = n
1910                        }
1911
1912                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1913                    }
1914                }(), kt = function (t) {
1915                    function n(n) {
1916                        var i = this, r = lt;
1917                        return (i = t.call(this, n.tileCoord, r, {
1918                            transition: n.transition,
1919                            interpolate: n.interpolate
1920                        }) || this).q = n.loader, i.B = null, i.W = null, i
1921                    }
1922
1923                    return St(n, t), n.prototype.getData = function () {
1924                        return this.B
1925                    }, n.prototype.getError = function () {
1926                        return this.W
1927                    }, n.prototype.load = function () {
1928                        this.state = vt, this.changed();
1929                        var t = this;
1930                        this.q().then((function (n) {
1931                            t.B = n, t.state = dt, t.changed()
1932                        })).catch((function (n) {
1933                            t.W = n, t.state = pt, t.changed()
1934                        }))
1935                    }, n
1936                }(jt);
1937
1938                function Mt(t, n) {
1939                    if (!t) throw new c(n)
1940                }
1941
1942                var _t = function () {
1943                    var t = function (n, i) {
1944                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
1945                            t.__proto__ = n
1946                        } || function (t, n) {
1947                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
1948                        })(n, i)
1949                    };
1950                    return function (n, i) {
1951                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
1952
1953                        function r() {
1954                            this.constructor = n
1955                        }
1956
1957                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
1958                    }
1959                }();
1960
1961                function Ot(t) {
1962                    return "function" == typeof t ? t : (Array.isArray(t) ? n = t : (Mt("function" == typeof t.getZIndex, 41), n = [t]), function () {
1963                        return n
1964                    });
1965                    var n
1966                }
1967
1968                var Tt = function (t) {
1969                    function n(n) {
1970                        var i = t.call(this) || this;
1971                        if (i.on, i.once, i.un, i.V = void 0, i.H = "geometry", i.K = null, i.tt = void 0, i.nt = null, i.addChangeListener(i.H, i.it), n) if ("function" == typeof n.getSimplifiedGeometry) {
1972                            var r = n;
1973                            i.setGeometry(r)
1974                        } else {
1975                            var e = n;
1976                            i.setProperties(e)
1977                        }
1978                        return i
1979                    }
1980
1981                    return _t(n, t), n.prototype.clone = function () {
1982                        var t = new n(this.hasProperties() ? this.getProperties() : null);
1983                        t.setGeometryName(this.getGeometryName());
1984                        var i = this.getGeometry();
1985                        i && t.setGeometry(i.clone());
vendor: 27,952 bytes, lines 1986-2607
1986                        var r = this.getStyle();
1987                        return r && t.setStyle(r), t
1988                    }, n.prototype.getGeometry = function () {
1989                        return this.get(this.H)
1990                    }, n.prototype.getId = function () {
1991                        return this.V
1992                    }, n.prototype.getGeometryName = function () {
1993                        return this.H
1994                    }, n.prototype.getStyle = function () {
1995                        return this.K
1996                    }, n.prototype.getStyleFunction = function () {
1997                        return this.tt
1998                    }, n.prototype.rt = function () {
1999                        this.changed()
2000                    }, n.prototype.it = function () {
2001                        this.nt && ($(this.nt), this.nt = null);
2002                        var t = this.getGeometry();
2003                        t && (this.nt = Y(t, N, this.rt, this)), this.changed()
2004                    }, n.prototype.setGeometry = function (t) {
2005                        this.set(this.H, t)
2006                    }, n.prototype.setStyle = function (t) {
2007                        this.K = t, this.tt = t ? Ot(t) : void 0, this.changed()
2008                    }, n.prototype.setId = function (t) {
2009                        this.V = t, this.changed()
2010                    }, n.prototype.setGeometryName = function (t) {
2011                        this.removeChangeListener(this.H, this.it), this.H = t, this.addChangeListener(this.H, this.it), this.it()
2012                    }, n
2013                }(ot), Et = "XY", At = "XYZ", Ct = "XYM", Rt = "XYZM", Pt = {
2014                    POINT: "Point",
2015                    LINE_STRING: "LineString",
2016                    LINEAR_RING: "LinearRing",
2017                    POLYGON: "Polygon",
2018                    MULTI_POINT: "MultiPoint",
2019                    MULTI_LINE_STRING: "MultiLineString",
2020                    MULTI_POLYGON: "MultiPolygon",
2021                    GEOMETRY_COLLECTION: "GeometryCollection",
2022                    CIRCLE: "Circle"
2023                }, It = {
2024                    RADIANS: "radians",
2025                    DEGREES: "degrees",
2026                    FEET: "ft",
2027                    METERS: "m",
2028                    PIXELS: "pixels",
2029                    TILE_PIXELS: "tile-pixels",
2030                    USFEET: "us-ft"
2031                }, Nt = {9001: It.METERS, 9002: It.FEET, 9003: It.USFEET, 9101: It.RADIANS, 9102: It.DEGREES};
2032
2033                function zt(t) {
2034                    return Nt[t]
2035                }
2036
2037                var Ft = {};
2038                Ft[It.RADIANS] = 6370997 / (2 * Math.PI), Ft[It.DEGREES] = 2 * Math.PI * 6370997 / 360, Ft[It.FEET] = .3048, Ft[It.METERS] = 1, Ft[It.USFEET] = 1200 / 3937;
2039                var Lt, Gt = It,
2040                    Dt = "undefined" != typeof navigator && void 0 !== navigator.userAgent ? navigator.userAgent.toLowerCase() : "",
2041                    Ut = -1 !== Dt.indexOf("firefox"), qt = -1 !== Dt.indexOf("safari") && -1 == Dt.indexOf("chrom"),
2042                    Bt = -1 !== Dt.indexOf("webkit") && -1 == Dt.indexOf("edge"), Wt = -1 !== Dt.indexOf("macintosh"),
2043                    Vt = "undefined" != typeof devicePixelRatio ? devicePixelRatio : 1,
2044                    Xt = "undefined" != typeof WorkerGlobalScope && "undefined" != typeof OffscreenCanvas && self instanceof WorkerGlobalScope,
2045                    Ht = "undefined" != typeof Image && Image.prototype.decode, Jt = function () {
2046                        var t = !1;
2047                        try {
2048                            var n = Object.defineProperty({}, "passive", {
2049                                get: function () {
2050                                    t = !0
2051                                }
2052                            });
2053                            window.addEventListener("_", null, n), window.removeEventListener("_", null, n)
2054                        } catch (t) {
2055                        }
2056                        return t
2057                    }(), Kt = new Array(6);
2058
2059                function Yt() {
2060                    return [1, 0, 0, 1, 0, 0]
2061                }
2062
2063                function Zt(t) {
2064                    return Qt(t, 1, 0, 0, 1, 0, 0)
2065                }
2066
2067                function $t(t, n) {
2068                    var i = t[0], r = t[1], e = t[2], o = t[3], s = t[4], a = t[5], u = n[0], c = n[1], h = n[2],
2069                        f = n[3], l = n[4], v = n[5];
2070                    return t[0] = i * u + e * c, t[1] = r * u + o * c, t[2] = i * h + e * f, t[3] = r * h + o * f, t[4] = i * l + e * v + s, t[5] = r * l + o * v + a, t
2071                }
2072
2073                function Qt(t, n, i, r, e, o, s) {
2074                    return t[0] = n, t[1] = i, t[2] = r, t[3] = e, t[4] = o, t[5] = s, t
2075                }
2076
2077                function tn(t, n) {
2078                    return t[0] = n[0], t[1] = n[1], t[2] = n[2], t[3] = n[3], t[4] = n[4], t[5] = n[5], t
2079                }
2080
2081                function nn(t, n) {
2082                    var i = n[0], r = n[1];
2083                    return n[0] = t[0] * i + t[2] * r + t[4], n[1] = t[1] * i + t[3] * r + t[5], n
2084                }
2085
2086                function rn(t, n) {
2087                    var i = Math.cos(n), r = Math.sin(n);
2088                    return $t(t, Qt(Kt, i, r, -r, i, 0, 0))
2089                }
2090
2091                function en(t, n, i) {
2092                    return $t(t, Qt(Kt, n, 0, 0, i, 0, 0))
2093                }
2094
2095                function on(t, n, i) {
2096                    return Qt(t, n, 0, 0, i, 0, 0)
2097                }
2098
2099                function sn(t, n, i) {
2100                    return $t(t, Qt(Kt, 1, 0, 0, 1, n, i))
2101                }
2102
2103                function an(t, n, i, r, e, o, s, a) {
2104                    var u = Math.sin(o), c = Math.cos(o);
2105                    return t[0] = r * c, t[1] = e * u, t[2] = -r * u, t[3] = e * c, t[4] = s * r * c - a * r * u + n, t[5] = s * e * u + a * e * c + i, t
2106                }
2107
2108                function un(t, n) {
2109                    var i = cn(n);
2110                    Mt(0 !== i, 32);
2111                    var r = n[0], e = n[1], o = n[2], s = n[3], a = n[4], u = n[5];
2112                    return t[0] = s / i, t[1] = -e / i, t[2] = -o / i, t[3] = r / i, t[4] = (o * u - s * a) / i, t[5] = -(r * u - e * a) / i, t
2113                }
2114
2115                function cn(t) {
2116                    return t[0] * t[3] - t[1] * t[2]
2117                }
2118
2119                function hn(t) {
2120                    var n = "matrix(" + t.join(", ") + ")";
2121                    if (Xt) return n;
2122                    var i = Lt || (Lt = document.createElement("div"));
2123                    return i.style.transform = n, i.style.transform
2124                }
2125
2126                var fn = "bottom-left", ln = "bottom-right", vn = "top-left", dn = "top-right", pn = 0, yn = 1, mn = 2,
2127                    wn = 4, bn = 8, gn = 16;
2128
2129                function xn(t) {
2130                    for (var n = En(), i = 0, r = t.length; i < r; ++i) Fn(n, t[i]);
2131                    return n
2132                }
2133
2134                function jn(t, n, i) {
2135                    return i ? (i[0] = t[0] - n, i[1] = t[1] - n, i[2] = t[2] + n, i[3] = t[3] + n, i) : [t[0] - n, t[1] - n, t[2] + n, t[3] + n]
2136                }
2137
2138                function Sn(t, n) {
2139                    return n ? (n[0] = t[0], n[1] = t[1], n[2] = t[2], n[3] = t[3], n) : t.slice()
2140                }
2141
2142                function kn(t, n, i) {
2143                    var r, e;
2144                    return (r = n < t[0] ? t[0] - n : t[2] < n ? n - t[2] : 0) * r + (e = i < t[1] ? t[1] - i : t[3] < i ? i - t[3] : 0) * e
2145                }
2146
2147                function Mn(t, n) {
2148                    return On(t, n[0], n[1])
2149                }
2150
2151                function _n(t, n) {
2152                    return t[0] <= n[0] && n[2] <= t[2] && t[1] <= n[1] && n[3] <= t[3]
2153                }
2154
2155                function On(t, n, i) {
2156                    return t[0] <= n && n <= t[2] && t[1] <= i && i <= t[3]
2157                }
2158
2159                function Tn(t, n) {
2160                    var i = t[0], r = t[1], e = t[2], o = t[3], s = n[0], a = n[1], u = pn;
2161                    return s < i ? u |= gn : s > e && (u |= wn), a < r ? u |= bn : a > o && (u |= mn), u === pn && (u = yn), u
2162                }
2163
2164                function En() {
2165                    return [1 / 0, 1 / 0, -1 / 0, -1 / 0]
2166                }
2167
2168                function An(t, n, i, r, e) {
2169                    return e ? (e[0] = t, e[1] = n, e[2] = i, e[3] = r, e) : [t, n, i, r]
2170                }
2171
2172                function Cn(t) {
2173                    return An(1 / 0, 1 / 0, -1 / 0, -1 / 0, t)
2174                }
2175
2176                function Rn(t, n) {
2177                    var i = t[0], r = t[1];
2178                    return An(i, r, i, r, n)
2179                }
2180
2181                function Pn(t, n, i, r, e) {
2182                    return Gn(Cn(e), t, n, i, r)
2183                }
2184
2185                function In(t, n) {
2186                    return t[0] == n[0] && t[2] == n[2] && t[1] == n[1] && t[3] == n[3]
2187                }
2188
2189                function Nn(t, n, i) {
2190                    return Math.abs(t[0] - n[0]) < i && Math.abs(t[2] - n[2]) < i && Math.abs(t[1] - n[1]) < i && Math.abs(t[3] - n[3]) < i
2191                }
2192
2193                function zn(t, n) {
2194                    return n[0] < t[0] && (t[0] = n[0]), n[2] > t[2] && (t[2] = n[2]), n[1] < t[1] && (t[1] = n[1]), n[3] > t[3] && (t[3] = n[3]), t
2195                }
2196
2197                function Fn(t, n) {
2198                    n[0] < t[0] && (t[0] = n[0]), n[0] > t[2] && (t[2] = n[0]), n[1] < t[1] && (t[1] = n[1]), n[1] > t[3] && (t[3] = n[1])
2199                }
2200
2201                function Ln(t, n) {
2202                    for (var i = 0, r = n.length; i < r; ++i) Fn(t, n[i]);
2203                    return t
2204                }
2205
2206                function Gn(t, n, i, r, e) {
2207                    for (; i < r; i += e) Un(t, n[i], n[i + 1]);
2208                    return t
2209                }
2210
2211                function Dn(t, n) {
2212                    for (var i = 0, r = n.length; i < r; ++i) Ln(t, n[i]);
2213                    return t
2214                }
2215
2216                function Un(t, n, i) {
2217                    t[0] = Math.min(t[0], n), t[1] = Math.min(t[1], i), t[2] = Math.max(t[2], n), t[3] = Math.max(t[3], i)
2218                }
2219
2220                function qn(t, n) {
2221                    var i;
2222                    return (i = n(Wn(t))) || (i = n(Vn(t))) || (i = n($n(t))) ? i : (i = n(Zn(t))) || !1
2223                }
2224
2225                function Bn(t) {
2226                    var n = 0;
2227                    return ni(t) || (n = Qn(t) * Kn(t)), n
2228                }
2229
2230                function Wn(t) {
2231                    return [t[0], t[1]]
2232                }
2233
2234                function Vn(t) {
2235                    return [t[2], t[1]]
2236                }
2237
2238                function Xn(t) {
2239                    return [(t[0] + t[2]) / 2, (t[1] + t[3]) / 2]
2240                }
2241
2242                function Hn(t, n) {
2243                    var i;
2244                    return n === fn ? i = Wn(t) : n === ln ? i = Vn(t) : n === vn ? i = Zn(t) : n === dn ? i = $n(t) : Mt(!1, 13), i
2245                }
2246
2247                function Jn(t, n, i, r, e) {
2248                    var o = n * r[0] / 2, s = n * r[1] / 2, a = Math.cos(i), u = Math.sin(i), c = o * a, h = o * u,
2249                        f = s * a, l = s * u, v = t[0], d = t[1], p = v - c + l, y = v - c - l, m = v + c - l,
2250                        w = v + c + l, b = d - h - f, g = d - h + f, x = d + h + f, j = d + h - f;
2251                    return An(Math.min(p, y, m, w), Math.min(b, g, x, j), Math.max(p, y, m, w), Math.max(b, g, x, j), e)
2252                }
2253
2254                function Kn(t) {
2255                    return t[3] - t[1]
2256                }
2257
2258                function Yn(t, n, i) {
2259                    var r = i || [1 / 0, 1 / 0, -1 / 0, -1 / 0];
2260                    return ti(t, n) ? (t[0] > n[0] ? r[0] = t[0] : r[0] = n[0], t[1] > n[1] ? r[1] = t[1] : r[1] = n[1], t[2] < n[2] ? r[2] = t[2] : r[2] = n[2], t[3] < n[3] ? r[3] = t[3] : r[3] = n[3]) : Cn(r), r
2261                }
2262
2263                function Zn(t) {
2264                    return [t[0], t[3]]
2265                }
2266
2267                function $n(t) {
2268                    return [t[2], t[3]]
2269                }
2270
2271                function Qn(t) {
2272                    return t[2] - t[0]
2273                }
2274
2275                function ti(t, n) {
2276                    return t[0] <= n[2] && t[2] >= n[0] && t[1] <= n[3] && t[3] >= n[1]
2277                }
2278
2279                function ni(t) {
2280                    return t[2] < t[0] || t[3] < t[1]
2281                }
2282
2283                function ii(t, n) {
2284                    return n ? (n[0] = t[0], n[1] = t[1], n[2] = t[2], n[3] = t[3], n) : t
2285                }
2286
2287                function ri(t, n) {
2288                    var i = (t[2] - t[0]) / 2 * (n - 1), r = (t[3] - t[1]) / 2 * (n - 1);
2289                    t[0] -= i, t[2] += i, t[1] -= r, t[3] += r
2290                }
2291
2292                function ei(t, n, i) {
2293                    var r = !1, e = Tn(t, n), o = Tn(t, i);
2294                    if (e === yn || o === yn) r = !0; else {
2295                        var s = t[0], a = t[1], u = t[2], c = t[3], h = n[0], f = n[1], l = i[0], v = i[1],
2296                            d = (v - f) / (l - h), p = void 0, y = void 0;
2297                        o & mn && !(e & mn) && (r = (p = l - (v - c) / d) >= s && p <= u), r || !(o & wn) || e & wn || (r = (y = v - (l - u) * d) >= a && y <= c), r || !(o & bn) || e & bn || (r = (p = l - (v - a) / d) >= s && p <= u), r || !(o & gn) || e & gn || (r = (y = v - (l - s) * d) >= a && y <= c)
2298                    }
2299                    return r
2300                }
2301
2302                function oi(t, n, i, r) {
2303                    var e = [];
2304                    if (r > 1) for (var o = t[2] - t[0], s = t[3] - t[1], a = 0; a < r; ++a) e.push(t[0] + o * a / r, t[1], t[2], t[1] + s * a / r, t[2] - o * a / r, t[3], t[0], t[3] - s * a / r); else e = [t[0], t[1], t[2], t[1], t[2], t[3], t[0], t[3]];
2305                    n(e, e, 2);
2306                    for (var u = [], c = [], h = (a = 0, e.length); a < h; a += 2) u.push(e[a]), c.push(e[a + 1]);
2307                    return function (t, n, i) {
2308                        return An(Math.min.apply(null, t), Math.min.apply(null, n), Math.max.apply(null, t), Math.max.apply(null, n), i)
2309                    }(u, c, i)
2310                }
2311
2312                function si(t, n) {
2313                    var i = n.getExtent(), r = Xn(t);
2314                    if (n.canWrapX() && (r[0] < i[0] || r[0] >= i[2])) {
2315                        var e = Qn(i), o = Math.floor((r[0] - i[0]) / e) * e;
2316                        t[0] -= o, t[2] -= o
2317                    }
2318                    return t
2319                }
2320
2321                var ai = function () {
2322                    function t(t) {
2323                        this.et = t.code, this.ot = t.units, this.st = void 0 !== t.extent ? t.extent : null, this.ut = void 0 !== t.worldExtent ? t.worldExtent : null, this.ct = void 0 !== t.axisOrientation ? t.axisOrientation : "enu", this.ht = void 0 !== t.global && t.global, this.ft = !(!this.ht || !this.st), this.lt = t.getPointResolution, this.vt = null, this.dt = t.metersPerUnit
2324                    }
2325
2326                    return t.prototype.canWrapX = function () {
2327                        return this.ft
2328                    }, t.prototype.getCode = function () {
2329                        return this.et
2330                    }, t.prototype.getExtent = function () {
2331                        return this.st
2332                    }, t.prototype.getUnits = function () {
2333                        return this.ot
2334                    }, t.prototype.getMetersPerUnit = function () {
2335                        return this.dt || Ft[this.ot]
2336                    }, t.prototype.getWorldExtent = function () {
2337                        return this.ut
2338                    }, t.prototype.getAxisOrientation = function () {
2339                        return this.ct
2340                    }, t.prototype.isGlobal = function () {
2341                        return this.ht
2342                    }, t.prototype.setGlobal = function (t) {
2343                        this.ht = t, this.ft = !(!t || !this.st)
2344                    }, t.prototype.getDefaultTileGrid = function () {
2345                        return this.vt
2346                    }, t.prototype.setDefaultTileGrid = function (t) {
2347                        this.vt = t
2348                    }, t.prototype.setExtent = function (t) {
2349                        this.st = t, this.ft = !(!this.ht || !t)
2350                    }, t.prototype.setWorldExtent = function (t) {
2351                        this.ut = t
2352                    }, t.prototype.setGetPointResolution = function (t) {
2353                        this.lt = t
2354                    }, t.prototype.getPointResolutionFunc = function () {
2355                        return this.lt
2356                    }, t
2357                }();
2358
2359                function ui(t, n, i) {
2360                    return Math.min(Math.max(t, n), i)
2361                }
2362
2363                var ci = "cosh" in Math ? Math.cosh : function (t) {
2364                    var n = Math.exp(t);
2365                    return (n + 1 / n) / 2
2366                }, hi = "log2" in Math ? Math.log2 : function (t) {
2367                    return Math.log(t) * Math.LOG2E
2368                };
2369
2370                function fi(t, n, i, r, e, o) {
2371                    var s = e - i, a = o - r;
2372                    if (0 !== s || 0 !== a) {
2373                        var u = ((t - i) * s + (n - r) * a) / (s * s + a * a);
2374                        u > 1 ? (i = e, r = o) : u > 0 && (i += s * u, r += a * u)
2375                    }
2376                    return li(t, n, i, r)
2377                }
2378
2379                function li(t, n, i, r) {
2380                    var e = i - t, o = r - n;
2381                    return e * e + o * o
2382                }
2383
2384                function vi(t) {
2385                    for (var n = t.length, i = 0; i < n; i++) {
2386                        for (var r = i, e = Math.abs(t[i][i]), o = i + 1; o < n; o++) {
2387                            var s = Math.abs(t[o][i]);
2388                            s > e && (e = s, r = o)
2389                        }
2390                        if (0 === e) return null;
2391                        var a = t[r];
2392                        t[r] = t[i], t[i] = a;
2393                        for (var u = i + 1; u < n; u++) for (var c = -t[u][i] / t[i][i], h = i; h < n + 1; h++) i == h ? t[u][h] = 0 : t[u][h] += c * t[i][h]
2394                    }
2395                    for (var f = new Array(n), l = n - 1; l >= 0; l--) {
2396                        f[l] = t[l][n] / t[l][l];
2397                        for (var v = l - 1; v >= 0; v--) t[v][n] -= t[v][l] * f[l]
2398                    }
2399                    return f
2400                }
2401
2402                function di(t) {
2403                    return 180 * t / Math.PI
2404                }
2405
2406                function pi(t) {
2407                    return t * Math.PI / 180
2408                }
2409
2410                function yi(t, n) {
2411                    var i = t % n;
2412                    return i * n < 0 ? i + n : i
2413                }
2414
2415                function mi(t, n, i) {
2416                    return t + i * (n - t)
2417                }
2418
2419                function wi(t, n) {
2420                    var i = Math.pow(10, n);
2421                    return Math.round(t * i) / i
2422                }
2423
2424                function bi(t, n) {
2425                    return Math.round(wi(t, n))
2426                }
2427
2428                function gi(t, n) {
2429                    return Math.floor(wi(t, n))
2430                }
2431
2432                function xi(t, n) {
2433                    return Math.ceil(wi(t, n))
2434                }
2435
2436                var ji = function () {
2437                        var t = function (n, i) {
2438                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
2439                                t.__proto__ = n
2440                            } || function (t, n) {
2441                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
2442                            })(n, i)
2443                        };
2444                        return function (n, i) {
2445                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
2446
2447                            function r() {
2448                                this.constructor = n
2449                            }
2450
2451                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
2452                        }
2453                    }(), Si = 6378137, ki = Math.PI * Si, Mi = [-ki, -ki, ki, ki], _i = [-180, -85, 180, 85],
2454                    Oi = Si * Math.log(Math.tan(Math.PI / 2)), Ti = function (t) {
2455                        function n(n) {
2456                            return t.call(this, {
2457                                code: n,
2458                                units: Gt.METERS,
2459                                extent: Mi,
2460                                global: !0,
2461                                worldExtent: _i,
2462                                getPointResolution: function (t, n) {
2463                                    return t / ci(n[1] / Si)
2464                                }
2465                            }) || this
2466                        }
2467
2468                        return ji(n, t), n
2469                    }(ai),
2470                    Ei = [new Ti("EPSG:3857"), new Ti("EPSG:102100"), new Ti("EPSG:102113"), new Ti("EPSG:900913"), new Ti("http://www.opengis.net/def/crs/EPSG/0/3857"), new Ti("http://www.opengis.net/gml/srs/epsg.xml#3857")];
2471
2472                function Ai(t, n, i) {
2473                    var r = t.length, e = i > 1 ? i : 2, o = n;
2474                    void 0 === o && (o = e > 2 ? t.slice() : new Array(r));
2475                    for (var s = 0; s < r; s += e) {
2476                        o[s] = ki * t[s] / 180;
2477                        var a = Si * Math.log(Math.tan(Math.PI * (+t[s + 1] + 90) / 360));
2478                        a > Oi ? a = Oi : a < -Oi && (a = -Oi), o[s + 1] = a
2479                    }
2480                    return o
2481                }
2482
2483                function Ci(t, n, i) {
2484                    var r = t.length, e = i > 1 ? i : 2, o = n;
2485                    void 0 === o && (o = e > 2 ? t.slice() : new Array(r));
2486                    for (var s = 0; s < r; s += e) o[s] = 180 * t[s] / ki, o[s + 1] = 360 * Math.atan(Math.exp(t[s + 1] / Si)) / Math.PI - 90;
2487                    return o
2488                }
2489
2490                var Ri = function () {
2491                        var t = function (n, i) {
2492                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
2493                                t.__proto__ = n
2494                            } || function (t, n) {
2495                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
2496                            })(n, i)
2497                        };
2498                        return function (n, i) {
2499                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
2500
2501                            function r() {
2502                                this.constructor = n
2503                            }
2504
2505                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
2506                        }
2507                    }(), Pi = 6378137, Ii = [-180, -90, 180, 90], Ni = Math.PI * Pi / 180, zi = function (t) {
2508                        function n(n, i) {
2509                            return t.call(this, {
2510                                code: n,
2511                                units: Gt.DEGREES,
2512                                extent: Ii,
2513                                axisOrientation: i,
2514                                global: !0,
2515                                metersPerUnit: Ni,
2516                                worldExtent: Ii
2517                            }) || this
2518                        }
2519
2520                        return Ri(n, t), n
2521                    }(ai),
2522                    Fi = [new zi("CRS:84"), new zi("EPSG:4326", "neu"), new zi("urn:ogc:def:crs:OGC:1.3:CRS84"), new zi("urn:ogc:def:crs:OGC:2:84"), new zi("http://www.opengis.net/def/crs/OGC/1.3/CRS84"), new zi("http://www.opengis.net/gml/srs/epsg.xml#4326", "neu"), new zi("http://www.opengis.net/def/crs/EPSG/0/4326", "neu")],
2523                    Li = {};
2524
2525                function Gi() {
2526                    Li = {}
2527                }
2528
2529                function Di(t) {
2530                    return Li[t] || Li[t.replace(/urn:(x-)?ogc:def:crs:EPSG:(.*:)?(\w+)$/, "EPSG:$3")] || null
2531                }
2532
2533                function Ui(t, n) {
2534                    Li[t] = n
2535                }
2536
2537                var qi = {};
2538
2539                function Bi() {
2540                    qi = {}
2541                }
2542
2543                function Wi(t, n, i) {
2544                    var r = t.getCode(), e = n.getCode();
2545                    r in qi || (qi[r] = {}), qi[r][e] = i
2546                }
2547
2548                function Vi(t, n) {
2549                    var i;
2550                    return t in qi && n in qi[t] && (i = qi[t][n]), i
2551                }
2552
2553                function Xi(t, n, i) {
2554                    var r = void 0 !== i ? t.toFixed(i) : "" + t, e = r.indexOf(".");
2555                    return (e = -1 === e ? r.length : e) > n ? r : new Array(1 + n - e).join("0") + r
2556                }
2557
2558                function Hi(t, n) {
2559                    for (var i = ("" + t).split("."), r = ("" + n).split("."), e = 0; e < Math.max(i.length, r.length); e++) {
2560                        var o = parseInt(i[e] || "0", 10), s = parseInt(r[e] || "0", 10);
2561                        if (o > s) return 1;
2562                        if (s > o) return -1
2563                    }
2564                    return 0
2565                }
2566
2567                function Ji(t, n) {
2568                    return t[0] += +n[0], t[1] += +n[1], t
2569                }
2570
2571                function Ki(t, n) {
2572                    var i = n.getRadius(), r = n.getCenter(), e = r[0], o = r[1], s = t[0] - e, a = t[1] - o;
2573                    0 === s && 0 === a && (s = 1);
2574                    var u = Math.sqrt(s * s + a * a);
2575                    return [e + i * s / u, o + i * a / u]
2576                }
2577
2578                function Yi(t, n) {
2579                    var i, r, e = t[0], o = t[1], s = n[0], a = n[1], u = s[0], c = s[1], h = a[0], f = a[1], l = h - u,
2580                        v = f - c, d = 0 === l && 0 === v ? 0 : (l * (e - u) + v * (o - c)) / (l * l + v * v || 0);
2581                    return d <= 0 ? (i = u, r = c) : d >= 1 ? (i = h, r = f) : (i = u + d * l, r = c + d * v), [i, r]
2582                }
2583
2584                function Zi(t, n, i) {
2585                    var r = yi(n + 180, 360) - 180, e = Math.abs(3600 * r), o = i || 0, s = Math.pow(10, o),
2586                        a = Math.floor(e / 3600), u = Math.floor((e - 3600 * a) / 60), c = e - 3600 * a - 60 * u;
2587                    return (c = Math.ceil(c * s) / s) >= 60 && (c = 0, u += 1), u >= 60 && (u = 0, a += 1), a + "° " + Xi(u, 2) + "′ " + Xi(c, 2, o) + "″" + (0 == r ? "" : " " + t.charAt(r < 0 ? 1 : 0))
2588                }
2589
2590                function $i(t, n, i) {
2591                    return t ? n.replace("{x}", t[0].toFixed(i)).replace("{y}", t[1].toFixed(i)) : ""
2592                }
2593
2594                function Qi(t, n) {
2595                    for (var i = !0, r = t.length - 1; r >= 0; --r) if (t[r] != n[r]) {
2596                        i = !1;
2597                        break
2598                    }
2599                    return i
2600                }
2601
2602                function tr(t, n) {
2603                    var i = Math.cos(n), r = Math.sin(n), e = t[0] * i - t[1] * r, o = t[1] * i + t[0] * r;
2604                    return t[0] = e, t[1] = o, t
2605                }
2606
2607                function nr(t, n) {
2608                    return t[0] *= n, t[1] *= n, t
2609                }
2610
2611                function ir(t, n) {
2612                    var i = t[0] - n[0], r = t[1] - n[1];
2613                    return i * i + r * r
2614                }
2615
2616                function rr(t, n) {
2617                    return Math.sqrt(ir(t, n))
2618                }
2619
2620                function er(t, n) {
2621                    return ir(t, Yi(t, n))
2622                }
2623
2624                function or(t, n) {
2625                    return $i(t, "{x}, {y}", n)
2626                }
2627
2628                function sr(t, n) {
2629                    if (n.canWrapX()) {
2630                        var i = Qn(n.getExtent()), r = ar(t, n, i);
2631                        r && (t[0] -= r * i)
2632                    }
2633                    return t
2634                }
2635
2636                function ar(t, n, i) {
2637                    var r = n.getExtent(), e = 0;
2638                    if (n.canWrapX() && (t[0] < r[0] || t[0] > r[2])) {
2639                        var o = i || Qn(r);
2640                        e = Math.floor((t[0] - r[0]) / o)
2641                    }
2642                    return e
2643                }
2644
2645                var ur = 6371008.8;
2646
2647                function cr(t, n, i) {
2648                    var r = i || ur, e = pi(t[1]), o = pi(n[1]), s = (o - e) / 2, a = pi(n[0] - t[0]) / 2,
2649                        u = Math.sin(s) * Math.sin(s) + Math.sin(a) * Math.sin(a) * Math.cos(e) * Math.cos(o);
2650                    return 2 * r * Math.atan2(Math.sqrt(u), Math.sqrt(1 - u))
2651                }
2652
2653                function hr(t, n) {
2654                    for (var i = 0, r = 0, e = t.length; r < e - 1; ++r) i += cr(t[r], t[r + 1], n);
2655                    return i
2656                }
2657
2658                function fr(t, n) {
2659                    for (var i = 0, r = t.length, e = t[r - 1][0], o = t[r - 1][1], s = 0; s < r; s++) {
2660                        var a = t[s][0], u = t[s][1];
2661                        i += pi(a - e) * (2 + Math.sin(pi(o)) + Math.sin(pi(u))), e = a, o = u
2662                    }
2663                    return i * n * n / 2
2664                }
2665
2666                function lr(t, n, i, r) {
2667                    var e = r || ur, o = pi(t[1]), s = pi(t[0]), a = n / e,
2668                        u = Math.asin(Math.sin(o) * Math.cos(a) + Math.cos(o) * Math.sin(a) * Math.cos(i));
2669                    return [di(s + Math.atan2(Math.sin(i) * Math.sin(a) * Math.cos(o), Math.cos(a) - Math.sin(o) * Math.sin(u))), di(u)]
2670                }
2671
2672                var vr = !0;
2673
2674                function dr(t) {
2675                    vr = !(void 0 === t || t)
2676                }
2677
2678                function pr(t, n, i) {
2679                    var r;
2680                    if (void 0 !== n) {
2681                        for (var e = 0, o = t.length; e < o; ++e) n[e] = t[e];
2682                        r = n
2683                    } else r = t.slice();
2684                    return r
2685                }
2686
2687                function yr(t, n, i) {
2688                    if (void 0 !== n && t !== n) {
2689                        for (var r = 0, e = t.length; r < e; ++r) n[r] = t[r];
2690                        t = n
2691                    }
2692                    return t
2693                }
2694
2695                function mr(t) {
2696                    Ui(t.getCode(), t), Wi(t, t, pr)
2697                }
2698
2699                function wr(t) {
2700                    t.forEach(mr)
2701                }
2702
2703                function br(t) {
2704                    return "string" == typeof t ? Di(t) : t || null
2705                }
2706
2707                function gr(t, n, i, r) {
2708                    var e, o = (t = br(t)).getPointResolutionFunc();
2709                    if (o) {
2710                        if (e = o(n, i), r && r !== t.getUnits()) (a = t.getMetersPerUnit()) && (e = e * a / Ft[r])
2711                    } else {
2712                        var s = t.getUnits();
2713                        if (s == Gt.DEGREES && !r || r == Gt.DEGREES) e = n; else {
2714                            var a, u = Tr(t, br("EPSG:4326"));
2715                            if (u === yr && s !== Gt.DEGREES) e = n * t.getMetersPerUnit(); else {
2716                                var c = [i[0] - n / 2, i[1], i[0] + n / 2, i[1], i[0], i[1] - n / 2, i[0], i[1] + n / 2];
2717                                e = (cr((c = u(c, c, 2)).slice(0, 2), c.slice(2, 4)) + cr(c.slice(4, 6), c.slice(6, 8))) / 2
2718                            }
2719                            void 0 !== (a = r ? Ft[r] : t.getMetersPerUnit()) && (e /= a)
2720                        }
2721                    }
2722                    return e
2723                }
2724
2725                function xr(t) {
2726                    wr(t), t.forEach((function (n) {
2727                        t.forEach((function (t) {
2728                            n !== t && Wi(n, t, pr)
2729                        }))
2730                    }))
2731                }
2732
2733                function jr(t, n, i, r) {
2734                    t.forEach((function (t) {
2735                        n.forEach((function (n) {
2736                            Wi(t, n, i), Wi(n, t, r)
2737                        }))
2738                    }))
2739                }
2740
2741                function Sr(t, n) {
2742                    return t ? "string" == typeof t ? br(t) : t : br(n)
2743                }
2744
2745                function kr(t) {
2746                    return function (n, i, r) {
2747                        for (var e = n.length, o = void 0 !== r ? r : 2, s = void 0 !== i ? i : new Array(e), a = 0; a < e; a += o) {
2748                            var u = t([n[a], n[a + 1]]);
2749                            s[a] = u[0], s[a + 1] = u[1];
2750                            for (var c = o - 1; c >= 2; --c) s[a + c] = n[a + c]
2751                        }
2752                        return s
2753                    }
2754                }
2755
2756                function Mr(t, n, i, r) {
2757                    var e = br(t), o = br(n);
2758                    Wi(e, o, kr(i)), Wi(o, e, kr(r))
2759                }
2760
2761                function _r(t, n) {
2762                    return dr(), Ar(t, "EPSG:4326", void 0 !== n ? n : "EPSG:3857")
2763                }
2764
2765                function Or(t, n) {
2766                    if (t === n) return !0;
2767                    var i = t.getUnits() === n.getUnits();
2768                    return (t.getCode() === n.getCode() || Tr(t, n) === pr) && i
2769                }
2770
2771                function Tr(t, n) {
2772                    var i = Vi(t.getCode(), n.getCode());
2773                    return i || (i = yr), i
2774                }
2775
2776                function Er(t, n) {
2777                    return Tr(br(t), br(n))
2778                }
2779
2780                function Ar(t, n, i) {
2781                    return Er(n, i)(t, void 0, t.length)
2782                }
2783
2784                function Cr(t, n, i, r) {
2785                    return oi(t, Er(n, i), void 0, r)
2786                }
2787
2788                var Rr = null;
2789
2790                function Pr(t) {
2791                    Rr = br(t)
2792                }
2793
2794                function Ir() {
2795                    return Rr
2796                }
2797
2798                function Nr(t, n) {
2799                    return Rr ? Ar(t, n, Rr) : t
2800                }
2801
2802                function zr(t, n) {
2803                    return Rr ? Ar(t, Rr, n) : (vr && !Qi(t, [0, 0]) && t[0] >= -180 && t[0] <= 180 && t[1] >= -90 && t[1] <= 90 && (vr = !1, console.warn("Call useGeographic() ol/proj once to work with [longitude, latitude] coordinates.")), t)
2804                }
2805
2806                function Fr(t, n) {
2807                    return Rr ? Cr(t, n, Rr) : t
2808                }
2809
2810                function Lr(t, n) {
2811                    return Rr ? Cr(t, Rr, n) : t
2812                }
2813
2814                function Gr(t, n) {
2815                    if (!Rr) return t;
2816                    var i = br(n).getUnits(), r = Rr.getUnits();
2817                    return i && r ? t * Ft[i] / Ft[r] : t
2818                }
2819
2820                function Dr(t, n) {
2821                    if (!Rr) return t;
2822                    var i = br(n).getUnits(), r = Rr.getUnits();
2823                    return i && r ? t * Ft[r] / Ft[i] : t
2824                }
2825
2826                function Ur(t, n, i) {
2827                    return function (r) {
2828                        var e, o, s = r[0], a = r[1];
2829                        if (t.canWrapX()) {
2830                            var u = t.getExtent(), c = Qn(u);
2831                            (o = ar(r, t, c)) && (s -= o * c), s = ui(s, u[0], u[2]), a = ui(a, u[1], u[3]), e = i([s, a])
2832                        } else e = i(r);
2833                        return o && n.canWrapX() && (e[0] += o * Qn(n.getExtent())), e
2834                    }
2835                }
2836
2837                function qr() {
2838                    xr(Ei), xr(Fi), jr(Fi, Ei, Ai, Ci)
2839                }
2840
2841                function Br(t, n, i, r, e, o) {
2842                    for (var s = o || [], a = 0, u = n; u < i; u += r) {
2843                        var c = t[u], h = t[u + 1];
2844                        s[a++] = e[0] * c + e[2] * h + e[4], s[a++] = e[1] * c + e[3] * h + e[5]
2845                    }
2846                    return o && s.length != a && (s.length = a), s
2847                }
2848
2849                function Wr(t, n, i, r, e, o, s) {
2850                    for (var a = s || [], u = Math.cos(e), c = Math.sin(e), h = o[0], f = o[1], l = 0, v = n; v < i; v += r) {
2851                        var d = t[v] - h, p = t[v + 1] - f;
2852                        a[l++] = h + d * u - p * c, a[l++] = f + d * c + p * u;
2853                        for (var y = v + 2; y < v + r; ++y) a[l++] = t[y]
2854                    }
2855                    return s && a.length != l && (a.length = l), a
2856                }
2857
2858                function Vr(t, n, i, r, e, o, s, a) {
2859                    for (var u = a || [], c = s[0], h = s[1], f = 0, l = n; l < i; l += r) {
2860                        var v = t[l] - c, d = t[l + 1] - h;
2861                        u[f++] = c + e * v, u[f++] = h + o * d;
2862                        for (var p = l + 2; p < l + r; ++p) u[f++] = t[p]
2863                    }
2864                    return a && u.length != f && (u.length = f), u
2865                }
2866
2867                function Xr(t, n, i, r, e, o, s) {
2868                    for (var a = s || [], u = 0, c = n; c < i; c += r) {
2869                        a[u++] = t[c] + e, a[u++] = t[c + 1] + o;
2870                        for (var h = c + 2; h < c + r; ++h) a[u++] = t[h]
2871                    }
2872                    return s && a.length != u && (a.length = u), a
2873                }
2874
2875                qr();
2876                var Hr = function () {
2877                    var t = function (n, i) {
2878                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
2879                            t.__proto__ = n
2880                        } || function (t, n) {
2881                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
2882                        })(n, i)
2883                    };
2884                    return function (n, i) {
2885                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
2886
2887                        function r() {
2888                            this.constructor = n
2889                        }
2890
2891                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
2892                    }
2893                }(), Jr = [1, 0, 0, 1, 0, 0], Kr = function (t) {
2894                    function n() {
2895                        var n = t.call(this) || this;
2896                        return n.st = [1 / 0, 1 / 0, -1 / 0, -1 / 0], n.yt = -1, n.simplifiedGeometryMaxMinSquaredTolerance = 0, n.simplifiedGeometryRevision = 0, n.simplifyTransformedInternal = O((function (t, n, i) {
2897                            if (!i) return this.getSimplifiedGeometry(n);
2898                            var r = this.clone();
2899                            return r.applyTransform(i), r.getSimplifiedGeometry(n)
2900                        })), n
2901                    }
2902
2903                    return Hr(n, t), n.prototype.simplifyTransformed = function (t, n) {
2904                        return this.simplifyTransformedInternal(this.getRevision(), t, n)
2905                    }, n.prototype.clone = function () {
2906                        return r()
2907                    }, n.prototype.closestPointXY = function (t, n, i, e) {
2908                        return r()
2909                    }, n.prototype.containsXY = function (t, n) {
2910                        var i = this.getClosestPoint([t, n]);
2911                        return i[0] === t && i[1] === n
2912                    }, n.prototype.getClosestPoint = function (t, n) {
2913                        var i = n || [NaN, NaN];
2914                        return this.closestPointXY(t[0], t[1], i, 1 / 0), i
2915                    }, n.prototype.intersectsCoordinate = function (t) {
2916                        return this.containsXY(t[0], t[1])
2917                    }, n.prototype.computeExtent = function (t) {
2918                        return r()
2919                    }, n.prototype.getExtent = function (t) {
2920                        if (this.yt != this.getRevision()) {
2921                            var n = this.computeExtent(this.st);
2922                            (isNaN(n[0]) || isNaN(n[1])) && Cn(n), this.yt = this.getRevision()
2923                        }
2924                        return ii(this.st, t)
2925                    }, n.prototype.rotate = function (t, n) {
2926                        r()
2927                    }, n.prototype.scale = function (t, n, i) {
2928                        r()
2929                    }, n.prototype.simplify = function (t) {
2930                        return this.getSimplifiedGeometry(t * t)
2931                    }, n.prototype.getSimplifiedGeometry = function (t) {
2932                        return r()
2933                    }, n.prototype.getType = function () {
2934                        return r()
2935                    }, n.prototype.applyTransform = function (t) {
2936                        r()
2937                    }, n.prototype.intersectsExtent = function (t) {
2938                        return r()
2939                    }, n.prototype.translate = function (t, n) {
2940                        r()
2941                    }, n.prototype.transform = function (t, n) {
2942                        var i = br(t), r = i.getUnits() == Gt.TILE_PIXELS ? function (t, r, e) {
2943                            var o = i.getExtent(), s = i.getWorldExtent(), a = Kn(s) / Kn(o);
2944                            return an(Jr, s[0], s[3], a, -a, 0, 0, 0), Br(t, 0, t.length, e, Jr, r), Er(i, n)(t, r, e)
2945                        } : Er(i, n);
2946                        return this.applyTransform(r), this
2947                    }, n
2948                }(ot), Yr = function () {
2949                    var t = function (n, i) {
2950                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
2951                            t.__proto__ = n
2952                        } || function (t, n) {
2953                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
2954                        })(n, i)
2955                    };
2956                    return function (n, i) {
2957                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
2958
2959                        function r() {
2960                            this.constructor = n
2961                        }
2962
2963                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
2964                    }
2965                }();
2966
2967                function Zr(t) {
2968                    var n;
2969                    return t == Et ? n = 2 : t == At || t == Ct ? n = 3 : t == Rt && (n = 4), n
2970                }
2971
2972                function $r(t, n, i) {
2973                    var r = t.getFlatCoordinates();
2974                    if (r) {
2975                        var e = t.getStride();
2976                        return Br(r, 0, r.length, e, n, i)
2977                    }
2978                    return null
2979                }
2980
2981                var Qr = function (t) {
2982                    function n() {
2983                        var n = t.call(this) || this;
2984                        return n.layout = Et, n.stride = 2, n.flatCoordinates = null, n
2985                    }
2986
2987                    return Yr(n, t), n.prototype.computeExtent = function (t) {
2988                        return Pn(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t)
2989                    }, n.prototype.getCoordinates = function () {
2990                        return r()
2991                    }, n.prototype.getFirstCoordinate = function () {
2992                        return this.flatCoordinates.slice(0, this.stride)
2993                    }, n.prototype.getFlatCoordinates = function () {
2994                        return this.flatCoordinates
2995                    }, n.prototype.getLastCoordinate = function () {
2996                        return this.flatCoordinates.slice(this.flatCoordinates.length - this.stride)
2997                    }, n.prototype.getLayout = function () {
2998                        return this.layout
2999                    }, n.prototype.getSimplifiedGeometry = function (t) {
3000                        if (this.simplifiedGeometryRevision !== this.getRevision() && (this.simplifiedGeometryMaxMinSquaredTolerance = 0, this.simplifiedGeometryRevision = this.getRevision()), t < 0 || 0 !== this.simplifiedGeometryMaxMinSquaredTolerance && t <= this.simplifiedGeometryMaxMinSquaredTolerance) return this;
3001                        var n = this.getSimplifiedGeometryInternal(t);
3002                        return n.getFlatCoordinates().length < this.flatCoordinates.length ? n : (this.simplifiedGeometryMaxMinSquaredTolerance = t, this)
3003                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
3004                        return this
3005                    }, n.prototype.getStride = function () {
3006                        return this.stride
3007                    }, n.prototype.setFlatCoordinates = function (t, n) {
3008                        this.stride = Zr(t), this.layout = t, this.flatCoordinates = n
3009                    }, n.prototype.setCoordinates = function (t, n) {
3010                        r()
3011                    }, n.prototype.setLayout = function (t, n, i) {
3012                        var r;
3013                        if (t) r = Zr(t); else {
3014                            for (var e = 0; e < i; ++e) {
3015                                if (0 === n.length) return this.layout = Et, void (this.stride = 2);
3016                                n = n[0]
3017                            }
3018                            t = function (t) {
3019                                var n;
3020                                2 == t ? n = Et : 3 == t ? n = At : 4 == t && (n = Rt);
3021                                return n
3022                            }(r = n.length)
3023                        }
3024                        this.layout = t, this.stride = r
3025                    }, n.prototype.applyTransform = function (t) {
3026                        this.flatCoordinates && (t(this.flatCoordinates, this.flatCoordinates, this.stride), this.changed())
3027                    }, n.prototype.rotate = function (t, n) {
3028                        var i = this.getFlatCoordinates();
3029                        if (i) {
vendor: 32,768 bytes, lines 3030-3671
3030                            var r = this.getStride();
3031                            Wr(i, 0, i.length, r, t, n, i), this.changed()
3032                        }
3033                    }, n.prototype.scale = function (t, n, i) {
3034                        var r = n;
3035                        void 0 === r && (r = t);
3036                        var e = i;
3037                        e || (e = Xn(this.getExtent()));
3038                        var o = this.getFlatCoordinates();
3039                        if (o) {
3040                            var s = this.getStride();
3041                            Vr(o, 0, o.length, s, t, r, e, o), this.changed()
3042                        }
3043                    }, n.prototype.translate = function (t, n) {
3044                        var i = this.getFlatCoordinates();
3045                        if (i) {
3046                            var r = this.getStride();
3047                            Xr(i, 0, i.length, r, t, n, i), this.changed()
3048                        }
3049                    }, n
3050                }(Kr);
3051
3052                function te(t, n, i, r, e, o, s) {
3053                    var a, u = t[n], c = t[n + 1], h = t[i] - u, f = t[i + 1] - c;
3054                    if (0 === h && 0 === f) a = n; else {
3055                        var l = ((e - u) * h + (o - c) * f) / (h * h + f * f);
3056                        if (l > 1) a = i; else {
3057                            if (l > 0) {
3058                                for (var v = 0; v < r; ++v) s[v] = mi(t[n + v], t[i + v], l);
3059                                return void (s.length = r)
3060                            }
3061                            a = n
3062                        }
3063                    }
3064                    for (v = 0; v < r; ++v) s[v] = t[a + v];
3065                    s.length = r
3066                }
3067
3068                function ne(t, n, i, r, e) {
3069                    var o = t[n], s = t[n + 1];
3070                    for (n += r; n < i; n += r) {
3071                        var a = t[n], u = t[n + 1], c = li(o, s, a, u);
3072                        c > e && (e = c), o = a, s = u
3073                    }
3074                    return e
3075                }
3076
3077                function ie(t, n, i, r, e) {
3078                    for (var o = 0, s = i.length; o < s; ++o) {
3079                        var a = i[o];
3080                        e = ne(t, n, a, r, e), n = a
3081                    }
3082                    return e
3083                }
3084
3085                function re(t, n, i, r, e) {
3086                    for (var o = 0, s = i.length; o < s; ++o) {
3087                        var a = i[o];
3088                        e = ie(t, n, a, r, e), n = a[a.length - 1]
3089                    }
3090                    return e
3091                }
3092
3093                function ee(t, n, i, r, e, o, s, a, u, c, h) {
3094                    if (n == i) return c;
3095                    var f, l;
3096                    if (0 === e) {
3097                        if ((l = li(s, a, t[n], t[n + 1])) < c) {
3098                            for (f = 0; f < r; ++f) u[f] = t[n + f];
3099                            return u.length = r, l
3100                        }
3101                        return c
3102                    }
3103                    for (var v = h || [NaN, NaN], d = n + r; d < i;) if (te(t, d - r, d, r, s, a, v), (l = li(s, a, v[0], v[1])) < c) {
3104                        for (c = l, f = 0; f < r; ++f) u[f] = v[f];
3105                        u.length = r, d += r
3106                    } else d += r * Math.max((Math.sqrt(l) - Math.sqrt(c)) / e | 0, 1);
3107                    if (o && (te(t, i - r, n, r, s, a, v), (l = li(s, a, v[0], v[1])) < c)) {
3108                        for (c = l, f = 0; f < r; ++f) u[f] = v[f];
3109                        u.length = r
3110                    }
3111                    return c
3112                }
3113
3114                function oe(t, n, i, r, e, o, s, a, u, c, h) {
3115                    for (var f = h || [NaN, NaN], l = 0, v = i.length; l < v; ++l) {
3116                        var d = i[l];
3117                        c = ee(t, n, d, r, e, o, s, a, u, c, f), n = d
3118                    }
3119                    return c
3120                }
3121
3122                function se(t, n, i, r, e, o, s, a, u, c, h) {
3123                    for (var f = h || [NaN, NaN], l = 0, v = i.length; l < v; ++l) {
3124                        var d = i[l];
3125                        c = oe(t, n, d, r, e, o, s, a, u, c, f), n = d[d.length - 1]
3126                    }
3127                    return c
3128                }
3129
3130                function ae(t, n, i, r) {
3131                    for (var e = 0, o = i.length; e < o; ++e) t[n++] = i[e];
3132                    return n
3133                }
3134
3135                function ue(t, n, i, r) {
3136                    for (var e = 0, o = i.length; e < o; ++e) for (var s = i[e], a = 0; a < r; ++a) t[n++] = s[a];
3137                    return n
3138                }
3139
3140                function ce(t, n, i, r, e) {
3141                    for (var o = e || [], s = 0, a = 0, u = i.length; a < u; ++a) {
3142                        var c = ue(t, n, i[a], r);
3143                        o[s++] = c, n = c
3144                    }
3145                    return o.length = s, o
3146                }
3147
3148                function he(t, n, i, r, e) {
3149                    for (var o = e || [], s = 0, a = 0, u = i.length; a < u; ++a) {
3150                        var c = ce(t, n, i[a], r, o[s]);
3151                        o[s++] = c, n = c[c.length - 1]
3152                    }
3153                    return o.length = s, o
3154                }
3155
3156                function fe(t, n, i, r, e, o, s) {
3157                    var a = (i - n) / r;
3158                    if (a < 3) {
3159                        for (; n < i; n += r) o[s++] = t[n], o[s++] = t[n + 1];
3160                        return s
3161                    }
3162                    var u = new Array(a);
3163                    u[0] = 1, u[a - 1] = 1;
3164                    for (var c = [n, i - r], h = 0; c.length > 0;) {
3165                        for (var f = c.pop(), l = c.pop(), v = 0, d = t[l], p = t[l + 1], y = t[f], m = t[f + 1], w = l + r; w < f; w += r) {
3166                            var b = fi(t[w], t[w + 1], d, p, y, m);
3167                            b > v && (h = w, v = b)
3168                        }
3169                        v > e && (u[(h - n) / r] = 1, l + r < h && c.push(l, h), h + r < f && c.push(h, f))
3170                    }
3171                    for (w = 0; w < a; ++w) u[w] && (o[s++] = t[n + w * r], o[s++] = t[n + w * r + 1]);
3172                    return s
3173                }
3174
3175                function le(t, n, i, r, e, o, s, a) {
3176                    for (var u = 0, c = i.length; u < c; ++u) {
3177                        var h = i[u];
3178                        s = fe(t, n, h, r, e, o, s), a.push(s), n = h
3179                    }
3180                    return s
3181                }
3182
3183                function ve(t, n, i, r, e, o, s) {
3184                    if (i <= n + r) {
3185                        for (; n < i; n += r) o[s++] = t[n], o[s++] = t[n + 1];
3186                        return s
3187                    }
3188                    var a = t[n], u = t[n + 1];
3189                    o[s++] = a, o[s++] = u;
3190                    var c = a, h = u;
3191                    for (n += r; n < i; n += r) li(a, u, c = t[n], h = t[n + 1]) > e && (o[s++] = c, o[s++] = h, a = c, u = h);
3192                    return c == a && h == u || (o[s++] = c, o[s++] = h), s
3193                }
3194
3195                function de(t, n) {
3196                    return n * Math.round(t / n)
3197                }
3198
3199                function pe(t, n, i, r, e, o, s) {
3200                    if (n == i) return s;
3201                    var a, u, c = de(t[n], e), h = de(t[n + 1], e);
3202                    n += r, o[s++] = c, o[s++] = h;
3203                    do {
3204                        if (a = de(t[n], e), u = de(t[n + 1], e), (n += r) == i) return o[s++] = a, o[s++] = u, s
3205                    } while (a == c && u == h);
3206                    for (; n < i;) {
3207                        var f = de(t[n], e), l = de(t[n + 1], e);
3208                        if (n += r, f != a || l != u) {
3209                            var v = a - c, d = u - h, p = f - c, y = l - h;
3210                            v * y == d * p && (v < 0 && p < v || v == p || v > 0 && p > v) && (d < 0 && y < d || d == y || d > 0 && y > d) ? (a = f, u = l) : (o[s++] = a, o[s++] = u, c = a, h = u, a = f, u = l)
3211                        }
3212                    }
3213                    return o[s++] = a, o[s++] = u, s
3214                }
3215
3216                function ye(t, n, i, r, e, o, s, a) {
3217                    for (var u = 0, c = i.length; u < c; ++u) {
3218                        var h = i[u];
3219                        s = pe(t, n, h, r, e, o, s), a.push(s), n = h
3220                    }
3221                    return s
3222                }
3223
3224                function me(t, n, i, r, e, o, s, a) {
3225                    for (var u = 0, c = i.length; u < c; ++u) {
3226                        var h = i[u], f = [];
3227                        s = ye(t, n, h, r, e, o, s, f), a.push(f), n = h[h.length - 1]
3228                    }
3229                    return s
3230                }
3231
3232                function we(t, n, i, r, e) {
3233                    for (var o = void 0 !== e ? e : [], s = 0, a = n; a < i; a += r) o[s++] = t.slice(a, a + r);
3234                    return o.length = s, o
3235                }
3236
3237                function be(t, n, i, r, e) {
3238                    for (var o = void 0 !== e ? e : [], s = 0, a = 0, u = i.length; a < u; ++a) {
3239                        var c = i[a];
3240                        o[s++] = we(t, n, c, r, o[s]), n = c
3241                    }
3242                    return o.length = s, o
3243                }
3244
3245                function ge(t, n, i, r, e) {
3246                    for (var o = void 0 !== e ? e : [], s = 0, a = 0, u = i.length; a < u; ++a) {
3247                        var c = i[a];
3248                        o[s++] = be(t, n, c, r, o[s]), n = c[c.length - 1]
3249                    }
3250                    return o.length = s, o
3251                }
3252
3253                function xe(t, n, i, r) {
3254                    for (var e = 0, o = t[i - r], s = t[i - r + 1]; n < i; n += r) {
3255                        var a = t[n], u = t[n + 1];
3256                        e += s * a - o * u, o = a, s = u
3257                    }
3258                    return e / 2
3259                }
3260
3261                function je(t, n, i, r) {
3262                    for (var e = 0, o = 0, s = i.length; o < s; ++o) {
3263                        var a = i[o];
3264                        e += xe(t, n, a, r), n = a
3265                    }
3266                    return e
3267                }
3268
3269                function Se(t, n, i, r) {
3270                    for (var e = 0, o = 0, s = i.length; o < s; ++o) {
3271                        var a = i[o];
3272                        e += je(t, n, a, r), n = a[a.length - 1]
3273                    }
3274                    return e
3275                }
3276
3277                var ke = function () {
3278                    var t = function (n, i) {
3279                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3280                            t.__proto__ = n
3281                        } || function (t, n) {
3282                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3283                        })(n, i)
3284                    };
3285                    return function (n, i) {
3286                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3287
3288                        function r() {
3289                            this.constructor = n
3290                        }
3291
3292                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3293                    }
3294                }(), Me = function (t) {
3295                    function n(n, i) {
3296                        var r = t.call(this) || this;
3297                        return r.wt = -1, r.bt = -1, void 0 === i || Array.isArray(n[0]) ? r.setCoordinates(n, i) : r.setFlatCoordinates(i, n), r
3298                    }
3299
3300                    return ke(n, t), n.prototype.clone = function () {
3301                        return new n(this.flatCoordinates.slice(), this.layout)
3302                    }, n.prototype.closestPointXY = function (t, n, i, r) {
3303                        return r < kn(this.getExtent(), t, n) ? r : (this.bt != this.getRevision() && (this.wt = Math.sqrt(ne(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0)), this.bt = this.getRevision()), ee(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, this.wt, !0, t, n, i, r))
3304                    }, n.prototype.getArea = function () {
3305                        return xe(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride)
3306                    }, n.prototype.getCoordinates = function () {
3307                        return we(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride)
3308                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
3309                        var i = [];
3310                        return i.length = fe(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t, i, 0), new n(i, Et)
3311                    }, n.prototype.getType = function () {
3312                        return Pt.LINEAR_RING
3313                    }, n.prototype.intersectsExtent = function (t) {
3314                        return !1
3315                    }, n.prototype.setCoordinates = function (t, n) {
3316                        this.setLayout(n, t, 1), this.flatCoordinates || (this.flatCoordinates = []), this.flatCoordinates.length = ue(this.flatCoordinates, 0, t, this.stride), this.changed()
3317                    }, n
3318                }(Qr), _e = function () {
3319                    var t = function (n, i) {
3320                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3321                            t.__proto__ = n
3322                        } || function (t, n) {
3323                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3324                        })(n, i)
3325                    };
3326                    return function (n, i) {
3327                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3328
3329                        function r() {
3330                            this.constructor = n
3331                        }
3332
3333                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3334                    }
3335                }(), Oe = function (t) {
3336                    function n(n, i) {
3337                        var r = t.call(this) || this;
3338                        return r.setCoordinates(n, i), r
3339                    }
3340
3341                    return _e(n, t), n.prototype.clone = function () {
3342                        var t = new n(this.flatCoordinates.slice(), this.layout);
3343                        return t.applyProperties(this), t
3344                    }, n.prototype.closestPointXY = function (t, n, i, r) {
3345                        var e = this.flatCoordinates, o = li(t, n, e[0], e[1]);
3346                        if (o < r) {
3347                            for (var s = this.stride, a = 0; a < s; ++a) i[a] = e[a];
3348                            return i.length = s, o
3349                        }
3350                        return r
3351                    }, n.prototype.getCoordinates = function () {
3352                        return this.flatCoordinates ? this.flatCoordinates.slice() : []
3353                    }, n.prototype.computeExtent = function (t) {
3354                        return Rn(this.flatCoordinates, t)
3355                    }, n.prototype.getType = function () {
3356                        return Pt.POINT
3357                    }, n.prototype.intersectsExtent = function (t) {
3358                        return On(t, this.flatCoordinates[0], this.flatCoordinates[1])
3359                    }, n.prototype.setCoordinates = function (t, n) {
3360                        this.setLayout(n, t, 0), this.flatCoordinates || (this.flatCoordinates = []), this.flatCoordinates.length = ae(this.flatCoordinates, 0, t, this.stride), this.changed()
3361                    }, n
3362                }(Qr);
3363
3364                function Te(t, n, i, r, e) {
3365                    return !qn(e, (function (e) {
3366                        return !Ee(t, n, i, r, e[0], e[1])
3367                    }))
3368                }
3369
3370                function Ee(t, n, i, r, e, o) {
3371                    for (var s = 0, a = t[i - r], u = t[i - r + 1]; n < i; n += r) {
3372                        var c = t[n], h = t[n + 1];
3373                        u <= o ? h > o && (c - a) * (o - u) - (e - a) * (h - u) > 0 && s++ : h <= o && (c - a) * (o - u) - (e - a) * (h - u) < 0 && s--, a = c, u = h
3374                    }
3375                    return 0 !== s
3376                }
3377
3378                function Ae(t, n, i, r, e, o) {
3379                    if (0 === i.length) return !1;
3380                    if (!Ee(t, n, i[0], r, e, o)) return !1;
3381                    for (var s = 1, a = i.length; s < a; ++s) if (Ee(t, i[s - 1], i[s], r, e, o)) return !1;
3382                    return !0
3383                }
3384
3385                function Ce(t, n, i, r, e, o) {
3386                    if (0 === i.length) return !1;
3387                    for (var s = 0, a = i.length; s < a; ++s) {
3388                        var u = i[s];
3389                        if (Ae(t, n, u, r, e, o)) return !0;
3390                        n = u[u.length - 1]
3391                    }
3392                    return !1
3393                }
3394
3395                function Re(t, n, i, r, e, o, s) {
3396                    for (var a, u, c, h, f, l, v, d = e[o + 1], y = [], m = 0, w = i.length; m < w; ++m) {
3397                        var b = i[m];
3398                        for (h = t[b - r], l = t[b - r + 1], a = n; a < b; a += r) f = t[a], v = t[a + 1], (d <= l && v <= d || l <= d && d <= v) && (c = (d - l) / (v - l) * (f - h) + h, y.push(c)), h = f, l = v
3399                    }
3400                    var g = NaN, x = -1 / 0;
3401                    for (y.sort(p), h = y[0], a = 1, u = y.length; a < u; ++a) {
3402                        f = y[a];
3403                        var j = Math.abs(f - h);
3404                        j > x && Ae(t, n, i, r, c = (h + f) / 2, d) && (g = c, x = j), h = f
3405                    }
3406                    return isNaN(g) && (g = e[o]), s ? (s.push(g, d, x), s) : [g, d, x]
3407                }
3408
3409                function Pe(t, n, i, r, e) {
3410                    for (var o = [], s = 0, a = i.length; s < a; ++s) {
3411                        var u = i[s];
3412                        o = Re(t, n, u, r, e, 2 * s, o), n = u[u.length - 1]
3413                    }
3414                    return o
3415                }
3416
3417                function Ie(t, n, i, r, e) {
3418                    var o;
3419                    for (n += r; n < i; n += r) if (o = e(t.slice(n - r, n), t.slice(n, n + r))) return o;
3420                    return !1
3421                }
3422
3423                function Ne(t, n, i, r, e) {
3424                    var o = Gn([1 / 0, 1 / 0, -1 / 0, -1 / 0], t, n, i, r);
3425                    return !!ti(e, o) && (!!_n(e, o) || (o[0] >= e[0] && o[2] <= e[2] || (o[1] >= e[1] && o[3] <= e[3] || Ie(t, n, i, r, (function (t, n) {
3426                        return ei(e, t, n)
3427                    })))))
3428                }
3429
3430                function ze(t, n, i, r, e) {
3431                    for (var o = 0, s = i.length; o < s; ++o) {
3432                        if (Ne(t, n, i[o], r, e)) return !0;
3433                        n = i[o]
3434                    }
3435                    return !1
3436                }
3437
3438                function Fe(t, n, i, r, e) {
3439                    return !!Ne(t, n, i, r, e) || (!!Ee(t, n, i, r, e[0], e[1]) || (!!Ee(t, n, i, r, e[0], e[3]) || (!!Ee(t, n, i, r, e[2], e[1]) || !!Ee(t, n, i, r, e[2], e[3]))))
3440                }
3441
3442                function Le(t, n, i, r, e) {
3443                    if (!Fe(t, n, i[0], r, e)) return !1;
3444                    if (1 === i.length) return !0;
3445                    for (var o = 1, s = i.length; o < s; ++o) if (Te(t, i[o - 1], i[o], r, e) && !Ne(t, i[o - 1], i[o], r, e)) return !1;
3446                    return !0
3447                }
3448
3449                function Ge(t, n, i, r, e) {
3450                    for (var o = 0, s = i.length; o < s; ++o) {
3451                        var a = i[o];
3452                        if (Le(t, n, a, r, e)) return !0;
3453                        n = a[a.length - 1]
3454                    }
3455                    return !1
3456                }
3457
3458                function De(t, n, i, r) {
3459                    for (; n < i - r;) {
3460                        for (var e = 0; e < r; ++e) {
3461                            var o = t[n + e];
3462                            t[n + e] = t[i - r + e], t[i - r + e] = o
3463                        }
3464                        n += r, i -= r
3465                    }
3466                }
3467
3468                function Ue(t, n, i, r) {
3469                    for (var e = 0, o = t[i - r], s = t[i - r + 1]; n < i; n += r) {
3470                        var a = t[n], u = t[n + 1];
3471                        e += (a - o) * (u + s), o = a, s = u
3472                    }
3473                    return 0 === e ? void 0 : e > 0
3474                }
3475
3476                function qe(t, n, i, r, e) {
3477                    for (var o = void 0 !== e && e, s = 0, a = i.length; s < a; ++s) {
3478                        var u = i[s], c = Ue(t, n, u, r);
3479                        if (0 === s) {
3480                            if (o && c || !o && !c) return !1
3481                        } else if (o && !c || !o && c) return !1;
3482                        n = u
3483                    }
3484                    return !0
3485                }
3486
3487                function Be(t, n, i, r, e) {
3488                    for (var o = 0, s = i.length; o < s; ++o) {
3489                        var a = i[o];
3490                        if (!qe(t, n, a, r, e)) return !1;
3491                        a.length && (n = a[a.length - 1])
3492                    }
3493                    return !0
3494                }
3495
3496                function We(t, n, i, r, e) {
3497                    for (var o = void 0 !== e && e, s = 0, a = i.length; s < a; ++s) {
3498                        var u = i[s], c = Ue(t, n, u, r);
3499                        (0 === s ? o && c || !o && !c : o && !c || !o && c) && De(t, n, u, r), n = u
3500                    }
3501                    return n
3502                }
3503
3504                function Ve(t, n, i, r, e) {
3505                    for (var o = 0, s = i.length; o < s; ++o) n = We(t, n, i[o], r, e);
3506                    return n
3507                }
3508
3509                function Xe(t, n) {
3510                    for (var i = [], r = 0, e = 0, o = 0, s = n.length; o < s; ++o) {
3511                        var a = n[o];
3512                        if (Ue(t, r, a, 2)) {
3513                            if (0 === i.length) continue;
3514                            i[i.length - 1].push(n[e])
3515                        } else i.push(n.slice(e, o + 1));
3516                        e = o + 1, r = a
3517                    }
3518                    return i
3519                }
3520
3521                var He = function () {
3522                    var t = function (n, i) {
3523                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3524                            t.__proto__ = n
3525                        } || function (t, n) {
3526                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3527                        })(n, i)
3528                    };
3529                    return function (n, i) {
3530                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3531
3532                        function r() {
3533                            this.constructor = n
3534                        }
3535
3536                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3537                    }
3538                }(), Je = function (t) {
3539                    function n(n, i, r) {
3540                        var e = t.call(this) || this;
3541                        return e.gt = [], e.xt = -1, e.jt = null, e.wt = -1, e.bt = -1, e.St = -1, e.kt = null, void 0 !== i && r ? (e.setFlatCoordinates(i, n), e.gt = r) : e.setCoordinates(n, i), e
3542                    }
3543
3544                    return He(n, t), n.prototype.appendLinearRing = function (t) {
3545                        this.flatCoordinates ? b(this.flatCoordinates, t.getFlatCoordinates()) : this.flatCoordinates = t.getFlatCoordinates().slice(), this.gt.push(this.flatCoordinates.length), this.changed()
3546                    }, n.prototype.clone = function () {
3547                        var t = new n(this.flatCoordinates.slice(), this.layout, this.gt.slice());
3548                        return t.applyProperties(this), t
3549                    }, n.prototype.closestPointXY = function (t, n, i, r) {
3550                        return r < kn(this.getExtent(), t, n) ? r : (this.bt != this.getRevision() && (this.wt = Math.sqrt(ie(this.flatCoordinates, 0, this.gt, this.stride, 0)), this.bt = this.getRevision()), oe(this.flatCoordinates, 0, this.gt, this.stride, this.wt, !0, t, n, i, r))
3551                    }, n.prototype.containsXY = function (t, n) {
3552                        return Ae(this.getOrientedFlatCoordinates(), 0, this.gt, this.stride, t, n)
3553                    }, n.prototype.getArea = function () {
3554                        return je(this.getOrientedFlatCoordinates(), 0, this.gt, this.stride)
3555                    }, n.prototype.getCoordinates = function (t) {
3556                        var n;
3557                        return void 0 !== t ? We(n = this.getOrientedFlatCoordinates().slice(), 0, this.gt, this.stride, t) : n = this.flatCoordinates, be(n, 0, this.gt, this.stride)
3558                    }, n.prototype.getEnds = function () {
3559                        return this.gt
3560                    }, n.prototype.getFlatInteriorPoint = function () {
3561                        if (this.xt != this.getRevision()) {
3562                            var t = Xn(this.getExtent());
3563                            this.jt = Re(this.getOrientedFlatCoordinates(), 0, this.gt, this.stride, t, 0), this.xt = this.getRevision()
3564                        }
3565                        return this.jt
3566                    }, n.prototype.getInteriorPoint = function () {
3567                        return new Oe(this.getFlatInteriorPoint(), Ct)
3568                    }, n.prototype.getLinearRingCount = function () {
3569                        return this.gt.length
3570                    }, n.prototype.getLinearRing = function (t) {
3571                        return t < 0 || this.gt.length <= t ? null : new Me(this.flatCoordinates.slice(0 === t ? 0 : this.gt[t - 1], this.gt[t]), this.layout)
3572                    }, n.prototype.getLinearRings = function () {
3573                        for (var t = this.layout, n = this.flatCoordinates, i = this.gt, r = [], e = 0, o = 0, s = i.length; o < s; ++o) {
3574                            var a = i[o], u = new Me(n.slice(e, a), t);
3575                            r.push(u), e = a
3576                        }
3577                        return r
3578                    }, n.prototype.getOrientedFlatCoordinates = function () {
3579                        if (this.St != this.getRevision()) {
3580                            var t = this.flatCoordinates;
3581                            qe(t, 0, this.gt, this.stride) ? this.kt = t : (this.kt = t.slice(), this.kt.length = We(this.kt, 0, this.gt, this.stride)), this.St = this.getRevision()
3582                        }
3583                        return this.kt
3584                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
3585                        var i = [], r = [];
3586                        return i.length = ye(this.flatCoordinates, 0, this.gt, this.stride, Math.sqrt(t), i, 0, r), new n(i, Et, r)
3587                    }, n.prototype.getType = function () {
3588                        return Pt.POLYGON
3589                    }, n.prototype.intersectsExtent = function (t) {
3590                        return Le(this.getOrientedFlatCoordinates(), 0, this.gt, this.stride, t)
3591                    }, n.prototype.setCoordinates = function (t, n) {
3592                        this.setLayout(n, t, 2), this.flatCoordinates || (this.flatCoordinates = []);
3593                        var i = ce(this.flatCoordinates, 0, t, this.stride, this.gt);
3594                        this.flatCoordinates.length = 0 === i.length ? 0 : i[i.length - 1], this.changed()
3595                    }, n
3596                }(Qr), Ke = Je;
3597
3598                function Ye(t, n, i, r) {
3599                    for (var e = i || 32, o = [], s = 0; s < e; ++s) b(o, lr(t, n, 2 * Math.PI * s / e, r));
3600                    return o.push(o[0], o[1]), new Je(o, Et, [o.length])
3601                }
3602
3603                function Ze(t) {
3604                    var n = t[0], i = t[1], r = t[2], e = t[3], o = [n, i, n, e, r, e, r, i, n, i];
3605                    return new Je(o, Et, [o.length])
3606                }
3607
3608                function $e(t, n, i) {
3609                    for (var r = n || 32, e = t.getStride(), o = t.getLayout(), s = t.getCenter(), a = e * (r + 1), u = new Array(a), c = 0; c < a; c += e) {
3610                        u[c] = 0, u[c + 1] = 0;
3611                        for (var h = 2; h < e; h++) u[c + h] = s[h]
3612                    }
3613                    var f = [u.length], l = new Je(u, o, f);
3614                    return Qe(l, s, t.getRadius(), i), l
3615                }
3616
3617                function Qe(t, n, i, r) {
3618                    for (var e = t.getFlatCoordinates(), o = t.getStride(), s = e.length / o - 1, a = r || 0, u = 0; u <= s; ++u) {
3619                        var c = u * o, h = a + 2 * yi(u, s) * Math.PI / s;
3620                        e[c] = n[0] + i * Math.cos(h), e[c + 1] = n[1] + i * Math.sin(h)
3621                    }
3622                    t.changed()
3623                }
3624
3625                var to = function () {
3626                        var t = function (n, i) {
3627                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3628                                t.__proto__ = n
3629                            } || function (t, n) {
3630                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3631                            })(n, i)
3632                        };
3633                        return function (n, i) {
3634                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3635
3636                            function r() {
3637                                this.constructor = n
3638                            }
3639
3640                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3641                        }
3642                    }(), no = "accuracy", io = "accuracyGeometry", ro = "altitude", eo = "altitudeAccuracy", oo = "heading",
3643                    so = "position", ao = "projection", uo = "speed", co = "tracking", ho = "trackingOptions",
3644                    fo = function (t) {
3645                        function n(n) {
3646                            var i = t.call(this, z) || this;
3647                            return i.code = n.code, i.message = n.message, i
3648                        }
3649
3650                        return to(n, t), n
3651                    }(f), lo = function (t) {
3652                        function n(n) {
3653                            var i = t.call(this) || this;
3654                            i.on, i.once, i.un;
3655                            var r = n || {};
3656                            return i.Mt = null, i._t = yr, i.Ot = void 0, i.addChangeListener(ao, i.Tt), i.addChangeListener(co, i.Et), void 0 !== r.projection && i.setProjection(r.projection), void 0 !== r.trackingOptions && i.setTrackingOptions(r.trackingOptions), i.setTracking(void 0 !== r.tracking && r.tracking), i
3657                        }
3658
3659                        return to(n, t), n.prototype.disposeInternal = function () {
3660                            this.setTracking(!1), t.prototype.disposeInternal.call(this)
3661                        }, n.prototype.Tt = function () {
3662                            var t = this.getProjection();
3663                            t && (this._t = Tr(br("EPSG:4326"), t), this.Mt && this.set(so, this._t(this.Mt)))
3664                        }, n.prototype.Et = function () {
3665                            if ("geolocation" in navigator) {
3666                                var t = this.getTracking();
3667                                t && void 0 === this.Ot ? this.Ot = navigator.geolocation.watchPosition(this.At.bind(this), this.Ct.bind(this), this.getTrackingOptions()) : t || void 0 === this.Ot || (navigator.geolocation.clearWatch(this.Ot), this.Ot = void 0)
3668                            }
3669                        }, n.prototype.At = function (t) {
3670                            var n = t.coords;
3671                            this.set(no, n.accuracy), this.set(ro, null === n.altitu
3671de ? void 0 : n.altitude), this.set(eo, null === n.altitudeAccuracy ? void 0 : n.altitudeAccuracy), this.set(oo, null === n.heading ? void 0 : pi(n.heading)), this.Mt ? (this.Mt[0] = n.longitude, this.Mt[1] = n.latitude) : this.Mt = [n.longitude, n.latitude];
3672                            var i = this._t(this.Mt);
3673                            this.set(so, i), this.set(uo, null === n.speed ? void 0 : n.speed);
3674                            var r = Ye(this.Mt, n.accuracy);
3675                            r.applyTransform(this._t), this.set(io, r), this.changed()
3676                        }, n.prototype.Ct = function (t) {
3677                            this.dispatchEvent(new fo(t))
3678                        }, n.prototype.getAccuracy = function () {
3679                            return this.get(no)
3680                        }, n.prototype.getAccuracyGeometry = function () {
3681                            return this.get(io) || null
3682                        }, n.prototype.getAltitude = function () {
3683                            return this.get(ro)
3684                        }, n.prototype.getAltitudeAccuracy = function () {
3685                            return this.get(eo)
3686                        }, n.prototype.getHeading = function () {
3687                            return this.get(oo)
3688                        }, n.prototype.getPosition = function () {
3689                            return this.get(so)
3690                        }, n.prototype.getProjection = function () {
3691                            return this.get(ao)
3692                        }, n.prototype.getSpeed = function () {
3693                            return this.get(uo)
3694                        }, n.prototype.getTracking = function () {
3695                            return this.get(co)
3696                        }, n.prototype.getTrackingOptions = function () {
3697                            return this.get(ho)
3698                        }, n.prototype.setProjection = function (t) {
3699                            this.set(ao, br(t))
3700                        }, n.prototype.setTracking = function (t) {
3701                            this.set(co, t)
3702                        }, n.prototype.setTrackingOptions = function (t) {
3703                            this.set(ho, t)
3704                        }, n
3705                    }(ot), vo = function () {
3706                        var t = function (n, i) {
3707                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3708                                t.__proto__ = n
3709                            } || function (t, n) {
3710                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3711                            })(n, i)
3712                        };
3713                        return function (n, i) {
3714                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3715
3716                            function r() {
3717                                this.constructor = n
3718                            }
3719
3720                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3721                        }
3722                    }(), po = function (t) {
3723                        function n(n, i, r, e) {
3724                            var o = t.call(this) || this;
3725                            return o.extent = n, o.Rt = r, o.resolution = i, o.state = e, o
3726                        }
3727
3728                        return vo(n, t), n.prototype.changed = function () {
3729                            this.dispatchEvent(N)
3730                        }, n.prototype.getExtent = function () {
3731                            return this.extent
3732                        }, n.prototype.getImage = function () {
3733                            return r()
3734                        }, n.prototype.getPixelRatio = function () {
3735                            return this.Rt
3736                        }, n.prototype.getResolution = function () {
3737                            return this.resolution
3738                        }, n.prototype.getState = function () {
3739                            return this.state
3740                        }, n.prototype.load = function () {
3741                            r()
3742                        }, n
3743                    }(I), yo = 0, mo = 1, wo = 2, bo = 3, go = 4, xo = function () {
3744                        var t = function (n, i) {
3745                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3746                                t.__proto__ = n
3747                            } || function (t, n) {
3748                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3749                            })(n, i)
3750                        };
3751                        return function (n, i) {
3752                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3753
3754                            function r() {
3755                                this.constructor = n
3756                            }
3757
3758                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3759                        }
3760                    }();
3761
3762                function jo(t, n, i) {
3763                    var r = t, e = !0, o = !1, s = !1, a = [Z(r, X, (function () {
3764                        s = !0, o || n()
3765                    }))];
3766                    return r.src && Ht ? (o = !0, r.decode().then((function () {
3767                        e && n()
3768                    })).catch((function (t) {
3769                        e && (s ? n() : i())
3770                    }))) : a.push(Z(r, z, i)), function () {
3771                        e = !1, a.forEach($)
3772                    }
3773                }
3774
3775                var So = function (t) {
3776                    function n(n, i, r, e, o, s) {
3777                        var a = t.call(this, n, i, r, yo) || this;
3778                        return a.Pt = e, a.Nt = new Image, null !== o && (a.Nt.crossOrigin = o), a.zt = null, a.state = yo, a.Ft = s, a
3779                    }
3780
3781                    return xo(n, t), n.prototype.getImage = function () {
3782                        return this.Nt
3783                    }, n.prototype.Lt = function () {
3784                        this.state = bo, this.Gt(), this.changed()
3785                    }, n.prototype.Dt = function () {
3786                        void 0 === this.resolution && (this.resolution = Kn(this.extent) / this.Nt.height), this.state = wo, this.Gt(), this.changed()
3787                    }, n.prototype.load = function () {
3788                        this.state != yo && this.state != bo || (this.state = mo, this.changed(), this.Ft(this, this.Pt), this.zt = jo(this.Nt, this.Dt.bind(this), this.Lt.bind(this)))
3789                    }, n.prototype.setImage = function (t) {
3790                        this.Nt = t, this.resolution = Kn(this.extent) / this.Nt.height
3791                    }, n.prototype.Gt = function () {
3792                        this.zt && (this.zt(), this.zt = null)
3793                    }, n
3794                }(po), ko = function () {
3795                    var t = function (n, i) {
3796                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3797                            t.__proto__ = n
3798                        } || function (t, n) {
3799                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3800                        })(n, i)
3801                    };
3802                    return function (n, i) {
3803                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3804
3805                        function r() {
3806                            this.constructor = n
3807                        }
3808
3809                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3810                    }
3811                }(), Mo = function (t) {
3812                    function n(n, i, r, e, o) {
3813                        var s = this, a = void 0 !== o ? yo : wo;
3814                        return (s = t.call(this, n, i, r, a) || this).q = void 0 !== o ? o : null, s.Ut = e, s.W = null, s
3815                    }
3816
3817                    return ko(n, t), n.prototype.getError = function () {
3818                        return this.W
3819                    }, n.prototype.qt = function (t) {
3820                        t ? (this.W = t, this.state = bo) : this.state = wo, this.changed()
3821                    }, n.prototype.load = function () {
3822                        this.state == yo && (this.state = mo, this.changed(), this.q(this.qt.bind(this)))
3823                    }, n.prototype.getImage = function () {
3824                        return this.Ut
3825                    }, n
3826                }(po);
3827
3828                function _o(t, n, i, r) {
3829                    var e;
3830                    return e = i && i.length ? i.shift() : Xt ? new OffscreenCanvas(t || 300, n || 300) : document.createElement("canvas"), t && (e.width = t), n && (e.height = n), e.getContext("2d", r)
3831                }
3832
3833                function Oo(t) {
3834                    var n = t.offsetWidth, i = getComputedStyle(t);
3835                    return n += parseInt(i.marginLeft, 10) + parseInt(i.marginRight, 10)
3836                }
3837
3838                function To(t) {
3839                    var n = t.offsetHeight, i = getComputedStyle(t);
3840                    return n += parseInt(i.marginTop, 10) + parseInt(i.marginBottom, 10)
3841                }
3842
3843                function Eo(t, n) {
3844                    var i = n.parentNode;
3845                    i && i.replaceChild(t, n)
3846                }
3847
3848                function Ao(t) {
3849                    return t && t.parentNode ? t.parentNode.removeChild(t) : null
3850                }
3851
3852                function Co(t) {
3853                    for (; t.lastChild;) t.removeChild(t.lastChild)
3854                }
3855
3856                function Ro(t, n) {
3857                    for (var i = t.childNodes, r = 0; ; ++r) {
3858                        var e = i[r], o = n[r];
3859                        if (!e && !o) break;
3860                        e !== o && (e ? o ? t.insertBefore(o, e) : (t.removeChild(e), --r) : t.appendChild(o))
3861                    }
3862                }
3863
3864                var Po = function () {
3865                    var t = function (n, i) {
3866                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
3867                            t.__proto__ = n
3868                        } || function (t, n) {
3869                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
3870                        })(n, i)
3871                    };
3872                    return function (n, i) {
3873                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
3874
3875                        function r() {
3876                            this.constructor = n
3877                        }
3878
3879                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
3880                    }
3881                }();
3882                var Io = function (t) {
3883                    function n(n, i, r, e, o, s) {
3884                        var a = t.call(this, n, i, s) || this;
3885                        return a.Bt = e, a.Pt = r, a.key = r, a.Nt = new Image, null !== e && (a.Nt.crossOrigin = e), a.zt = null, a.Wt = o, a
3886                    }
3887
3888                    return Po(n, t), n.prototype.getImage = function () {
3889                        return this.Nt
3890                    }, n.prototype.setImage = function (t) {
3891                        this.Nt = t, this.state = dt, this.Gt(), this.changed()
3892                    }, n.prototype.Lt = function () {
3893                        var t;
3894                        this.state = pt, this.Gt(), this.Nt = ((t = _o(1, 1)).fillStyle = "rgba(0,0,0,0)", t.fillRect(0, 0, 1, 1), t.canvas), this.changed()
3895                    }, n.prototype.Dt = function () {
3896                        var t = this.Nt;
3897                        t.naturalWidth && t.naturalHeight ? this.state = dt : this.state = yt, this.Gt(), this.changed()
3898                    }, n.prototype.load = function () {
3899                        this.state == pt && (this.state = lt, this.Nt = new Image, null !== this.Bt && (this.Nt.crossOrigin = this.Bt)), this.state == lt && (this.state = vt, this.changed(), this.Wt(this, this.Pt), this.zt = jo(this.Nt, this.Dt.bind(this), this.Lt.bind(this)))
3900                    }, n.prototype.Gt = function () {
3901                        this.zt && (this.zt(), this.zt = null)
3902                    }, n
3903                }(jt), No = function () {
3904                    function t(t, n, i) {
3905                        this.Vt = t, this.Xt = n, this.Ht = i, this.Jt = [], this.Kt = 0, this.Yt = 0
3906                    }
3907
3908                    return t.prototype.begin = function () {
3909                        this.Jt.length = 0, this.Kt = 0, this.Yt = 0
3910                    }, t.prototype.update = function (t, n) {
3911                        this.Jt.push(t, n, Date.now())
3912                    }, t.prototype.end = function () {
3913                        if (this.Jt.length < 6) return !1;
3914                        var t = Date.now() - this.Ht, n = this.Jt.length - 3;
3915                        if (this.Jt[n + 2] < t) return !1;
3916                        for (var i = n - 3; i > 0 && this.Jt[i + 2] > t;) i -= 3;
3917                        var r = this.Jt[n + 2] - this.Jt[i + 2];
3918                        if (r < 1e3 / 60) return !1;
3919                        var e = this.Jt[n] - this.Jt[i], o = this.Jt[n + 1] - this.Jt[i + 1];
3920                        return this.Kt = Math.atan2(o, e), this.Yt = Math.sqrt(e * e + o * o) / r, this.Yt > this.Xt
3921                    }, t.prototype.getDistance = function () {
3922                        return (this.Xt - this.Yt) / this.Vt
3923                    }, t.prototype.getAngle = function () {
3924                        return this.Kt
3925                    }, t
3926                }(), zo = /^#([a-f0-9]{3}|[a-f0-9]{4}(?:[a-f0-9]{2}){0,2})$/i, Fo = /^([a-z]*)$|^hsla?\(.*\)$/i;
3927
3928                function Lo(t) {
3929                    return "string" == typeof t ? t : Bo(t)
3930                }
3931
3932                function Go(t) {
3933                    var n = document.createElement("div");
3934                    if (n.style.color = t, "" !== n.style.color) {
3935                        document.body.appendChild(n);
3936                        var i = getComputedStyle(n).color;
3937                        return document.body.removeChild(n), i
3938                    }
3939                    return ""
3940                }
3941
3942                var Do = function () {
3943                    var t = {}, n = 0;
3944                    return function (i) {
3945                        var r;
3946                        if (t.hasOwnProperty(i)) r = t[i]; else {
3947                            if (n >= 1024) {
3948                                var e = 0;
3949                                for (var o in t) 0 == (3 & e++) && (delete t[o], --n)
3950                            }
3951                            r = function (t) {
3952                                var n, i, r, e, o;
3953                                Fo.exec(t) && (t = Go(t));
3954                                if (zo.exec(t)) {
3955                                    var s = t.length - 1, a = void 0;
3956                                    a = s <= 4 ? 1 : 2;
3957                                    var u = 4 === s || 8 === s;
3958                                    n = parseInt(t.substr(1 + 0 * a, a), 16), i = parseInt(t.substr(1 + 1 * a, a), 16), r = parseInt(t.substr(1 + 2 * a, a), 16), e = u ? parseInt(t.substr(1 + 3 * a, a), 16) : 255, 1 == a && (n = (n << 4) + n, i = (i << 4) + i, r = (r << 4) + r, u && (e = (e << 4) + e)), o = [n, i, r, e / 255]
3959                                } else 0 == t.indexOf("rgba(") ? qo(o = t.slice(5, -1).split(",").map(Number)) : 0 == t.indexOf("rgb(") ? ((o = t.slice(4, -1).split(",").map(Number)).push(1), qo(o)) : Mt(!1, 14);
3960                                return o
3961                            }(i), t[i] = r, ++n
3962                        }
3963                        return r
3964                    }
3965                }();
3966
3967                function Uo(t) {
3968                    return Array.isArray(t) ? t : Do(t)
3969                }
3970
3971                function qo(t) {
3972                    return t[0] = ui(t[0] + .5 | 0, 0, 255), t[1] = ui(t[1] + .5 | 0, 0, 255), t[2] = ui(t[2] + .5 | 0, 0, 255), t[3] = ui(t[3], 0, 1), t
3973                }
3974
3975                function Bo(t) {
3976                    var n = t[0];
3977                    n != (0 | n) && (n = n + .5 | 0);
3978                    var i = t[1];
3979                    i != (0 | i) && (i = i + .5 | 0);
3980                    var r = t[2];
3981                    return r != (0 | r) && (r = r + .5 | 0), "rgba(" + n + "," + i + "," + r + "," + (void 0 === t[3] ? 1 : Math.round(100 * t[3]) / 100) + ")"
3982                }
3983
3984                function Wo(t) {
3985                    return Fo.test(t) && (t = Go(t)), zo.test(t) || 0 === t.indexOf("rgba(") || 0 === t.indexOf("rgb(")
3986                }
3987
3988                var Vo = function () {
3989                    function t() {
3990                        this.Zt = {}, this.$t = 0, this.Qt = 32
3991                    }
3992
3993                    return t.prototype.clear = function () {
3994                        this.Zt = {}, this.$t = 0
3995                    }, t.prototype.canExpireCache = function () {
3996                        return this.$t > this.Qt
3997                    }, t.prototype.expire = function () {
3998                        if (this.canExpireCache()) {
3999                            var t = 0;
4000                            for (var n in this.Zt) {
4001                                var i = this.Zt[n];
4002                                0 != (3 & t++) || i.hasListener() || (delete this.Zt[n], --this.$t)
4003                            }
4004                        }
4005                    }, t.prototype.get = function (t, n, i) {
4006                        var r = Xo(t, n, i);
4007                        return r in this.Zt ? this.Zt[r] : null
4008                    }, t.prototype.set = function (t, n, i, r) {
4009                        var e = Xo(t, n, i);
4010                        this.Zt[e] = r, ++this.$t
4011                    }, t.prototype.setSize = function (t) {
4012                        this.Qt = t, this.expire()
4013                    }, t
4014                }();
4015
4016                function Xo(t, n, i) {
4017                    return n + ":" + t + ":" + (i ? Lo(i) : "null")
4018                }
4019
4020                var Ho = Vo, Jo = new Vo, Ko = "opacity", Yo = "visible", Zo = "extent", $o = "zIndex",
4021                    Qo = "maxResolution", ts = "minResolution", ns = "maxZoom", is = "minZoom", rs = "source",
4022                    es = "map";
4023
4024                function os(t) {
4025                    return (os = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
4026                        return typeof t
4027                    } : function (t) {
4028                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
4029                    })(t)
4030                }
4031
4032                var ss = function () {
4033                        var t = function (n, i) {
4034                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4035                                t.__proto__ = n
4036                            } || function (t, n) {
4037                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4038                            })(n, i)
4039                        };
4040                        return function (n, i) {
4041                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4042
4043                            function r() {
4044                                this.constructor = n
4045                            }
4046
4047                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4048                        }
4049                    }(), as = function (t) {
4050                        function n(n) {
4051                            var i = t.call(this) || this;
4052                            i.on, i.once, i.un, i.tn = n.background;
4053                            var r = E({}, n);
4054                            return "object" === os(n.properties) && (delete r.properties, E(r, n.properties)), r[Ko] = void 0 !== n.opacity ? n.opacity : 1, Mt("number" == typeof r[Ko], 64), r[Yo] = void 0 === n.visible || n.visible, r[$o] = n.zIndex, r[Qo] = void 0 !== n.maxResolution ? n.maxResolution : 1 / 0, r[ts] = void 0 !== n.minResolution ? n.minResolution : 0, r[is] = void 0 !== n.minZoom ? n.minZoom : -1 / 0, r[ns] = void 0 !== n.maxZoom ? n.maxZoom : 1 / 0, i.nn = void 0 !== r.className ? r.className : "ol-layer", delete r.className, i.setProperties(r), i.r
4054n = null, i
4055                        }
4056
4057                        return ss(n, t), n.prototype.getBackground = function () {
4058                            return this.tn
4059                        }, n.prototype.getClassName = function () {
4060                            return this.nn
4061                        }, n.prototype.getLayerState = function (t) {
4062                            var n = this.rn || {layer: this, managed: void 0 === t || t}, i = this.getZIndex();
4063                            return n.opacity = ui(Math.round(100 * this.getOpacity()) / 100, 0, 1), n.visible = this.getVisible(), n.extent = this.getExtent(), n.zIndex = void 0 !== i || n.managed ? i : 1 / 0, n.maxResolution = this.getMaxResolution(), n.minResolution = Math.max(this.getMinResolution(), 0), n.minZoom = this.getMinZoom(), n.maxZoom = this.getMaxZoom(), this.rn = n, n
4064                        }, n.prototype.getLayersArray = function (t) {
4065                            return r()
4066                        }, n.prototype.getLayerStatesArray = function (t) {
4067                            return r()
4068                        }, n.prototype.getExtent = function () {
4069                            return this.get(Zo)
4070                        }, n.prototype.getMaxResolution = function () {
4071                            return this.get(Qo)
4072                        }, n.prototype.getMinResolution = function () {
4073                            return this.get(ts)
4074                        }, n.prototype.getMinZoom = function () {
4075                            return this.get(is)
4076                        }, n.prototype.getMaxZoom = function () {
4077                            return this.get(ns)
4078                        }, n.prototype.getOpacity = function () {
4079                            return this.get(Ko)
4080                        }, n.prototype.getSourceState = function () {
4081                            return r()
4082                        }, n.prototype.getVisible = function () {
4083                            return this.get(Yo)
4084                        }, n.prototype.getZIndex = function () {
4085                            return this.get($o)
4086                        }, n.prototype.setBackground = function (t) {
4087                            this.tn = t, this.changed()
4088                        }, n.prototype.setExtent = function (t) {
4089                            this.set(Zo, t)
4090                        }, n.prototype.setMaxResolution = function (t) {
4091                            this.set(Qo, t)
4092                        }, n.prototype.setMinResolution = function (t) {
4093                            this.set(ts, t)
4094                        }, n.prototype.setMaxZoom = function (t) {
4095                            this.set(ns, t)
4096                        }, n.prototype.setMinZoom = function (t) {
4097                            this.set(is, t)
4098                        }, n.prototype.setOpacity = function (t) {
4099                            Mt("number" == typeof t, 64), this.set(Ko, t)
4100                        }, n.prototype.setVisible = function (t) {
4101                            this.set(Yo, t)
4102                        }, n.prototype.setZIndex = function (t) {
4103                            this.set($o, t)
4104                        }, n.prototype.disposeInternal = function () {
4105                            this.rn && (this.rn.layer = null, this.rn = null), t.prototype.disposeInternal.call(this)
4106                        }, n
4107                    }(ot), us = "prerender", cs = "postrender", hs = "precompose", fs = "postcompose",
4108                    ls = "rendercomplete", vs = "undefined", ds = "loading", ps = "ready", ys = "error",
4109                    ms = function () {
4110                        var t = function (n, i) {
4111                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4112                                t.__proto__ = n
4113                            } || function (t, n) {
4114                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4115                            })(n, i)
4116                        };
4117                        return function (n, i) {
4118                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4119
4120                            function r() {
4121                                this.constructor = n
4122                            }
4123
4124                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4125                        }
4126                    }();
4127
4128                function ws(t, n) {
4129                    if (!t.visible) return !1;
4130                    var i = n.resolution;
4131                    if (i < t.minResolution || i >= t.maxResolution) return !1;
4132                    var r = n.zoom;
4133                    return r > t.minZoom && r <= t.maxZoom
4134                }
4135
4136                var bs = function (t) {
4137                    function n(n) {
4138                        var i = this, r = E({}, n);
4139                        delete r.source, (i = t.call(this, r) || this).on, i.once, i.un, i.en = null, i.sn = null, i.an = null, i.cn = null, i.rendered = !1, n.render && (i.render = n.render), n.map && i.setMap(n.map), i.addChangeListener(rs, i.hn);
4140                        var e = n.source ? n.source : null;
4141                        return i.setSource(e), i
4142                    }
4143
4144                    return ms(n, t), n.prototype.getLayersArray = function (t) {
4145                        var n = t || [];
4146                        return n.push(this), n
4147                    }, n.prototype.getLayerStatesArray = function (t) {
4148                        var n = t || [];
4149                        return n.push(this.getLayerState()), n
4150                    }, n.prototype.getSource = function () {
4151                        return this.get(rs) || null
4152                    }, n.prototype.getRenderSource = function () {
4153                        return this.getSource()
4154                    }, n.prototype.getSourceState = function () {
4155                        var t = this.getSource();
4156                        return t ? t.getState() : vs
4157                    }, n.prototype.fn = function () {
4158                        this.changed()
4159                    }, n.prototype.hn = function () {
4160                        this.an && ($(this.an), this.an = null);
4161                        var t = this.getSource();
4162                        t && (this.an = Y(t, N, this.fn, this)), this.changed()
4163                    }, n.prototype.getFeatures = function (t) {
4164                        return this.cn ? this.cn.getFeatures(t) : new Promise((function (t) {
4165                            return t([])
4166                        }))
4167                    }, n.prototype.getData = function (t) {
4168                        return this.cn && this.rendered ? this.cn.getData(t) : null
4169                    }, n.prototype.render = function (t, n) {
4170                        var i = this.getRenderer();
4171                        if (i.prepareFrame(t)) return this.rendered = !0, i.renderFrame(t, n)
4172                    }, n.prototype.unrender = function () {
4173                        this.rendered = !1
4174                    }, n.prototype.setMapInternal = function (t) {
4175                        t || this.unrender(), this.set(es, t)
4176                    }, n.prototype.getMapInternal = function () {
4177                        return this.get(es)
4178                    }, n.prototype.setMap = function (t) {
4179                        this.en && ($(this.en), this.en = null), t || this.changed(), this.sn && ($(this.sn), this.sn = null), t && (this.en = Y(t, hs, (function (t) {
4180                            var n = t.frameState.layerStatesArray, i = this.getLayerState(!1);
4181                            Mt(!n.some((function (t) {
4182                                return t.layer === i.layer
4183                            })), 67), n.push(i)
4184                        }), this), this.sn = Y(this, N, t.render, t), this.changed())
4185                    }, n.prototype.setSource = function (t) {
4186                        this.set(rs, t)
4187                    }, n.prototype.getRenderer = function () {
4188                        return this.cn || (this.cn = this.createRenderer()), this.cn
4189                    }, n.prototype.hasRenderer = function () {
4190                        return !!this.cn
4191                    }, n.prototype.createRenderer = function () {
4192                        return null
4193                    }, n.prototype.disposeInternal = function () {
4194                        this.cn && (this.cn.dispose(), delete this.cn), this.setSource(null), t.prototype.disposeInternal.call(this)
4195                    }, n
4196                }(as), gs = function () {
4197                    var t = function (n, i) {
4198                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4199                            t.__proto__ = n
4200                        } || function (t, n) {
4201                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4202                        })(n, i)
4203                    };
4204                    return function (n, i) {
4205                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4206
4207                        function r() {
4208                            this.constructor = n
4209                        }
4210
4211                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4212                    }
4213                }();
4214
4215                function xs(t, n) {
4216                    Jo.expire()
4217                }
4218
4219                var js = function (t) {
4220                        function n(n) {
4221                            var i = t.call(this) || this;
4222                            return i.vn = n, i
4223                        }
4224
4225                        return gs(n, t), n.prototype.dispatchRenderEvent = function (t, n) {
4226                            r()
4227                        }, n.prototype.calculateMatrices2D = function (t) {
4228                            var n = t.viewState, i = t.coordinateToPixelTransform, r = t.pixelToCoordinateTransform;
4229                            an(i, t.size[0] / 2, t.size[1] / 2, 1 / n.resolution, -1 / n.resolution, -n.rotation, -n.center[0], -n.center[1]), un(r, i)
4230                        }, n.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e, o, s, a) {
4231                            var u, c = n.viewState;
4232
4233                            function h(t, n, i, r) {
4234                                return e.call(o, n, t ? i : null, r)
4235                            }
4236
4237                            var f = c.projection, l = sr(t.slice(), f), v = [[0, 0]];
4238                            if (f.canWrapX() && r) {
4239                                var d = Qn(f.getExtent());
4240                                v.push([-d, 0], [d, 0])
4241                            }
4242                            for (var p = n.layerStatesArray, y = p.length, m = [], w = [], b = 0; b < v.length; b++) for (var g = y - 1; g >= 0; --g) {
4243                                var x = p[g], j = x.layer;
4244                                if (j.hasRenderer() && ws(x, c) && s.call(a, j)
4244) {
4245                                    var S = j.getRenderer(), k = j.getSource();
4246                                    if (S && k) {
4247                                        var M = k.getWrapX() ? l : t, _ = h.bind(null, x.managed);
4248                                        w[0] = M[0] + v[b][0], w[1] = M[1] + v[b][1], u = S.forEachFeatureAtCoordinate(w, n, i, _, m)
4249                                    }
4250                                    if (u) return u
4251                                }
4252                            }
4253                            if (0 !== m.length) {
4254                                var O = 1 / m.length;
4255                                return m.forEach((function (t, n) {
4256                                    return t.distanceSq += n * O
4257                                })), m.sort((function (t, n) {
4258                                    return t.distanceSq - n.distanceSq
4259                                })), m.some((function (t) {
4260                                    return u = t.callback(t.feature, t.layer, t.geometry)
4261                                })), u
4262                            }
4263                        }, n.prototype.forEachLayerAtPixel = function (t, n, i, e, o) {
4264                            return r()
4265                        }, n.prototype.hasFeatureAtCoordinate = function (t, n, i, r, e, o) {
4266                            return void 0 !== this.forEachFeatureAtCoordinate(t, n, i, r, k, this, e, o)
4267                        }, n.prototype.getMap = function () {
4268                            return this.vn
4269                        }, n.prototype.renderFrame = function (t) {
4270                            r()
4271                        }, n.prototype.scheduleExpireIconCache = function (t) {
4272                            Jo.canExpireCache() && t.postRenderFunctions.push(xs)
4273                        }, n
4274                    }(v), Ss = function () {
4275                        var t = function (n, i) {
4276                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4277                                t.__proto__ = n
4278                            } || function (t, n) {
4279                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4280                            })(n, i)
4281                        };
4282                        return function (n, i) {
4283                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4284
4285                            function r() {
4286                                this.constructor = n
4287                            }
4288
4289                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4290                        }
4291                    }(), ks = function (t) {
4292                        function n(n, i, r, e) {
4293                            var o = t.call(this, n) || this;
4294                            return o.inversePixelTransform = i, o.frameState = r, o.context = e, o
4295                        }
4296
4297                        return Ss(n, t), n
4298                    }(f), Ms = "ol-hidden", _s = "ol-selectable", Os = "ol-unselectable", Ts = "ol-unsupported",
4299                    Es = "ol-control", As = "ol-collapsed",
4300                    Cs = new RegExp(["^\\s*(?=(?:(?:[-a-z]+\\s*){0,2}
4300(italic|oblique))?)", "(?=(?:(?:[-a-z]+\\s*){0,2}(small-caps))?)", "(?=(?:(?:[-a-z]+\\s*){0,2}(bold(?:er)?|lighter|[1-9]00 ))?)", "(?:(?:normal|\\1|\\2|\\3)\\s*){0,3}((?:xx?-)?", "(?:small|large)|medium|smaller|larger|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx]))", "(?:\\s*\\/\\s*(normal|[\\.\\d]+(?:\\%|in|[cem]m|ex|p[ctx])?))", "?\\s*([-,\\\"\\'\\sa-z]+?)\\s*$"].join(""), "i"),
4301                    Rs = ["style", "variant", "weight", "size", "lineHeight", "family"], Ps = function (t) {
4302                        var n = t.match(Cs);
4303                        if (!n) return null;
4304                        for (var i = {
4305                            lineHeight: "normal",
4306                            size: "1.2em",
4307                            style: "normal",
4308                            weight: "normal",
4309                            variant: "normal"
4310                        }, r = 0, e = Rs.length; r < e; ++r) {
4311                            var o = n[r + 1];
4312                            void 0 !== o && (i[Rs[r]] = o)
4313                        }
4314                        return i.families = i.family.split(/,\s?/), i
4315                    };
4316
4317                function Is(t) {
4318                    return 1 === t ? "" : String(Math.round(100 * t) / 100)
4319                }
4320
4321                var Ns = "10px sans-serif", zs = "#000", Fs = "round", Ls = [], Gs = "round", Ds = 10, Us = "#000",
4322                    qs = "center", Bs = "middle", Ws = [0, 0, 0, 0], Vs = new ot, Xs = new I;
4323                Xs.setSize = function () {
4324                    console.warn("labelCache is deprecated.")
4325                };
4326                var Hs, Js, Ks = null, Ys = {}, Zs = function () {
4327                    var t, n, i = "32px ", r = ["monospace", "serif"], e = r.length, o = "wmytzilWMYTZIL@#/&?$%10";
4328
4329                    function s(t, s, a) {
4330                        for (var u = !0, c = 0; c < e; ++c) {
4331                            var h = r[c];
4332                            if (n = ta(t + " " + s + " " + i + h, o), a != h) {
4333                                var f = ta(t + " " + s + " " + i + a + "," + h, o);
4334                                u = u && f != n
4335                            }
4336                        }
4337                        return !!u
4338                    }
4339
4340                    function a() {
4341                        for (var n = !0, i = Vs.getKeys(), r = 0, e = i.length; r < e; ++r) {
4342                            var o = i[r];
4343                            Vs.get(o) < 100 && (s.apply(this, o.split("\n")) ? (A(Ys), Ks = null, Hs = void 0, Vs.set(o, 100)) : (Vs.set(o, Vs.get(o) + 1, !0), n = !1))
4344                        }
4345                        n && (clearInterval(t), t = void 0)
4346                    }
4347
4348                    return function (n) {
4349                        var i = Ps(n);
4350                        if (i) for (var r = i.families, e = 0, o = r.length; e < o; ++e) {
4351                            var u = r[e], c = i.style + "\n" + i.weight + "\n" + u;
4352                            void 0 === Vs.get(c) && (Vs.set(c, 100, !0), s(i.style, i.weight, u) || (Vs.set(c, 0, !0), void 0 === t && (t = setInterval(a, 32))))
4353                        }
4354                    }
4355                }(), $s = function (t) {
4356                    var n = Ys[t];
4357                    if (null == n) {
4358                        if (Xt) {
4359                            var i = Ps(t), r = Qs(t, "Žg");
4360                            n = (isNaN(Number(i.lineHeight)) ? 1.2 : Number(i.lineHeight)) * (r.actualBoundingBoxAscent + r.actualBoundingBoxDescent)
4361                        } else Js || ((Js = document.createElement("div")).innerHTML = "M", Js.style.minHeight = "0", Js.style.maxHeight = "none", Js.style.height = "auto", Js.style.padding = "0", Js.style.border = "none", Js.style.position = "absolute", Js.style.display = "block", Js.style.left = "-99999px"), Js.style.font = t, document.body.appendChild(Js), n = Js.offsetHeight, document.body.removeChild(Js);
4362                        Ys[t] = n
4363                    }
4364                    return n
4365                };
4366
4367                function Qs(t, n) {
4368                    return Ks || (Ks = _o(1, 1)), t != Hs && (Ks.font = t, Hs = Ks.font), Ks.measureText(n)
4369                }
4370
4371                function ta(t, n) {
4372                    return Qs(t, n).width
4373                }
4374
4375                function na(t, n, i) {
4376                    if (n in i) return i[n];
4377                    var r = ta(t, n);
4378                    return i[n] = r, r
4379                }
4380
4381                function ia(t, n) {
4382                    for (var i = [], r = [], e = [], o = 0, s = 0, a = 0, u = 0, c = 0, h = n.length; c <= h; c += 2) {
4383                        var f = n[c];
4384                        if ("\n" !== f && c !== h) {
4385                            var l = n[c + 1] || t.font, v = ta(l, f);
4386                            i.push(v), s += v;
4387                            var d = $s(l);
4388                            r.push(d), u = Math.max(u, d)
4389                        } else o = Math.max(o, s), e.push(s), s = 0, a += u
4390                    }
4391                    return {width: o, height: a, widths: i, heights: r, lineWidths: e}
4392                }
4393
4394                function ra(t, n, i, r, e, o, s, a, u, c, h) {
4395                    t.save(), 1 !== i && (t.globalAlpha *= i), n && t.setTransform.apply(t, n), r.contextInstructions ? (t.translate(u, c), t.scale(h[0], h[1]), function (t, n) {
4396                        for (var i = t.contextInstructions, r = 0, e = i.length; r < e; r += 2) Array.isArray(i[r + 1]) ? n[i[r]].apply(n, i[r + 1]) : n[i[r]] = i[r + 1]
4397                    }(r, t)) : h[0] < 0 || h[1] < 0 ? (t.translate(u, c), t.scale(h[0], h[1]), t.drawImage(r, e, o, s, a, 0, 0, s, a)) : t.drawImage(r, e, o, s, a, u, c, s * h[0], a * h[1]), t.restore()
4398                }
4399
4400                var ea = function () {
4401                        var t = function (n, i) {
4402                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4403                                t.__proto__ = n
4404                            } || function (t, n) {
4405                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4406                            })(n, i)
4407                        };
4408                        return function (n, i) {
4409                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4410
4411                            function r() {
4412                                this.constructor = n
4413                            }
4414
4415                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4416                        }
4417                    }(), oa = function (t) {
4418                        function n(n) {
4419                            var i = t.call(this, n) || this;
4420                            i.dn = Y(Vs, l, n.redrawText.bind(n)), i.pn = document.createElement("div");
4421                            var r = i.pn.style;
4422                            r.position = "absolute", r.width = "100%", r.height = "100%", r.zIndex = "0", i.pn.className = "ol-unselectable ol-layers";
4423                            var e = n.getViewport();
4424                            return e.insertBefore(i.pn, e.firstChild || null), i.yn = [], i.mn = !0, i
4425                        }
4426
4427                        return ea(n, t), n.prototype.dispatchRenderEvent = function (t, n) {
4428                            var i = this.getMap();
4429                            if (i.hasListener(t)) {
4430                                var r = new ks(t, void 0, n);
4431                                i.dispatchEvent(r)
4432                            }
4433                        }, n.prototype.disposeInternal = function () {
4434                            $(this.dn), this.pn.parentNode.removeChild(this.pn), t.prototype.disposeInternal.call(this)
4435                        }, n.prototype.renderFrame = function (t) {
4436                            if (t) {
4437                                this.calculateMatrices2D(t), this.dispatchRenderEvent(hs, t);
4438                                var n = t.layerStatesArray.sort((function (t, n) {
4439                                    return t.zIndex - n.zIndex
4440                                })), i = t.viewState;
4441                                this.yn.length = 0;
4442                                for (var r = [], e = null, o = 0, s = n.length; o < s; ++o) {
4443                                    var a = n[o];
4444                                    t.layerIndex = o;
4445                                    var u = a.layer, c = u.getSourceState();
4446                                    if (!ws(a, i) || c != ps && c != vs) u.unrender(); else {
4447                                        var h = u.render(t, e);
4448                                        h && (h !== e && (this.yn.push(h), e = h), "getDeclutter" in u && r.push(u))
4449                                    }
4450                                }
4451                                for (o = r.length - 1; o >= 0; --o) r[o].renderDeclutter(t);
4452                                Ro(this.pn, this.yn), this.dispatchRenderEvent(fs, t), this.mn || (this.pn.style.display = "", this.mn = !0), this.scheduleExpireIconCache(t)
4453                            } else this.mn && (this.pn.style.display = "none", this.mn = !1)
4454                        }, n.prototype.forEachLayerAtPixel = function (t, n, i, r, e) {
4455                            for (var o = n.viewState, s = n.layerStatesArray, a = s.length - 1; a >= 0; --a) {
4456                                var u = s[a], c = u.layer;
4457                                if (c.hasRenderer() && ws(u, o) && e(c)) {
4458                                    var h = c.getRenderer().getDataAtPixel(t, n, i);
4459                                    if (h) {
4460                                        var f = r(c, h);
4461                                        if (f) return f
4462                                    }
4463                                }
4464                            }
4465                        }, n
4466                    }(js), sa = function () {
4467                        var t = function (n, i) {
4468                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4469                                t.__proto__ = n
4470                            } || function (t, n) {
4471                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4472                            })(n, i)
4473                        };
4474                        return function (n, i) {
4475                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4476
4477                            function r() {
4478                                this.constructor = n
4479                            }
4480
4481                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4482                        }
4483                    }(), aa = function (t) {
4484                        function n(n, i) {
4485                            var r = t.call(this, n) || this;
4486                            return r.layer = i, r
4487                        }
4488
4489                        return sa(n, t), n
4490                    }(f), ua = "layers", ca = function (t) {
4491                        function n(n) {
4492                            var i = this, r = n || {}, e = E({}, r);
4493                            delete e.layers;
4494                            var o = r.layers;
4495                            return (i = t.call(this, e) || this).on, i.once, i.un, i.wn = [], i.bn = {}, i.addChangeListener(ua, i.gn), o ? Array.isArray(o) ? o = new ft(o.slice(), {unique: !0}) : Mt("function" == typeof o.getArray, 43) : o = new ft(void 0, {unique: !0}), i.setLayers(o), i
4496                        }
4497
4498                        return sa(n, t), n.prototype.xn = function () {
4499                            this.changed()
4500                        }, n.prototype.gn = function () {
4501                            this.wn.forEach($), this.wn.length = 0;
4502                            var t = this.getLayers();
4503                            for (var n in this.wn.push(Y(t, st, this.jn, this), Y(t, at, this.Sn, this)), this.bn) this.bn[n].forEac
4503h($);
4504                            A(this.bn);
4505                            for (var i = t.getArray(), r = 0, e = i.length; r < e; r++) {
4506                                var o = i[r];
4507                                this.kn(o), this.dispatchEvent(new aa("addlayer", o))
4508                            }
4509                            this.changed()
4510                        }, n.prototype.kn = function (t) {
4511                            var i = [Y(t, l, this.xn, this), Y(t, N, this.xn, this)];
4512                            t instanceof n && i.push(Y(t, "addlayer", this.Mn, this), Y(t, "removelayer", this._n, this)), this.bn[o(t)] = i
4513                        }, n.prototype.Mn = function (t) {
4514                            this.dispatchEvent(new aa("addlayer", t.layer))
4515                        }, n.prototype._n = function (t) {
4516                            this.dispatchEvent(new aa("removelayer", t.layer))
4517                        }, n.prototype.jn = function (t) {
4518                            var n = t.element;
4519                            this.kn(n), this.dispatchEvent(new aa("addlayer", n)), this.changed()
4520                        }, n.prototype.Sn = function (t) {
4521                            var n = t.element, i = o(n);
vendor: 5,917 bytes, lines 4522-4613
4522                            this.bn[i].forEach($), delete this.bn[i], this.dispatchEvent(new aa("removelayer", n)), this.changed()
4523                        }, n.prototype.getLayers = function () {
4524                            return this.get(ua)
4525                        }, n.prototype.setLayers = function (t) {
4526                            var n = this.getLayers();
4527                            if (n) for (var i = n.getArray(), r = 0, e = i.length; r < e; ++r) this.dispatchEvent(new aa("removelayer", i[r]));
4528                            this.set(ua, t)
4529                        }, n.prototype.getLayersArray = function (t) {
4530                            var n = void 0 !== t ? t : [];
4531                            return this.getLayers().forEach((function (t) {
4532                                t.getLayersArray(n)
4533                            })), n
4534                        }, n.prototype.getLayerStatesArray = function (t) {
4535                            var n = void 0 !== t ? t : [], i = n.length;
4536                            this.getLayers().forEach((function (t) {
4537                                t.getLayerStatesArray(n)
4538                            }));
4539                            var r = this.getLayerState(), e = r.zIndex;
4540                            t || void 0 !== r.zIndex || (e = 0);
4541                            for (var o = i, s = n.length; o < s; o++) {
4542                                var a = n[o];
4543                                a.opacity *= r.opacity, a.visible = a.visible && r.visible, a.maxResolution = Math.min(a.maxResolution, r.maxResolution), a.minResolution = Math.max(a.minResolution, r.minResolution), a.minZoom = Math.max(a.minZoom, r.minZoom), a.maxZoom = Math.min(a.maxZoom, r.maxZoom), void 0 !== r.extent && (void 0 !== a.extent ? a.extent = Yn(a.extent, r.extent) : a.extent = r.extent), void 0 === a.zIndex && (a.zIndex = e)
4544                            }
4545                            return n
4546                        }, n.prototype.getSourceState = function () {
4547                            return ps
4548                        }, n
4549                    }(as), ha = function () {
4550                        var t = function (n, i) {
4551                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4552                                t.__proto__ = n
4553                            } || function (t, n) {
4554                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4555                            })(n, i)
4556                        };
4557                        return function (n, i) {
4558                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4559
4560                            function r() {
4561                                this.constructor = n
4562                            }
4563
4564                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4565                        }
4566                    }(), fa = function (t) {
4567                        function n(n, i, r) {
4568                            var e = t.call(this, n) || this;
4569                            return e.map = i, e.frameState = void 0 !== r ? r : null, e
4570                        }
4571
4572                        return ha(n, t), n
4573                    }(f), la = function () {
4574                        var t = function (n, i) {
4575                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4576                                t.__proto__ = n
4577                            } || function (t, n) {
4578                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4579                            })(n, i)
4580                        };
4581                        return function (n, i) {
4582                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4583
4584                            function r() {
4585                                this.constructor = n
4586                            }
4587
4588                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4589                        }
4590                    }(), va = function (t) {
4591                        function n(n, i, r, e, o) {
4592                            var s = t.call(this, n, i, o) || this;
4593                            return s.originalEvent = r, s.On = null, s.Tn = null, s.dragging = void 0 !== e && e, s
4594                        }
4595
4596                        return la(n, t), Object.defineProperty(n.prototype, "pixel", {
4597                            get: function () {
4598                                return this.On || (this.On = this.map.getEventPixel(this.originalEvent)), this.On
4599                            }, set: function (t) {
4600                                this.On = t
4601                            }, enumerable: !1, configurable: !0
4602                        }), Object.defineProperty(n.prototype, "coordinate", {
4603                            get: function () {
4604                                return this.Tn || (this.Tn = this.map.getCoordinateFromPixel(this.pixel)), this.Tn
4605                            }, set: function (t) {
4606                                this.Tn = t
4607                            }, enumerable: !1, configurable: !0
4608                        }), n.prototype.preventDefault = function () {
4609                            t.prototype.preventDefault.call(this), "preventDefault" in this.originalEvent && this.originalEvent.preventDefault()
4610                        }, n.prototype.stopPropagation = function () {
4611                            t.prototype.stopPropagation.call(this), "stopPropagation" in this.originalEvent && this.originalEvent.stopPropagation()
4612                        }, n
4613                    }(fa), da = {
4614                        SINGLECLICK: "singleclick",
4615                        CLICK: G,
4616                        DBLCLICK: D,
4617                        POINTERDRAG: "pointerdrag",
4618                        POINTERMOVE: "pointermove",
4619                        POINTERDOWN: "pointerdown",
4620                        POINTERUP: "pointerup",
4621                        POINTEROVER: "pointerover",
4622                        POINTEROUT: "pointerout",
4623                        POINTERENTER: "pointerenter",
4624                        POINTERLEAVE: "pointerleave",
4625                        POINTERCANCEL: "pointercancel"
4626                    }, pa = "pointermove", ya = "pointerdown", ma = "pointerup", wa = "pointerout", ba = function () {
4627                        var t = function (n, i) {
4628                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4629                                t.__proto__ = n
4630                            } || function (t, n) {
4631                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4632                            })(n, i)
4633                        };
4634                        return function (n, i) {
4635                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4636
4637                            function r() {
4638                                this.constructor = n
4639                            }
4640
4641                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4642                        }
4643                    }(), ga = function (t) {
4644                        function n(n, i) {
4645                            var r = t.call(this, n) || this;
4646                            r.vn = n, r.En, r.An = !1, r.Cn = !1, r.Rn = [], r.Pn = void 0 === i ? 1 : i, r.In = null;
4647                            var e = r.vn.getViewport();
4648                            return r.Nn = 0, r.zn = {}, r.pn = e, r.Fn = Y(e, ya, r.Ln, r), r.Gn, r.Dn = Y(e, pa, r.Un, r), r.qn = r.Bn.bind(r), r.pn.addEventListener(J, r.qn, !!Jt && {passive: !1}), r
4649                        }
4650
4651                        return ba(n, t), n.prototype.Wn = function (t) {
4652                            var n = new va(da.CLICK, this.vn, t);
4653                            this.dispatchEvent(n), void 0 !== this.En ? (clearTimeout(this.En), this.En = void 0, n = new va(da.DBLCLICK, this.vn, t), this.dispatchEvent(n)) : this.En = setTimeout(function () {
4654                                this.En = void 0;
4655                                var n = new va(da.SINGLECLICK, this.vn, t);
4656                                this.dispatchEvent(n)
4657                            }.bind(this), 250)
4658                        }, n.prototype.Vn = function (t) {
4659                            var n = t;
4660                            n.type == da.POINTERUP || n.type == da.POINTERCANCEL ? delete this.zn[n.pointerId] : n.type == da.POINTERDOWN && (this.zn[n.pointerId] = !0), this.Nn = Object.keys(this.zn).length
4661                        }, n.prototype.Xn = function (t) {
4662                            this.Vn(t);
4663                            var n = new va(da.POINTERUP, this.vn, t);
4664                            this.dispatchEvent(n), this.An && !n.defaultPrevented && !this.Cn && this.Hn(t) && this.Wn(this.In), 0 === this.Nn && (this.Rn.forEach($), this.Rn.length = 0, this.Cn = !1, this.In = null)
4665                        }, n.prototype.Hn = function (t) {
4666                            return 0 === t.button
4667                        }, n.prototype.Ln = function (t) {
4668                            this.An = 0 === this.Nn, this.Vn(t);
4669                            var n = new va(da.POINTERDOWN, this.vn, t);
4670                            for (var i in this.dispatchEvent(n), this.In = {}, t) {
4671                                var r = t[i];
4672                                this.In[i] = "function" == typeof r ? _ : r
4673                            }
4674                            if (0 === this.Rn.length) {
4675                                var e = this.vn.getOwnerDocument();
4676                                this.Rn.push(Y(e, da.POINTERMOVE, this.Jn, this), Y(e, da.POINTERUP, this.Xn, this), Y(this.pn, da.POINTERCANCEL, this.Xn, this)), this.pn.getRootNode && this.pn.getRootNode() !== e && this.Rn.push(Y(this.pn.getRootNode(), da.POINTERUP, this.Xn, this))
4677                            }
4678                        }, n.prototype.Jn = function (t) {
4679                            if (this.Kn(t)) {
4680                                this.Cn = !0;
4681                                var n = new va(da.POINTERDRAG, this.vn, t, this.Cn);
4682                                this.dispatchEvent(n)
4683                            }
4684                        }, n.prototype.Un = function (t) {
4685                            this.Gn = t;
4686                            var n = !(!this.In || !this.Kn(t));
4687                            this.dispatchEvent(new va(t.type, this.vn, t, n))
4688                        }, n.prototype.Bn = function (t) {
4689                            var n = this.Gn;
4690                            n && !n.defaultPrevented || "boolean" == typeof t.cancelable && !0 !== t.cancelable || t.preventDefault()
4691                        }, n.prototype.Kn = function (t) {
4692                            return this.Cn || Math.abs(t.clientX - this.In.clientX) > this.Pn || Math.abs(t.clientY - this.In.clientY) > this.Pn
4693                        }, n.prototype.disposeInternal = function () {
4694                            this.Dn && ($(this.Dn), this.Dn = null), this.pn.removeEventListener(J, this.qn), this.Fn && ($(this.Fn), this.Fn = null), this.Rn.forEach($), this.Rn.length = 0, this.pn = null, t.prototype.disposeInternal.call(this)
4695                        }, n
4696                    }(I), xa = "postrender", ja = "movestart", Sa = "moveend", ka = "layergroup", Ma = "size",
4697                    _a = "target", Oa = "view", Ta = 1 / 0, Ea = function () {
4698                        function t(t, n) {
4699                            this.Yn = t, this.Zn = n, this.$n = [], this.Qn = [], this.ti = {}
4700                        }
4701
4702                        return t.prototype.clear = function () {
4703                            this.$n.length = 0, this.Qn.length = 0, A(this.ti)
4704                        }, t.prototype.dequeue = function () {
4705                            var t = this.$n, n = this.Qn, i = t[0];
4706                            1 == t.length ? (t.length = 0, n.length = 0) : (t[0] = t.pop(), n[0] = n.pop(), this.ni(0));
4707                            var r = this.Zn(i);
4708                            return delete this.ti[r], i
4709                        }, t.prototype.enqueue = function (t) {
4710                            Mt(!(this.Zn(t) in this.ti), 31);
4711                            var n = this.Yn(t);
4712                            return n != Ta && (this.$n.push(t), this.Qn.push(n), this.ti[this.Zn(t)] = !0, this.ii(0, this.$n.length - 1), !0)
4713                        }, t.prototype.getCount = function () {
4714                            return this.$n.length
4715                        }, t.prototype.ri = function (t) {
4716                            return 2 * t + 1
4717                        }, t.prototype.ei = function (t) {
4718                            return 2 * t + 2
4719                        }, t.prototype.oi = function (t) {
4720                            return t - 1 >> 1
4721                        }, t.prototype.si = function () {
4722                            var t;
4723                            for (t = (this.$n.length >> 1) - 1; t >= 0; t--) this.ni(t)
4724                        }, t.prototype.isEmpty = function () {
4725                            return 0 === this.$n.length
4726                        }, t.prototype.isKeyQueued = function (t) {
4727                            return t in this.ti
4728                        }, t.prototype.isQueued = function (t) {
4729                            return this.isKeyQueued(this.Zn(t))
4730                        }, t.prototype.ni = function (t) {
4731                            for (var n = this.$n, i = this.Qn, r = n.length, e = n[t], o = i[t], s = t; t < r >> 1;) {
4732                                var a = this.ri(t), u = this.ei(t), c = u < r && i[u] < i[a] ? u : a;
4733                                n[t] = n[c], i[t] = i[c], t = c
4734                            }
4735                            n[t] = e, i[t] = o, this.ii(s, t)
4736                        }, t.prototype.ii = function (t, n) {
4737                            for (var i = this.$n, r = this.Qn, e = i[n], o = r[n]; n > t;) {
4738                                var s = this.oi(n);
4739                                if (!(r[s] > o)) break;
4740                                i[n] = i[s], r[n] = r[s], n = s
4741                            }
4742                            i[n] = e, r[n] = o
4743                        }, t.prototype.reprioritize = function () {
4744                            var t, n, i, r = this.Yn, e = this.$n, o = this.Qn, s = 0, a = e.length;
4745                            for (n = 0; n < a; ++n) (i = r(t = e[n])) == Ta ? delete this.ti[this.Zn(t)] : (o[s] = i, e[s++] = t);
4746                            e.length = s, o.length = s, this.si()
4747                        }, t
4748                    }(), Aa = function () {
4749                        var t = function (n, i) {
4750                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4751                                t.__proto__ = n
4752                            } || function (t, n) {
4753                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4754                            })(n, i)
4755                        };
4756                        return function (n, i) {
4757                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4758
4759                            function r() {
4760                                this.constructor = n
4761                            }
4762
4763                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4764                        }
4765                    }(), Ca = function (t) {
4766                        function n(n, i) {
4767                            var r = t.call(this, (function (t) {
4768                                return n.apply(null, t)
4769                            }), (function (t) {
4770                                return t[0].getKey()
4771                            })) || this;
4772                            return r.ai = r.handleTileChange.bind(r), r.ui = i, r.ci = 0, r.hi = {}, r
4773                        }
4774
4775                        return Aa(n, t), n.prototype.enqueue = function (n) {
4776                            var i = t.prototype.enqueue.call(this, n);
4777                            i && n[0].addEventListener(N, this.ai);
4778                            return i
4779                        }, n.prototype.getTilesLoading = function () {
4780                            return this.ci
4781                        }, n.prototype.handleTileChange = function (t) {
4782                            var n = t.target, i = n.getState();
4783                            if (i === dt || i === pt || i === yt) {
4784                                n.removeEventListener(N, this.ai);
4785                                var r = n.getKey();
4786                                r in this.hi && (delete this.hi[r], --this.ci), this.ui()
4787                            }
4788                        }, n.prototype.loadMoreTiles = function (t, n) {
4789                            for (var i, r, e = 0; this.ci < t && e < n && this.getCount() > 0;) r = (i = this.dequeue()[0]).getKey(), i.getState() !== lt || r in this.hi || (this.hi[r] = !0, ++this.ci, ++e, i.load())
4790                        }, n
4791                    }(Ea);
4792
4793                function Ra(t, n, i, r, e) {
4794                    if (!t || !(i in t.wantedTiles)) return Ta;
4795                    if (!t.wantedTiles[i][n.getKey()]) return Ta;
4796                    var o = t.viewState.center, s = r[0] - o[0], a = r[1] - o[1];
4797                    return 65536 * Math.log(e) + Math.sqrt(s * s + a * a) / e
4798                }
4799
4800                var Pa = 0, Ia = 1, Na = {CENTER: "center", RESOLUTION: "resolution", ROTATION: "rotation"}, za = 256;
4801
4802                function Fa(t, n, i) {
4803                    return function (r, e, o, s, a) {
4804                        if (r) {
4805                            if (!e && !n) return r;
4806                            var u = n ? 0 : o[0] * e, c = n ? 0 : o[1] * e, h = a ? a[0] : 0, f = a ? a[1] : 0,
4807                                l = t[0] + u / 2 + h, v = t[2] - u / 2 + h, d = t[1] + c / 2 + f, p = t[3] - c / 2 + f;
4808                            l > v && (v = l = (v + l) / 2), d > p && (p = d = (p + d) / 2);
4809                            var y = ui(r[0], l, v), m = ui(r[1], d, p);
4810                            if (s && i && e) {
4811                                var w = 30 * e;
4812                                y += -w * Math.log(1 + Math.max(0, l - r[0]) / w) + w * Math.log(1 + Math.max(0, r[0] - v) / w), m += -w * Math.log(1 + Math.max(0, d - r[1]) / w) + w * Math.log(1 + Math.max(0, r[1] - p) / w)
4813                            }
4814                            return [y, m]
4815                        }
4816                    }
4817                }
4818
4819                function La(t) {
4820                    return t
4821                }
4822
4823                function Ga(t, n, i, r) {
4824                    var e = Qn(n) / i[0], o = Kn(n) / i[1];
4825                    return r ? Math.min(t, Math.max(e, o)) : Math.min(t, Math.min(e, o))
4826                }
4827
4828                function Da(t, n, i) {
4829                    var r = Math.min(t, n);
4830                    return r *= Math.log(1 + 50 * Math.max(0, t / n - 1)) / 50 + 1, i && (r = Math.max(r, i), r /= Math.log(1 + 50 * Math.max(0, i / t - 1)) / 50 + 1), ui(r, i / 2, 2 * n)
4831                }
4832
4833                function Ua(t, n, i, r) {
4834                    return function (e, o, s, a) {
4835                        if (void 0 !== e) {
4836                            var u = t[0], c = t[t.length - 1], h = i ? Ga(u, i, s, r) : u;
4837                            if (a) return void 0 === n || n ? Da(e, h, c) : ui(e, c, h);
4838                            var f = Math.min(h, e), l = Math.floor(m(t, f, o));
4839                            return t[l] > h && l < t.length - 1 ? t[l + 1] : t[l]
4840                        }
4841                    }
4842                }
4843
4844                function qa(t, n, i, r, e, o) {
4845                    return function (s, a, u, c) {
4846                        if (void 0 !== s) {
4847                            var h = e ? Ga(n, e, u, o) : n, f = void 0 !== i ? i : 0;
4848                            if (c) return void 0 === r || r ? Da(s, h, f) : ui(s, f, h);
4849                            var l = Math.ceil(Math.log(n / h) / Math.log(t) - 1e-9), v = -a * (.5 - 1e-9) + .5,
4850                                d = Math.min(h, s), p = Math.floor(Math.log(n / d) / Math.log(t) + v),
4851                                y = Math.max(l, p);
4852                            return ui(n / Math.pow(t, y), f, h)
4853                        }
4854                    }
4855                }
4856
4857                function Ba(t, n, i, r, e) {
4858                    return function (o, s, a, u) {
4859                        if (void 0 !== o) {
4860                            var c = r ? Ga(t, r, a, e) : t;
4861                            return (void 0 === i || i) && u ? Da(o, c, n) : ui(o, n, c)
4862                        }
4863                    }
4864                }
4865
4866                function Wa(t) {
4867                    return void 0 !== t ? 0 : void 0
4868                }
4869
4870                function Va(t) {
4871                    return void 0 !== t ? t : void 0
4872                }
4873
4874                function Xa(t) {
4875                    var n = 2 * Math.PI / t;
4876                    return function (t, i) {
4877                        return i ? t : void 0 !== t ? t = Math.floor(t / n + .5) * n : void 0
4878                    }
4879                }
4880
4881                function Ha(t) {
4882                    var n = t || pi(5);
4883                    return function (t, i) {
4884                        return i ? t : void 0 !== t ? Math.abs(t) <= n ? 0 : t : void 0
4885                    }
4886                }
4887
4888                var Ja = function () {
4889                    var t = function (n, i) {
4890                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
4891                            t.__proto__ = n
4892                        } || function (t, n) {
4893                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
4894                        })(n, i)
4895                    };
4896                    return function (n, i) {
4897                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
4898
4899                        function r() {
4900                            this.constructor = n
4901                        }
4902
4903                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
4904                    }
4905                }();
4906
4907                function Ka(t, n) {
4908                    setTimeout((function () {
4909                        t(n)
4910                    }), 0)
4911                }
4912
4913                function Ya(t) {
4914                    if (void 0 !== t.extent) {
4915                        var n = void 0 === t.smoothExtentConstraint || t.smoothExtentConstraint;
4916                        return Fa(t.extent, t.constrainOnlyCenter, n)
4917                    }
4918                    var i = Sr(t.projection, "EPSG:3857");
4919                    if (!0 !== t.multiWorld && i.isGlobal()) {
4920                        var r = i.getExtent().slice();
4921                        return r[0] = -1 / 0, r[2] = 1 / 0, Fa(r, !1, !1)
4922                    }
4923                    return La
4924                }
4925
4926                function Za(t) {
4927                    var n, i, r, e = void 0 !== t.minZoom ? t.minZoom : 0, o = void 0 !== t.maxZoom ? t.maxZoom : 28,
4928                        s = void 0 !== t.zoomFactor ? t.zoomFactor : 2, a = void 0 !== t.multiWorld && t.multiWorld,
4929                        u = void 0 === t.smoothResolutionConstraint || t.smoothResolutionConstraint,
4930                        c = void 0 !== t.showFullExtent && t.showFullExtent, h = Sr(t.projection, "EPSG:3857"),
4931                        f = h.getExtent(), l = t.constrainOnlyCenter, v = t.extent;
4932                    if (a || v || !h.isGlobal() || (l = !1, v = f), void 0 !== t.resolutions) {
4933                        var d = t.resolutions;
4934                        i = d[e], r = void 0 !== d[o] ? d[o] : d[d.length - 1], n = t.constrainResolution ? Ua(d, u, !l && v, c) : Ba(i, r, u, !l && v, c)
4935                    } else {
4936                        var p = (f ? Math.max(Qn(f), Kn(f)) : 360 * Ft[Gt.DEGREES] / h.getMetersPerUnit()) / za / Math.pow(2, 0),
4937                            y = p / Math.pow(2, 28);
4938                        void 0 !== (i = t.maxResolution) ? e = 0 : i = p / Math.pow(s, e), void 0 === (r = t.minResolution) && (r = void 0 !== t.maxZoom ? void 0 !== t.maxResolution ? i / Math.pow(s, o) : p / Math.pow(s, o) : y), o = e + Math.floor(Math.log(i / r) / Math.log(s)), r = i / Math.pow(s, o - e), n = t.constrainResolution ? qa(s, i, r, u, !l && v, c) : Ba(i, r, u, !l && v, c)
4939                    }
4940                    return {constraint: n, maxResolution: i, minResolution: r, minZoom: e, zoomFactor: s}
4941                }
4942
4943                function $a(t) {
4944                    if (void 0 === t.enableRotation || t.enableRotation) {
4945                        var n = t.constrainRotation;
4946                        return void 0 === n || !0 === n ? Ha() : !1 === n ? V
4946a : "number" == typeof n ? Xa(n) : Va
4947                    }
4948                    return Wa
4949                }
4950
4951                function Qa(t) {
4952                    return !(t.sourceCenter && t.targetCenter && !Qi(t.sourceCenter, t.targetCenter)) && (t.sourceResolution === t.targetResolution && t.sourceRotation === t.targetRotation)
4953                }
4954
4955                function tu(t, n, i, r, e) {
4956                    var o = Math.cos(-e), s = Math.sin(-e), a = t[0] * o - t[1] * s, u = t[1] * o + t[0] * s;
4957                    return [(a += (n[0] / 2 - i[0]) * r) * o - (u += (i[1] - n[1] / 2) * r) * (s = -s), u * o + a * s]
4958                }
4959
4960                var nu = function (t) {
4961                    function n(n) {
4962                        var i = t.call(this) || this;
4963                        i.on, i.once, i.un;
4964                        var r = E({}, n);
4965                        return i.fi = [0, 0], i.li = [], i.vi, i.di = Sr(r.projection, "EPSG:3857"), i.yi = [100, 100], i.mi = null, i.wi, i.bi, i.gi = null, i.xi, i.ji, i.Si = void 0, r.center && (r.center = zr(r.center, i.di)), r.extent && (r.extent = Lr(r.extent, i.di)), r.projection && dr(), i.ki(r), i
4966                    }
4967
4968                    return Ja(n, t), n.prototype.ki = function (t) {
4969                        var n = E({}, t);
4970                        for (var i in Na) delete n[i];
4971                        this.setProperties(n, !0);
4972                        var r = Za(t);
4973                        this.Mi = r.maxResolution, this._i = r.minResolution, this.Oi = r.zoomFactor, this.Ti = t.resolutions, this.Ei = t.padding, this.Ai = r.minZoom;
4974                        var e = Ya(t), o = r.constraint, s = $a(t);
4975                        this.Ci = {
4976                            center: e,
4977                            resolution: o,
4978                            rotation: s
4979                        }, this.setRotation(void 0 !== t.rotation ? t.rotation : 0), this.setCenterInternal(void 0 !== t.center ? t.center : null), void 0 !== t.resolution ? this.setResolution(t.resolution) : void 0 !== t.zoom && this.setZoom(t.zoom)
4980                    }, Object.defineProperty(n.prototype, "padding", {
4981                        get: function () {
4982                            return this.Ei
4983                        }, set: function (t) {
4984                            var n = this.Ei;
4985                            this.Ei = t;
4986                            var i = this.getCenter();
4987                            if (i) {
4988                                var r = t || [0, 0, 0, 0];
4989                                n = n || [0, 0, 0, 0];
4990                                var e = this.getResolution(), o = e / 2 * (r[3] - n[3] + n[1] - r[1]),
4991                                    s = e / 2 * (r[0] - n[0] + n[2] - r[2]);
4992                                this.setCenterInternal([i[0] + o, i[1] - s])
4993                            }
4994                        }, enumerable: !1, configurable: !0
4995                    }), n.prototype.Ri = function (t) {
4996                        var n = this.getProperties();
4997                        return void 0 !== n.resolution ? n.resolution = this.getResolution() : n.zoom = this.getZoom(), n.center = this.getCenterInternal(), n.rotation = this.getRotation(), E({}, n, t)
4998                    }, n.prototype.animate = function (t) {
4999                        this.isDef() && !this.getAnimating() && this.resolveConstraints(0);
5000                        for (var n = new Array(arguments.length), i = 0; i < n.length; ++i) {
5001                            var r = arguments[i];
5002                            r.center && ((r = E({}, r)).center = zr(r.center, this.getProjection())), r.anchor && ((r = E({}, r)).anchor = zr(r.anchor, this.getProjection())), n[i] = r
5003                        }
5004                        this.animateInternal.apply(this, n)
5005                    }, n.prototype.animateInternal = function (t) {
5006                        var n, i = arguments.length;
5007                        i > 1 && "function" == typeof arguments[i - 1] && (n = arguments[i - 1], --i);
5008                        for (var r = 0; r < i && !this.isDef(); ++r) {
5009                            var e = arguments[r];
5010                            e.center && this.setCenterInternal(e.center), void 0 !== e.zoom ? this.setZoom(e.zoom) : e.resolution && this.setResolution(e.resolution), void 0 !== e.rotation && this.setRotation(e.rotation)
5011                        }
5012                        if (r !== i) {
5013                            for (var o = Date.now(), s = this.mi.slice(), a = this.wi, u = this.bi, c = []; r < i; ++r) {
5014                                var h = arguments[r], f = {
5015                                    start: o,
5016                                    complete: !1,
vendor: 4,694 bytes, lines 5017-5078
5017                                    anchor: h.anchor,
5018                                    duration: void 0 !== h.duration ? h.duration : 1e3,
5019                                    easing: h.easing || bt,
5020                                    callback: n
5021                                };
5022                                if (h.center && (f.sourceCenter = s, f.targetCenter = h.center.slice(), s = f.targetCenter), void 0 !== h.zoom ? (f.sourceResolution = a, f.targetResolution = this.getResolutionForZoom(h.zoom), a = f.targetResolution) : h.resolution && (f.sourceResolution = a, f.targetResolution = h.resolution, a = f.targetResolution), void 0 !== h.rotation) {
5023                                    f.sourceRotation = u;
5024                                    var l = yi(h.rotation - u + Math.PI, 2 * Math.PI) - Math.PI;
5025                                    f.targetRotation = u + l, u = f.targetRotation
5026                                }
5027                                Qa(f) ? f.complete = !0 : o += f.duration, c.push(f)
5028                            }
5029                            this.li.push(c), this.setHint(Pa, 1), this.Pi()
5030                        } else n && Ka(n, !0)
5031                    }, n.prototype.getAnimating = function () {
5032                        return this.fi[Pa] > 0
5033                    }, n.prototype.getInteracting = function () {
5034                        return this.fi[Ia] > 0
5035                    }, n.prototype.cancelAnimations = function () {
5036                        var t;
5037                        this.setHint(Pa, -this.fi[Pa]);
5038                        for (var n = 0, i = this.li.length; n < i; ++n) {
5039                            var r = this.li[n];
5040                            if (r[0].callback && Ka(r[0].callback, !1), !t) for (var e = 0, o = r.length; e < o; ++e) {
5041                                var s = r[e];
5042                                if (!s.complete) {
5043                                    t = s.anchor;
5044                                    break
5045                                }
5046                            }
5047                        }
5048                        this.li.length = 0, this.Si = t, this.gi = null, this.xi = NaN, this.ji = NaN
5049                    }, n.prototype.Pi = function () {
5050                        if (void 0 !== this.vi && (cancelAnimationFrame(this.vi), this.vi = void 0), this.getAnimating()) {
5051                            for (var t = Date.now(), n = !1, i = this.li.length - 1; i >= 0; --i) {
5052                                for (var r = this.li[i], e = !0, o = 0, s = r.length; o < s; ++o) {
5053                                    var a = r[o];
5054                                    if (!a.complete) {
5055                                        var u = t - a.start, c = a.duration > 0 ? u / a.duration : 1;
5056                                        c >= 1 ? (a.complete = !0, c = 1) : e = !1;
5057                                        var h = a.easing(c);
5058                                        if (a.sourceCenter) {
5059                                            var f = a.sourceCenter[0], l = a.sourceCenter[1], v = a.targetCenter[0],
5060                                                d = a.targetCenter[1];
5061                                            this.gi = a.targetCenter;
5062                                            var p = f + h * (v - f), y = l + h * (d - l);
5063                                            this.mi = [p, y]
5064                                        }
5065                                        if (a.sourceResolution && a.targetResolution) {
5066                                            var m = 1 === h ? a.targetResolution : a.sourceResolution + h * (a.targetResolution - a.sourceResolution);
5067                                            if (a.anchor) {
5068                                                var w = this.Ii(this.getRotation()),
5069                                                    b = this.Ci.resolution(m, 0, w, !0);
5070                                                this.mi = this.calculateCenterZoom(b, a.anchor)
5071                                            }
5072                                            this.xi = a.targetResolution, this.wi = m, this.Ni(!0)
5073                                        }
5074                                        if (void 0 !== a.sourceRotation && void 0 !== a.targetRotation) {
5075                                            var g = 1 === h ? yi(a.targetRotation + Math.PI, 2 * Math.PI) - Math.PI : a.sourceRotation + h * (a.targetRotation - a.sourceRotation);
5076                                            if (a.anchor) {
5077                                                var x = this.Ci.rotation(g, !0);
5078                                                this.mi = this.calculateCenterRotate(x, a.anch
5078or)
5079                                            }
5080                                            this.ji = a.targetRotation, this.bi = g
5081                                        }
5082                                        if (this.Ni(!0), n = !0, !a.complete) break
5083                                    }
5084                                }
5085                                if (e) {
5086                                    this.li[i] = null, this.setHint(Pa, -1), this.gi = null, this.xi = NaN, this.ji = NaN;
5087                                    var j = r[0].callback;
5088                                    j && Ka(j, !0)
5089                                }
5090                            }
5091                            this.li = this.li.filter(Boolean), n && void 0 === this.vi && (this.vi = requestAnimationFrame(this.Pi.bind(this)))
5092                        }
5093                    }, n.prototype.calculateCenterRotate = function (t, n) {
5094                        var i, r = this.getCenterInternal();
5095                        return void 0 !== r && (tr(i = [r[0] - n[0], r[1] - n[1]], t - this.getRotation()), Ji(i, n)), i
5096                    }, n.prototype.calculateCenterZoom = function (t, n) {
5097                        var i, r = this.getCenterInternal(), e = this.getResolution();
5098                        void 0 !== r && void 0 !== e && (i = [n[0] - t * (n[0] - r[0]) / e, n[1] - t * (n[1] - r[1]) / e]);
5099                        return i
5100                    }, n.prototype.Ii = function (t) {
5101                        var n = this.yi;
5102                        if (t) {
5103                            var i = n[0], r = n[1];
5104                            return [Math.abs(i * Math.cos(t)) + Math.abs(r * Math.sin(t)), Math.abs(i * Math.sin(t)) + Math.abs(r * Math.cos(t))]
5105                        }
5106                        return n
5107                    }, n.prototype.setViewportSize = function (t) {
5108                        this.yi = Array.isArray(t) ? t.slice() : [100, 100], this.getAnimating() || this.resolveConstraints(0)
5109                    }, n.prototype.getCenter = function () {
5110                        var t = this.getCenterInternal();
5111                        return t ? Nr(t, this.getProjection()) : t
5112                    }, n.prototype.getCenterInternal = function () {
5113                        return this.get(Na.CENTER)
5114                    }, n.prototype.getConstraints = function () {
5115                        return this.Ci
5116                    }, n.prototype.getConstrainResolution = function () {
5117                        return this.get("constrainResolution")
5118                    }, n.prototype.getHints = function (t) {
5119                        return void 0 !== t ? (t[0] = this.fi[0], t[1] = this.fi[1], t) : this.fi.slice()
5120                    }, n.prototype.calculateExtent = function (t) {
5121                        return Fr(this.calculateExtentInternal(t), this.getProjection())
5122                    }, n.prototype.calculateExtentInternal = function (t) {
5123                        var n = t || this.zi(), i = this.getCenterInternal();
5124                        Mt(i, 1);
5125                        var r = this.getResolution();
5126                        Mt(void 0 !== r, 2);
5127                        var e = this.getRotation();
5128                        return Mt(void 0 !== e, 3), Jn(i, r, e, n)
5129                    }, n.prototype.getMaxResolution = function () {
5130                        return this.Mi
5131                    }, n.prototype.getMinResolution = function () {
5132                        return this._i
5133                    }, n.prototype.getMaxZoom = function () {
5134                        return this.getZoomForResolution(this._i)
5135                    }, n.prototype.setMaxZoom = function (t) {
5136                        this.ki(this.Ri({maxZoom: t}))
5137                    }, n.prototype.getMinZoom = function () {
5138                        return this.getZoomForResolution(this.Mi)
5139                    }, n.prototype.setMinZoom = function (t) {
5140                        this.ki(this.Ri({minZoom: t}))
5141                    }, n.prototype.setConstrainResolution = function (t) {
5142                        this.ki(this.Ri({constrainResolution: t}))
5143                    }, n.prototype.getProjection = function () {
5144                        return this.di
5145                    }, n.prototype.getResolution = function () {
5146                        return this.get(Na.RESOLUTION)
5147                    }, n.prototype.getResolutions = function () {
5148                        return this.Ti
5149                    }, n.prototype.getResolutionForExtent = function (t, n) {
5150                        return this.getResolutionForExtentInternal(Lr(t, this.getProjection()), n)
5151                    }, n.prototype.getResolutionForExtentInternal = function (t, n) {
5152                        var i = n || this.zi(), r = Qn(t) / i[0], e = Kn(t) / i[1];
5153                        return Math.max(r, e)
5154                    }, n.prototype.getResolutionForValueFunction = function (t) {
5155                        var n = t || 2, i = this.getConstrainedResolution(this.Mi), r = this._i,
5156                            e = Math.log(i / r) / Math.log(n);
5157                        return function (t) {
5158                            return i / Math.pow(n, t * e)
5159                        }
5160                    }, n.prototype.getRotation = function () {
5161                        return this.get(Na.ROTATION)
5162                    }, n.prototype.getValueForResolutionFunction = function (t) {
5163                        var n = Math.log(t || 2), i = this.getConstrainedResolution(this.Mi), r = this._i,
5164                            e = Math.log(i / r) / n;
5165                        return function (t) {
5166                            return Math.log(i / t) / n / e
5167                        }
5168                    }, n.prototype.zi = function (t) {
5169                        var n = this.Ii(t), i = this.Ei;
5170                        return i && (n = [n[0] - i[1] - i[3], n[1] - i[0] - i[2]]), n
5171                    }, n.prototype.getState = function () {
5172                        var t = this.getProjection(), n = this.getResolution(), i = this.getRotation(),
5173                            r = this.getCenterInternal(), e = this.Ei;
5174                        if (e) {
5175                            var o = this.zi();
5176                            r = tu(r, this.Ii(), [o[0] / 2 + e[3], o[1] / 2 + e[0]], n, i)
5177                        }
5178                        return {
5179                            center: r.slice(0),
5180                            projection: void 0 !== t ? t : null,
5181                            resolution: n,
5182                            nextCenter: this.gi,
5183                            nextResolution: this.xi,
5184                            nextRotation: this.ji,
5185                            rotation: i,
5186                            zoom: this.getZoom()
5187                        }
5188                    }, n.prototype.getZoom = function () {
5189                        var t, n = this.getResolution();
5190                        return void 0 !== n && (t = this.getZoomForResolution(n)), t
5191                    }, n.prototype.getZoomForResolution = function (t) {
5192                        var n, i, r = this.Ai || 0;
5193                        if (this.Ti) {
5194                            var e = m(this.Ti, t, 1);
5195                            r = e, n = this.Ti[e], i = e == this.Ti.length - 1 ? 2 : n / this.Ti[e + 1]
5196                        } else n = this.Mi, i = this.Oi;
5197                        return r + Math.log(n / t) / Math.log(i)
5198                    }, n.prototype.getResolutionForZoom = function (t) {
5199                        if (this.Ti) {
5200                            if (this.Ti.length <= 1) return 0;
5201                            var n = ui(Math.floor(t), 0, this.Ti.length - 2), i = this.Ti[n] / this.Ti[n + 1];
5202                            return this.Ti[n] / Math.pow(i, ui(t - n, 0, 1))
5203                        }
5204                        return this.Mi / Math.pow(this.Oi, t - this.Ai)
5205                    }, n.prototype.fit = function (t, n) {
5206                        var i;
5207                        if (Mt(Array.isArray(t) || "function" == typeof t.getSimplifiedGeometry, 24), Array.isArray(t)) Mt(!ni(t), 25), i = Ze(r = Lr(t, this.getProjection())); else if (t.getType() === Pt.CIRCLE) {
5208                            var r;
5209                            (i = Ze(r = Lr(t.getExtent(), this.getProjection()))).rotate(this.getRotation(), Xn(r))
5210                        } else {
5211                            var e = Ir();
5212                            i = e ? t.clone().transform(e, this.getProjection()) : t
5213                        }
5214                        this.fitInternal(i, n)
5215                    }, n.prototype.rotatedExtentForGeometry = function (t) {
5216                        for (var n = this.getRotation(), i = Math.cos(n), r = Math.sin(-n), e = t.getFlatCoordinates(), o = t.getStride(), s = 1 / 0, a = 1 / 0, u = -1 / 0, c = -1 / 0, h = 0, f = e.length; h < f; h += o) {
5217                            var l = e[h] * i - e[h + 1] * r, v = e[h] * r + e[h + 1] * i;
5218                            s = Math.min(s, l), a = Math.min(a, v), u = Math.max(u, l), c = Math.max(c, v)
5219                        }
5220                        return [s, a, u, c]
5221                    }, n.prototype.fitInternal = function (t, n) {
5222                        var i = n || {}, r = i.size;
5223                        r || (r = this.zi());
5224                        var e, o = void 0 !== i.padding ? i.padding : [0, 0, 0, 0],
5225                            s = void 0 !== i.nearest && i.nearest;
5226                        e = void 0 !== i.minResolution ? i.minResolution : void 0 !== i.maxZoom ? this.getResolutionForZoom(i.maxZoom) : 0;
5227                        var a = this.rotatedExtentForGeometry(t),
5228                            u = this.getResolutionForExtentInternal(a, [r[0] - o[1] - o[3], r[1] - o[0] - o[2]]);
5229                        u = isNaN(u) ? e : Math.max(u, e), u = this.getConstrainedResolution(u, s ? 0 : 1);
5230                        var c = this.getRotation(), h = Math.sin(c), f = Math.
5230cos(c), l = Xn(a);
5231                        l[0] += (o[1] - o[3]) / 2 * u, l[1] += (o[0] - o[2]) / 2 * u;
5232                        var v = l[0] * f - l[1] * h, d = l[1] * f + l[0] * h, p = this.getConstrainedCenter([v, d], u),
5233                            y = i.callback ? i.callback : _;
5234                        void 0 !== i.duration ? this.animateInternal({
5235                            resolution: u,
5236                            center: p,
5237                            duration: i.duration,
5238                            easing: i.easing
5239                        }, y) : (this.wi = u, this.mi = p, this.Ni(!1, !0), Ka(y, !0))
5240                    }, n.prototype.centerOn = function (t, n, i) {
5241                        this.centerOnInternal(zr(t, this.getProjection()), n, i)
5242                    }, n.prototype.centerOnInternal = function (t, n, i) {
5243                        this.setCenterInternal(tu(t, n, i, this.getResolution(), this.getRotation()))
5244                    }, n.prototype.calculateCenterShift = function (t, n, i, r) {
5245                        var e, o = this.Ei;
5246                        if (o && t) {
5247                            var s = this.zi(-i), a = tu(t, r, [s[0] / 2 + o[3], s[1] / 2 + o[0]], n, i);
5248                            e = [t[0] - a[0], t[1] - a[1]]
5249                        }
5250                        return e
5251                    }, n.prototype.isDef = function () {
5252                        return !!this.getCenterInternal() && void 0 !== this.getResolution()
5253                    }, n.prototype.adjustCenter = function (t) {
5254                        var n = Nr(this.mi, this.getProjection());
5255                        this.setCenter([n[0] + t[0], n[1] + t[1]])
5256                    }, n.prototype.adjustCenterInternal = function (t) {
5257                        var n = this.mi;
5258                        this.setCenterInternal([n[0] + t[0], n[1] + t[1]])
5259                    }, n.prototype.adjustResolution = function (t, n) {
5260                        var i = n && zr(n, this.getProjection());
5261                        this.adjustResolutionInternal(t, i)
5262                    }, n.prototype.adjustResolutionInternal = function (t, n) {
5263                        var i = this.getAnimating() || this.getInteracting(), r = this.Ii(this.getRotation()),
5264                            e = this.Ci.resolution(this.wi * t, 0, r, i);
5265                        n && (this.mi = this.calculateCenterZoom(e, n)), this.wi *= t, this.Ni()
5266                    }, n.prototype.adjustZoom = function (t, n) {
5267                        this.adjustResolution(Math.pow(this.Oi, -t), n)
5268                    }, n.prototype.adjustRotation = function (t, n) {
5269                        n && (n = zr(n, this.getProjection())), this.adjustRotationInternal(t, n)
5270                    }, n.prototype.adjustRotationInternal = function (t, n) {
5271                        var i = this.getAnimating() || this.getInteracting(), r = this.Ci.rotation(this.bi + t, i);
5272                        n && (this.mi = this.calculateCenterRotate(r, n)), this.bi += t, this.Ni()
5273                    }, n.prototype.setCenter = function (t) {
5274                        this.setCenterInternal(t ? zr(t, this.getProjection()) : t)
5275                    }, n.prototype.setCenterInternal = function (t) {
5276                        this.mi = t, this.Ni()
5277                    }, n.prototype.setHint = function (t, n) {
5278                        return this.fi[t] += n, this.changed(), this.fi[t]
5279                    }, n.prototype.setResolution = function (t) {
5280                        this.wi = t, this.Ni()
5281                    }, n.prototype.setRotation = function (t) {
5282                        this.bi = t, this.Ni()
5283                    }, n.prototype.setZoom = function (t) {
5284                        this.setResolution(this.getResolutionForZoom(t))
5285                    }, n.prototype.Ni = function (t, n) {
5286                        var i = this.getAnimating() || this.getInteracting() || n, r = this.Ci.rotation(this.bi, i),
5287                            e = this.Ii(r), o = this.Ci.resolution(this.wi, 0, e, i),
5288                            s = this.Ci.center(this.mi, o, e, i, this.calculateCenterShift(this.mi, o, r, e));
5289                        this.get(Na.ROTATION) !== r && this.set(Na.ROTATION, r), this.get(Na.RESOLUTION) !== o && (this.set(Na.RESOLUTION, o), this.set("zoom", this.getZoom(), !0)), s && this.get(Na.CENTER) && Qi(this.get(Na.CENTER), s) || this.set(Na.CENTER, s), this.getAnimating() && !t && this.cancelAnimations(), this.Si = void 0
5290                    }
5290, n.prototype.resolveConstraints = function (t, n, i) {
5291                        var r = void 0 !== t ? t : 200, e = n || 0, o = this.Ci.rotation(this.bi), s = this.Ii(o),
5292                            a = this.Ci.resolution(this.wi, e, s),
5293                            u = this.Ci.center(this.mi, a, s, !1, this.calculateCenterShift(this.mi, a, o, s));
5294                        if (0 === r && !this.Si) return this.wi = a, this.bi = o, this.mi = u, void this.Ni();
5295                        var c = i || (0 === r ? this.Si : void 0);
5296                        this.Si = void 0, this.getResolution() === a && this.getRotation() === o && this.getCenterInternal() && Qi(this.getCenterInternal(), u) || (this.getAnimating() && this.cancelAnimations(), this.animateInternal({
5297                            rotation: o,
5298                            center: u,
5299                            resolution: a,
5300                            duration: r,
5301                            easing: wt,
5302                            anchor: c
5303                        }))
5304                    }, n.prototype.beginInteraction = function () {
5305                        this.resolveConstraints(0), this.setHint(Ia, 1)
5306                    }, n.prototype.endInteraction = function (t, n, i) {
5307                        var r = i && zr(i, this.getProjection());
5308                        this.endInteractionInternal(t, n, r)
5309                    }, n.prototype.endInteractionInternal = function (t, n, i) {
5310                        this.setHint(Ia, -1), this.resolveConstraints(t, n, i)
5311                    }, n.prototype.getConstrainedCenter = function (t, n) {
5312                        var i = this.Ii(this.getRotation());
5313                        return this.Ci.center(t, n || this.getResolution(), i)
5314                    }, n.prototype.getConstrainedZoom = function (t, n) {
5315                        var i = this.getResolutionForZoom(t);
5316                        return this.getZoomForResolution(this.getConstrainedResolution(i, n))
5317                    }, n.prototype.getConstrainedResolution = function (t, n) {
5318                        var i = n || 0, r = this.Ii(this.getRotation());
5319                        return this.Ci.resolution(t, i, r)
5320                    }, n
5321                }(ot);
5322
5323                function iu(t, n, i) {
5324                    return void 0 === i && (i = [0, 0]), i[0] = t[0] + 2 * n, i[1] = t[1] + 2 * n, i
5325                }
5326
5327                function ru(t) {
5328                    return t[0] > 0 && t[1] > 0
5329                }
5330
5331                function eu(t, n, i) {
5332                    return void 0 === i && (i = [0, 0]), i[0] = t[0] * n + .5 | 0, i[1] = t[1] * n + .5 | 0, i
5333                }
5334
5335                function ou(t, n) {
5336                    return Array.isArray(t) ? t : (void 0 === n ? n = [t, t] : (n[0] = t, n[1] = t), n)
5337                }
5338
5339                var su = function () {
5340                    var t = function (n, i) {
5341                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5342                            t.__proto__ = n
5343                        } || function (t, n) {
5344                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5345                        })(n, i)
5346                    };
5347                    return function (n, i) {
5348                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5349
5350                        function r() {
5351                            this.constructor = n
5352                        }
5353
5354                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5355                    }
5356                }();
5357
5358                function au(t) {
5359                    t instanceof bs ? t.setMapInternal(null) : t instanceof ca && t.getLayers().forEach(au)
5360                }
5361
5362                function uu(t, n) {
5363                    if (t instanceof bs) t.setMapInternal(n); else if (t instanceof ca) for (var i = t.getLayers().getArray(), r = 0, e = i.length; r < e; ++r) uu(i[r], n)
5364                }
5365
5366                var cu = function (t) {
5367                    function n(n) {
5368                        var i = t.call(this) || this;
5369                        i.on, i.once, i.un;
5370                        var r = function (t) {
5371                            var n = null;
5372                            void 0 !== t.keyboardEventTarget && (n = "string" == typeof t.keyboardEventTarget ? document.getElementById(t.keyboardEventTarget) : t.keyboardEventTarget);
5373                            var i, r, e, o = {},
5374                                s = t.layers && "function" == typeof t.layers.getLayers ? t.layers : new ca({layers: t.layers});
5375                            o[ka] = s, o[_a] = t.target, o[Oa] = t.view instanceof nu ? t.view : new nu, void 0 !== t.controls && (Array.isArray(t.controls) ? i = new ft(t.controls.slice()) : (Mt("function" == typeof t.controls.getArray, 47), i = t.controls));
5376                            void 0 !== t.interactions && (Array.isArray(t.interactions) ? r = new ft(t.interactions.slice()) : (Mt("function" == typeof t.interactions.getArray, 48), r = t.interactions));
5377                            void 0 !== t.overlays ? Array.isArray(t.overlays) ? e = new ft(t.overlays.slice()) : (Mt("function" == typeof t.overlays.getArray, 49), e = t.overlays) : e = new ft;
5378                            return {controls: i, interactions: r, keyboardEventTarget: n, overlays: e, values: o}
5379                        }(n);
5380                        i.Fi, i.Li = i.handleBrowserEvent.bind(i), i.Gi = void 0 !== n.maxTilesLoading ? n.maxTilesLoading : 16, i.Rt = void 0 !== n.pixelRatio ? n.pixelRatio : Vt, i.Di, i.Ui, i.qi = function () {
5381                            this.Ui = void 0, this.Bi(Date.now())
5382                        }.bind(i), i.Wi = [1, 0, 0, 1, 0, 0], i.Vi = [1, 0, 0, 1, 0, 0], i.Xi = 0, i.Hi = null, i.Ji = null, i.Ki = null, i.Yi = null, i.Zi 
5382= null, i.$i = document.createElement("div"), i.$i.className = "ol-viewport" + ("ontouchstart" in window ? " ol-touch" : ""), i.$i.style.position = "relative", i.$i.style.overflow = "hidden", i.$i.style.width = "100%", i.$i.style.height = "100%", i.Qi = document.createElement("div"), i.Qi.style.position = "absolute", i.Qi.style.zIndex = "0", i.Qi.style.width = "100%", i.Qi.style.height = "100%", i.Qi.style.pointerEvents = "none", i.Qi.className = "ol-overlaycontainer", i.$i.appendChild(i.Qi), i.tr = document.createElement("div"), i.tr.style.position = "absolute", i.tr.style.zIndex = "0", i.tr.style.width = "100%", i.tr.style.height = "100%", i.tr.style.pointerEvents = "none", i.tr.className = "ol-overlaycontainer-stopevent", i.$i.appendChild(i.tr), i.nr = null, i.Pn = n.moveTolerance, i.ir = r.keyboardEventTarget, i.rr = null, i.controls = r.controls || new ft, i.interactions = r.interactions || new ft, i.er = r.overlays, i.sr = {}, i.cn = null, i.ar = [], i.ur = new Ca(i.getTilePriority.bind(i), i.cr.bind(i)), i.addChangeListener(ka, i.hr), i.addChangeListener(Oa, i.lr), i.addChangeListener(Ma, i.vr), i.addChangeListener(_a, i.dr), i.setProperties(r.values);
5383                        var e = i;
5384                        return !n.view || n.view instanceof nu || n.view.then((function (t) {
5385                            e.setView(new nu(t))
5386                        })), i.controls.addEventListener(st, function (t) {
5387                            t.element.setMap(this)
5388                        }.bind(i)), i.controls.addEventListener(at, function (t) {
5389                            t.element.setMap(null)
5390                        }.bind(i)), i.interactions.addEventListener(st, function (t) {
5391                            t.element.setMap(this)
5392                        }.bind(i)), i.interactions.addEventListener(at, function (t) {
5393                            t.element.setMap(null)
5394                        }.bind(i)), i.er.addEventListener(st, function (t) {
5395                            this.pr(t.element)
5396                        }.bind(i)), i.er.addEventListener(at, function (t) {
5397                            var n = t.element.getId();
5398                            void 0 !== n && delete this.sr[n.toString()], t.element.setMap(null)
5399                        }.bind(i)), i.controls.forEach(function (t) {
5400                            t.setMap(this)
5401                        }.bind(i)), i.interactions.forEach(function (t) {
5402                            t.setMap(this)
5403                        }.bind(i)), i.er.forEach(i.pr.bind(i)), i
5404                    }
5405
5406                    return su(n, t), n.prototype.createRenderer = function () {
5407                        throw new Error("Use a map type that has a createRenderer method")
5408                    }, n.prototype.addControl = function (t) {
5409                        this.getControls().push(t)
5410                    }, n.prototype.addInteraction = function (t) {
5411                        this.getInteractions().push(t)
5412                    }, n.prototype.addLayer = function (t) {
5413                        this.getLayerGroup().getLayers().push(t)
5414                    }, n.prototype.yr = function (t) {
5415                        uu(t.layer, this)
5416                    }, n.prototype.addOverlay = function (t) {
5417                        this.getOverlays().push(t)
5418                    }, n.prototype.pr = function (t) {
5419                        var n = t.getId();
5420                        void 0 !== n && (this.sr[n.toString()] = t), t.setMap(this)
5421                    }, n.prototype.disposeInternal = function () {
5422                        this.setTarget(null), t.prototype.disposeInternal.call(this)
5423                    }, n.prototype.forEachFeatureAtPixel = function (t, n, i) {
5424                        if (this.Hi) {
5425                            var r = this.getCoordinateFromPixelInternal(t),
5426                                e = void 0 !== (i = void 0 !== i ? i : {}).hitTolerance ? i.hitTolerance : 0,
5427                                o = void 0 !== i.layerFilter ? i.layerFilter : k, s = !1 !== i.checkWrapped;
5428                            return this.cn.forEachFeatureAtCoordinate(r, this.Hi, e, s, n, null, o, null)
5429                        }
5430                    }, n.prototype.getFeaturesAtPixel = function (t, n) {
5431                        var i = [];
5432                        return this.forEachFeatureAtPixel(t, (function (t) {
5433                            i.push(t)
5434                        }), n), i
5435                    }, n.prototype.getAllLayers = function () {
5436                        var t = [];
5437                        return function n(i) {
5438                            i.forEach((function (i) {
5439                                i instanceof ca ? n(i.getLayers()) : t.push(i)
5440                            }))
5441                        }(this.getLayers()), t
5442                    }, n.prototype.forEachLayerAtPixel = function (t, n, i) {
5443                        if (this.Hi) {
5444                            var r = i || {}, e = void 0 !== r.hitTolerance ? r.hitTolerance : 0, o = r.layerFilter || k;
5445                            return this.cn.forEachLayerAtPixel(t, this.Hi, e, n, o)
5446                        }
5447                    }, n.prototype.hasFeatureAtPixel = function (t, n) {
5448                        if (!this.Hi) return !1;
5449                        var i = this.getCoordinateFromPixelInternal(t),
5450                            r = void 0 !== (n = void 0 !== n ? n : {}).layerFilter ? n.layerFilter : k,
5451                            e = void 0 !== n.hitTolerance ? n.hitTolerance : 0, o = !1 !== n.checkWrapped;
5452                        return this.cn.hasFeatureAtCoordinate(i, this.Hi, e, o, r, null)
5453                    }, n.prototype.getEventCoordinate = function (t) {
5454                        return this.getCoordinateFromPixel(this.getEventPixel(t))
5455                    }, n.prototype.getEventCoordinateInternal = function (t) {
5456                        return this.getCoordinateFromPixelInternal(this.getEventPixel(t))
5457                    }, n.prototype.getEventPixel = function (t) {
5458                        var n = this.$i.getBoundingClientRect(), i = "changedTouches" in t ? t.changedTouches[0] : t;
5459                        return [i.clientX - n.left, i.clientY - n.top]
5460                    }, n.prototype.getTarget = function () {
5461                        return this.get(_a)
5462                    }, n.prototype.getTargetElement = function () {
5463                        var t = this.getTarget();
5464                        return void 0 !== t ? "string" == typeof t ? document.getElementById(t) : t : null
5465                    }, n.prototype.getCoordinateFromPixel = function (t) {
5466                        return Nr(this.getCoordinateFromPixelInternal(t), this.getView().getProjection())
5467                    }, n.prototype.getCoordinateFromPixelInternal = function (t) {
5468                        var n = this.Hi;
5469                        return n ? nn(n.pixelToCoordinateTransform, t.slice()) : null
5470                    }, n.prototype.getControls = function () {
5471                        return this.controls
5472                    }, n.prototype.getOverlays = function () {
5473                        return this.er
5474                    }, n.prototype.getOverlayById = function (t) {
5475                        var n = this.sr[t.toString()];
5476                        return void 0 !== n ? n : null
5477                    }, n.prototype.getInteractions = function () {
5478                        return this.interactions
5479                    }, n.prototype.getLayerGroup = function () {
5480                        return this.get(ka)
5481                    }, n.prototype.setLayers = function (t) {
5482                        var n = this.getLayerGroup();
5483                        if (t instanceof ft) n.setLayers(t); else {
5484                            var i = n.getLayers();
5485                            i.clear(), i.extend(t)
5486                        }
5487                    }, n.prototype.getLayers = function () {
5488                        return this.getLayerGroup().getLayers()
5489                    }, n.prototype.getLoadingOrNotReady = function () {
5490                        for (var t = this.getLayerGroup().getLayerStatesArray(), n = 0, i = t.length; n < i; ++n) {
5491                            var r = t[n].layer;
5492                            if (!r.getRenderer().ready) return !0;
5493                            var e = r.getSource();
5494                            if (e && e.loading) return !0
5495                        }
5496                        return !1
5497                    }, n.prototype.getPixelFromCoordinate = function (t) {
5498                        var n = zr(t, this.getView().getProjection());
5499                        return this.getPixelFromCoordinateInternal(n)
5500                    }
5500, n.prototype.getPixelFromCoordinateInternal = function (t) {
5501                        var n = this.Hi;
5502                        return n ? nn(n.coordinateToPixelTransform, t.slice(0, 2)) : null
5503                    }, n.prototype.getRenderer = function () {
5504                        return this.cn
5505                    }, n.prototype.getSize = function () {
5506                        return this.get(Ma)
5507                    }, n.prototype.getView = function () {
5508                        return this.get(Oa)
5509                    }, n.prototype.getViewport = function () {
5510                        return this.$i
5511                    }, n.prototype.getOverlayContainer = function () {
5512                        return this.Qi
5513                    }, n.prototype.getOverlayContainerStopEvent = function () {
5514                        return this.tr
5515                    }, n.prototype.getOwnerDocument = function () {
5516                        var t = this.getTargetElement();
5517                        return t ? t.ownerDocument : document
5518                    }, n.prototype.getTilePriority = function (t, n, i, r) {
5519                        return Ra(this.Hi, t, n, i, r)
5520                    }, n.prototype.handleBrowserEvent = function (t, n) {
5521                        var i = n || t.type, r = new va(i, this, t);
5522                        this.handleMapBrowserEvent(r)
5523                    }, n.prototype.handleMapBrowserEvent = function (t) {
5524                        if (this.Hi) {
5525                            var n = t.originalEvent, i = n.type;
5526                            if (i === ya || i === K || i === W) {
5527                                var r = this.getOwnerDocument(), e = this.$i.getRootNode ? this.$i.getRootNode() : r,
5528                                    o = n.target;
5529                                if (this.tr.contains(o) || !(e === r ? r.documentElement : e).contains(o)) return
5530                            }
5531                            if (t.frameState = this.Hi, !1 !== this.dispatchEvent(t)) for (var s = this.getInteractions().getArray().slice(), a = s.length - 1; a >= 0; a--) {
5532                                var u = s[a];
5533                                if (u.getMap() === this && u.getActive() && this.getTargetElement()) if (!u.handleEvent(t) || t.propagationStopped) break
5534                            }
5535                        }
5536                    }, n.prototype.handlePostRender = function () {
5537                        var t = this.Hi, n = this.ur;
5538                        if (!n.isEmpty()) {
5539                            var i = this.Gi, r = i;
5540                            if (t) {
5541                                var e = t.viewHints;
5542                                if (e[Pa] || e[Ia]) {
5543                                    var o = Date.now() - t.time > 8;
5544                                    i = o ? 0 : 8, r = o ? 0 : 2
5545                                }
5546                            }
5547                            n.getTilesLoading() < i && (n.reprioritize(), n.loadMoreTiles(i, r))
5548                        }
5549                        t && this.hasListener(ls) && !t.animate && this.Fi && this.cn.dispatchRenderEvent(ls, t);
5550                        for (var s = this.ar, a = 0, u = s.length; a < u; ++a) s[a](this, t);
5551                        s.length = 0
5552                    }, n.prototype.vr = function () {
5553                        this.getView() && !this.getView().getAnimating() && this.getView().resolveConstraints(0), this.render()
5554                    }, n.prototype.dr = function () {
5555                        if (this.nr) {
5556                            for (var t = 0, n = this.rr.length; t < n; ++t) $(this.rr[t]);
5557                            this.rr = null, this.$i.removeEventListener(L, this.Li), this.$i.removeEventListener(K, this.Li), this.nr.dispose(), this.nr = null, Ao(this.$i)
5558                        }
5559                        var i = this.getTargetElement();
5560                        if (i) {
5561                            for (var r in i.appendChild(this.$i), this.cn || (this.cn = this.createRenderer()), this.nr = new ga(this, this.Pn), da) this.nr.addEventListener(da[r], this.handleMapBrowserEvent.bind(this));
5562                            this.$i.addEventListener(L, this.Li, !1), this.$i.addEventListener(K, this.Li, !!Jt && {passive: !1});
5563                            var e = this.getOwnerDocument().defaultView, o = this.ir ? this.ir : i;
5564                            this.rr = [Y(o, W, this.handleBrowserEvent, this), Y(o, V, this.handleBrowserEvent, this), Y(e, H, this.updateSize, this)]
5565                        } else this.cn && (clearTimeout(this.Di), this.Di = void 0, this.ar.length = 0, this.cn.dispose(), this.cn = null), this.Ui && (cancelAnimationFrame(this.Ui), this.Ui = void 0);
5566                        this.updateSize()
5567                    }, n.prototype.cr = function () {
5568                        this.render()
5569                    }, n.prototype.mr = function () {
5570                        this.render()
5571                    }, n.prototype.lr = function () {
5572                        this.Ki && ($(this.Ki), this.Ki = null), this.Yi && ($(this.Yi), this.Yi = null);
5573                        var t = this.getView();
5574                        t && (this.wr(), this.Ki = Y(t, l, this.mr, this), this.Yi = Y(t, N, this.mr, this), t.resolve
5574Constraints(0)), this.render()
5575                    }, n.prototype.hr = function () {
5576                        this.Zi && (this.Zi.forEach($), this.Zi = null);
5577                        var t = this.getLayerGroup();
5578                        t && (this.yr(new aa("addlayer", t)), this.Zi = [Y(t, l, this.render, this), Y(t, N, this.render, this), Y(t, "addlayer", this.yr, this), Y(t, "removelayer", this.br, this)]), this.render()
5579                    }, n.prototype.isRendered = function () {
5580                        return !!this.Hi
5581                    }, n.prototype.renderSync = function () {
5582                        this.Ui && cancelAnimationFrame(this.Ui), this.qi()
5583                    }, n.prototype.redrawText = function () {
5584                        for (var t = this.getLayerGroup().getLayerStatesArray(), n = 0, i = t.length; n < i; ++n) {
5585                            var r = t[n].layer;
5586                            r.hasRenderer() && r.getRenderer().handleFontsChanged()
5587                        }
5588                    }, n.prototype.render = function () {
5589                        this.cn && void 0 === this.Ui && (this.Ui = requestAnimationFrame(this.qi))
5590                    }, n.prototype.removeControl = function (t) {
5591                        return this.getControls().remove(t)
5592                    }, n.prototype.removeInteraction = function (t) {
5593                        return this.getInteractions().remove(t)
5594                    }, n.prototype.removeLayer = function (t) {
5595                        return this.getLayerGroup().getLayers().remove(t)
5596                    }, n.prototype.br = function (t) {
5597                        au(t.layer)
5598                    }, n.prototype.removeOverlay = function (t) {
5599                        return this.getOverlays().remove(t)
5600                    }, n.prototype.Bi = function (t) {
5601                        var n = this, i = this.getSize(), r = this.getView(), e = this.Hi, s = null;
5602                        if (void 0 !== i && ru(i) && r && r.isDef()) {
5603                            var a = r.getHints(this.Hi ? this.Hi.viewHints : void 0), u = r.getState();
5604                            if (s = {
5605                                animate: !1,
5606                                coordinateToPixelTransform: this.Wi,
5607                                declutterTree: null,
5608                                extent: Jn(u.center, u.resolution, u.rotation, i),
5609                                index: this.Xi++,
5610                                layerIndex: 0,
5611                                layerStatesArray: this.getLayerGroup().getLayerStatesArray(),
5612                                pixelRatio: this.Rt,
5613                                pixelToCoordinateTransform: this.Vi,
5614                                postRenderFunctions: [],
5615                                size: i,
5616                                tileQueue: this.ur,
5617                                time: t,
5618                                usedTiles: {},
5619                                viewState: u,
5620                                viewHints: a,
5621                                wantedTiles: {},
5622                                mapId: o(this),
5623                                renderTargets: {}
5624                            }, u.nextCenter && u.nextResolution) {
5625                                var c = isNaN(u.nextRotation) ? u.rotation : u.nextRotation;
5626                                s.nextExtent = Jn(u.nextCenter, u.nextResolution, c, i)
5627                            }
5628                        }
5629                        if (this.Hi = s, this.cn.renderFrame(s), s) {
5630                            if (s.animate && this.render(), Array.prototype.push.apply(this.ar, s.postRenderFunctions), e) (!this.Ji || !ni(this.Ji) && !In(s.extent, this.Ji)) && (this.dispatchEvent(new fa(ja, this, e)), this.Ji = Cn(this.Ji));
5631                            this.Ji && !s.viewHints[Pa] && !s.viewHints[Ia] && !In(s.extent, this.Ji) && (this.dispatchEvent(new fa(Sa, this, s)), Sn(s.extent, this.Ji))
5632                        }
5633                        this.dispatchEvent(new fa(xa, this, s)), this.Fi = !this.ur.getTilesLoading() && !this.ur.getCount() && !this.getLoadingOrNotReady(), this.Di || (this.Di = setTimeout((function () {
5634                            n.Di = void 0, n.handlePostRender()
5635                        }), 0))
5636                    }, n.prototype.setLayerGroup = function (t) {
5637                        var n = this.getLayerGroup();
5638                        n && this.br(new aa("removelayer", n)), this.set(ka, t)
5639                    }, n.prototype.setSize = function (t) {
5640                        this.set(Ma, t)
5641                    }, n.prototype.setTarget = function (t) {
5642                        this.set(_a, t)
5643                    }, n.prototype.setView = function (t) {
5644                        if (!t || t instanceof nu) this.set(Oa, t); else {
5645                            this.set(Oa, new nu);
5646                            var n = this;
5647                            t.then((function (t) {
5648                                n.setView(new nu(t))
5649                            }))
5650                        }
5651                    }, n.prototype.updateSize = function () {
5652                        var t = this.getTargetElement(), n = void 0;
5653                        if (t) {
5654                            var i = getComputedStyle(t),
5655                                r = t.offsetWidth - parseFloat(i.borderLeftWidth) - parseFloat(i.paddingLeft) - parseFloat(i.paddingRight) - parseFloat(i.borderRightWidth),
5656                                e = t.offsetHeight - parseFloat(i.borderTopWidth) - parseFloat(i.paddingTop) - parseFloat(i.paddingBottom) - parseFloat(i.borderBottomWidth);
5657                            isNaN(r) || isNaN(e) || !ru(n = [r, e]) && (t.offsetWidth || t.offsetHeight || t.getClientRects().length) && console.warn("No map visible because the map container's width or height are 0.")
5658                        }
5659                        this.setSize(n), this.wr()
5660                    }, n.prototype.wr = function () {
5661                        var t = this.getView();
5662                        if (t) {
5663                            var n = void 0, i = getComputedStyle(this.$i);
5664                            i.width && i.height && (n = [parseInt(i.width, 10), parseInt(i.height, 10)]), t.setViewportSize(n)
5665                        }
5666                    }, n
5667                }(ot), hu = function () {
5668                    var t = function (n, i) {
5669                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5670                            t.__proto__ = n
5671                        } || function (t, n) {
5672                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5673                        })(n, i)
5674                    };
5675                    return function (n, i) {
5676                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5677
5678                        function r() {
5679                            this.constructor = n
5680                        }
5681
5682                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5683                    }
5684                }(), fu = function (t) {
5685                    function n(n) {
5686                        var i = t.call(this) || this, r = n.element;
5687                        return !r || n.target || r.style.pointerEvents || (r.style.pointerEvents = "auto"), i.element = r || null, i.gr = null, i.vn = null, i.listenerKeys = [], n.render && (i.render = n.render), n.target && i.setTarget(n.target), i
5688                    }
5689
5690                    return hu(n, t), n.prototype.disposeInternal = function () {
5691                        Ao(this.element), t.prototype.disposeInternal.call(this)
5692                    }, n.prototype.getMap = function () {
5693                        return this.vn
5694                    }, n.prototype.setMap = function (t) {
5695                        this.vn && Ao(this.element);
5696                        for (var n = 0, i = this.listenerKeys.length; n < i; ++n) $(this.listenerKeys[n]);
5697                        (this.listenerKeys.length = 0, this.vn = t, t) && ((this.gr ? this.gr : t.getOverlayContainerStopEvent()).appendChild(this.element), this.render !== _ && this.listenerKeys.push(Y(t, xa, this.render, this)), t.render())
5698                    }, n.prototype.render = function (t) {
5699                    }, n.prototype.setTarget = function (t) {
5700                        this.gr = "string" == typeof t ? document.getElementById(t) : t
5701                    }, n
5702                }(ot), lu = function () {
5703                    var t = function (n, i) {
5704                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5705                            t.__proto__ = n
5706                        } || function (t, n) {
5707                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5708                        })(n, i)
5709                    };
5710                    return function (n, i) {
5711                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5712
5713                        function r() {
5714                            this.constructor = n
5715                        }
5716
5717                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5718                    }
5719                }(), vu = function (t) {
5720                    function n(n) {
5721                        var i = this, r = n || {};
5722                        (i = t.call(this, {
5723                            element: document.createElement("div"),
5724                            render: r.render,
5725                            target: r.target
5726                        }) || this).jr = document.createElement("ul"), i.Sr = void 0 === r.collapsed || r.collapsed, i.kr = i.Sr, i.Mr = void 0 !== r.collapsible, i._r = void 0 === r.collapsible || r.collapsible, i._r || (i.Sr = !1);
5727                        var e = void 0 !== r.className ? r.className : "ol-attribution",
5728                            o = void 0 !== r.tipLabel ? r.tipLabel : "Attributions",
5729                            s = void 0 !== r.expandClassName ? r.expandClassName : e + "-expand",
5730                            a = void 0 !== r.collapseLabel ? r.collapseLabel : "›",
5731                            u = void 0 !== r.collapseClassName ? r.collapseClassName : e + "-collapse";
5732                        "string" == typeof a ? (i.Tr = document.createElement("span"), i.Tr.textContent = a, i.Tr.className = u) : i.Tr = a;
5733                        var c = void 0 !== r.label ? r.label : "i";
5734                        "string" == typeof c ? (i.Er = document.createElement("span"), i.Er.textContent = c, i.Er.className = s) : i.Er = c;
5735                        var h = i._r && !i.Sr ? i.Tr : i.Er;
5736                        i.Ar = document.createElement("button"), i.Ar.setAttribute("type", "button"), i.Ar.setAttribute("aria-expanded", String(!i.Sr)), i.Ar.title = o, i.Ar.appendChild(h), i.Ar.addEventListener(G, i.Cr.bind(i), !1);
5737                        var f = e + " " + "ol-unselectable " + Es + (i.Sr && i._r ? " ol-collapsed" : "") + (i._r ? "" : " ol-uncollapsible"),
5738                            l = i.element;
vendor: 4,845 bytes, lines 5739-5814
5739                        return l.className = f, l.appendChild(i.Ar), l.appendChild(i.jr), i.Rr = [], i.mn = !0, i
5740                    }
5741
5742                    return lu(n, t), n.prototype.Pr = function (t) {
5743                        for (var n = {}, i = [], r = !0, e = t.layerStatesArray, o = 0, s = e.length; o < s; ++o) {
5744                            var a = e[o];
5745                            if (ws(a, t.viewState)) {
5746                                var u = a.layer.getSource();
5747                                if (u) {
5748                                    var c = u.getAttributions();
5749                                    if (c) {
5750                                        var h = c(t);
5751                                        if (h) if (r = r && !1 !== u.getAttributionsCollapsible(), Array.isArray(h)) for (var f = 0, l = h.length; f < l; ++f) h[f] in n || (i.push(h[f]), n[h[f]] = !0); else h in n || (i.push(h), n[h] = !0)
5752                                    }
5753                                }
5754                            }
5755                        }
5756                        return this.Mr || this.setCollapsible(r), i
5757                    }, n.prototype.Ir = function (t) {
5758                        if (t) {
5759                            var n = this.Pr(t), i = n.length > 0;
5760                            if (this.mn != i && (this.element.style.display = i ? "" : "none", this.mn = i), !x(n, this.Rr)) {
5761                                Co(this.jr);
5762                                for (var r = 0, e = n.length; r < e; ++r) {
5763                                    var o = document.createElement("li");
5764                                    o.innerHTML = n[r], this.jr.appendChild(o)
5765                                }
5766                                this.Rr = n
5767                            }
5768                        } else this.mn && (this.element.style.display = "none", this.mn = !1)
5769                    }, n.prototype.Cr = function (t) {
5770                        t.preventDefault(), this.Nr(), this.kr = this.Sr
5771                    }, n.prototype.Nr = function () {
5772                        this.element.classList.toggle(As), this.Sr ? Eo(this.Tr, this.Er) : Eo(this.Er, this.Tr), this.Sr = !this.Sr, this.Ar.setAttribute("aria-expanded", String(!this.Sr))
5773                    }, n.prototype.getCollapsible = function () {
5774                        return this._r
5775                    }, n.prototype.setCollapsible = function (t) {
5776                        this._r !== t && (this._r = t, this.element.classList.toggle("ol-uncollapsible"), this.kr && this.Nr())
5777                    }, n.prototype.setCollapsed = function (t) {
5778                        this.kr = t, this._r && this.Sr !== t && this.Nr()
5779                    }, n.prototype.getCollapsed = function () {
5780                        return this.Sr
5781                    }, n.prototype.render = function (t) {
5782                        this.Ir(t.frameState)
5783                    }, n
5784                }(fu), du = function () {
5785                    var t = function (n, i) {
5786                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5787                            t.__proto__ = n
5788                        } || function (t, n) {
5789                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5790                        })(n, i)
5791                    };
5792                    return function (n, i) {
5793                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5794
5795                        function r() {
5796                            this.constructor = n
5797                        }
5798
5799                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5800                    }
5801                }(), pu = function (t) {
5802                    function n(n) {
5803                        var i = this, r = n || {};
5804                        i = t.call(this, {
5805                            element: document.createElement("div"),
5806                            render: r.render,
5807                            target: r.target
5808                        }) || this;
5809                        var e = void 0 !== r.className ? r.className : "ol-rotate",
5810                            o = void 0 !== r.label ? r.label : "⇧",
5811                            s = void 0 !== r.compassClassName ? r.compassClassName : "ol-compass";
5812                        i.Er = null, "string" == typeof o ? (i.Er = document.createElement("span"), i.Er.className = s, i.Er.textContent = o) : (i.Er = o, i.Er.classList.add(s));
5813                        var a = r.tipLabel ? r.tipLabel : "Reset rotation", u = document.createElement("button");
5814                        u.className = e + "-reset", u.setAttribute("type", "button"), u.title = a, u.a
5814ppendChild(i.Er), u.addEventListener(G, i.Cr.bind(i), !1);
5815                        var c = e + " " + "ol-unselectable " + Es, h = i.element;
5816                        return h.className = c, h.appendChild(u), i.zr = r.resetNorth ? r.resetNorth : void 0, i.Fr = void 0 !== r.duration ? r.duration : 250, i.Lr = void 0 === r.autoHide || r.autoHide, i.Gr = void 0, i.Lr && i.element.classList.add(Ms), i
5817                    }
5818
5819                    return du(n, t), n.prototype.Cr = function (t) {
5820                        t.preventDefault(), void 0 !== this.zr ? this.zr() : this.Dr()
5821                    }, n.prototype.Dr = function () {
5822                        var t = this.getMap().getView();
5823                        if (t) {
5824                            var n = t.getRotation();
5825                            void 0 !== n && (this.Fr > 0 && n % (2 * Math.PI) != 0 ? t.animate({
5826                                rotation: 0,
5827                                duration: this.Fr,
5828                                easing: wt
5829                            }) : t.setRotation(0))
5830                        }
5831                    }, n.prototype.render = function (t) {
5832                        var n = t.frameState;
5833                        if (n) {
5834                            var i = n.viewState.rotation;
5835                            if (i != this.Gr) {
5836                                var r = "rotate(" + i + "rad)";
5837                                if (this.Lr) {
5838                                    var e = this.element.classList.contains(Ms);
5839                                    e || 0 !== i ? e && 0 !== i && this.element.classList.remove(Ms) : this.element.classList.add(Ms)
5840                                }
5841                                this.Er.style.transform = r
5842                            }
5843                            this.Gr = i
5844                        }
5845                    }, n
5846                }(fu), yu = function () {
5847                    var t = function (n, i) {
5848                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5849                            t.__proto__ = n
5850                        } || function (t, n) {
5851                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5852                        })(n, i)
5853                    };
5854                    return function (n, i) {
5855                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5856
5857                        function r() {
5858                            this.constructor = n
5859                        }
5860
5861                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5862                    }
5863                }(), mu = function (t) {
5864                    function n(n) {
5865                        var i = this, r = n || {};
5866                        i = t.call(this, {element: document.createElement("div"), target: r.target}) || this;
5867                        var e = void 0 !== r.className ? r.className : "ol-zoom", o = void 0 !== r.delta ? r.delta : 1,
5868                            s = void 0 !== r.zoomInClassName ? r.zoomInClassName : e + "-in",
5869                            a = void 0 !== r.zoomOutClassName ? r.zoomOutClassName : e + "-out",
5870                            u = void 0 !== r.zoomInLabel ? r.zoomInLabel : "+",
5871                            c = void 0 !== r.zoomOutLabel ? r.zoomOutLabel : "–",
5872                            h = void 0 !== r.zoomInTipLabel ? r.zoomInTipLabel : "Zoom in",
5873                            f = void 0 !== r.zoomOutTipLabel ? r.zoomOutTipLabel : "Zoom out",
5874                            l = document.createElement("button");
5875                        l.className = s, l.setAttribute("type", "button"), l.title = h, l.appendChild("string" == typeof u ? document.createTextNode(u) : u), l.addEventListener(G, i.Cr.bind(i, o), !1);
5876                        var v = document.createElement("button");
5877                        v.className = a, v.setAttribute("type", "button"), v.title = f, v.a
5877ppendChild("string" == typeof c ? document.createTextNode(c) : c), v.addEventListener(G, i.Cr.bind(i, -o), !1);
5878                        var d = e + " " + "ol-unselectable " + Es, p = i.element;
5879                        return p.className = d, p.appendChild(l), p.appendChild(v), i.Fr = void 0 !== r.duration ? r.duration : 250, i
5880                    }
5881
5882                    return yu(n, t), n.prototype.Cr = function (t, n) {
5883                        n.preventDefault(), this.Ur(t)
5884                    }, n.prototype.Ur = function (t) {
5885                        var n = this.getMap().getView();
5886                        if (n) {
5887                            var i = n.getZoom();
5888                            if (void 0 !== i) {
5889                                var r = n.getConstrainedZoom(i + t);
5890                                this.Fr > 0 ? (n.getAnimating() && n.cancelAnimations(), n.animate({
5891                                    zoom: r,
5892                                    duration: this.Fr,
5893                                    easing: wt
5894                                })) : n.setZoom(r)
5895                            }
5896                        }
5897                    }, n
5898                }(fu);
5899
5900                function wu(t) {
5901                    var n = t || {}, i = new ft;
5902                    return (void 0 === n.zoom || n.zoom) && i.push(new mu(n.zoomOptions)), (void 0 === n.rotate || n.rotate) && i.push(new pu(n.rotateOptions)), (void 0 === n.attribution || n.attribution) && i.push(new vu(n.attributionOptions)), i
5903                }
5904
5905                var bu = "active", gu = function () {
5906                    var t = function (n, i) {
5907                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5908                            t.__proto__ = n
5909                        } || function (t, n) {
5910                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5911                        })(n, i)
5912                    };
5913                    return function (n, i) {
5914                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5915
5916                        function r() {
5917                            this.constructor = n
5918                        }
5919
5920                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5921                    }
5922                }();
5923
5924                function xu(t, n, i) {
5925                    var r = t.getCenterInternal();
5926                    if (r) {
5927                        var e = [r[0] + n[0], r[1] + n[1]];
5928                        t.animateInternal({
5929                            duration: void 0 !== i ? i : 250,
5930                            easing: gt,
5931                            center: t.getConstrainedCenter(e)
5932                        })
5933                    }
5934                }
5935
5936                function ju(t, n, i, r) {
5937                    var e = t.getZoom();
5938                    if (void 0 !== e) {
5939                        var o = t.getConstrainedZoom(e + n), s = t.getResolutionForZoom(o);
5940                        t.getAnimating() && t.cancelAnimations(), t.animate({
5941                            resolution: s,
5942                            anchor: i,
5943                            duration: void 0 !== r ? r : 250,
5944                            easing: wt
5945                        })
5946                    }
5947                }
5948
5949                var Su = function (t) {
5950                    function n(n) {
5951                        var i = t.call(this) || this;
5952                        return i.on, i.once, i.un, n && n.handleEvent && (i.handleEvent = n.handleEvent), i.vn = null, i.setActive(!0), i
5953                    }
5954
5955                    return gu(n, t), n.prototype.getActive = function () {
5956                        return this.get(bu)
5957                    }, n.prototype.getMap = function () {
5958                        return this.vn
5959                    }, n.prototype.handleEvent = function (t) {
5960                        return !0
5961                    }, n.prototype.setActive = function (t) {
5962                        this.set(bu, t)
5963                    }, n.prototype.setMap = function (t) {
5964                        this.vn = t
5965                    }, n
5966                }(ot), ku = function () {
5967                    var t = function (n, i) {
5968                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
5969                            t.__proto__ = n
5970                        } || function (t, n) {
5971                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
5972                        })(n, i)
5973                    };
5974                    return function (n, i) {
5975                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
5976
5977                        function r() {
5978                            this.constructor = n
5979                        }
5980
5981                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
5982                    }
5983                }(), Mu = function (t) {
5984                    function n(n) {
5985                        var i = t.call(this) || this, r = n || {};
5986                        return i.qr = r.delta ? r.delta : 1, i.Fr = void 0 !== r.duration ? r.duration : 250, i
5987                    }
5988
5989                    return ku(n, t), n.prototype.handleEvent = function (t) {
5990                        var n = !1;
5991                        if (t.type == da.DBLCLICK) {
5992                            var i = t.originalEvent, r = t.map, e = t.coordinate, o = i.shift
5992Key ? -this.qr : this.qr;
5993                            ju(r.getView(), o, e, this.Fr), i.preventDefault(), n = !0
5994                        }
5995                        return !n
5996                    }, n
5997                }(Su), _u = function () {
5998                    var t = function (n, i) {
5999                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6000                            t.__proto__ = n
6001                        } || function (t, n) {
6002                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6003                        })(n, i)
6004                    };
6005                    return function (n, i) {
6006                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6007
6008                        function r() {
6009                            this.constructor = n
6010                        }
6011
6012                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6013                    }
6014                }();
6015
6016                function Ou(t) {
6017                    for (var n = t.length, i = 0, r = 0, e = 0; e < n; e++) i += t[e].clientX, r += t[e].clientY;
6018                    return [i / n, r / n]
6019                }
6020
6021                var Tu = function (t) {
6022                    function n(n) {
6023                        var i = this, r = n || {};
6024                        return i = t.call(this, r) || this, r.handleDownEvent && (i.handleDownEvent = r.handleDownEvent), r.handleDragEvent && (i.handleDragEvent = r.handleDragEvent), r.handleMoveEvent && (i.handleMoveEvent = r.handleMoveEvent), r.handleUpEvent && (i.handleUpEvent = r.handleUpEvent), r.stopDown && (i.stopDown = r.stopDown), i.handlingDownUpSequence = !1, i.Br = {}, i.targetPointers = [], i
6025                    }
6026
6027                    return _u(n, t), n.prototype.getPointerCount = function () {
6028                        return this.targetPointers.length
6029                    }, n.prototype.handleDownEvent = function (t) {
6030                        return !1
6031                    }, n.prototype.handleDragEvent = function (t) {
6032                    }, n.prototype.handleEvent = function (t) {
6033                        if (!t.originalEvent) return !0;
6034                        var n = !1;
6035                        if (this.Wr(t), this.handlingDownUpSequence) {
6036                            if (t.type == da.POINTERDRAG) this.handleDragEvent(t), t.originalEvent.preventDefault(); else if (t.type == da.POINTERUP) {
6037                                var i = this.handleUpEvent(t);
6038                                this.handlingDownUpSequence = i && this.targetPointers.length > 0
6039                            }
6040                        } else if (t.type == da.POINTERDOWN) {
6041                            var r = this.handleDownEvent(t);
6042                            this.handlingDownUpSequence = r, n = this.stopDown(r)
6043                        } else t.type == da.POINTERMOVE && this.handleMoveEvent(t);
6044                        return !n
6045                    }, n.prototype.handleMoveEvent = function (t) {
6046                    }, n.prototype.handleUpEvent = function (t) {
6047                        return !1
6048                    }, n.prototype.stopDown = function (t) {
6049                        return t
6050                    }, n.prototype.Wr = function (t) {
6051                        if (function (t) {
6052                            var n = t.type;
6053                            return n === da.POINTERDOWN || n === da.POINTERDRAG || n === da.POINTERUP
6054                        }(t)) {
6055                            var n = t.originalEvent, i = n.pointerId.toString();
6056                            t.type == da.POINTERUP ? delete this.Br[i] : (t.type == da.POINTERDOWN || i in this.Br) && (this.Br[i] = n), this.targetPointers = C(this.Br)
6057                        }
6058                    }, n
6059                }(Su);
6060
6061                function Eu(t) {
6062                    var n = arguments;
6063                    return function (t) {
6064                        for (var i = !0, r = 0, e = n.length; r < e && (i = i && n[r](t)); ++r) ;
6065                        return i
6066                    }
6067                }
6068
6069                var Au = function (t) {
6070                    var n = t.originalEvent;
6071                    return n.altKey && !(n.metaKey || n.ctrlKey) && !n.shiftKey
6072                }, Cu = function (t) {
6073                    var n = t.originalEvent;
6074                    return n.altKey && !(n.metaKey || n.ctrlKey) && n.shiftKey
6075                }, Ru = function (t) {
6076                    var n = t.map.getTargetElement(), i = t.map.getOwnerDocument().activeElement;
6077                    return n.contains(i)
6078                }, Pu = function (t) {
6079                    return !t.map.getTargetElement().hasAttribute("tabindex") || Ru(t)
6080                }, Iu = k, Nu = function (t) {
6081                    var n = t.originalEvent;
6082                    return 0 == n.button && !(Bt && Wt && n.ctrlKey)
6083                }, zu = M, Fu = function (t) {
6084                    return t.type == da.SINGLECLICK
6085                }, Lu = function (t) {
6086                    var n = t.originalEvent;
6087                    return !n.altKey && !(n.metaKey || n.ctrlKey) && !n.shiftKey
6088                }, Gu = function (t) {
6089                    var n = t.originalEvent;
6090                    return !n.altKey && !(n.metaKey || n.ctrlKey) && n.shiftKey
6091                }, Du = function (t) {
6092                    var n = t.originalEvent.target.tagName;
6093                    return "INPUT" !== n && "SELECT" !== n && "TEXTAREA" !== n
6094                }, Uu = function (t) {
6095                    var n = t.originalEvent;
6096                    return Mt(void 0 !== n, 56), "mouse" == n.pointerType
6097                }, qu = function (t) {
6098                    var n = t.originalEvent;
6099                    return Mt(void 0 !== n, 56), n.isPrimary && 0 === n.button
6100                }, Bu = function () {
6101                    var t = function (n, i) {
6102                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6103                            t.__proto__ = n
6104                        } || function (t, n) {
6105                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6106                        })(n, i)
6107                    };
6108                    return function (n, i) {
6109                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6110
6111                        function r() {
6112                            this.constructor = n
6113                        }
6114
6115                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6116                    }
6117                }(), Wu = function (t) {
6118                    function n(n) {
6119                        var i = t.call(this, {stopDown: M}) || this, r = n || {};
6120                        i.Vr = r.kinetic, i.lastCentroid = null, i.Xr, i.Hr = !1;
6121                        var e = r.condition ? r.condition : Eu(Lu, qu);
6122                        return i.Jr = r.onFocusOnly ? Eu(Pu, e) : e, i.Kr = !1, i
6123                    }
6124
6125                    return Bu(n, t), n.prototype.handleDragEvent = function (t) {
6126                        this.Hr || (this.Hr = !0, this.getMap().getView().beginInteraction());
6127                        var n = this.targetPointers, i = Ou(n);
6128                        if (n.length == this.Xr) {
6129                            if (this.Vr && this.Vr.update(i[0], i[1]), this.lastCentroid) {
6130                                var r = [this.lastCentroid[0] - i[0], i[1] - this.lastCentroid[1]], e = t.map.getView();
6131                                nr(r, e.getResolution()), tr(r, e.getRotation()), e.adjustCenterInternal(r)
6132                            }
6133                        } else this.Vr && this.Vr.begin();
6134                        this.lastCentroid = i, this.Xr = n.length, t.originalEvent.preventDefault()
6135                    }, n.prototype.handleUpEvent = function (t) {
6136                        var n = t.map, i = n.getView();
6137                        if (0 === this.targetPointers.length) {
6138                            if (!this.Kr && this.Vr && this.Vr.end()) {
6139                                var r = this.Vr.getDistance(), e = this.Vr.getAngle(), o = i.getCenterInternal(),
6140                                    s = n.getPixelFromCoordinateInternal(o),
6141                                    a = n.getCoordinateFromPixelInternal([s[0] - r * Math.cos(e), s[1] - r * Math.sin(e)]);
6142                                i.animateInternal({center: i.getConstrainedCenter(a), duration: 500, easing: wt})
6143                            }
6144                            return this.Hr && (this.Hr = !1, i.endInteraction()), !1
6145                        }
6146                        return this.Vr && this.Vr.begin(), this.lastCentroid = null, !0
6147                    }, n.prototype.handleDownEvent = function (t) {
6148                        if (this.targetPointers.length > 0 && this.Jr(t)) {
6149                            var n = t.map.getView();
6150                            return this.lastCentroid = null, n.getAnimating() && n.cancelAnimations(), this.Vr && this.Vr.begin(), this.Kr = this.targetPointers.length > 1, !0
6151                        }
6152                        return !1
6153                    }, n
6154                }(Tu), Vu = function () {
6155                    var t = function (n, i) {
6156                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6157                            t.__proto__ = n
6158                        } || function (t, n) {
6159                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6160                        })(n, i)
6161                    };
6162                    return function (n, i) {
6163                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6164
6165                        function r() {
6166                            this.constructor = n
6167                        }
6168
6169                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6170                    }
6171                }(), Xu = function (t) {
6172                    function n(n) {
6173                        var i = this, r = n || {};
6174                        return (i = t.call(this, {stopDown: M}) || this).Jr = r.condition ? r.condition : Cu, i.Yr = void 0, i.Fr = void 0 !== r.duration ? r.duration : 250, i
6175                    }
6176
6177                    return Vu(n, t), n.prototype.handleDragEvent = function (t) {
6178                        if (Uu(t)) {
6179                            var n = t.map, i = n.getView();
6180                            if (i.getConstraints().rotation !== Wa) {
6181                                var r = n.getSize(), e = t.pixel, o = Math.atan2(r[1] / 2 - e[1], e[0] - r[0] / 2);
6182                                if (void 0 !== this.Yr) {
6183                                    var s = o - this.Yr;
6184                                    i.adjustRotationInternal(-s)
6185                                }
6186                                this.Yr = o
6187                            }
6188                        }
6189                    }, n.prototype.handleUpEvent = function (t) {
6190                        return !Uu(t) || (t.map.getView().endInteraction(this.Fr), !1)
6191                    }, n.prototype.handleDownEvent = function (t) {
6192                        return !!Uu(t) && (!(!Nu(t) || !this.Jr(t)) && (t.map.getView().beginInteraction(), this.Yr = void 0, !0))
6193                    }, n
6194                }(Tu), Hu = function () {
6195                    var t = function (n, i) {
6196                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6197                            t.__proto__ = n
6198                        } || function (t, n) {
6199                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6200                        })(n, i)
6201                    };
6202                    return function (n, i) {
6203                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6204
6205                        function r() {
6206                            this.constructor = n
6207                        }
6208
6209                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6210                    }
6211                }(), Ju = function (t) {
6212                    function n(n) {
6213                        var i = t.call(this) || this;
6214                        return i.Zr = null, i.pn = document.createElement("div"), i.pn.style.position = "absolute", i.pn.style.pointerEvents = "auto", i.pn.className = "ol-box " + n, i.vn = null, i.$r = null, i.Qr = null, i
6215                    }
6216
6217                    return Hu(n, t), n.prototype.disposeInternal = function () {
6218                        this.setMap(null)
6219                    }, n.prototype.te = function () {
6220                        var t = this.$r, n = this.Qr, i = "px", r = this.pn.style;
6221                        r.left = Math.min(t[0], n[0]) + i, r.top = Math.min(t[1], n[1]) + i, r.width = Math.abs(n[0] - t[0]) + i, r.height = Math.abs(n[1] - t[1]) + i
6222                    }, n.prototype.setMap = function (t) {
6223                        if (this.vn) {
6224                            this.vn.getOverlayContainer().removeChild(this.pn);
6225                            var n = this.pn.style;
6226                            n.left = "inherit", n.top = "inherit", n.width = "inherit", n.height = "
6226inherit"
6227                        }
6228                        this.vn = t, this.vn && this.vn.getOverlayContainer().appendChild(this.pn)
6229                    }, n.prototype.setPixels = function (t, n) {
6230                        this.$r = t, this.Qr = n, this.createOrUpdateGeometry(), this.te()
6231                    }, n.prototype.createOrUpdateGeometry = function () {
6232                        var t = this.$r, n = this.Qr,
6233                            i = [t, [t[0], n[1]], n, [n[0], t[1]]].map(this.vn.getCoordinateFromPixelInternal, this.vn);
6234                        i[4] = i[0].slice(), this.Zr ? this.Zr.setCoordinates([i]) : this.Zr = new Ke([i])
6235                    }, n.prototype.getGeometry = function () {
6236                        return this.Zr
6237                    }, n
6238                }(v), Ku = function () {
6239                    var t = function (n, i) {
6240                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6241                            t.__proto__ = n
6242                        } || function (t, n) {
6243                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6244                        })(n, i)
6245                    };
6246                    return function (n, i) {
6247                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6248
6249                        function r() {
6250                            this.constructor = n
6251                        }
6252
6253                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6254                    }
6255                }(), Yu = "boxstart", Zu = "boxdrag", $u = "boxend", Qu = "boxcancel", tc = function (t) {
6256                    function n(n, i, r) {
6257                        var e = t.call(this, n) || this;
6258                        return e.coordinate = i, e.mapBrowserEvent = r, e
6259                    }
6260
6261                    return Ku(n, t), n
6262                }(f), nc = function (t) {
6263                    function n(n) {
6264                        var i = t.call(this) || this;
6265                        i.on, i.once, i.un;
6266                        var r = n || {};
6267                        return i.ne = new Ju(r.className || "ol-dragbox"), i.ie = void 0 !== r.minArea ? r.minArea : 64, r.onBoxEnd && (i.onBoxEnd = r.onBoxEnd), i.$r = null, i.Jr = r.condition ? r.condition : Nu, i.re = r.boxEndCondition ? r.boxEndCondition : i.defaultBoxEndCondition, i
6268                    }
6269
6270                    return Ku(n, t), n.prototype.defaultBoxEndCondition = function (t, n, i) {
6271                        var r = i[0] - n[0], e = i[1] - n[1];
6272                        return r * r + e * e >= this.ie
6273                    }, n.prototype.getGeometry = function () {
6274                        return this.ne.getGeometry()
6275                    }, n.prototype.handleDragEvent = function (t) {
6276                        this.ne.setPixels(this.$r, t.pixel), this.dispatchEvent(new tc(Zu, t.coordinate, t))
6277                    }, n.prototype.handleUpEvent = function (t) {
6278                        this.ne.setMap(null);
6279                        var n = this.re(t, this.$r, t.pixel);
6280                        return n && this.onBoxEnd(t), this.dispatchEvent(new tc(n ? $u : Qu, t.coordinate, t)), !1
6281                    }, n.prototype.handleDownEvent = function (t) {
6282                        return !!this.Jr(t) && (this.$r = t.pixel, this.ne.setMap(t.map), this.ne.setPixels(this.$r, this.$r), this.dispatchEvent(new tc(Yu, t.coordinate, t)), !0)
6283                    }, n.prototype.onBoxEnd = function (t) {
6284                    }, n
6285                }(Tu), ic = function () {
6286                    var t = function (n, i) {
6287                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6288                            t.__proto__ = n
6289                        } || function (t, n) {
6290                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6291                        })(n, i)
6292                    };
6293                    return function (n, i) {
6294                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6295
6296                        function r() {
6297                            this.constructor = n
6298                        }
6299
6300                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6301                    }
6302                }(), rc = function (t) {
6303                    function n(n) {
6304                        var i = this, r = n || {}, e = r.condition ? r.condition : Gu;
6305                        return (i = t.call(this, {
6306                            condition: e,
6307                            className: r.className || "ol-dragzoom",
6308                            minArea: r.minArea
6309                        }) || this).Fr = void 0 !== r.duration ? r.duration : 200, i.ee = void 0 !== r.out && r.out, i
6310                    }
6311
6312                    return ic(n, t), n.prototype.onBoxEnd = function (t) {
6313                        var n = this.getMap().getView(), i = this.getGeometry();
6314                        if (this.ee) {
6315                            var r = n.rotatedExtentForGeometry(i), e = n.getResolutionForExtentInternal(r),
6316                                o = n.getResolution() / e;
6317                            (i = i.clone()).scale(o * o)
6318                        }
6319                        n.fitInternal(i, {duration: this.Fr, easing: wt})
6320                    }, n
6321                }(nc), ec = 37, oc = 38, sc = 39, ac = 40, uc = function () {
6322                    var t = function (n, i) {
6323                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6324                            t.__proto__ = n
6325                        } || function (t, n) {
6326                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6327                        })(n, i)
6328                    };
6329                    return function (n, i) {
6330                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6331
6332                        function r() {
6333                            this.constructor = n
6334                        }
6335
6336                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6337                    }
6338                }(), cc = function (t) {
6339                    function n(n) {
6340                        var i = t.call(this) || this, r = n || {};
6341                        return i.oe = function (t) {
6342                            return Lu(t) && Du(t)
6343                        }, i.Jr = void 0 !== r.condition ? r.condition : i.oe, i.Fr = void 0 !== r.duration ? r.duration : 100, i.se = void 0 !== r.pixelDelta ? r.pixelDelta : 128, i
6344                    }
6345
6346                    return uc(n, t), n.prototype.handleEvent = function (t) {
6347                        var n = !1;
6348                        if (t.type == W) {
6349                            var i = t.originalEvent, r = i.keyCode;
6350                            if (this.Jr(t) && (r == ac || r == ec || r == sc || r == oc)) {
6351                                var e = t.map.getView(), o = e.getResolution() * this.se, s = 0, a = 0;
6352                                r == ac ? a = -o : r == ec ? s = -o : r == sc ? s = o : a = o;
6353                                var u = [s, a];
6354                                tr(u, e.getRotation()), xu(e, u, this.Fr), i.preventDefault(), n = !0
6355                            }
6356                        }
6357                        return !n
6358                    }, n
6359                }(Su), hc = function () {
6360                    var t = function (n, i) {
6361                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6362                            t.__proto__ = n
6363                        } || function (t, n) {
6364                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6365                        })(n, i)
6366                    };
6367                    return function (n, i) {
6368                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6369
6370                        function r() {
6371                            this.constructor = n
6372                        }
6373
6374                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6375                    }
6376                }(), fc = function (t) {
6377                    function n(n) {
6378                        var i = t.call(this) || this, r = n || {};
6379                        return i.Jr = r.condition ? r.condition : Du, i.qr = r.delta ? r.delta : 1, i.Fr = void 0 !== r.duration ? r.duration : 100, i
6380                    }
6381
6382                    return hc(n, t), n.prototype.handleEvent = function (t) {
6383                        var n = !1;
6384                        if (t.type == W || t.type == V) {
6385                            var i = t.originalEvent, r = i.charCo
6385de;
6386                            if (this.Jr(t) && (r == "+".charCodeAt(0) || r == "-".charCodeAt(0))) {
6387                                var e = t.map, o = r == "+".charCodeAt(0) ? this.qr : -this.qr;
6388                                ju(e.getView(), o, void 0, this.Fr), i.preventDefault(), n = !0
6389                            }
6390                        }
6391                        return !n
6392                    }, n
6393                }(Su), lc = function () {
6394                    var t = function (n, i) {
6395                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6396                            t.__proto__ = n
6397                        } || function (t, n) {
6398                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6399                        })(n, i)
6400                    };
6401                    return function (n, i) {
6402                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6403
6404                        function r() {
6405                            this.constructor = n
6406                        }
6407
6408                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6409                    }
6410                }(), vc = "trackpad", dc = "wheel", pc = function (t) {
6411                    function n(n) {
6412                        var i = this, r = n || {};
6413                        (i = t.call(this, r) || this).ae = 0, i.ue = 0, i.wt = void 0 !== r.maxDelta ? r.maxDelta : 1, i.Fr = void 0 !== r.duration ? r.duration : 250, i.ce = void 0 !== r.timeout ? r.timeout : 80, i.he = void 0 === r.useAnchor || r.useAnchor, i.fe = void 0 !== r.constrainResolution && r.constrainResolution;
6414                        var e = r.condition ? r.condition : Iu;
6415                        return i.Jr = r.onFocusOnly ? Eu(Pu, e) : e, i.le = null, i.ve = void 0, i.de, i.pe = void 0, i.ye = 400, i.me, i.we = 300, i
6416                    }
6417
6418                    return lc(n, t), n.prototype.be = function () {
6419                        this.me = void 0, this.getMap().getView().endInteraction(void 0, this.ue ? this.ue > 0 ? 1 : -1 : 0, this.le)
6420                    }, n.prototype.handleEvent = function (t) {
6421                        if (!this.Jr(t)) return !0;
6422                        if (t.type !== K) return !0;
6423                        var n, i = t.map, r = t.originalEvent;
6424                        if (r.preventDefault(), this.he && (this.le = t.coordinate), t.type == K && (n = r.deltaY, Ut && r.deltaMode === WheelEvent.DOM_DELTA_PIXEL && (n /= Vt), r.deltaMode === WheelEvent.DOM_DELTA_LINE && (n *= 40)), 0 === n) return !1;
6425                        this.ue = n;
6426                        var e = Date.now();
6427                        void 0 === this.ve && (this.ve = e), (!this.pe || e - this.ve > this.ye) && (this.pe = Math.abs(n) < 4 ? vc : dc);
6428                        var o = i.getView();
6429                        if (this.pe === vc && !o.getConstrainResolution() && !this.fe) return this.me ? clearTimeout(this.me) : (o.getAnimating() && o.cancelAnimations(), o.beginInteraction()), this.me = setTimeout(this.be.bind(this), this.ce), o.adjustZoom(-n / this.we, this.le), this.ve = e, !1;
6430                        this.ae += n;
6431                        var s = Math.max(this.ce - (e - this.ve), 0);
6432                        return clearTimeout(this.de), this.de = setTimeout(this.ge.bind(this, i), s), !1
6433                    }, n.prototype.ge = function (t) {
6434                        var n = t.getView();
6435                        n.getAnimating() && n.cancelAnimations();
6436                        var i = -ui(this.ae, -this.wt * this.we, this.wt * this.we) / this.we;
6437                        (n.getConstrainResolution() || this.fe) && (i = i ? i > 0 ? 1 : -1 : 0), ju(n, i, this.le, this.Fr), this.pe = void 0, this.ae = 0, this.le = null, this.ve = void 0, this.de = void 0
6438                    }, n.prototype.setMouseAnchor = function (t) {
6439                        this.he = t, t || (this.le = null)
6440                    }, n
6441                }(Su), yc = function () {
6442                    var t = function (n, i) {
6443                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6444                            t.__proto__ = n
6445                        } || function (t, n) {
6446                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6447                        })(n, i)
6448                    };
6449                    return function (n, i) {
6450                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6451
6452                        function r() {
6453                            this.constructor = n
6454                        }
6455
6456                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6457                    }
6458                }(), mc = function (t) {
6459                    function n(n) {
6460                        var i = this, r = n || {}, e = r;
6461                        return e.stopDown || (e.stopDown = M), (i = t.call(this, e) || this).xe = null, i.Yr = void 0, i.je = !1, i.Se = 0, i.ke = void 0 !== r.threshold ? r.threshold : .3, i.Fr = void 0 !== r.duration ? r.duration : 250, i
6462                    }
6463
6464                    return yc(n, t), n.prototype.handleDragEvent = function (t) {
6465                        var n = 0, i = this.targetPointers[0], r = this.targetPointers[1],
6466                            e = Math.atan2(r.clientY - i.clientY, r.clientX - i.clientX);
6467                        if (void 0 !== this.Yr) {
6468                            var o = e - this.Yr;
6469                            this.Se += o, !this.je && Math.abs(this.Se) > this.ke && (this.je = !0), n = o
6470                        }
6471                        this.Yr = e;
6472                        var s = t.map, a = s.getView();
6473                        if (a.getConstraints().rotation !== Wa) {
6474                            var u = s.getViewport().getBoundingClientRect(), c = Ou(this.targetPointers);
6475                            c[0] -= u.left, c[1] -= u.top, this.xe = s.getCoordinateFromPixelInternal(c), this.je && (s.render(), a.adjustRotationInternal(n, this.xe))
6476                        }
6477                    }, n.prototype.handleUpEvent = function (t) {
6478                        return !(this.targetPointers.length < 2) || (t.map.getView().endInteraction(this.Fr), !1)
6479                    }, n.prototype.handleDownEvent = function (t) {
6480                        if (this.targetPointers.length >= 2) {
6481                            var n = t.map;
6482                            return this.xe = null, this.Yr = void 0, this.je = !1, this.Se = 0, this.handlingDownUpSequence || n.getView().beginInteraction(), !0
6483                        }
6484                        return !1
6485                    }, n
6486                }(Tu), wc = function () {
6487                    var t = function (n, i) {
6488                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6489                            t.__proto__ = n
6490                        } || function (t, n) {
6491                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6492                        })(n, i)
6493                    };
6494                    return function (n, i) {
6495                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6496
6497                        function r() {
6498                            this.constructor = n
6499                        }
6500
6501                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6502                    }
6503                }(), bc = function (t) {
6504                    function n(n) {
6505                        var i = this, r = n || {}, e = r;
6506                        return e.stopDown || (e.stopDown = M), (i = t.call(this, e) || this).xe = null, i.Fr = void 0 !== r.duration ? r.duration : 400, i.Me = void 0, i._e = 1, i
6507                    }
6508
6509                    return wc(n, t), n.prototype.handleDragEvent = function (t) {
6510                        var n = 1, i = this.targetPointers[0], r = this.targetPointers[1], e = i.clientX - r.clientX,
6511                            o = i.clientY - r.clientY, s = Math.sqrt(e * e + o * o);
6512                        void 0 !== this.Me && (n = this.Me / s), this.Me = s;
6513                        var a = t.map, u = a.getView();
6514                        1 != n && (this._e = n);
6515                        var c = a.getViewport().getBoundingClientRect(), h = Ou(this.targetPointers);
6516                        h[0] -= c.left, h[1] -= c.top, this.xe = a.getCoordinateFromPixelInternal(h), a.render(), u.adjustResolutionInternal(n, this.xe)
6517                    }, n.prototype.handleUpEvent = function (t) {
6518                        if (this.targetPointers.length < 2) {
6519                            var n = t.map.getView(), i = this._e > 1 ? 1 : -1;
6520                            return n.endInteraction(this.Fr, i), !1
6521                        }
6522                        return !0
6523                    }, n.prototype.handleDownEvent = function (t) {
6524                        if (this.targetPointers.length >= 2) {
6525                            var n = t.map;
6526                            return this.xe = null, this.Me = void 0, this._e = 1, this.handlingDownUpSequence || n.getView().beginInteraction(), !0
6527                        }
6528                        return !1
6529                    }, n
6530                }(Tu);
6531
6532                function gc(t) {
6533                    var n = t || {}, i = new ft, r = new No(-.005, .05, 100);
6534                    return (void 0 === n.altShiftDragRotate || n.altShiftDragRotate) && i.push(new Xu), (void 0 === n.doubleClickZoom || n.doubleClickZoom) && i.push(new Mu({
6535                        delta: n.zoomDelta,
6536                        duration: n.zoomDuration
6537                    })), (void 0 === n.dragPan || n.dragPan) && i.push(new Wu({
6538                        onFocusOnly: n.onFocusOnly,
6539                        kinetic: r
6540                    })), (void 0 === n.pinchRotate || n.pinchRotate) && i.push(new mc), (void 0 === n.pinchZoom || n.pinchZoom) && i.push(new bc({duration: n.zoomDuration})), (void 0 === n.keyboard || n.keyboard) && (i.push(new cc), i.push(new fc({
6541                        delta: n.zoomDelta,
6542                        duration: n.zoomDuration
6543                    }))), (void 0 === n.mouseWheelZoom || n.mouseWheelZoom) && i.push(new pc({
6544                        onFocusOnly: n.onFocusOnly,
6545                        duration: n.zoomDuration
6546                    })), (void 0 === n.shiftDragZoom || n.shiftDragZoom) && i.push(new rc({duration: n.zoomDuration})), i
6547                }
6548
6549                var xc = function () {
6550                        var t = function (n, i) {
6551                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6552                                t.__proto__ = n
6553                            } || function (t, n) {
6554                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6555                            })(n, i)
6556                        };
6557                        return function (n, i) {
6558                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6559
6560                            function r() {
6561                                this.constructor = n
6562                            }
6563
6564                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6565                        }
6566                    }(), jc = function (t) {
6567                        function n(n) {
6568                            return (n = E({}, n)).controls || (n.controls = wu()), n.interactions || (n.interactions = gc({onFocusOnly: !0})), t.call(this, n) || this
6569                        }
6570
6571                        return xc(n, t), n.prototype.createRenderer = function () {
6572                            return new oa(this)
6573                        }, n
6574                    }(cu), Sc = "bottom-left", kc = "bottom-center", Mc = "bottom-right", _c = "center-left",
6575                    Oc = "center-center", Tc = "center-right", Ec = "to
6575p-left", Ac = "top-center", Cc = "top-right";
6576
6577                function Rc(t) {
6578                    return (Rc = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
6579                        return typeof t
6580                    } : function (t) {
6581                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
6582                    })(t)
6583                }
6584
6585                var Pc = function () {
6586                    var t = function (n, i) {
6587                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6588                            t.__proto__ = n
6589                        } || function (t, n) {
6590                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6591                        })(n, i)
6592                    };
6593                    return function (n, i) {
6594                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6595
6596                        function r() {
6597                            this.constructor = n
6598                        }
6599
6600                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6601                    }
6602                }(), Ic = "element", Nc = "map", zc = "offset", Fc = "position", Lc = "positioning", Gc = function (t) {
6603                    function n(n) {
6604                        var i = t.call(this) || this;
6605                        i.on, i.once, i.un, i.options = n, i.id = n.id, i.insertFirst = void 0 === n.insertFirst || n.insertFirst, i.stopEvent = void 0 === n.stopEvent || n.stopEvent, i.element = document.createElement("div"), i.element.className = void 0 !== n.className ? n.className : "ol-overlay-container ol-selectable", i.element.style.position = "absolute", i.element.style.pointerEvents = "auto";
6606                        var r = n.autoPan;
6607                        return r && "object" !== Rc(r) && (r = {
6608                            animation: n.autoPanAnimation,
6609                            margin: n.autoPanMargin
6610                        }), i.autoPan = r || !1, i.rendered = {
6611                            _t: "",
6612                            visible: !0
6613                        }, i.mapPostrenderListenerKey = null, i.addChangeListener(Ic, i.handleElementChanged), i.addChangeListener(Nc, i.handleMapChanged), i.addChangeListener(zc, i.handleOffsetChanged), i.addChangeListener(Fc, i.handlePositionChanged), i.addChangeListener(Lc, i.handlePositioningChanged), void 0 !== n.element && i.setElement(n.element), i.setOffset(void 0 !== n.offset ? n.offset : [0, 0]), i.setPositioning(void 0 !== n.positioning ? n.positioning : Ec), void 0 !== n.position && i.setPosition(n.position), i
6614                    }
6615
6616                    return Pc(n, t), n.prototype.getElement = function () {
6617                        return this.get(Ic)
6618                    }, n.prototype.getId = function () {
6619                        return this.id
6620                    }, n.prototype.getMap = function () {
6621                        return this.get(Nc) || null
6622                    }, n.prototype.getOffset = function () {
6623                        return this.get(zc)
6624                    }, n.prototype.getPosition = function () {
6625                        return this.get(Fc)
6626                    }, n.prototype.getPositioning = function () {
6627                        return this.get(Lc)
6628                    }, n.prototype.handleElementChanged = function () {
6629                        Co(this.element);
6630                        var t = this.getElement();
6631                        t && this.element.appendChild(t)
6632                    }, n.prototype.handleMapChanged = function () {
6633                        this.mapPostrenderListenerKey && (Ao(this.element), $(this.mapPostrenderListenerKey), this.mapPostrenderListenerKey = null);
6634                        var t = this.getMap();
6635                        if (t) {
6636                            this.mapPostrenderListenerKey = Y(t, xa, this.render, this), this.updatePixelPosition();
6637                            var n = this.stopEvent ? t.getOverlayContainerStopEvent() : t.getOverlayContainer();
6638                            this.insertFirst ? n.insertBefore(this.element, n.childNodes[0] || null) : n.appendChild(this.element), this.performAutoPan()
6639                        }
6640                    }, n.prototype.render = function () {
6641                        this.updatePixelPosition()
6642                    }, n.prototype.handleOffsetChanged = function () {
6643                        this.updatePixelPosition()
6644                    }, n.prototype.handlePositionChanged = function () {
6645                        this.updatePixelPosition(), this.performAutoPan()
6646                    }, n.prototype.handlePositioningChanged = function () {
6647                        this.updatePixelPosition()
6648                    }, n.prototype.setElement = function (t) {
6649                        this.set(Ic, t)
6650                    }, n.prototype.setMap = function (t) {
6651                        this.set(Nc, t)
6652                    }, n.prototype.setOffset = function (t) {
6653                        this.set(zc, t)
6654                    }, n.prototype.setPosition = function (t) {
6655                        this.set(Fc, t)
6656                    }, n.prototype.performAutoPan = function () {
6657                        this.autoPan && this.panIntoView(this.autoPan)
6658                    }, n.prototype.panIntoView = function (t) {
6659                        var n = this.getMap();
6660                        if (n && n.getTargetElement() && this.get(Fc)) {
6661                            var i = this.getRect(n.getTargetElement(), n.getSize()), r = this.getElement(),
6662                                e = this.getRect(r, [Oo(r), To(r)]), o = t || {},
6663                                s = void 0 === o.margin ? 20 : o.margin;
6664                            if (!_n(i, e)) {
6665                                var a = e[0] - i[0], u = i[2] - e[2], c = e[1] - i[1], h = i[3] - e[3], f = [0, 0];
6666                                if (a < 0 ? f[0] = a - s : u < 0 && (f[0] = Math.abs(u) + s), c < 0 ? f[1] = c - s : h < 0 && (f[1] = Math.abs(h) + s), 0 !== f[0] || 0 !== f[1]) {
6667                                    var l = n.getView().getCenterInternal(), v = n.getPixelFromCo
vendor: 13,005 bytes, lines 6667-6891
6667ordinateInternal(l);
6668                                    if (!v) return;
6669                                    var d = [v[0] + f[0], v[1] + f[1]], p = o.animation || {};
6670                                    n.getView().animateInternal({
6671                                        center: n.getCoordinateFromPixelInternal(d),
6672                                        duration: p.duration,
6673                                        easing: p.easing
6674                                    })
6675                                }
6676                            }
6677                        }
6678                    }, n.prototype.getRect = function (t, n) {
6679                        var i = t.getBoundingClientRect(), r = i.left + window.pageXOffset,
6680                            e = i.top + window.pageYOffset;
6681                        return [r, e, r + n[0], e + n[1]]
6682                    }, n.prototype.setPositioning = function (t) {
6683                        this.set(Lc, t)
6684                    }, n.prototype.setVisible = function (t) {
6685                        this.rendered.visible !== t && (this.element.style.display = t ? "" : "none", this.rendered.visible = t)
6686                    }, n.prototype.updatePixelPosition = function () {
6687                        var t = this.getMap(), n = this.getPosition();
6688                        if (t && t.isRendered() && n) {
6689                            var i = t.getPixelFromCoordinate(n), r = t.getSize();
6690                            this.updateRenderedPosition(i, r)
6691                        } else this.setVisible(!1)
6692                    }, n.prototype.updateRenderedPosition = function (t, n) {
6693                        var i = this.element.style, r = this.getOffset(), e = this.getPositioning();
6694                        this.setVisible(!0);
6695                        var o = Math.round(t[0] + r[0]) + "px", s = Math.round(t[1] + r[1]) + "px", a = "0%", u = "0%";
6696                        e == Mc || e == Tc || e == Cc ? a = "-100%" : e != kc && e != Oc && e != Ac || (a = "-50%"), e == Sc || e == kc || e == Mc ? u = "-100%" : e != _c && e != Oc && e != Tc || (u = "-50%");
6697                        var c = "translate(".concat(a, ", ").concat(u, ") translate(").concat(o, ", ").concat(s, ")");
6698                        this.rendered._t != c && (this.rendered._t = c, i.transform = c, i.msTransform = c)
6699                    }, n.prototype.getOptions = function () {
6700                        return this.options
6701                    }, n
6702                }(ot), Dc = function () {
6703                    function t(t) {
6704                        this.highWaterMark = void 0 !== t ? t : 2048, this.Oe = 0, this.Te = {}, this.Ee = null, this.Ae = null
6705                    }
6706
6707                    return t.prototype.canExpireCache = function () {
6708                        return this.highWaterMark > 0 && this.getCount() > this.highWaterMark
6709                    }, t.prototype.expireCache = function (t) {
6710                        for (; this.canExpireCache();) this.pop()
6711                    }, t.prototype.clear = function () {
6712                        this.Oe = 0, this.Te = {}, this.Ee = null, this.Ae = null
6713                    }, t.prototype.containsKey = function (t) {
6714                        return this.Te.hasOwnProperty(t)
6715                    }, t.prototype.forEach = function (t) {
6716                        for (var n = this.Ee; n;) t(n.Ce, n.Re, this), n = n.newer
6717                    }, t.prototype.get = function (t, n) {
6718                        var i = this.Te[t];
6719                        return Mt(void 0 !== i, 15), i === this.Ae || (i === this.Ee ? (this.Ee = this.Ee.newer, this.Ee.older = null) : (i.newer.older = i.older, i.older.newer = i.newer), i.newer = null, i.older = this.Ae, this.Ae.newer = i, this.Ae = i), i.Ce
6720                    }, t.prototype.remove = function (t) {
6721                        var n = this.Te[t];
6722                        return Mt(void 0 !== n, 15), n === this.Ae ? (this.Ae = n.older, this.Ae && (this.Ae.newer = null)) : n === this.Ee ? (this.Ee = n.newer, this.Ee && (this.Ee.older = null)) : (n.newer.older = n.older, n.older.newer = n.newer), delete this.Te[t], --this.Oe, n.Ce
6723                    }, t.prototype.getCount = function () {
6724                        return this.Oe
6725                    }, t.prototype.getKeys = function () {
6726                        var t, n = new Array(this.Oe), i = 0;
6727                        for (t = this.Ae; t; t = t.older) n[i++] = t.Re;
6728                        return n
6729                    }, t.prototype.getValues = function () {
6730                        var t, n = new Array(this.Oe), i = 0;
6731                        for (t = this.Ae; t; t = t.older) n[i++] = t.Ce;
6732                        return n
6733                    }, t.prototype.peekLast = function () {
6734                        return this.Ee.Ce
6735                    }, t.prototype.peekLastKey = function () {
6736                        return this.Ee.Re
6737                    }, t.prototype.peekFirstKey = function () {
6738                        return this.Ae.Re
6739                    }, t.prototype.pop = function () {
6740                        var t = this.Ee;
6741                        return delete this.Te[t.Re], t.newer && (t.newer.older = null), this.Ee = t.newer, this.Ee || (this.Ae = null), --this.Oe, t.Ce
6742                    }, t.prototype.replace = function (t, n) {
6743                        this.get(t), this.Te[t].Ce = n
6744                    }, t.prototype.set = function (t, n) {
6745                        Mt(!(t in this.Te), 16);
6746                        var i = {Re: t, newer: null, older: this.Ae, Ce: n};
6747                        this.Ae ? this.Ae.newer = i : this.Ee = i, this.Ae = i, this.Te[t] = i, ++this.Oe
6748                    }, t.prototype.setSize = function (t) {
6749                        this.highWaterMark = t
6750                    }, t
6751                }();
6752
6753                function Uc(t, n, i, r) {
6754                    return void 0 !== r ? (r[0] = t, r[1] = n, r[2] = i, r) : [t, n, i]
6755                }
6756
6757                function qc(t, n, i) {
6758                    return t + "/" + n + "/" + i
6759                }
6760
6761                function Bc(t) {
6762                    return qc(t[0], t[1], t[2])
6763                }
6764
6765                function Wc(t) {
6766                    var n = t.substring(t.lastIndexOf("/") + 1, t.length).split(",").map(Number);
6767                    return qc(n[0], n[1], n[2])
6768                }
6769
6770                function Vc(t) {
6771                    return t.split("/").map(Number)
6772                }
6773
6774                function Xc(t) {
6775                    return (t[1] << t[0]) + t[2]
6776                }
6777
6778                function Hc(t, n) {
6779                    var i = t[0], r = t[1], e = t[2];
6780                    if (n.getMinZoom() > i || i > n.getMaxZoom()) return !1;
6781                    var o = n.getFullTileRange(i);
6782                    return !o || o.containsXY(r, e)
6783                }
6784
6785                var Jc = function () {
6786                    var t = function (n, i) {
6787                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6788                            t.__proto__ = n
6789                        } || function (t, n) {
6790                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6791                        })(n, i)
6792                    };
6793                    return function (n, i) {
6794                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6795
6796                        function r() {
6797                            this.constructor = n
6798                        }
6799
6800                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6801                    }
6802                }(), Kc = function (t) {
6803                    function n() {
6804                        return null !== t && t.apply(this, arguments) || this
6805                    }
6806
6807                    return Jc(n, t), n.prototype.expireCache = function (t) {
6808                        for (; this.canExpireCache();) {
6809                            if (this.peekLast().getKey() in t) break;
6810                            this.pop().release()
6811                        }
6812                    }, n.prototype.pruneExceptNewestZ = function () {
6813                        if (0 !== this.getCount()) {
6814                            var t = Vc(this.peekFirstKey())[0];
6815                            this.forEach(function (n) {
6816                                n.tileCoord[0] !== t && (this.remove(Bc(n.tileCoord)), n.release())
6817                            }.bind(this))
6818                        }
6819                    }, n
6820                }(Dc), Yc = function () {
6821                    function t(t, n, i, r) {
6822                        this.minX = t, this.maxX = n, this.minY = i, this.maxY = r
6823                    }
6824
6825                    return t.prototype.contains = function (t) {
6826                        return this.containsXY(t[1], t[2])
6827                    }, t.prototype.containsTileRange = function (t) {
6828                        return this.minX <= t.minX && t.maxX <= this.maxX && this.minY <= t.minY && t.maxY <= this.maxY
6829                    }, t.prototype.containsXY = function (t, n) {
6830                        return this.minX <= t && t <= this.maxX && this.minY <= n && n <= this.maxY
6831                    }, t.prototype.equals = function (t) {
6832                        return this.minX == t.minX && this.minY == t.minY && this.maxX == t.maxX && this.maxY == t.maxY
6833                    }, t.prototype.extend = function (t) {
6834                        t.minX < this.minX && (this.minX = t.minX), t.maxX > this.maxX && (this.maxX = t.maxX), t.minY < this.minY && (this.minY = t.minY), t.maxY > this.maxY && (this.maxY = t.maxY)
6835                    }, t.prototype.getHeight = function () {
6836                        return this.maxY - this.minY + 1
6837                    }, t.prototype.getSize = function () {
6838                        return [this.getWidth(), this.getHeight()]
6839                    }, t.prototype.getWidth = function () {
6840                        return this.maxX - this.minX + 1
6841                    }, t.prototype.intersects = function (t) {
6842                        return this.minX <= t.maxX && this.maxX >= t.minX && this.minY <= t.maxY && this.maxY >= t.minY
6843                    }, t
6844                }();
6845
6846                function Zc(t, n, i, r, e) {
6847                    return void 0 !== e ? (e.minX = t, e.maxX = n, e.minY = i, e.maxY = r, e) : new Yc(t, n, i, r)
6848                }
6849
6850                var $c = Yc, Qc = function () {
6851                    var t = function (n, i) {
6852                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6853                            t.__proto__ = n
6854                        } || function (t, n) {
6855                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6856                        })(n, i)
6857                    };
6858                    return function (n, i) {
6859                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6860
6861                        function r() {
6862                            this.constructor = n
6863                        }
6864
6865                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6866                    }
6867                }(), th = [], nh = function (t) {
6868                    function n(n, i, r, e) {
6869                        var o = t.call(this, n, i, {transition: 0}) || this;
6870                        return o.Pe = {}, o.executorGroups = {}, o.declutterExecutorGroups = {}, o.loadingSourceTiles = 0, o.hitDetectionImageData = {}, o.Ne = {}, o.sourceTiles = [], o.errorTileKeys = {}, o.wantedResolution, o.getSourceTiles = e.bind(void 0, o), o.wrappedTileCoord = r, o
6871                    }
6872
6873                    return Qc(n, t), n.prototype.getContext = function (t) {
6874                        var n = o(t);
6875                        return n in this.Pe || (this.Pe[n] = _o(1, 1, th)), this.Pe[n]
6876                    }, n.prototype.hasContext = function (t) {
6877                        return o(t) in this.Pe
6878                    }, n.prototype.getImage = function (t) {
6879                        return this.hasContext(t) ? this.getContext(t).canvas : null
6880                    }, n.prototype.getReplayState = function (t) {
6881                        var n = o(t);
6882                        return n in this.Ne || (this.Ne[n] = {
6883                            dirty: !1,
6884                            renderedRenderOrder: null,
6885                            renderedResolution: NaN,
6886                            renderedRevision: -1,
6887                            renderedTileResolution: NaN,
6888                            renderedTileRevision: -1,
6889                            renderedTileZ: -1
6890                        }), this.Ne[n]
6891                    }, n.prototype.load = function () {
6892                        this.getSourceTiles()
6893                    }, n.prototype.release = function () {
6894                        for (var n in this.Pe) th.push(this.Pe[n].canvas), delete this.Pe[n];
6895                        t.prototype.release.call(this)
6896                    }, n
6897                }(jt), ih = function () {
6898                    var t = function (n, i) {
6899                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6900                            t.__proto__ = n
6901                        } || function (t, n) {
6902                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6903                        })(n, i)
6904                    };
6905                    return function (n, i) {
6906                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6907
6908                        function r() {
6909                            this.constructor = n
6910                        }
6911
6912                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6913                    }
6914                }(), rh = function (t) {
6915                    function n(n, i, r, e, o, s) {
6916                        var a = t.call(this, n, i, s) || this;
6917                        return a.extent = null, a.ze = e, a.Fe = null, a.q, a.projection = null, a.resolution, a.Wt = o, a.Le = r, a.key = r, a
6918                    }
6919
6920                    return ih(n, t), n.prototype.getFormat = function () {
6921                        return this.ze
6922                    }, n.prototype.getFeatures = function () {
6923                        return this.Fe
6924                    }, n.prototype.load = function () {
6925                        this.state == lt && (this.setState(vt), this.Wt(this, this.Le), this.q && this.q(this.extent, this.resolution, this.projection))
6926                    }, n.prototype.onLoad = function (t, n) {
6927                        this.setFeatures(t)
6928                    }, n.prototype.onError = function () {
6929                        this.setState(pt)
6930                    }, n.prototype.setFeatures = function (t) {
6931                        this.Fe = t, this.setState(dt)
6932                    }, n.prototype.setLoader = function (t) {
6933                        this.q = t
6934                    }, n
6935                }(jt);
6936
6937                function eh(t) {
6938                    return Array.isArray(t) ? Bo(t) : t
6939                }
6940
6941                var oh = "arraybuffer", sh = "json", ah = "text", uh = "xml", ch = !1;
6942
6943                function hh(t, n, i, r, e, o, s) {
6944                    var a = new XMLHttpRequest;
6945                    a.open("GET", "function" == typeof t ? t(i, r, e) : t, !0), n.getType() == oh && (a.responseType = "arraybuffer"), a.withCredentials = ch, a.onload = function (t) {
6946                        if (!a.status || a.status >= 200 && a.status < 300) {
6947                            var r = n.getType(), u = void 0;
6948                            r == sh || r == ah ? u = a.responseText : r == uh ? (u = a.responseXML) || (u = (new DOMParser).parseFromString(a.responseText, "application/xml")) : r == oh && (u = a.response), u ? o(n.readFeatures(u, {
6949                                extent: i,
6950                                featureProjection: e
6951                            }), n.readProjection(u)) : s()
6952                        } else s()
6953                    }, a.onerror = s, a.send()
6954                }
6955
6956                function fh(t, n) {
6957                    return function (i, r, e, o, s) {
6958                        var a = this;
6959                        hh(t, n, i, r, e, (function (t, n) {
6960                            a.addFeatures(t), void 0 !== o && o(t)
6961                        }), s || _)
6962                    }
6963                }
6964
6965                function lh(t, n) {
6966                    return [[-1 / 0, -1 / 0, 1 / 0, 1 / 0]]
6967                }
6968
6969                var vh = function () {
6970                    var t = function (n, i) {
6971                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
6972                            t.__proto__ = n
6973                        } || function (t, n) {
6974                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
6975                        })(n, i)
6976                    };
6977                    return function (n, i) {
6978                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
6979
6980                        function r() {
6981                            this.constructor = n
6982                        }
6983
6984                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
6985                    }
6986                }();
6987
6988                function dh(t, n, i, r) {
6989                    var e = document.createElement("script"), s = "olc_" + o(n);
6990
6991                    function a() {
6992                        delete window[s], e.parentNode.removeChild(e)
6993                    }
6994
6995                    e.async = !0, e.src = t + (-1 == t.indexOf("?") ? "?" : "&") + (r || "callback") + "=" + s;
6996                    var u = setTimeout((function () {
6997                        a(), i && i()
6998                    }), 1e4);
6999                    window[s] = function (t) {
7000                        clearTimeout(u), a(), n(t)
7001                    }, document.getElementsByTagName("head")[0].appendChild(e)
7002                }
7003
7004                var ph, yh = function (t) {
7005                    function n(n) {
7006                        var i = this, r = "Unexpected response status: " + n.status;
7007                        return (i = t.call(this, r) || this).name = "ResponseError", i.response = n, i
7008                    }
7009
7010                    return vh(n, t), n
7011                }(Error), mh = function (t) {
7012                    function n(n) {
7013                        var i = t.call(this, "Failed to issue request") || this;
7014                        return i.name = "ClientError", i.client = n, i
7015                    }
7016
7017                    return vh(n, t), n
7018                }(Error);
7019
7020                function wh(t) {
7021                    return new Promise((function (n, i) {
7022                        var r = new XMLHttpRequest;
7023                        r.addEventListener("load", (function (t) {
7024                            var r = t.target;
7025                            if (!r.status || r.status >= 200 && r.status < 300) {
7026                                var e = void 0;
7027                                try {
7028                                    e = JSON.parse(r.responseText)
7029                                } catch (t) {
vendor: 14,809 bytes, lines 7030-7242
7030                                    var o = "Error parsing response text as JSON: " + t.message;
7031                                    return void i(new Error(o))
7032                                }
7033                                n(e)
7034                            } else i(new yh(r))
7035                        })), r.addEventListener("error", (function (t) {
7036                            i(new mh(t.target))
7037                        })), r.open("GET", t), r.setRequestHeader("Accept", "application/json"), r.send()
7038                    }))
7039                }
7040
7041                function bh(t, n) {
7042                    return n.indexOf("://") >= 0 ? n : new URL(n, t).href
7043                }
7044
7045                var gh = function () {
7046                        function t() {
7047                        }
7048
7049                        return t.prototype.drawCustom = function (t, n, i, r) {
7050                        }, t.prototype.drawGeometry = function (t) {
7051                        }, t.prototype.setStyle = function (t) {
7052                        }, t.prototype.drawCircle = function (t, n) {
7053                        }, t.prototype.drawFeature = function (t, n) {
7054                        }, t.prototype.drawGeometryCollection = function (t, n) {
7055                        }, t.prototype.drawLineString = function (t, n) {
7056                        }, t.prototype.drawMultiLineString = function (t, n) {
7057                        }, t.prototype.drawMultiPoint = function (t, n) {
7058                        }, t.prototype.drawMultiPolygon = function (t, n) {
7059                        }, t.prototype.drawPoint = function (t, n) {
7060                        }, t.prototype.drawPolygon = function (t, n) {
7061                        }, t.prototype.drawText = function (t, n) {
7062                        }, t.prototype.setFillStrokeStyle = function (t, n) {
7063                        }, t.prototype.setImageStyle = function (t, n) {
7064                        }, t.prototype.setTextStyle = function (t, n) {
7065                        }, t
7066                    }(), xh = function () {
7067                        var t = function (n, i) {
7068                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
7069                                t.__proto__ = n
7070                            } || function (t, n) {
7071                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
7072                            })(n, i)
7073                        };
7074                        return function (n, i) {
7075                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
7076
7077                            function r() {
7078                                this.constructor = n
7079                            }
7080
7081                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
7082                        }
7083                    }(), jh = function (t) {
7084                        function n(n, i, r, e, o, s, a) {
7085                            var u = t.call(this) || this;
7086                            return u.Pe = n, u.Rt = i, u.st = r, u._t = e, u.Ge = o, u.De = s, u.Ue = a, u.qe = null, u.Be = null, u.We = null, u.Ve = null, u.Xe = null, u.Nt = null, u.He = 0, u.Je = 0, u.Ke = 0, u.Ye = 0, u.Ze = 0, u.$e = 0, u.Qe = !1, u.no = 0, u.io = [0, 0], u.ro = 0, u.eo = "", u.oo = 0, u.so = 0, u.ao = !1, u.uo = 0, u.co = [0, 0], u.ho = null, u.fo = null, u.lo = null, u.vo = [], u.do = [1, 0, 0, 1, 0, 0], u
7087                        }
7088
7089                        return xh(n, t), n.prototype.po = function (t, n, i, r) {
7090                            if (this.Nt) {
7091                                var e = Br(t, n, i, r, this._t, this.vo), o = this.Pe, s = this.do, a = o.globalAlpha;
7092                                1 != this.Ye && (o.globalAlpha = a * this.Ye);
7093                                var u = this.no;
7094                                this.Qe && (u += this.Ge);
7095                                for (var c = 0, h = e.length; c < h; c += 2) {
7096                                    var f = e[c] - this.He, l = e[c + 1] - this.Je;
7097                                    if (0 !== u || 1 != this.io[0] || 1 != this.io[1]) {
7098                                        var v = f + this.He, d = l + this.Je;
7099                                        an(s, v, d, 1, 1, u, -v, -d), o.setTransform.apply(o, s), o.translate(v, d), o.scale(this.io[0], this.io[1]), o.drawImage(this.Nt, this.Ze, this.$e, this.ro, this.Ke, -this.He, -this.Je, this.ro, this.Ke), o.setTransform(1, 0, 0, 1, 0, 0)
7100                                    } else o.drawImage(this.Nt, this.Ze, this.$e, this.ro, this.Ke, f, l, this.ro, this.Ke)
7101                                }
7102                                1 != this.Ye && (o.globalAlpha = a)
7103                            }
7104                        }, n.prototype.yo = function (t, n, i, r) {
7105                            if (this.lo && "" !== this.eo) {
7106                                this.ho && this.mo(this.ho), this.fo && this.wo(this.fo), this.bo(this.lo);
7107                                var e = Br(t, n, i, r, this._t, this.vo), o = this.Pe, s = this.uo;
7108                                for (this.ao && (s += this.Ge); n < i; n += r) {
7109                                    var a = e[n] + this.oo, u = e[n + 1] + this.so;
7110                                    if (0 !== s || 1 != this.co[0] || 1 != this.co[1]) {
7111                                        var c = an(this.do, a, u, 1, 1, s, -a, -u);
7112                                        o.setTransform.apply(o, c), o.translate(a, u), o.scale(this.co[0], this.co[1]), this.fo && o.strokeText(this.eo, 0, 0), this.ho && o.fillText(this.eo, 0, 0), o.setTransform(1, 0, 0, 1, 0, 0)
7113                                    } else this.fo && o.strokeText(this.eo, a, u), this.ho && o.fillText(this.eo, a, u)
7114                                }
7115                            }
7116                        }, n.prototype.xo = function (t, n, i, r, e) {
7117                            var o = this.Pe, s = Br(t, n, i, r, this._t, this.vo);
7118                            o.moveTo(s[0], s[1]);
7119                            var a = s.length;
7120                            e && (a -= 2);
7121                            for (var u = 2; u < a; u += 2) o.lineTo(s[u], s[u + 1]);
7122                            return e && o.closePath(), i
7123                        }, n.prototype.jo = function (t, n, i, r) {
7124                            for (var e = 0, o = i.length; e < o; ++e) n = this.xo(t, n, i[e], r, !0);
7125                            return n
7126                        }, n.prototype.drawCircle = function (t) {
7127                            if (ti(this.st, t.getExtent())) {
7128                                if (this.Ve || this.Xe) {
7129                                    this.Ve && this.mo(this.Ve), this.Xe && this.wo(this.Xe);
7130                                    var n = $r(t, this._t, this.vo), i = n[2] - n[0], r = n[3] - n[1],
7131                                        e = Math.sqrt(i * i + r * r), o = this.Pe;
7132                                    o.beginPath(), o.arc(n[0], n[1], e, 0, 2 * Math.PI), this.Ve && o.fill(), this.Xe && o.stroke()
7133                                }
7134                                "" !== this.eo && this.yo(t.getCenter(), 0, 2, 2)
7135                            }
7136                        }, n.prototype.setStyle = function (t) {
7137                            this.setFillStrokeStyle(t.getFill(), t.getStroke()), this.setImageStyle(t.getImage()), this.setTextStyle(t.getText())
7138                        }, n.prototype.setTransform = function (t) {
7139                            this._t = t
7140                        }, n.prototype.drawGeometry = function (t) {
7141                            switch (t.getType()) {
7142                                case Pt.POINT:
7143                                    this.drawPoint(t);
7144                                    break;
7145                                case Pt.LINE_STRING:
7146                                    this.drawLineString(t);
7147                                    break;
7148                                case Pt.POLYGON:
7149                                    this.drawPolygon(t);
7150                                    break;
7151                                case Pt.MULTI_POINT:
7152                                    this.drawMultiPoint(t);
7153                                    break;
7154                                case Pt.MULTI_LINE_STRING:
7155                                    this.drawMultiLineString(t);
7156                                    break;
7157                                case Pt.MULTI_POLYGON:
7158                                    this.drawMultiPolygon(t);
7159                                    break;
7160                                case Pt.GEOMETRY_COLLECTION:
7161                                    this.drawGeometryCollection(t);
7162                                    break;
7163                                case Pt.CIRCLE:
7164                                    this.drawCircle(t)
7165                            }
7166                        }, n.prototype.drawFeature = function (t, n) {
7167                            var i = n.getGeometryFunction()(t);
7168                            i && ti(this.st, i.getExtent()) && (this.setStyle(n), this.drawGeometry(i))
7169                        }, n.prototype.drawGeometryCollection = function (t) {
7170                            for (var n = t.getGeometriesArray(), i = 0, r = n.length; i < r; ++i) this.drawGeometry(n[i])
7171                        }, n.prototype.drawPoint = function (t) {
7172                            this.De && (t = t.simplifyTransformed(this.De, this.Ue));
7173                            var n = t.getFlatCoordinates(), i = t.getStride();
7174                            this.Nt && this.po(n, 0, n.length, i), "" !== this.eo && this.yo(n, 0, n.length, i)
7175                        }, n.prototype.drawMultiPoint = function (t) {
7176                            this.De && (t = t.simplifyTransformed(this.De, this.Ue));
7177                            var n = t.getFlatCoordinates(), i = t.getStride();
7178                            this.Nt && this.po(n, 0, n.length, i), "" !== this.eo && this.yo(n, 0, n.length, i)
7179                        }, n.prototype.drawLineString = function (t) {
7180                            if (this.De && (t = t.simplifyTransformed(this.De, this.Ue)), ti(this.st, t.getExtent())) {
7181                                if (this.Xe) {
7182                                    this.wo(this.Xe);
7183                                    var n = this.Pe, i = t.getFlatCoordinates();
7184                                    n.beginPath(), this.xo(i, 0, i.length, t.getStride(), !1), n.stroke()
7185                                }
7186                                if ("" !== this.eo) {
7187                                    var r = t.getFlatMidpoint();
7188                                    this.yo(r, 0, 2, 2)
7189                                }
7190                            }
7191                        }, n.prototype.drawMultiLineString = function (t) {
7192                            this.De && (t = t.simplifyTransformed(this.De, this.Ue));
7193                            var n = t.getExtent();
7194                            if (ti(this.st, n)) {
7195                                if (this.Xe) {
7196                                    this.wo(this.Xe);
7197                                    var i = this.Pe, r = t.getFlatCoordinates(), e = 0, o = t.getEnds(), s = t.getStride();
7198                                    i.beginPath();
7199                                    for (var a = 0, u = o.length; a < u; ++a) e = this.xo(r, e, o[a], s, !1);
7200                                    i.stroke()
7201                                }
7202                                if ("" !== this.eo) {
7203                                    var c = t.getFlatMidpoints();
7204                                    this.yo(c, 0, c.length, 2)
7205                                }
7206                            }
7207                        }, n.prototype.drawPolygon = function (t) {
7208                            if (this.De && (t = t.simplifyTransformed(this.De, this.Ue)), ti(this.st, t.getExtent())) {
7209                                if (this.Xe || this.Ve) {
7210                                    this.Ve && this.mo(this.Ve), this.Xe && this.wo(this.Xe);
7211                                    var n = this.Pe;
7212                                    n.beginPath(), this.jo(t.getOrientedFlatCoordinates(), 0, t.getEnds(), t.getStride()), this.Ve && n.fill(), this.Xe && n.stroke()
7213                                }
7214                                if ("" !== this.eo) {
7215                                    var i = t.getFlatInteriorPoint();
7216                                    this.yo(i, 0, 2, 2)
7217                                }
7218                            }
7219                        }, n.prototype.drawMultiPolygon = function (t) {
7220                            if (this.De && (t = t.simplifyTransformed(this.De, this.Ue)), ti(this.st, t.getExtent())) {
7221                                if (this.Xe || this.Ve) {
7222                                    this.Ve && this.mo(this.Ve), this.Xe && this.wo(this.Xe);
7223                                    var n = this.Pe, i = t.getOrientedFlatCoordinates(), r = 0, e = t.getEndss(),
7224                                        o = t.getStride();
7225                                    n.beginPath();
7226                                    for (var s = 0, a = e.length; s < a; ++s) {
7227                                        var u = e[s];
7228                                        r = this.jo(i, r, u, o)
7229                                    }
7230                                    this.Ve && n.fill(), this.Xe && n.stroke()
7231                                }
7232                                if ("" !== this.eo) {
7233                                    var c = t.getFlatInteriorPoints();
7234                                    this.yo(c, 0, c.length, 2)
7235                                }
7236                            }
7237                        }, n.prototype.mo = function (t) {
7238                            var n = this.Pe, i = this.qe;
7239                            i ? i.fillStyle != t.fillStyle && (i.fillStyle = t.fillStyle, n.fillStyle = t.fillStyle) : (n.fillStyle = t.fillStyle, this.qe = {fillStyle: t.fillStyle})
7240                        }, n.prototype.wo = function (t) {
7241                            var n = this.Pe, i = this.Be;
7242                            i ? (i.lineCap != t.lineCap && (i.lineCap = t.lineCap, n.lineCap = t.lineCap), n.setLineDash && (x(i.lineDash, t.lineDash) || n.setLineDash(i.lineDash = t.lineDash), i.lineDashOffset != t.lineDashOffset && (i.lineDashOffset = t.lineDashOffset, n.lineDashOffset = t.lineDashOffset)), i.lineJoin != t.lineJoin && (i.lineJoin = t.lineJoin, n.lineJoin = t.lineJoin), i.lineWidth != t.lineWidth && (i.lineWidth = t.lineWidth, n.lineWidth = t.lineWidth), i.miterLimit != t.miter
7242Limit && (i.miterLimit = t.miterLimit, n.miterLimit = t.miterLimit), i.strokeStyle != t.strokeStyle && (i.strokeStyle = t.strokeStyle, n.strokeStyle = t.strokeStyle)) : (n.lineCap = t.lineCap, n.setLineDash && (n.setLineDash(t.lineDash), n.lineDashOffset = t.lineDashOffset), n.lineJoin = t.lineJoin, n.lineWidth = t.lineWidth, n.miterLimit = t.miterLimit, n.strokeStyle = t.strokeStyle, this.Be = {
7243                                lineCap: t.lineCap,
7244                                lineDash: t.lineDash,
7245                                lineDashOffset: t.lineDashOffset,
7246                                lineJoin: t.lineJoin,
7247                                lineWidth: t.lineWidth,
7248                                miterLimit: t.miterLimit,
7249                                strokeStyle: t.strokeStyle
7250                            })
7251                        }, n.prototype.bo = function (t) {
7252                            var n = this.Pe, i = this.We, r = t.textAlign ? t.textAlign : qs;
7253                            i ? (i.font != t.font && (i.font = t.font, n.font = t.font), i.textAlign != r && (i.textAlign = r, n.textAlign = r), i.textBaseline != t.textBaseline && (i.textBaseline = t.textBaseline, n.textBaseline = t.textBaseline)) : (n.font = t.font, n.textAlign = r, n.textBaseline = t.textBaseline, this.We = {
7254                                font: t.font,
7255                                textAlign: r,
7256                                textBaseline: t.textBaseline
7257                            })
7258                        }, n.prototype.setFillStrokeStyle = function (t, n) {
7259                            var i = this;
7260                            if (t) {
7261                                var r = t.getColor();
7262                                this.Ve = {fillStyle: eh(r || zs)}
7263                            } else this.Ve = null;
7264                            if (n) {
7265                                var e = n.getColor(), o = n.getLineCap(), s = n.getLineDash(), a = n.getLineDashOffset(),
7266                                    u = n.getLineJoin(), c = n.getWidth(), h = n.getMiterLimit(), f = s || Ls;
7267                                this.Xe = {
7268                                    lineCap: void 0 !== o ? o : Fs,
7269                                    lineDash: 1 === this.Rt ? f : f.map((function (t) {
7270                                        return t * i.Rt
7271                                    })),
7272                                    lineDashOffset: (a || 0) * this.Rt,
7273                                    lineJoin: void 0 !== u ? u : Gs,
7274                                    lineWidth: (void 0 !== c ? c : 1) * this.Rt,
7275                                    miterLimit: void 0 !== h ? h : Ds,
7276                                    strokeStyle: eh(e || Us)
7277                                }
7278                            } else this.Xe = null
7279                        }, n.prototype.setImageStyle = function (t) {
7280                            var n;
7281                            if (t && (n = t.getSize())) {
7282                                var i = t.getAnchor(), r = t.getOrigin();
7283                                this.Nt = t.getImage(this.Rt), this.He = i[0] * this.Rt, this.Je = i[1] * this.Rt, this.Ke = n[1] * this.Rt, this.Ye = t.getOpacity(), this.Ze = r[0], this.$e = r[1], this.Qe = t.getRotateWithView(), this.no = t.getRotation(), this.io = t.getScaleArray(), this.ro = n[0] * this.Rt
7284                            } else this.Nt = null
7285                        }, n.prototype.setTextStyle = function (t) {
7286                            if (t) {
7287                                var n = t.getFill();
7288                                if (n) {
7289                                    var i = n.getColor();
7290                                    this.ho = {fillStyle: eh(i || zs)}
7291                                } else this.ho = null;
7292                                var r = t.getStroke();
7293                                if (r) {
7294                                    var e = r.getColor(), o = r.getLineCap(), s = r.getLineDash(),
7295                                        a = r.getLineDashOffset(), u = r.getLineJoin(), c = r.getWidth(),
7296                                        h = r.getMiterLimit();
7297                                    this.fo = {
7298                                        lineCap: void 0 !== o ? o : Fs,
7299                                        lineDash: s || Ls,
7300                                        lineDashOffset: a || 0,
7301                                        lineJoin: void 0 !== u ? u : Gs,
7302                                        lineWidth: void 0 !== c ? c : 1,
7303                                        miterLimit: void 0 !== h ? h 
7303: Ds,
7304                                        strokeStyle: eh(e || Us)
7305                                    }
7306                                } else this.fo = null;
7307                                var f = t.getFont(), l = t.getOffsetX(), v = t.getOffsetY(), d = t.getRotateWithView(),
7308                                    p = t.getRotation(), y = t.getScaleArray(), m = t.getText(), w = t.getTextAlign(),
7309                                    b = t.getTextBaseline();
7310                                this.lo = {
7311                                    font: void 0 !== f ? f : Ns,
7312                                    textAlign: void 0 !== w ? w : qs,
7313                                    textBaseline: void 0 !== b ? b : Bs
7314                                }, this.eo = void 0 !== m ? Array.isArray(m) ? m.reduce((function (t, n, i) {
7315                                    return t + (i % 2 ? " " : n)
7316                                }), "") : m : "", this.oo = void 0 !== l ? this.Rt * l : 0, this.so = void 0 !== v ? this.Rt * v : 0, this.ao = void 0 !== d && d, this.uo = void 0 !== p ? p : 0, this.co = [this.Rt * y[0], this.Rt * y[1]]
7317                            } else this.eo = ""
7318                        }, n
7319                    }(gh), Sh = "Circle", kh = "Default", Mh = "Image", _h = "LineString", Oh = "Polygon", Th = "Text",
7320                    Eh = {
7321                        Point: function (t, n, i, r, e) {
7322                            var o, s = i.getImage(), a = i.getText();
7323                            e && (t = e, o = s && a && a.getText() ? {} : void 0);
7324                            if (s) {
7325                                if (s.getImageState() != wo) return;
7326                                var u = t.getBuilder(i.getZIndex(), Mh);
7327                                u.setImageStyle(s, o), u.drawPoint(n, r)
7328                            }
7329                            if (a && a.getText()) {
7330                                var c = t.getBuilder(i.getZIndex(), Th);
7331                                c.setTextStyle(a, o), c.drawText(n, r)
7332                            }
7333                        }, LineString: function (t, n, i, r, e) {
7334                            var o = i.getStroke();
7335                            if (o) {
7336                                var s = t.getBuilder(i.getZIndex(), _h);
7337                                s.setFillStrokeStyle(null, o), s.drawLineString(n, r)
7338                            }
7339                            var a = i.getText();
7340                            if (a && a.getText()) {
7341                                var u = (e || t).getBuilder(i.getZIndex(), Th);
7342                                u.setTextStyle(a), u.drawText(n, r)
7343                            }
7344                        }, Polygon: function (t, n, i, r, e) {
7345                            var o = i.getFill(), s = i.getStroke();
7346                            if (o || s) {
7347                                var a = t.getBuilder(i.getZIndex(), Oh);
7348                                a.setFillStrokeStyle(o, s), a.drawPolygon(n, r)
7349                            }
7350                            var u = i.getText();
7351                            if (u && u.getText()) {
7352                                var c = (e || t).getBuilder(i.getZIndex(), Th);
7353                                c.setTextStyle(u), c.drawText(n, r)
7354                            }
7355                        }, MultiPoint: function (t, n, i, r, e) {
7356                            var o, s = i.getImage(), a = i.getText();
7357                            e && (t = e, o = s && a && a.getText() ? {} : void 0);
7358                            if (s) {
7359                                if (s.getImageState() != wo) return;
7360                                var u = t.getBuilder(i.getZIndex(), Mh);
7361                                u.setImageStyle(s, o), u.drawMultiPoint(n, r)
7362                            }
7363                            if (a && a.getText()) {
7364                                var c = (e || t).getBuilder(i.getZIndex(), Th);
7365                                c.setTextStyle(a, o), c.drawText(n, r)
7366                            }
7367                        }, MultiLineString: function (t, n, i, r, e) {
7368                            var o = i.getStroke();
7369                            if (o) {
7370                                var s = t.getBuilder(i.getZIndex(), _h);
7371                                s.setFillStrokeStyle(null, o), s.drawMultiLineString(n, r)
7372                            }
7373                            var a = i.getText();
7374                            if (a && a.getText()) {
7375                                var u = (e || t).getBuilder(i.getZIndex(), Th);
7376                                u.setTextStyle(a), u.drawText(n, r)
7377                            }
7378                        }, MultiPolygon: function (t, n, i, r, e) {
7379                            var o = i.getFill(), s = i.getStroke();
7380                            if (s || o) {
7381                                var a = t.getBuilder(i.getZIndex(), Oh);
7382                                a.setFillStrokeStyle(o, s), a.drawMultiPolygon(n, r)
7383                            }
7384                            var u = i.getText();
7385                            if (u && u.getText()) {
7386                                var c = (e || t).getBuilder(i.getZIndex(), Th);
7387                                c.setTextStyle(u), c.drawText(n, r)
7388                            }
7389                        }, GeometryCollection: function (t, n, i, r, e) {
7390                            var o, s, a = n.getGeometriesArray();
7391                            for (o = 0, s = a.length; o < s; ++o) {
7392                                (0, Eh[a[o].getType()])(t, a[o], i, r, e)
7393                            }
7394                        }, Circle: function (t, n, i, r, e) {
7395                            var o = i.getFill(), s = i.getStroke();
7396                            if (o || s) {
7397                                var a = t.getBuilder(i.getZIndex(), Sh);
7398                                a.setFillStrokeStyle(o, s), a.drawCircle(n, r)
7399                            }
7400                            var u = i.getText();
7401                            if (u && u.getText()) {
7402                                var c = (e || t).getBuilder(i.getZIndex(), Th);
7403                                c.setTextStyle(u), c.drawText(n, r)
7404                            }
7405                        }
7406                    };
7407
7408                function Ah(t, n) {
7409                    return parseInt(o(t), 10) - parseInt(o(n), 10)
7410                }
7411
7412                function Ch(t, n) {
7413                    var i = Rh(t, n);
7414                    return i * i
7415                }
7416
7417                function Rh(t, n) {
7418                    return .5 * t / n
7419                }
7420
7421                function Ph(t, n, i, r, e, o, s) {
7422                    var a = !1, u = i.getImage();
7423                    if (u) {
7424                        var c = u.getImageState();
7425                        c == wo || c == bo ? u.unlistenImageChange(e) : (c == yo && u.load(), c = u.getImageState(), u.listenImageChange(e), a = !0)
7426                    }
7427                    return function (t, n, i, r, e, o) {
7428                        var s = i.getGeometryFunction()(n);
7429                        if (!s) return;
7430                        var a = s.simplifyTransformed(r, e);
7431                        if (i.getRenderer()) Ih(t, a, i, n); else {
7432                            (0, Eh[a.getType()])(t, a, i, n, o)
7433                        }
7434                    }(t, n, i, r, o, s), a
7435                }
7436
7437                function Ih(t, n, i, r) {
7438                    if (n.getType() != Pt.GEOMETRY_COLLECTION) t.getBuilder(i.getZIndex(), kh).drawCustom(n, r, i.getRenderer(), i.getHitDetectionRenderer()); else for (var e = n.getGeometries(), o = 0, s = e.length; o < s; ++o) Ih(t, e[o], i, r)
7439                }
7440
7441                function Nh(t) {
7442                    if (!(t.context instanceof CanvasRenderingContext2D)) throw new Error("Only works for render events from Canvas 2D layers");
7443                    var n, i = t.inversePixelTransform[0], r = t.frameState,
7444                        e = $t(t.inversePixelTransform.slice(), r.coordinateToPixelTransform),
7445                        o = Ch(r.viewState.resolution, i), s = Ir();
7446                    return s && (n = Tr(s, r.viewState.projection)), new jh(t.context, i, r.extent, e, r.viewState.rotation, o, n)
7447                }
7448
7449                var zh, Fh = {imageSmoothingEnabled: !1, msImageSmoothingEnabled: !1},
7450                    Lh = {imageSmoothingEnabled: !0, msImageSmoothingEnabled: !0};
7451
7452                function Gh(t, n, i, r, e) {
7453                    t.beginPath(), t.moveTo(0, 0), t.lineTo(n, i), t.lineTo(r, e), t.closePath(), t.save(), t.clip(), t.fillRect(0, 0, Math.max(n, r) + 1, Math.max(i, e)), t.restore(
7453)
7454                }
7455
7456                function Dh(t, n) {
7457                    return Math.abs(t[4 * n] - 210) > 2 || Math.abs(t[4 * n + 3] - 191.25) > 2
7458                }
7459
7460                function Uh(t, n, i, r) {
7461                    var e = Ar(i, n, t), o = gr(n, r, i), s = n.getMetersPerUnit();
7462                    void 0 !== s && (o *= s);
7463                    var a = t.getMetersPerUnit();
7464                    void 0 !== a && (o /= a);
7465                    var u = t.getExtent();
7466                    if (!u || Mn(u, e)) {
7467                        var c = gr(t, o, e) / o;
7468                        isFinite(c) && c > 0 && (o /= c)
7469                    }
7470                    return o
7471                }
7472
7473                function qh(t, n, i, r) {
7474                    var e = Xn(i), o = Uh(t, n, e, r);
7475                    return (!isFinite(o) || o <= 0) && qn(i, (function (i) {
7476                        return o = Uh(t, n, i, r), isFinite(o) && o > 0
7477                    })), o
7478                }
7479
7480                function Bh(t, n, i, r, e, o, s, a, u, c, h, f) {
7481                    var l = _o(Math.round(i * t), Math.round(i * n));
7482                    if (f || E(l, Fh), 0 === u.length) return l.canvas;
7483
7484                    function v(t) {
7485                        return Math.round(t * i) / i
7486                    }
7487
7488                    l.scale(i, i), l.globalCompositeOperation = "lighter";
7489                    var d = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
7490                    u.forEach((function (t, n, i) {
7491                        zn(d, t.extent)
7492                    }));
7493                    var p = Qn(d), y = Kn(d), m = _o(Math.round(i * p / r), Math.round(i * y / r));
7494                    f || E(m, Fh);
7495                    var w = i / r;
7496                    u.forEach((function (t, n, i) {
7497                        var r = t.extent[0] - d[0], e = -(t.extent[3] - d[3]), o = Qn(t.extent), s = Kn(t.extent);
7498                        t.image.width > 0 && t.image.height > 0 && m.drawImage(t.image, c, c, t.image.width - 2 * c, t.image.height - 2 * c, r * w, e * w, o * w, s * w)
7499                    }));
7500                    var b = Zn(s);
7501                    return a.getTriangles().forEach((function (t, n, e) {
7502                        var s = t.source, a = t.target, u = s[0][0], c = s[0][1], h = s[1][0], p = s[1][1], y = s[2][0],
7503                            w = s[2][1], g = v((a[0][0] - b[0]) / o), x = v(-(a[0][1] - b[1]) / o),
7504                            j = v((a[1][0] - b[0]) / o), S = v(-(a[1][1] - b[1]) / o), k = v((a[2][0] - b[0]) / o),
7505                            M = v(-(a[2][1] - b[1]) / o), _ = u, O = c;
7506                        u = 0, c = 0;
7507                        var T = vi([[h -= _, p -= O, 0, 0, j - g], [y -= _, w -= O, 0, 0, k - g], [0, 0, h, p, S - x], [0, 0, y, w, M - x]]);
7508                        if (T) {
7509                            if (l.save(), l.beginPath(), function () {
7510                                if (void 0 === zh) {
7511                                    var t = document.createElement("canvas").getContext("2d");
7512                                    t.globalCompositeOperation = "lighter", t.fillStyle = "rgba(210, 0, 0, 0.75)", Gh(t, 4, 5, 4, 0), Gh(t, 4, 5, 0, 5);
7513                                    var n = t.getImageData(0, 0, 3, 3).data;
7514                                    zh = Dh(n, 0) || Dh(n, 4) || Dh(n, 8)
7515                                }
7516                                return zh
7517                            }() || !f) {
7518                                l.moveTo(j, S);
7519                                for (var E = g - j, A = x - S, C = 0; C < 4; C++) l.lineTo(j + v((C + 1) * E / 4), S + v(C * A / 3)), 3 != C && l.lineTo(j + v((C + 1) * E / 4), S + v((C + 1) * A / 3));
7520                                l.lineTo(k, M)
7521                            } else l.moveTo(j, S), l.lineTo(g, x), l.lineTo(k, M);
7522                            l.clip(), l.transform(T[0], T[2], T[1], T[3], g, x), l.translate(d[0] - _, d[3] - O), l.scale(r / i, -r / i), l.drawImage(m.canvas, 0, 0), l.restore()
7523                        }
7524                    })), h && (l.save(), l.globalCompositeOperation = "source-over", l.strokeStyle = "black", l.lineWidth = 1, a.getTriangles().forEac
7524h((function (t, n, i) {
7525                        var r = t.target, e = (r[0][0] - b[0]) / o, s = -(r[0][1] - b[1]) / o, a = (r[1][0] - b[0]) / o,
7526                            u = -(r[1][1] - b[1]) / o, c = (r[2][0] - b[0]) / o, h = -(r[2][1] - b[1]) / o;
7527                        l.beginPath(), l.moveTo(a, u), l.lineTo(e, s), l.lineTo(c, h), l.closePath(), l.stroke()
7528                    })), l.restore()), l.canvas
7529                }
7530
7531                var Wh = [0, 0, 0], Vh = function () {
7532                    function t(t) {
7533                        var n;
7534                        if (this.minZoom = void 0 !== t.minZoom ? t.minZoom : 0, this.Ti = t.resolutions, Mt(S(this.Ti, (function (t, n) {
7535                            return n - t
7536                        }), !0), 17), !t.origins) for (var i = 0, r = this.Ti.length - 1; i < r; ++i) if (n) {
7537                            if (this.Ti[i] / this.Ti[i + 1] !== n) {
7538                                n = void 0;
7539                                break
7540                            }
7541                        } else n = this.Ti[i] / this.Ti[i + 1];
7542                        this.Oi = n, this.maxZoom = this.Ti.length - 1, this.So = void 0 !== t.origin ? t.origin : null, this.ko = null, void 0 !== t.origins && (this.ko = t.origins, Mt(this.ko.length == this.Ti.length, 20));
7543                        var e = t.extent;
7544                        void 0 === e || this.So || this.ko || (this.So = Zn(e)), Mt(!this.So && this.ko || this.So && !this.ko, 18), this.Mo = null, void 0 !== t.tileSizes && (this.Mo = t.tileSizes, Mt(this.Mo.length == this.Ti.length, 19)), this._o = void 0 !== t.tileSize ? t.tileSize : this.Mo ? null : za, Mt(!this._o && this.Mo || this._o && !this.Mo, 22), this.st = void 0 !== e ? e : null, this.Oo = null, this.To = [0, 0], this.Eo = [0, 0, 0, 0], void 0 !== t.sizes ? this.Oo = t.sizes.map((function (t, n) {
7545                            var i = new $c(Math.min(0, t[0]), Math.max(t[0] - 1, -1), Math.min(0, t[1]), Math.max(t[1] - 1, -1));
7546                            if (e) {
7547                                var r = this.getTileRangeForExtentAndZ(e, n);
7548                                i.minX = Math.max(r.minX, i.minX), i.maxX = Math.min(r.maxX, i.maxX), i.minY = Math.max(r.minY, i.minY), i.maxY = Math.min(r.maxY, i.maxY)
7549                            }
7550                            return i
7551                        }), this) : e && this.Ao(e)
7552                    }
7553
7554                    return t.prototype.forEachTileCoord = function (t, n, i) {
7555                        for (var r = this.getTileRangeForExtentAndZ(t, n), e = r.minX, o = r.maxX; e <= o; ++e) for (var s = r.minY, a = r.maxY; s <= a; ++s) i([n, e, s])
7556                    }, t.prototype.forEachTileCoordParentTileRange = function (t, n, i, r) {
7557                        var e, o, s = null, a = t[0] - 1;
7558                        for (2 === this.Oi ? (e = t[1], o = t[2]) : s = this.getTileCoordExtent(t, r); a >= this.minZoom;) {
7559                            if (n(a, 2 === this.Oi ? Zc(e = Math.floor(e / 2), e, o = Math.floor(o / 2), o, i) : this.getTileRangeForExtentAndZ(s, a, i))) return !0;
7560                            --a
7561                        }
7562                        return !1
7563                    }, t.prototype.getExtent = function () {
7564                        return this.st
7565                    }, t.prototype.getMaxZoom = function () {
7566                        return this.maxZoom
7567                    }, t.prototype.getMinZoom = function () {
7568                        return this.minZoom
7569                    }, t.prototype.getOrigin = function (t) {
7570                        return this.So ? this.So : this.ko[t]
7571                    }, t.prototype.getResolution = function (t) {
7572                        return this.Ti[t]
7573                    }, t.prototype.getResolutions = function () {
7574                        return this.Ti
7575                    }, t.prototype.getTileCoordChildTileRange = function (t, n, i) {
7576                        if (t[0] < this.maxZoom) {
7577                            if (2 === this.Oi) {
7578                                var r = 2 * t[1], e = 2 * t[2];
7579                                return Zc(r, r + 1, e, e + 1, n)
7580                            }
7581                            var o = this.getTileCoordExtent(t, i || this.Eo);
7582                            return this.getTileRangeForExtentAndZ(o, t[0] + 1, n)
7583                        }
7584                        return null
7585                    }, t.prototype.getTileRangeForTileCoordAndZ = function (t, n, i) {
7586                        if (n > this.maxZoom || n < this.minZoom) return null;
7587                        var r = t[0], e = t[1], o = t[2];
7588                        if (n === r) return Zc(e, o, e, o, i);
7589                        if (this.Oi) {
7590                            var s = Math.pow(this.Oi, n - r), a = Math.floor(e * s), u = Math.floor(o * s);
7591                            return n < r ? Zc(a, a, u, u, i) : Zc(a, Math.floor(s * (e + 1)) - 1, u, Math.floor(s * (o + 1)) - 1, i)
7592                        }
7593                        var c = this.getTileCoordExtent(t, this.Eo);
7594                        return this.getTileRangeForExtentAndZ(c, n, i)
7595                    }, t.prototype.getTileRangeExtent = function (t, n, i) {
7596                        var r = this.getOrigin(t), e = this.getResolution(t), o = ou(this.getTileSize(t), this.To),
7597                            s = r[0] + n.minX * o[0] * e, a = r[0] + (n.maxX + 1) * o[0] * e;
7598                        return An(s, r[1] + n.minY * o[1] * e, a, r[1] + (n.maxY + 1) * o[1] * e, i)
7599                    }, t.prototype.getTileRangeForExtentAndZ = function (t, n, i) {
7600                        var r = Wh;
7601                        this.Co(t[0], t[3], n, !1, r);
7602                        var e = r[1], o = r[2];
7603                        return this.Co(t[2], t[1], n, !0, r), Zc(e, r[1], o, r[2], i)
7604                    }, t.prototype.getTileCoordCenter = function (t) {
7605                        var n = this.getOrigin(t[0]), i = this.getResolution(t[0]),
7606                            r = ou(this.getTileSize(t[0]), this.To);
7607                        return [n[0] + (t[1] + .5) * r[0] * i, n[1] - (t[2] + .5) * r[1] * i]
7608                    }, t.prototype.getTileCoordExtent = function (t, n) {
7609                        var i = this.getOrigin(t[0]), r = this.getResolution(t[0]),
7610                            e = ou(this.getTileSize(t[0]), this.To), o = i[0] + t[1] * e[0] * r,
7611                            s = i[1] - (t[2] + 1) * e[1] * r;
7612                        return An(o, s, o + e[0] * r, s + e[1] * r, n)
7613                    }, t.prototype.getTileCoordForCoordAndResolution = function (t, n, i) {
7614                        return this.Ro(t[0], t[1], n, !1, i)
7615                    }, t.prototype.Ro = function (t, n, i, r, e) {
7616                        var o = this.getZForResolution(i), s = i / this.getResolution(o), a = this.getOrigin(o),
7617                            u = ou(this.getTileSize(o), this.To), c = s * (t - a[0]) / i / u[0],
7618                            h = s * (a[1] - n) / i / u[1];
7619                        return r ? (c = xi(c, 5) - 1, h = xi(h, 5) - 1) : (c = gi(c, 5), h = gi(h, 5)), Uc(o, c, h, e)
7620                    }, t.prototype.Co = function (t, n, i, r, e) {
7621                        var o = this.getOrigin(i), s = this.getResolution(i), a = ou(this.getTileSize(i), this.To),
7622                            u = (t - o[0]) / s / a[0], c = (o[1] - n) / s / a[1];
7623                        return r ? (u = xi(u, 5) - 1, c = xi(c, 5) - 1) : (u = gi(u, 5), c = gi(c, 5)), Uc(i, u, c, e)
7624                    }, t.prototype.getTileCoordForCoordAndZ = function (t, n, i) {
7625                        return this.Co(t[0], t[1], n, !1, i)
7626                    }, t.prototype.getTileCoordResolution = function (t) {
7627                        return this.Ti[t[0]]
7628                    }, t.prototype.getTileSize = function (t) {
7629                        return this._o ? this._o : this.Mo[t]
7630                    }, t.prototype.getFullTileRange = function (t) {
7631                        return this.Oo ? this.Oo[t] : this.st ? this.getTileRangeForExtentAndZ(this.st, t) : null
7632                    }, t.prototype.getZForResolution = function (t, n) {
7633                        return ui(m(this.Ti, t, n || 0), this.minZoom, this.maxZoom)
7634                    }, t.prototype.Ao = function (t) {
7635                        for (var n = this.Ti.length, i = new Array(n), r = this.minZoom; r < n; ++r) i[r] = this.getTileRangeForExtentAndZ(t, r);
7636                        this.Oo = i
7637                    }, t
7638                }();
7639
7640                function Xh(t) {
7641                    var n = t.getDefaultTileGrid();
7642                    return n || (n = Zh(t), t.setDefaultTileGrid(n)), n
7643                }
7644
7645                function Hh(t, n, i) {
7646                    var r = n[0], e = t.getTileCoordCenter(n), o = $h(i);
7647                    if (Mn(o, e)) return n;
7648                    var s = Qn(o), a = Math.ceil((o[0] - e[0]) / s);
7649                    return e[0] += s * a, t.getTileCoordForCoordAndZ(e, r)
7650                }
7651
7652                function Jh(t, n, i, r) {
7653                    var e = void 0 !== r ? r : vn, o = Yh(t, n, i);
7654                    return new Vh({extent: t, origin: Hn(t, e), resolutions: o, tileSize: i})
7655                }
7656
7657                function Kh(t) {
7658                    var n = t || {}, i = n.extent || br("EPSG:3857").getExtent(), r = {
7659                        extent: i,
7660                        minZoom: n.minZoom,
7661                        tileSize: n.tileSize,
7662                        resolutions: Yh(i, n.maxZoom, n.tileSize, n.maxResolution)
7663                    };
7664                    return new Vh(r)
7665                }
7666
7667                function Yh(t, n, i, r) {
7668                    for (var e = void 0 !== n ? n : 42, o = Kn(t), s = Qn(t), a = ou(void 0 !== i ? i : za), u = r > 0 ? r : Math.max(s / a[0], o / a[1]), c = e + 1, h = new Array(c), f = 0; f < c; ++f) h[f] = u / Math.pow(2, f);
7669                    return h
7670                }
7671
7672                function Zh(t, n, i, r) {
7673                    return Jh($h(t), n, i, r)
7674                }
7675
7676                function $h(t) {
7677                    var n = (t = br(t)).getExtent();
7678                    if (!n) {
7679                        var i = 180 * Ft[Gt.DEGREES] / t.getMetersPerUnit();
7680                        n = An(-i, -i, i, i)
7681                    }
7682                    return n
7683                }
7684
7685                function Qh(t, n) {
7686                    var i = /\{z\}/g, r = /\{x\}/g, e = /\{y\}/g, o = /\{-y\}/g;
7687                    return function (s, a, u) {
7688                        return s ? t.replace(i, s[0].toString()).replace(r, s[1].toString()).replace(e, s[2].toString()).replace(o, (function () {
7689                            var t = s[0], i = n.getFullTileRange(t);
7690                            return Mt(i, 55), (i.getHeight() - s[2] - 1).toString()
7691                        })) : void 0
7692                    }
7693                }
7694
7695                function tf(t, n) {
7696                    for (var i = t.length, r = new Array(i), e = 0; e < i; ++e) r[e] = Qh(t[e], n);
7697                    return nf(r)
7698                }
7699
7700                function nf(t) {
7701                    return 1 === t.length ? t[0] : function (n, i, r) {
7702                        if (n) {
7703                            var e = yi(Xc(n), t.length);
7704                            return t[e](n, i, r)
7705                        }
7706                    }
7707                }
7708
7709                function rf(t, n, i) {
7710                }
7711
7712                function ef(t) {
7713                    var n = [], i = /\{([a-z])-([a-z])\}/.exec(t);
7714                    if (i) {
7715                        var r = i[1].charCodeAt(0), e = i[2].charCodeAt(0), o = void 0;
7716                        for (o = r; o <= e; ++o) n.push(t.replace(i[0], String.fromCharCode(o)));
7717                        return n
7718                    }
7719                    if (i = /\{(\d+)-(\d+)\}/.exec(t)) {
7720                        for (var s = parseInt(i[2], 10), a = parseInt(i[1], 10); a <= s; a++) n.push(t.replace(i[0], a.toString()));
7721                        return n
7722                    }
7723                    return n.push(t), n
7724                }
7725
7726                function of(t, n) {
7727                    var i = [];
7728                    Object.keys(n).forEach((function (t) {
7729                        null !== n[t] && void 0 !== n[t] && i.push(t + "=" + encodeURIComponent(n[t]))
7730                    }));
7731                    var r = i.join("&");
7732                    return (t = -1 === (t = t.replace(/[?&]$/, "")).indexOf("?") ? t + "?" : t + "&") + r
7733                }
7734
7735                var sf, af = 34962, uf = 34963, cf = 35044, hf = 35048, ff = 5126,
7736                    lf = ["experimental-webgl", "webgl", "webkit-3d", "moz-webgl"];
7737
7738                function vf(t, n) {
7739                    for (var i = E({preserveDrawingBuffer: !0}, n), r = lf.length, e = 0; e < r; ++e) try {
7740                        var o = t.getContext(lf[e], i);
7741                        if (o) return o
7742                    } catch (t) {
7743                    }
7744                    return null
7745                }
7746
7747                var df = "http://www.w3.org/2001/XMLSchema-instance";
7748
7749                function pf(t, n) {
7750                    return Gf().createElementNS(t, n)
7751                }
7752
7753                function yf(t, n) {
7754                    return mf(t, n, []).join("")
7755                }
7756
7757                function mf(t, n, i) {
7758                    if (t.nodeType == Node.CDATA_SECTION_NODE || t.nodeType == Node.TEXT_NODE) n ? i.push(String(t.nodeValue).replace(/(\r\n|\r|\n)/g, "")) : i.push(t.nodeValue); else {
7759                        var r = void 0;
7760                        for (r = t.firstChild; r; r = r.nextSibling) mf(r, n, i)
7761                    }
7762                    return i
7763                }
7764
7765                function wf(t) {
7766                    return "documentElement" in t
7767                }
7768
7769                function bf(t, n, i) {
7770                    return t.getAttributeNS(n, i) || ""
7771                }
7772
7773                function gf(t) {
7774                    return (new DOMParser).parseFromString(t, "application/xml")
7775                }
7776
7777                function xf(t, n) {
7778                    return function (i, r) {
7779                        var e = t.call(void 0 !== n ? n : this, i, r);
7780                        void 0 !== e && b(r[r.length - 1], e)
7781                    }
7782                }
7783
7784                function jf(t, n) {
7785                    return function (i, r) {
7786                        var e = t.call(void 0 !== n ? n : this, i, r);
7787                        void 0 !== e && r[r.length - 1].push(e)
7788                    }
7789                }
7790
7791                function Sf(t, n) {
7792                    return function (i, r) {
7793                        var e = t.call(void 0 !== n ? n : this, i, r);
7794                        void 0 !== e && (r[r.length - 1] = e)
7795                    }
7796                }
7797
7798                function kf(t, n, i) {
7799                    return function (r, e) {
7800                        var o = t.call(void 0 !== i ? i : this, r, e);
7801                        if (void 0 !== o) {
7802                            var s = e[e.length - 1], a = void 0 !== n ? n : r.localName, u = void 0;
7803                            a in s ? u = s[a] : (u = [], s[a] = u), u.push(o)
7804                        }
7805                    }
7806                }
7807
7808                function Mf(t, n, i) {
7809                    return function (r, e) {
7810                        var o = t.call(void 0 !== i ? i : this, r, e);
7811                        void 0 !== o && (e[e.length - 1][void 0 !== n ? n : r.localName] = o)
7812                    }
7813                }
7814
7815                function _f(t, n) {
7816                    return function (i, r, e) {
7817                        t.call(void 0 !== n ? n : this, i, r, e), e[e.length - 1].node.appendChild(i)
7818                    }
7819                }
7820
7821                function Of(t, n) {
7822                    var i, r;
7823                    return function (n, e, o) {
7824                        if (void 0 === i) {
7825                            i = {};
7826                            var s = {};
7827                            s[n.localName] = t, i[n.namespaceURI] = s, r = Tf(n.localName)
7828                        }
7829                        If(i, r, e, o)
7830                    }
7831                }
7832
7833                function Tf(t, n) {
7834                    var i = t;
7835                    return function (t, r, e) {
7836                        var o = r[r.length - 1].node, s = i;
7837                        return void 0 === s && (s = e), pf(void 0 !== n ? n : o.namespaceURI, s)
7838                    }
7839                }
7840
7841                var Ef = Tf();
7842
7843                function Af(t, n) {
7844                    for (var i = n.length, r = new Array(i), e = 0; e < i; ++e) r[e] = t[n[e]];
7845                    return r
7846                }
7847
7848                function Cf(t, n, i) {
7849                    var r, e, o = void 0 !== i ? i : {};
7850                    for (r = 0, e = t.length; r < e; ++r) o[t[r]] = n;
7851                    return o
7852                }
7853
7854                function Rf(t, n, i, r) {
7855                    var e;
7856                    for (e = n.firstElementChild; e; e = e.nextElementSibling) {
7857                        var o = t[e.namespaceURI];
7858                        if (void 0 !== o) {
7859                            var s = o[e.localName];
7860                            void 0 !== s && s.call(r, e, i)
7861                        }
7862                    }
7863                }
7864
7865                function Pf(t, n, i, r, e) {
7866                    return r.push(t), Rf(n, i, r, e), r.pop()
7867                }
7868
7869                function If(t, n, i, r, e, o) {
7870                    for (var s, a, u = (void 0 !== e ? e : i).length, c = 0; c < u; ++c) void 0 !== (s = i[c]) && void 0 !== (a = n.call(void 0 !== o ? o : this, s, r, void 0 !== e ? e[c] : void 0)) && t[a.namespaceURI][a.localName].call(o, a, s, r)
7871                }
7872
7873                function Nf(t, n, i, r, e, o, s) {
7874                    return e.push(t), If(n, i, r, e, o, s), e.pop()
7875                }
7876
7877                var zf = void 0;
7878
7879                function Ff() {
7880                    return void 0 === zf && "undefined" != typeof XMLSerializer && (zf = new XMLSerializer), zf
7881                }
7882
7883                var Lf = void 0;
7884
7885                function Gf() {
7886                    return void 0 === Lf && "undefined" != typeof document && (Lf = document.implementation.createDocument("", "", null)), Lf
7887                }
7888
7889                var Df = cf;
7890
7891                function Uf(t) {
7892                    switch (t) {
7893                        case af:
7894                            return Float32Array;
7895                        case uf:
7896                            return Uint32Array;
7897                        default:
7898                            return Float32Array
7899                    }
7900                }
7901
7902                var qf = function () {
7903                    function t(t, n) {
7904                        this.array = null, this.type = t, Mt(t === af || t === uf, 62), this.usage = void 0 !== n ? n : Df
7905                    }
7906
7907                    return t.prototype.ofSize = function (t) {
vendor: 2,938 bytes, lines 7908-7939
7908                        this.array = new (Uf(this.type))(t)
7909                    }, t.prototype.fromArray = function (t) {
7910                        var n = Uf(this.type);
7911                        this.array = n.from ? n.from(t) : new n(t)
7912                    }, t.prototype.fromArrayBuffer = function (t) {
7913                        this.array = new (Uf(this.type))(t)
7914                    }, t.prototype.getType = function () {
7915                        return this.type
7916                    }, t.prototype.getArray = function () {
7917                        return this.array
7918                    }, t.prototype.getUsage = function () {
7919                        return this.usage
7920                    }, t.prototype.getSize = function () {
7921                        return this.array ? this.array.length : 0
7922                    }, t
7923                }(), Bf = "webglcontextlost", Wf = "webglcontextrestored", Vf = function () {
7924                    function t(t) {
7925                        this.Po = t.webGlContext;
7926                        var n = this.Po;
7927                        this.Io = t.scaleRatio || 1, this.No = n.createTexture(), this.zo = null, this.Fo = n.createFramebuffer();
7928                        var i = n.createShader(n.VERTEX_SHADER);
7929                        n.shaderSource(i, t.vertexShader || "\n  precision mediump float;\n  \n  attribute vec2 a_position;\n  varying vec2 v_texCoord;\n  varying vec2 v_screenCoord;\n  \n  uniform vec2 u_screenSize;\n   \n  void main() {\n    v_texCoord = a_position * 0.5 + 0.5;\n    v_screenCoord = v_texCoord * u_screenSize;\n    gl_Position = vec4(a_position, 0.0, 1.0);\n  }\n"), n.compileShader(i);
7930                        var r = n.createShader(n.FRAGMENT_SHADER);
7931                        n.shaderSource(r, t.fragmentShader || "\n  precision mediump float;\n   \n  uniform sampler2D u_image;\n  uniform float u_opacity;\n   \n  varying vec2 v_texCoord;\n   \n  void main() {\n    gl_FragColor = texture2D(u_image, v_texCoord) * u_opacity;\n  }\n"), n.compileShader(r), this.Lo = n.createProgram(), n.attachShader(this.Lo, i), n.attachShader(this.Lo, r), n.linkProgram(this.Lo), this.Go = n.createBuffer();
7932                        n.bindBuffer(n.ARRAY_BUFFER, this.Go), n.bufferData(n.ARRAY_BUFFER, new Float32Array([-1, -1, 1, -1, -1, 1, 1, -1, 1, 1, -1, 1]), n.STATIC_DRAW), this.Do = n.getAttribLocation(this.Lo, "a_position"), this.Uo = n.getUniformLocation(this.Lo, "u_screenSize"), this.qo = n.getUniformLocation(this.Lo, "u_opacity"), this.Bo = n.getUniformLocation(this.Lo, "u_image"), this.Wo = [], t.uniforms && Object.keys(t.uniforms).forEach(function (i) {
7933                            this.Wo.push({value: t.uniforms[i], location: n.getUniformLocation(this.Lo, i)})
7934                        }.bind(this))
7935                    }
7936
7937                    return t.prototype.getGL = function () {
7938                        return this.Po
7939                    }, t.prototype.init = function (t) {
7940                        var n = this.getGL(), i = [n.drawingBufferWidth * this.Io, n.drawingBufferHeight * this.Io];
7941                        if (n.bindFramebuffer(n.FRAMEBUFFER, this.getFrameBuffer()), n.viewport(0, 0, i[0], i[1]), !this.zo || this.zo[0] !== i[0] || this.zo[1] !== i[1]) {
7942                            this.zo = i;
7943                            var r = n.RGBA, e = n.RGBA, o = n.UNSIGNED_BYTE;
7944                            n.bindTexture(n.TEXTURE_2D, this.No), n.texImage2D(n.TEXTURE_2D, 0, r, i[0], i[1], 0, e, o, null), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_MIN_FILTER, n.LINEAR), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_S, n.CLAMP_TO_EDGE), n.texParameteri(n.TEXTURE_2D, n.TEXTURE_WRAP_T, n.CLAMP_TO_EDGE), n.framebufferTexture2D(n.FRAMEBUFFER, n.COLOR_ATTACHMENT0, n.TEXTURE_2D, this.No, 0)
7945                        }
7946                    }, t.prototype.apply = function (t, n, i, r) {
7947                        var e = this.getGL(), s = t.size;
7948                        if (e.bindFramebuffer(e.FRAMEBUFFER, n ? n.getFrameBuffer() : null), e.activeTexture(e.TEXTURE0), e.bindTexture(e.TEXTURE_2D, this.No), !n) {
7949                            var a = o(e.canvas);
7950                            if (!t.renderTargets[a]) {
7951                                var u = e.getContextAttributes();
7952                                u && u.preserveDrawingBuffer && (e.clearColor(0, 0, 0, 0), e.clear(e.COLOR_BUFFER_BIT)), t.renderTargets[a] = !0
7953                            }
7954                        }
7955                        e.enable(e.BLEND), e.blendFunc(e.ONE, e.ONE_MINUS_SRC_ALPHA), e.viewport(0, 0, e.drawingBufferWidth, e.drawingBufferHeight), e.bindBuffer(e.ARRAY_BUFFER, this.Go), e.useProgram(this.Lo), e.enableVertexAttribArray(this.Do), e.vertexAttribPointer(this.Do, 2, e.FLOAT, !1, 0, 0), e.uniform2f(this.Uo, s[0], s[1]), e.uniform1i(this.Bo, 0);
7956                        var c = t.layerStatesArray[t.layerIndex].opacity;
7957                        e.uniform1f(this.qo, c), this.applyUniforms(t), i && i(e, t), e.drawArrays(e.TRIANGLES, 0, 6), r && r(e, t)
7958                    }, t.prototype.getFrameBuffer = function () {
7959                        return this.Fo
7960                    }, t.prototype.applyUniforms = function (t) {
7961                        var n, i = this.getGL(), r = 1;
7962                        this.Wo.forEach((function (e) {
7963                            if ((n = "function" == typeof e.value ? e.value(t) : e.value) instanceof HTMLCanvasElement || n instanceof ImageData) e.texture || (e.texture = i.createTexture()), i.activeTexture(i["TEXTURE".concat(r)]), i.bindTexture(i.TEXTURE_2D, e.texture), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MIN_FILTER, i.LINEAR), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_S, i.CLAMP_TO_EDGE), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_T, i.CLAMP_TO_EDGE), n instanceof ImageData ? i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, i.RGBA, n.width, n.height, 0, i.UNSIGNED_BYTE, new Uint8Array(n.data)) : i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, i.RGBA, i.UNSIGNED_BYTE, n), i.uniform1i(e.location, r++); else if (Array.isArray(n)) switch (n.length) {
7964                                case 2:
7965                                    return void i.uniform2f(e.location, n[0], n[1]);
7966                                case 3:
7967                                    return void i.uniform3f(e.location, n[0], n[1], n[2]);
7968                                case 4:
7969                                    return void i.uniform4f(e.location, n[0], n[1], n[2], n[3]);
7970                                default:
7971                                    return
7972                            } else "number" == typeof n && i.uniform1f(e.location, n)
7973                        }))
7974                    }, t
7975                }();
7976
7977                function Xf() {
7978                    return [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1]
7979                }
7980
7981                function Hf(t, n) {
7982                    return t[0] = n[0], t[1] = n[1], t[4] = n[2], t[5] = n[3], t[12] = n[4], t[13] = n[5], t
7983                }
7984
7985                var Jf = function () {
7986                        var t = function (n, i) {
7987                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
7988                                t.__proto__ = n
7989                            } || function (t, n) {
7990                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
7991                            })(n, i)
7992                        };
7993                        return function (n, i) {
7994                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
7995
7996                            function r() {
7997                                this.constructor = n
7998                            }
7999
8000                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8001                        }
8002                    }(), Kf = "u_projectionMatrix", Yf = "u_offsetScaleMatrix", Zf = "u_offsetRotateMatrix", $f = "u_time",
8003                    Qf = "u_zoom", tl = "u_resolution",
8004                    nl = {UNSIGNED_BYTE: 5121, UNSIGNED_SHORT: 5123, UNSIGNED_INT: 5125, FLOAT: ff}, il = {};
8005
8006                function rl(t) {
8007                    return "shared/" + t
8008                }
8009
8010                var el = 0;
8011
8012                function ol(t) {
8013                    for (var n = 0, i = 0; i < t.length; i++) {
8014                        var r = t[i];
8015                        n += r.size * sl(r.type)
8016                    }
8017                    return n
8018                }
8019
8020                function sl(t) {
8021                    switch (t) {
8022                        case nl.UNSIGNED_BYTE:
8023                            return Uint8Array.BYTES_PER_ELEMENT;
8024                        case nl.UNSIGNED_SHORT:
8025                            return Uint16Array.BYTES_PER_ELEMENT;
8026                        case nl.UNSIGNED_INT:
8027                            return Uint32Array.BYTES_PER_ELEMENT;
8028                        case nl.FLOAT:
8029                        default:
8030                            return Float32Array.BYTES_PER_ELEMENT
8031                    }
8032                }
8033
8034                var al = function (t) {
8035                    function n(n) {
8036                        var i, r = t.call(this) || this, e = n || {};
8037                        r.Vo = r.handleWebGLContextLost.bind(r), r.Xo = r.handleWebGLContextRestored.bind(r), r.Ho = e.canvasCacheKey ? rl(e.canvasCacheKey) : (i = "unique/" + el, el += 1, i), r.Ut = function (t) {
8038                            var n = il[t];
8039                            if (!n) {
8040                                var i = document.createElement("canvas");
8041                                i.style.position = "absolute", i.style.left = "0", n = {users: 0, canvas: i}, il[t] = n
8042                            }
8043                            return n.users += 1, n.canvas
8044                        }(r.Ho), r.Po = vf(r.Ut), r.Jo = {}, r.Ko = {}, r.Yo = null, r.Ut.addEventListener(Bf, r.Vo), r.Ut.addEventListener(Wf, r.Xo), r.Zo = [1, 0, 0, 1, 0, 0], r.$o = [1, 0, 0, 1, 0, 0], r.Qo = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], r.ts = {}, r.ns = {}, r.Wo = [], e.uniforms && r.setUniforms(e.uniforms);
8045                        var o = r.getGL();
8046                        return r.rs = e.postProcesses ? e.postProcesses.map((function (t) {
8047                            return new Vf({
8048                                webGlContext: o,
8049                                scaleRatio: t.scaleRatio,
8050                                vertexShader: t.vertexShader,
8051                                fragmentShader: t.fragmentShader,
8052                                uniforms: t.uniforms
8053                            })
8054                        })) : [new Vf({webGlContext: o})], r.es = null, r.ve = Date.now(), r
8055                    }
8056
8057                    return Jf(n, t), n.prototype.setUniforms = function (t) {
8058                        for (var n in this.Wo = [], t) this.Wo.push({name: n, value: t[n]});
8059                        this.ts = {}
8060                    }, n.prototype.canvasCacheKeyMatches = function (t) {
8061                        return this.Ho === rl(t)
8062                    }, n.prototype.getExtension = function (t) {
8063                        if (t in this.Ko) return this.Ko[t];
8064                        var n = this.Po.getExtension(t);
8065                        return this.Ko[t] = n, n
8066                    }, n.prototype.bindBuffer = function (t) {
8067                        var n = this.getGL(), i = o(t), r = this.Jo[i];
8068                        r || (r = {buffer: t, webGlBuffer: n.createBuffer()}, this.Jo[i] = r);
8069                        n.bindBuffer(t.getType(), r.webGlBuffer)
8070                    }, n.prototype.flushBufferData = function (t) {
8071                        var n = this.getGL();
8072                        this.bindBuffer(t), n.bufferData(t.getType(), t.getArray(), t.getUsage())
8073                    }, n.prototype.deleteBuffer = function (t) {
8074                        var n = this.getGL(), i = o(t), r = this.Jo[i];
8075                        r && !n.isContextLost() && n.deleteBuffer(r.webGlBuffer), delete this.Jo[i]
8076                    }, n.prototype.disposeInternal = function () {
8077                        this.Ut.removeEventListener(Bf, this.Vo), this.Ut.removeEventListener(Wf, this.Xo), function (t) {
8078                            var n = il[t];
8079                            if (n && (n.users -= 1, !(n.users > 0))) {
8080                                var i = vf(n.canvas).getExtension("WEBGL_lose_context");
8081                                i && i.loseContext(), delete il[t]
8082                            }
8083                        }(this.Ho), delete this.Po, delete this.Ut
8084                    }, n.prototype.prepareDraw = function (t, n) {
8085                        var i = this.getGL(), r = this.getCanvas(), e = t.size, o = t.pixelRatio;
8086                        r.width = e[0] * o, r.height = e[1] * o, r.style.width = e[0] + "px", r.style.height = e[1] + "px", i.useProgram(this.Yo);
8087                        for (var s = this.rs.length - 1; s >= 0; s--) this.rs[s].init(t);
8088                        i.bindTexture(i.TEXTURE_2D, null), i.clearColor(0, 0, 0, 0), i.clear(i.COLOR_BUFFER_BIT), i.enable(i.BLEND), i.blendFunc(i.ONE, n ? i.ZERO : i.ONE_MINUS_SRC_ALPHA), i.useProgram(this.Yo), this.applyFrameState(t), this.applyUniforms(t)
8089                    }, n.prototype.prepareDrawToRenderTarget = function (t, n, i) {
8090                        var r = this.getGL(), e = n.getSize();
8091                        r.bindFramebuffer(r.FRAMEBUFFER, n.getFramebuffer()), r.viewport(0, 0, e[0], e[1]), r.bindTexture(r.TEXTURE_2D, n.getTexture()), r.clearColor(0, 0, 0, 0), r.clear(r.COLOR_BUFFER_BIT), r.enable(r.BLEND), r.blendFunc(r.ONE, i ? r.ZERO : r.ONE_MINUS_SRC_ALPHA), r.useProgram(this.Yo), this.applyFrameState(t), this.applyUniforms(t)
8092                    }, n.prototype.drawElements = function (t, n) {
8093                        var i = this.getGL();
8094                        this.getExtension("OES_element_index_uint");
8095                        var r = i.UNSIGNED_INT, e = n - t, o = 4 * t;
8096                        i.drawElements(i.TRIANGLES, e, r, o)
8097                    }, n.prototype.finalizeDraw = function (t, n, i) {
8098                        for (var r = 0, e = this.rs.length; r < e; r++) r === e - 1 ? this.rs[r].apply(t, null, n, i) : this.rs[r].apply(t, this.rs[r + 1])
8099                    }, n.prototype.getCanvas = function () {
8100                        return this.Ut
8101                    }, n.prototype.getGL = function () {
8102                        return this.Po
8103                    }, n.prototype.applyFrameState = function (t) {
8104                        var n = t.size, i = t.viewState.rotation, r = Zt(this.$o);
8105                        en(r, 2 / n[0], 2 / n[1]);
8106                        var e = Zt(this.Zo);
8107                        0 !== i && rn(e, -i), this.setUniformMatrixValue(Yf, Hf(this.Qo, r)), this.setUniformMatrixValue(Zf, Hf(this.Qo, e)), this.setUniformFloatValue($f, .001 * (Date.now() - this.ve)), this.setUniformFloatValue(Qf, t.viewState.zoom), this.setUniformFloatValue(tl, t.viewState.resolution)
8108                    }, n.prototype.applyUniforms = function (t) {
8109                        var n, i = this.getGL(), r = 0;
8110                        this.Wo.forEach(function (e) {
8111                            if ((n = "function" == typeof e.value ? e.value(t) : e.value) instanceof HTMLCanvasElement || n instanceof HTMLImageElement || n instanceof ImageData) e.texture || (e.prevValue = void 0, e.texture = i.createTexture()), i.activeTexture(i["TEXTURE".concat(r)]), i.bindTexture(i.TEXTURE_2D, e.texture), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_MIN_FILTER, i.L
8111INEAR), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_S, i.CLAMP_TO_EDGE), i.texParameteri(i.TEXTURE_2D, i.TEXTURE_WRAP_T, i.CLAMP_TO_EDGE), (!(n instanceof HTMLImageElement) || n.complete) && e.prevValue !== n && (e.prevValue = n, i.texImage2D(i.TEXTURE_2D, 0, i.RGBA, i.RGBA, i.UNSIGNED_BYTE, n)), i.uniform1i(this.getUniformLocation(e.name), r++); else if (Array.isArray(n) && 6 === n.length) this.setUniformMatrixValue(e.name, Hf(this.Qo, n)); else if (Array.isArray(n) && n.length <= 4) switch (n.length) {
8112                                case 2:
8113                                    return void i.uniform2f(this.getUniformLocation(e.name), n[0], n[1]);
8114                                case 3:
8115                                    return void i.uniform3f(this.getUniformLocation(e.name), n[0], n[1], n[2]);
8116                                case 4:
8117                                    return void i.uniform4f(this.getUniformLocation(e.name), n[0], n[1], n[2], n[3]);
8118                                default:
8119                                    return
8120                            } else "number" == typeof n && i.uniform1f(this.getUniformLocation(e.name), n)
8121                        }.bind(this))
8122                    }, n.prototype.useProgram = function (t) {
8123                        return t != this.Yo && (this.getGL().useProgram(t), this.Yo = t, this.ts = {}, this.ns = {}, !0)
8124                    }, n.prototype.compileShader = function (t, n) {
8125                        var i = this.getGL(), r = i.createShader(n);
8126                        return i.shaderSource(r, t), i.compileShader(r), r
8127                    }, n.prototype.getProgram = function (t, n) {
8128                        var i = this.getGL(), r = this.compileShader(t, i.FRAGMENT_SHADER),
8129                            e = this.compileShader(n, i.VERTEX_SHADER), o = i.createProgram();
8130                        if (i.attachShader(o, r), i.attachShader(o, e), i.linkProgram(o), !i.getShaderParameter(r, i.COMPILE_STATUS)) {
8131                            var s = "Fragment shader compliation failed: ".concat(i.getShaderInfoLog(r));
8132                            throw new Error(s)
8133                        }
8134                        if (i.deleteShader(r), !i.getShaderParameter(e, i.COMPILE_STATUS)) {
8135                            s = "Vertex shader compilation failed: ".concat(i.getShaderInfoLog(e));
8136                            throw new Error(s)
8137                        }
8138                        if (i.deleteShader(e), !i.getProgramParameter(o, i.LINK_STATUS)) {
8139                            s = "GL program linking failed: ".concat(i.getShaderInfoLog(e));
8140                            throw new Error(s)
8141                        }
8142                        return o
8143                    }, n.prototype.getUniformLocation = function (t) {
8144                        return void 0 === this.ts[t] && (this.ts[t] = this.getGL().getUniformLocation(this.Yo, t)), this.ts[t]
8145                    }, n.prototype.getAttributeLocation = function (t) {
8146                        return void 0 === this.ns[t] && (this.ns[t] = this.getGL().getAttribLocation(this.Yo, t)), this.ns[t]
8147                    }, n.prototype.makeProjectionTransform = function (t, n) {
8148                        var i = t.size, r = t.viewState.rotation, e = t.viewState.resolution, o = t.viewState.center;
8149                        return Zt(n), an(n, 0, 0, 2 / (e * i[0]), 2 / (e * i[1]), -r, -o[0], -o[1]), n
8150                    }, n.prototype.setUniformFloatValue = function (t, n) {
8151                        this.getGL().uniform1f(this.getUniformLocation(t), n)
8152                    }, n.prototype.setUniformFloatVec4 = function (t, n) {
8153                        this.getGL().uniform4fv(this.getUniformLocation(t), n)
8154                    }, n.prototype.setUniformMatrixValue = function (t, n) {
8155                        this.getGL().uniformMatrix4fv(this.getUniformLocation(t), !1, n)
8156                    }, n.prototype.os = function (t, n, i, r, e) {
8157                        var o = this.getAttributeLocation(t);
8158                        o < 0 || (this.getGL().enableVertexAttribArray(o), this.getGL().vertexAttribPointer(o, n, i, !1, r, e))
8159                    }, n.prototype.enableAttributes = function (t) {
8160                        for (var n = ol(t), i = 0, r = 0; r < t.length; r++) {
8161                            var e = t[r];
8162                            this.os(e.name, e.size, e.type || ff, n, i), i += e.size * sl(e.type)
8163                        }
8164                    }, n.prototype.handleWebGLContextLost = function () {
8165                        A(this.Jo), this.Yo = null
8166                    }, n.prototype.handleWebGLContextRestored = function () {
8167                    }, n.prototype.createTexture = function (t, n, i) {
8168                        var r = this.getGL(), e = i || r.createTexture(), o = r.RGBA, s = r.RGBA, a = r.UNSIGNED_BYTE;
8169                        return r.bindTexture(r.TEXTURE_2D, e), n ? r.texImage2D(r.TEXTURE_2D, 0, o, s, a, n) : r.texImage2D(r.TEXTURE_2D, 0, o, t[0], t[1], 0, s, a, null), r.texParameteri(r.TEXTURE_2D, r.TEXTURE_MIN_FILTER, r.LINEAR), r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_S, r.CLAMP_TO_EDGE), r.texParameteri(r.TEXTURE_2D, r.TEXTURE_WRAP_T, r.CLAMP_TO_EDGE), e
8170                    }, n
8171                }(v), ul = function () {
8172                    function t(t, n) {
8173                        this.name = t, this.data = n, this.ss = null
8174                    }
8175
8176                    return t.prototype.getTexture = function (t) {
8177                        if (!this.ss) {
8178                            var n = t.createTexture();
8179                            t.bindTexture(t.TEXTURE_2D, n), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, t.NEAREST), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, t.NEAREST), t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, this.data.length / 4, 1, 0, t.RGBA, t.UNSIGNED_BYTE, this.data), this.ss = n
8180                        }
8181                        return this.ss
8182                    }, t
8183                }(), cl = new Uint8Array(4), hl = function () {
8184                    function t(t, n) {
8185                        this.us = t;
8186                        var i = t.getGL();
8187                        this.ss = i.createTexture(), this.cs = i.createFramebuffer(), this.hs = n || [1, 1], this.B = new Uint8Array(0), this.fs = !0, this.ls()
8188                    }
8189
8190                    return t.prototype.setSize = function (t) {
8191                        x(t, this.hs) || (this.hs[0] = t[0], this.hs[1] = t[1], this.ls())
8192                    }, t.prototype.getSize = function () {
8193                        return this.hs
8194                    }, t.prototype.clearCachedData = function () {
8195                        this.fs = !0
8196                    }, t.prototype.readAll = function () {
8197                        if (this.fs) {
8198                            var t = this.hs, n = this.us.getGL();
8199                            n.bindFramebuffer(n.FRAMEBUFFER, this.cs), n.readPixels(0, 0, t[0], t[1], n.RGBA, n.UNSIGNED_BYTE, this.B), this.fs = !1
8200                        }
8201                        return this.B
8202                    }, t.prototype.readPixel = function (t, n) {
8203                        if (t < 0 || n < 0 || t > this.hs[0] || n >= this.hs[1]) return cl[0] = 0, cl[1] = 0, cl[2] = 0, cl[3] = 0, cl;
8204                        this.readAll();
8205                        var i = Math.floor(t) + (this.hs[1] - Math.floor(n) - 1) * this.hs[0];
8206                        return cl[0] = this.B[4 * i], cl[1] = this.B[4 * i + 1], cl[2] = this.B[4 * i + 2], cl[3] = this.B[4 * i + 3], cl
8207                    }, t.prototype.getTexture = function () {
8208                        return this.ss
8209                    }, t.prototype.getFramebuffer = function () {
8210                        return this.cs
8211                    }, t.prototype.ls = function () {
8212                        var t = this.hs, n = this.us.getGL();
8213                        this.ss = this.us.createTexture(t, null, this.ss), n.bindFramebuffer(n.FRAMEBUFFER, this.cs), n.viewport(0, 0, t[0], t[1]), n.framebufferTexture2D(n.FRAMEBUFFER, n.COLOR_ATTACHMENT0, n.TEXTURE_2D, this.ss, 0), this.B = new Uint8Array(t[0] * t[1] * 4)
8214                    }, t
8215                }(), fl = !0, ll = function () {
8216                    function t(t, n, i, r, e, o) {
8217                        this.vs = t, this.ds = n;
8218                        var s = {}, a = Er(this.ds, this.vs);
8219                        this.ps = function (t) {
8220                            var n = t[0] + "/" + t[1];
8221                            return s[n] || (s[n] = a(t)), s[n]
8222                        }, this.ys = r, this.ws = e * e, this.bs = [], this.gs = !1, this.xs = this.vs.canWrapX() && !!r && !!this.vs.getExtent() && Qn(r) == Qn(this.vs.getExtent()), this.Ss = this.vs.getExtent() ? Qn(this.vs.getExtent()) : null, this.ks = this.ds.getExtent() ? Qn(this.ds.getExtent()) : null;
8223                        var u = Zn(i), c = $n(i), h = Vn(i), f = Wn(i), l = this.ps(u), v = this.ps(c), d = this.ps(h),
8224                            p = this.ps(f), y = 10 + (o ? Math.max(0, Math.ceil(hi(Bn(i) / (o * o * 256 * 256)))) : 0);
8225                        if (this.Ms(u, c, h, f, l, v, d, p, y), this.gs) {
8226                            var m = 1 / 0;
8227                            this.bs.forEach((function (t, n, i) {
8228                                m = Math.min(m, t.source[0][0], t.source[1][0], t.source[2][0])
8229                            })), this.bs.forEach(function (t) {
8230                                if (Math.max(t.source[0][0], t.source[1][0], t.source[2][0]) - m > this.Ss / 2) {
8231                                    var n = [[t.source[0][0], t.source[0][1]], [t.source[1][0], t.source[1][1]], [t.source[2][0], t.source[2][1]]];
8232                                    n[0][0] - m > this.Ss / 2 && (n[0][0] -= this.Ss), n[1][0] - m > this.Ss / 2 && (n[1][0] -= this.Ss), n[2][0] - m > this.Ss / 2 && (n[2][0] -= this.Ss);
8233                                    var i = Math.min(n[0][0], n[1][0], n[2][0]);
8234                                    Math.max(n[0][0], n[1][0], n[2][0]) - i < this.Ss / 2 && (t.source = n)
8235                                }
8236                            }.bind(this))
8237                        }
8238                        s = {}
8239                    }
8240
8241                    return t.prototype._s = function (t, n, i, r, e, o) {
8242                        this.bs.push({source: [r, e, o], target: [t, n, i]})
8243                    }, t.prototype.Ms = function (t, n, i, r, e, o, s, a, u) {
8244                        var c = xn([e, o, s, a]), h = this.Ss ? Qn(c) / this.Ss : null, f = this.Ss,
8245                            l = this.vs.canWrapX() && h > .5 && h < 1, v = !1;
8246                        if (u > 0) {
8247                            if (this.ds.isGlobal() && this.ks) v = Qn(xn([t, n, i, r])) / this.ks > .25 || v;
8248                            !l && this.vs.isGlobal() && h && (v = h > .25 || v)
8249                        }
8250                        if (!(!v && this.ys && isFinite(c[0]) && isFinite(c[1]) && isFinite(c[2]) && isFinite(c[3])) || ti(c, this.ys)) {
8251                            var d = 0;
8252                            if (!(v || isFinite(e[0]) && isFinite(e[1]) && isFinite(o[0]) && isFinite(o[1]) && isFinite(s[0]) && isFinite(s[1]) && isFinite(a[0]) && isFinite(a[1]))) if (u > 0) v = !0; else if (1 != (d = (isFinite(e[0]) && isFinite(e[1]) ? 0 : 8) + (isFinite(o[0]) && isFinite(o[1]) ? 0 : 4) + (isFinite(s[0]) && isFinite(s[1]) ? 0 : 2) + (isFinite(a[0]) && isFinite(a[1]) ? 0 : 1)) && 2 != d && 4 != d && 8 != d) return;
8253                            if (u > 0) {
8254                                if (!v) {
8255                                    var p = [(t[0] + i[0]) / 2, (t[1] + i[1]) / 2], y = this.ps(p), m = void 0;
8256                                    if (l) m = (yi(e[0], f) + yi(s[0], f)) / 2 - yi(y[0], f); else m = (e[0] + s[0]) / 2 - y[0];
8257                                    var w = (e[1] + s[1]) / 2 - y[1];
8258                                    v = m * m + w * w > this.ws
8259                                }
8260                                if (v) {
8261                                    if (Math.abs(t[0] - i[0]) <= Math.abs(t[1] - i[1])) {
8262                                        var b = [(n[0] + i[0]) / 2, (n[1] + i[1]) / 2], g = this.ps(b),
8263                                            x = [(r[0] + t[0]) / 2, (r[1] + t[1]) / 2], j = this.ps(x);
8264                                        this.Ms(t, n, b, x, e, o, g, j, u - 1), this.Ms(x, b, i, r, j, g, s, a, u - 1)
8265                                    } else {
8266                                        var S = [(t[0] + n[0]) / 2, (t[1] + n[1]) / 2], k = this.ps(S),
8267                                            M = [(i[0] + r[0]) / 2, (i[1] + r[1]) / 2], _ = this.ps(M);
8268                                        this.Ms(t, S, M, r, e, k, _, a, u - 1), this.Ms(S, n, i, M, k, o, s, _, u - 1)
8269                                    }
8270                                    return
8271                                }
8272                            }
8273                            if (l) {
8274                                if (!this.xs) return;
8275                                this.gs = !0
8276                            }
8277                            0 == (11 & d) && this._s(t, i, r, e, s, a), 0 == (14 & d) && this._s(t, i, n, e, s, o), d && (0 == (13 & d) && this._s(n, r, t, o, a, e), 0 == (7 & d) && this._s(n, r, i, o, a, s))
8278                        }
8279                    }, t.prototype.calculateSourceExtent = function () {
8280                        var t = [1 / 0, 1 / 0, -1 / 0, -1 / 0];
8281                        return this.bs.forEach((function (n, i, r) {
8282                            var e = n.source;
8283                            Fn(t, e[0]), Fn(t, e[1]), Fn(t, e[2])
8284                        })), t
8285                    }, t.prototype.getTriangles = function () {
8286                        return this.bs
8287                    }, t
8288                }(), vl = function () {
8289                    var t = function (n, i) {
8290                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
8291                            t.__proto__ = n
8292                        } || function (t, n) {
8293                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
8294                        })(n, i)
8295                    };
8296                    return function (n, i) {
8297                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
8298
8299                        function r() {
8300                            this.constructor = n
8301                        }
8302
8303                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8304                    }
8305                }(), dl = function (t) {
8306                    function n(n, i, r, e, o, s, a, u, c, h, f, l) {
8307                        var v = t.call(this, o, lt, {interpolate: !!l}) || this;
8308                        v.Os = void 0 !== f && f, v.Rt = a, v.Ts = u, v.Ut = null, v.Es = i, v.As = e, v.Cs = s || o, v.Rs = [], v.Ps = null, v.Is = 0;
8309                        var d = e.getTileCoordExtent(v.Cs), p = v.As.getExtent(), y = v.Es.getExtent(),
8310                            m = p ? Yn(d, p) : d;
8311                        if (0 === Bn(m)) return v.state = yt, v;
8312                        var w = n.getExtent();
8313                        w && (y = y ? Yn(y, w) : w);
8314                        var b = e.getResolution(v.Cs[0]), g = qh(n, r, m, b);
8315                        if (!isFinite(g) || g <= 0) return v.state = yt, v;
8316                        var x = void 0 !== h ? h : .5;
8317                        if (v.Ns = new ll(n, r, m, y, g * x, b), 0 === v.Ns.getTriangles().length) return v.state = yt, v;
8318                        v.Is = i.getZForResolution(g);
8319                        var j = v.Ns.calculateSourceExtent();
8320                        if (y && (n.canWrapX() ? (j[1] = ui(j[1], y[1], y[3]), j[3] = ui(j[3], y[1], y[3])) : j = Yn(j, y)), Bn(j)) {
8321                            for (var S = i.getTileRangeForExtentAndZ(j, v.Is), k = S.minX; k <= S.maxX; k++) for (var M = S.minY; M <= S.maxY; M++) {
8322                                var _ = c(v.Is, k, M, a);
8323                                _ && v.Rs.push(_)
8324                            }
8325                            0 === v.Rs.length && (v.state = yt)
8326                        } else v.state = yt;
8327                        return v
8328                    }
8329
8330                    return vl(n, t), n.prototype.getImage = function () {
8331                        return this.Ut
8332                    }, n.prototype.zs = function () {
8333                        var t = [];
8334                        if (this.Rs.forEach(function (n, i, r) {
8335                            n && n.getState() == dt && t.push({
8336                                extent: this.Es.getTileCoordExtent(n.tileCoord),
8337                                image: n.getImage()
8338                            })
8339                        }.bind(this)), this.Rs.length = 0, 0 === t.length) this.state = pt; else {
8340                            var n = this.Cs[0], i = this.As.getTileSize(n), r = "number" == typeof i ? i : i[0],
8341                                e = "number" == typeof i ? i : i[1], o = this.As.getResolution(n),
8342                                s = this.Es.getResolution(this.Is), a = this.As.getTileCoordExtent(this.Cs);
8343                            this.Ut = Bh(r, e, this.Rt, s, this.Es.getExtent(), o, a, this.Ns, t, this.Ts, this.Os, this.interpolate), this.state = dt
8344                        }
8345                        this.changed()
8346                    }, n.prototype.load = function () {
8347                        if (this.state == lt) {
8348                            this.state = vt, this.changed();
8349                            var t = 0;
8350                            this.Ps = [], this.Rs.forEach(function (n, i, r) {
8351                                var e = n.getState();
8352                                if (e == lt || e == vt) {
8353                                    t++;
8354                                    var o = Y(n, N, (function (i) {
8355                                        var r = n.getState();
8356                                        r != dt && r != pt && r != yt || ($(o), 0 === --t && (this.Fs(), this.zs()))
8357                                    }), this);
8358                                    this.Ps.push(o)
8359                                }
8360                            }.bind(this)), 0 === t ? setTimeout(this.zs.bind(this), 0) : this.Rs.forEach((function (t, n, i) {
8361                                t.getState() == lt && t.load()
8362                            }))
8363                        }
8364                    }, n.prototype.Fs = function () {
8365                        this.Ps.forEach($), this.Ps = null
8366                    }, n
8367                }(jt), pl = function () {
8368                    var t = function (n, i) {
8369                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
8370                            t.__proto__ = n
8371                        } || function (t, n) {
8372                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
8373                        })(n, i)
8374                    };
8375                    return function (n, i) {
8376                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
8377
8378                        function r() {
8379                            this.constructor = n
8380                        }
8381
8382                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8383                    }
8384                }();
8385
8386                function yl(t, n, i) {
8387                    var r = i ? t.LINEAR : t.NEAREST;
8388                    t.bindTexture(t.TEXTURE_2D, n), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_S, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_WRAP_T, t.CLAMP_TO_EDGE), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MIN_FILTER, r), t.texParameteri(t.TEXTURE_2D, t.TEXTURE_MAG_FILTER, r)
8389                }
8390
8391                function ml(t, n, i, r, e, o) {
8392                    var s = t.getGL();
8393                    yl(s, n, o);
8394                    var a, u, c = i.byteLength / r[1], h = 1;
8395                    switch (c % 8 == 0 ? h = 8 : c % 4 == 0 ? h = 4 : c % 2 == 0 && (h = 2), e) {
8396                        case 1:
8397                            a = s.LUMINANCE;
8398                            break;
8399                        case 2:
8400                            a = s.LUMINANCE_ALPHA;
8401                            break;
8402                        case 3:
8403                            a = s.RGB;
8404                            break;
8405                        case 4:
8406                            a = s.RGBA;
8407                            break;
8408                        default:
8409                            throw new Error("Unsupported number of bands: ".concat(e))
8410                    }
8411                    i instanceof Float32Array ? (u = s.FLOAT, t.getExtension("OES_texture_float"), t.getExtension("OES_texture_float_linear")) : u = s.UNSIGNED_BYTE;
8412                    var f = s.getParameter(s.UNPACK_ALIGNMENT);
8413                    s.pixelStorei(s.UNPACK_ALIGNMENT, h), s.texImage2D(s.TEXTURE_2D, 0, a, r[0], r[1], 0, a, u, i), s.pixelStorei(s.UNPACK_ALIGNMENT, f)
8414                }
8415
8416                var wl = null;
8417                var bl = function (t) {
8418                    function n(n) {
8419                        var i = t.call(this) || this;
8420                        i.tile, i.textures = [], i.cr = i.cr.bind(i), i.size = ou(n.grid.getTileSize(n.tile.tileCoord[0])), i.Ls = n.tilePixelRatio || 1, i.Ts = n.gutter || 0, i.bandCount = NaN, i.us = n.helper;
8421                        var r = new qf(af, cf);
8422                        return r.fromArray([0, 1, 1, 1, 1, 0, 0, 0]), i.us.flushBufferData(r), i.coords = r, i.setTile(n.tile), i
8423                    }
8424
8425                    return pl(n, t), n.prototype.setTile = function (t) {
8426                        if (t !== this.tile) if (this.tile && this.tile.removeEventListener(N, this.cr), this.tile = t, this.textures.length = 0, this.loaded = t.getState() === dt, this.loaded) this.Gs(); else {
8427                            if (t instanceof Io) {
8428                                var n = t.getImage();
8429                                n instanceof Image && !n.crossOrigin && (n.crossOrigin = "anonymous")
8430                            }
8431                            t.addEventListener(N, this.cr)
8432                        }
8433                    }, n.prototype.Gs = function () {
8434                        var t = this.us, n = t.getGL(), i = this.tile;
8435                        if (i instanceof Io || i instanceof dl) {
8436                            var r = i.getImage();
8437                            if (0 !== this.Ts) {
8438                                var e = this.Ls * this.Ts, o = Math.round(r.width - 2 * e),
8439                                    s = Math.round(r.height - 2 * e), a = _o(o, s);
8440                                i.interpolate || E(a, Fh), a.drawImage(r, e, e, o, s, 0, 0, o, s), r = a.
8440canvas
8441                            }
8442                            var u = n.createTexture();
8443                            return this.textures.push(u), this.bandCount = 4, void function (t, n, i, r) {
8444                                yl(t, n, r), t.texImage2D(t.TEXTURE_2D, 0, t.RGBA, t.RGBA, t.UNSIGNED_BYTE, i)
8445                            }(n, u, r, i.interpolate)
8446                        }
8447                        var c = [this.size[0] * this.Ls, this.size[1] * this.Ls], h = i.getData(),
8448                            f = h instanceof Float32Array, l = c[0] * c[1], v = f ? Float32Array : Uint8Array,
8449                            d = v.BYTES_PER_ELEMENT, p = h.byteLength / c[1];
8450                        this.bandCount = Math.floor(p / d / c[0]);
8451                        var y = Math.ceil(this.bandCount / 4);
8452                        if (1 === y) {
8453                            u = n.createTexture();
8454                            return this.textures.push(u), void ml(t, u, h, c, this.bandCount, i.interpolate)
8455                        }
8456                        for (var m = new Array(y), w = 0; w < y; ++w) {
8457                            u = n.createTexture();
8458                            this.textures.push(u);
8459                            var b = w < y - 1 ? 4 : this.bandCount % 4;
8460                            m[w] = new v(l * b)
8461                        }
8462                        for (var g = 0, x = 0, j = c[0] * this.bandCount, S = 0; S < c[1]; ++S) {
8463                            for (var k = 0; k < j; ++k) {
8464                                var M = h[x + k], _ = Math.floor(g / this.bandCount), O = k % this.bandCount;
8465                                (T = m[w = Math.floor(O / 4)])[_ * (b = T.length / l) + O % 4] = M, ++g
8466                            }
8467                            x += p / d
8468                        }
8469                        for (w = 0; w < y; ++w) {
8470                            var T;
8471                            ml(t, u = this.textures[w], T = m[w], c, b = T.length / l, i.interpolate)
8472                        }
8473                    }, n.prototype.cr = function () {
8474                        this.tile.getState() === dt && (this.loaded = !0, this.Gs(), this.dispatchEvent(N))
8475                    }, n.prototype.disposeInternal = function () {
8476                        var t = this.us.getGL();
8477                        this.us.deleteBuffer(this.coords);
8478                        for (var n = 0; n < this.textures.length; ++n) t.deleteTexture(this.textures[n]);
8479                        this.tile.removeEventListener(N, this.cr)
8480                    }, n.prototype.getPixelData = function (t, n) {
8481                        if (!this.loaded) return null;
8482                        if (t = Math.floor(this.Ls * t), n = Math.floor(this.Ls * n), this.tile instanceof kt) {
8483                            var i = this.tile.getData(), r = Math.floor(this.Ls * this.size[0]);
8484                            if (i instanceof DataView) {
8485                                var e = i.byteLength / (this.size[0] * this.size[1]), o = n * r * e + t * e,
8486                                    s = i.buffer.slice(o, o + e);
8487                                return new DataView(s)
8488                            }
8489                            var a = n * r * this.bandCount + t * this.bandCount;
8490                            return i.slice(a, a + this.bandCount)
8491                        }
8492                        var u, c;
8493                        wl || ((u = document.createElement("canvas")).width = 1, u.height = 1, wl = u.getContext("2d")), wl.clearRect(0, 0, 1, 1);
8494                        var h = this.tile.getImage();
8495                        try {
8496                            wl.drawImage(h, t, n, 1, 1, 0, 0, 1, 1), c = wl.getImageData(0, 0, 1, 1).data
8497                        } catch (t) {
8498                            return null
8499                        }
8500                        return c
8501                    }, n
8502                }(I), gl = function () {
8503                    var t = function (n, i) {
8504                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
8505                            t.__proto__ = n
8506                        } || function (t, n) {
8507                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
8508                        })(n, i)
8509                    };
8510                    return function (n, i) {
8511                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
8512
8513                        function r() {
8514                            this.constructor = n
8515                        }
8516
8517                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8518                    }
8519                }(), xl = function (t) {
8520                    function n(n) {
8521                        var i = t.call(this) || this;
8522                        return i.ready = !0, i.Ds = i.Us.bind(i), i.qs = n, i.declutterExecutorGroup = null, i
8523                    }
8524
8525                    return gl(n, t), n.prototype.getFeatures = function (t) {
8526                        return r()
8527                    }, n.prototype.getData = function (t) {
8528                        return null
8529                    }, n.prototype.prepareFrame = function (t) {
8530                        return r()
8531                    }, n.prototype.renderFrame = function (t, n) {
8532                        return r()
8533                    }, n.prototype.loadedTileCallback = function (t, n, i) {
8534                        t[n] || (t[n] = {}), t[n][i.tileCoord.toString()] = i
8535                    }, n.prototype.createLoadedTileFinder = function (t, n, i) {
8536                        return function (r, e) {
8537                            var o = this.loadedTileCallback.bind(this, i, r);
8538                            return t.forEachLoadedTile(n, r, e, o)
8539                        }.bind(this)
8540                    }, n.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e) {
8541                    }, n.prototype.getDataAtPixel = function (t, n, i) {
8542                        return null
8543                    }, n.prototype.getLayer = function () {
8544                        return this.qs
8545                    }, n.prototype.handleFontsChanged = function () {
8546                    }, n.prototype.Us = function (t) {
8547                        t.target.getState() === wo && this.renderIfReadyAndVisible()
8548                    }, n.prototype.loadImage = function (t) {
8549                        var n = t.getState();
8550                        return n != wo && n != bo && t.addEventListener(N, this.Ds), n == yo && (t.load(), n = t.getState()), n == wo
8551                    }, n.prototype.renderIfReadyAndVisible = function () {
8552                        var t = this.getLayer();
8553                        t.getVisible() && t.getSourceState() == ps && t.changed()
8554                    }, n.prototype.disposeInternal = function () {
8555                        delete this.qs, t.prototype.disposeInternal.call(this)
8556                    }, n
8557                }(it), jl = function () {
8558                    var t = function (n, i) {
8559                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
8560                            t.__proto__ = n
8561                        } || function (t, n) {
8562                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
8563                        })(n, i)
8564                    };
8565                    return function (n, i) {
8566                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
8567
8568                        function r() {
8569                            this.constructor = n
8570                        }
8571
8572                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8573                    }
8574                }(), Sl = "GENERATE_BUFFERS", kl = function (t) {
8575                    function n(n, i) {
8576                        var r = t.call(this, n) || this, e = i || {};
8577                        return r.Bs = [1, 0, 0, 1, 0, 0], r.Ws = null, r.Vs = e.postProcesses, r.Wo = e.uniforms, r.helper, n.addChangeListener(es, r.removeHelper.bind(r)), r.dispatchPreComposeEvent = r.dispatchPreComposeEvent.bind(r), r.dispatchPostComposeEvent = r.dispatchPostComposeEvent.bind(r), r
8578                    }
8579
8580                    return jl(n, t), n.prototype.dispatchPreComposeEvent = function (t, n) {
8581                        var i = this.getLayer();
8582                        if (i.hasListener(hs)) {
8583                            var r = new ks(hs, void 0, n, t);
8584                            i.dispatchEvent(r)
8585                        }
8586                    }, n.prototype.dispatchPostComposeEvent = function (t, n) {
8587                        var i = this.getLayer();
8588                        if (i.hasListener(fs)) {
8589                            var r = new ks(fs, void 0, n, t);
8590                            i.dispatchEvent(r)
8591                        }
8592                    }, n.prototype.reset = function (t) {
8593                        this.Wo = t.uniforms, this.helper && this.helper.setUniforms(this.Wo)
8594                    }, n.prototype.removeHelper = function () {
8595                        this.helper && (this.helper.dispose(), delete this.helper)
8596                    }, n.prototype.prepareFrame = function (t) {
8597                        if (this.getLayer().getRenderSource()) {
8598                            for (var i = !0, r = -1, e = void 0, o = 0, s = t.layerStatesArray.length; o < s; o++) {
8599                                var a = t.layerStatesArray[o].layer, u = a.getRenderer();
8600                                if (u instanceof n) {
8601                                    var c = a.getClassName();
8602                                    if ((i || c !== e) && (r += 1, i = !1), e = c, u === this) break
8603                                } else i = !0
8604                            }
8605                            var h = "map/" + t.mapId + "/group/" + r;
8606                            this.helper && this.helper.canvasCacheKeyMatches(h) || (this.removeHelper(), this.helper = new al({
8607                                postProcesses: this.Vs,
8608                                uniforms: this.Wo,
8609                                canvasCacheKey: h
8610                            }), e && (this.helper.getCanvas().className = e), this.afterHelperCreated())
8611                        }
8612                        return this.prepareFrameInternal(t)
8613                    }, n.prototype.afterHelperCreated = function () {
8614                    }, n.prototype.prepareFrameInternal = function (t) {
8615                        return !0
8616                    }, n.prototype.disposeInternal = function () {
8617                        this.removeHelper(), t.prototype.disposeInternal.call(this)
8618                    }, n.prototype.Xs = function (t, n, i) {
8619                        var r = this.getLayer();
8620                        if (r.hasListener(t)) {
8621                            an(this.Bs, 0, 0, i.pixelRatio, -i.pixelRatio, 0, 0, -i.size[1]);
8622                            var e = new ks(t, this.Bs, i, n);
8623                            r.dispatchEvent(e)
8624                        }
8625                    }, n.prototype.preRender = function (t, n) {
8626                        this.Xs(us, t, n)
8627                    }, n.prototype.postRender = function (t, n) {
8628                        this.Xs(cs, t, n)
8629                    }, n.prototype.getDataAtPixel = function (t, n, i) {
8630                        var r = nn([n.pixelRatio, 0, 0, n.pixelRatio, 0, 0], t.slice()), e = this.helper.getGL();
8631                        if (!e) return null;
8632                        var o = this.getLayer().getExtent();
8633                        if (o && !Mn(o, nn(n.pixelToCoordinateTransform, t.slice()))) return null;
8634                        var s = e.getContextAttributes();
8635                        if (!s || !s.preserveDrawingBuffer) return new Uint8Array;
8636                        var a, u = Math.round(r[0]), c = Math.round(r[1]), h = this.Ws;
8637                        if (!h) {
8638                            var f = document.createElement("canvas");
8639                            f.width = 1, f.height = 1, h = f.getContext("2d"), this.Ws = h
8640                        }
8641                        h.clearRect(0, 0, 1, 1);
8642                        try {
8643                            h.drawImage(e.canvas, u, c, 1, 1, 0, 0, 1, 1), a = h.getImageData(0, 0, 1, 1).data
8644                        } catch (t) {
8645                            return a
8646                        }
8647                        return 0 === a[3] ? null : a
8648                    }, n
8649                }(xl), Ml = [], _l = {vertexPosition: 0, indexPosition: 0};
8650
8651                function Ol(t, n, i, r, e) {
8652                    t[n + 0] = i, t[n + 1] = r, t[n + 2] = e
8653                }
8654
8655                function Tl(t, n) {
8656                    var i = n || [], r = 256, e = 255;
8657                    return i[0] = Math.floor(t / r / r / r) / e, i[1] = Math.floor(t / r / r) % r / e, i[2] = Math.floor(t / r) % r / e, i[3] = t % r / e, i
8658                }
8659
8660                function El(t) {
8661                    var n = 0, i = 256, r = 255;
8662                    return n += Math.round(t[0] * i * i * i * r), n += Math.round(t[1] * i * i * r), n += Math.round(t[2] * i * r), n += Math.round(t[3] * r)
8663                }
8664
8665                var Al = kl, Cl = function () {
8666                        var t = function (n, i) {
8667                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
8668                                t.__proto__ = n
8669                            } || function (t, n) {
8670                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
8671                            })(n, i)
8672                        };
8673                        return function (n, i) {
8674                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
8675
8676                            function r() {
8677                                this.constructor = n
8678                            }
8679
8680                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
8681                        }
8682                    }(), Rl = {
8683                        TILE_TEXTURE_ARRAY: "u_tileTextures",
8684                        TILE_TRANSFORM: "u_tileTransform",
8685                        TRANSITION_ALPHA: "u_transitionAlpha",
8686                        DEPTH: "u_depth",
8687                        TEXTURE_PIXEL_WIDTH: "u_texturePixelWidth",
8688                        TEXTURE_PIXEL_HEIGHT: "u_texturePixelHeight",
8689                        TEXTURE_RESOLUTION: "u_textureResolution",
8690                        TEXTURE_ORIGIN_X: "u_textureOriginX",
8691                        TEXTURE_ORIGIN_Y: "u_textureOriginY",
8692                        RENDER_EXTENT: "u_renderExtent",
8693                        RESOLUTION: "u_resolution",
8694                        ZOOM: "u_zoom"
8695                    }, Pl = {TEXTURE_COORD: "a_textureCoord"}, Il = [{name: Pl.TEXTURE_COORD, size: 2, type: nl.FLOAT}],
8696                    Nl = {};
8697
8698                function zl(t) {
8699                    return 2 * (1 - 1 / (t + 1)) - 1
8700                }
8701
8702                function Fl(t, n, i) {
8703                    i in t || (t[i] = []), t[i].push(n)
8704                }
8705
8706                function Ll(t, n) {
8707                    var i = t.layerStatesArray[t.layerIndex];
8708                    i.extent && (n = Yn(n, Lr(i.extent, t.viewState.projection)));
8709                    var r = i.layer.getRenderSource();
8710                    if (!r.getWrapX()) {
8711                        var e = r.getTileGridForProjection(t.viewState.projection).getExtent();
8712                        e && (n = Yn(n, e))
8713                    }
8714                    return n
8715                }
8716
8717                function Gl(t, n) {
8718                    return "".concat(t.getKey(), ",").concat(Bc(n))
8719                }
8720
8721                var Dl = function (t) {
8722                    function n(n, i) {
8723                        var r = t.call(this, n, {uniforms: i.uniforms}) || this;
8724                        r.renderComplete = !1, r.Hs = [1, 0, 0, 1, 0, 0], r.Js = [1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1], r.Ks = new $c(0, 0, 0, 0), r.Ys = Uc(0, 0, 0), r.Zs = [0, 0], r.$s, r.Qs = i.vertexShader, r.ta = i.fragmentShader, r.na = new qf(uf, cf), r.na.fromArray([0, 1, 3, 1, 2, 3]);
8725                        var e = void 0 !== i.cacheSize ? i.cacheSize : 512;
8726                        return r.ia = new Dc(e), r.ra = i.paletteTextures || [], r.Hi = null, r
8727                    }
8728
8729                    return Cl(n, t), n.prototype.reset = function (n) {
8730                        t.prototype.reset.call(this, {uniforms: n.uniforms}), this.Qs = n.vertexShader, this.ta = n.fragmentShader, this.ra = n.paletteTextures || [], this.helper && (this.$s = this.helper.getProgram(this.ta, this.Qs))
8731                    }, n.prototype.afterHelperCreated = function () {
8732                        this.$s = this.helper.getProgram(this.ta, this.Qs), this.helper.flushBufferData(this.na)
8733                    }, n.prototype.ea = function (t) {
8734                        var n = this.getLayer(), i = t.getState(), r = n.getUseInterimTilesOnError();
8735                        return i == dt || i == yt || i == pt && !r
8736                    }, n.prototype.prepareFrameInternal = function (t) {
8737                        var n = this.getLayer().getRenderSource();
8738                        return !!n && (!ni(Ll(t, t.extent)) && n.getState() === ps)
8739                    }, n.prototype.enqueueTiles = function (t, n, i, r) {
8740                        var e = t.viewState, s = this.getLayer(), a = s.getRenderSource(),
8741                            u = a.getTileGridForProjection(e.projection), c = a.getTilePixelRatio(t.pixelRatio),
8742                            h = a.getGutterForProjection(e.projection), f = o(a);
8743                        f in t.wantedTiles || (t.wantedTiles[f] = {});
8744                        for (var l = t.wantedTiles[f], v = this.ia, d = Math.max(i - s.getPreload(), u.getMinZoom(), s.getMinZoom()), p = i; p >= d; --p) for (var y = u.getTileRangeForExtentAndZ(n, p, this.Ks), m = u.getResolution(p), w = y.minX; w <= y.maxX; ++w) for (var b = y.minY; b <= y.maxY; ++b) {
8745                            var g = Uc(p, w, b, this.Ys), x = Gl(a, g), j = void 0, S = void 0;
8746                            if (v.containsKey(x) && (S = (j = v.get(x)).tile), !j || j.tile.key !== a.getKey()) if (S = a.getTile(p, w, b, t.pixelRatio, e.projection), j) if (this.ea(S)) j.setTile(S); else {
8747                                var k = S.getInterimTile();
8748                                j.setTile(k)
8749                            } else j = new bl({
8750                                tile: S,
8751                                grid: u,
8752                                helper: this.helper,
8753                                tilePixelRatio: c,
8754                                gutter: h
8755                            }), v.set(x, j);
8756                            Fl(r, j, p);
8757                            var M = S.getKey();
8758                            l[M] = !0, S.getState() === lt && (t.tileQueue.isKeyQueued(M) || t.tileQueue.enqueue([S, f, u.getTileCoordCenter(g), m]))
8759                        }
8760                    }, n.prototype.renderFrame = function (t) {
8761                        this.Hi = t, this.renderComplete = !0;
8762                        var n = this.helper.getGL();
8763                        this.preRender(n, t);
8764                        var i = t.viewState, r = this.getLayer().getRenderSource(),
8765                            e = r.getTileGridForProjection(i.projection), s = Ll(t, t.extent),
8766                            a = e.getZForResolution(i.resolution, r.zDirection), u = {};
8767                        if (t.nextExtent) {
8768                            var c = e.getZForResolution(i.nextResolution, r.zDirection), h = Ll(t, t.nextExtent);
8769                            this.enqueueTiles(t, h, c, u)
8770                        }
8771                        this.enqueueTiles(t, s, a, u);
8772                        for (var f = {}, l = o(this), v = t.time, d = !1, y = u[a], m = 0, w = y.length; m < w; ++m) {
8773                            var b = (z = (K = y[m]).tile).tileCoord;
8774                            if (K.loaded) {
8775                                if (1 === (F = z.getAlpha(l, v))) {
8776                                    z.endTransition(l);
8777                                    continue
8778                                }
8779                                d = !0, f[L = Bc(b)] = F
8780                            }
8781                            if (this.renderComplete = !1, !this.oa(e, b, a + 1, u)) for (var g = e.getMinZoom(), x = a - 1; x >= g; --x) {
8782                                if (this.oa(e, b, x, u)) break
8783                            }
8784                        }
8785                        this.helper.useProgram(this.$s), this.helper.prepareDraw(t, !d);
8786                        for (var j = Object.keys(u).map(Number).sort(p), S = i.center[0], k = i.center[1], M = 0, _ = j.length; M < _; ++M) {
8787                            var O = j[M], T = e.getResolution(O), E = ou(e.getTileSize(O), this.Zs), A = e.getOrigin(O),
8788                                C = (S - A[0]) / (E[0] * T), R = (A[1] - k) / (E[1] * T), P = i.resolution / T,
8789                                I = zl(O), N = u[O];
8790                            for (m = 0, w = N.length; m < w; ++m) {
8791                                if ((K = N[m]).loaded) {
8792                                    var z, F, L = Bc(b = (z = K.tile).tileCoord), G = b[1], D = b[2];
8793                                    an(this.Hs, 0, 0, 2 / (t.size[0] * P / E[0]), -2 / (t.size[1] * P / E[1]), i.rotation, -(C - G), -(R - D)), this.helper.setUniformMatrixValue(Rl.TILE_TRANSFORM, Hf(this.Js, this.Hs)), this.helper.bindBuffer(K.coords), this.helper.bindBuffer(this.na), this.helper.enableAttributes(Il);
8794                            
8794        for (var U = 0; U < K.textures.length;) {
8795                                        var q = "TEXTURE" + U, B = "".concat(Rl.TILE_TEXTURE_ARRAY, "[").concat(U, "]");
8796                                        n.activeTexture(n[q]), n.bindTexture(n.TEXTURE_2D, K.textures[U]), n.uniform1i(this.helper.getUniformLocation(B), U), ++U
8797                                    }
8798                                    for (var W = 0; W < this.ra.length; ++W) {
8799                                        var V = this.ra[W];
8800                                        n.activeTexture(n["TEXTURE" + U]);
8801                                        var X = V.getTexture(n);
8802                                        n.bindTexture(n.TEXTURE_2D, X), n.uniform1i(this.helper.getUniformLocation(V.name), U), ++U
8803                                    }
8804                                    (F = L in f ? f[L] : 1) < 1 && (t.animate = !0), this.helper.setUniformFloatValue(Rl.TRANSITION_ALPHA, F), this.helper.setUniformFloatValue(Rl.DEPTH, I), this.helper.setUniformFloatValue(Rl.TEXTURE_PIXEL_WIDTH, E[0]), this.helper.setUniformFloatValue(Rl.TEXTURE_PIXEL_HEIGHT, E[1]), this.helper.setUniformFloatValue(Rl.TEXTURE_RESOLUTION, T), this.helper.setUniformFloatValue(Rl.TEXTURE_ORIGIN_X, A[0] + G * E[0] * T), this.helper.setUniformFloatValue(Rl.TEXTURE_ORIGIN_Y, A[1] - D * E[1] * T), this.helper.setUniformFloatVec4(Rl.RENDER_EXTENT, s), this.helper.setUniformFloatValue(Rl.RESOLUTION, i.resolution), this.helper.setUniformFloatValue(Rl.ZOOM, i.zoom), this.helper.drawElements(0, this.na.getSize())
8805                                }
8806                            }
8807                        }
8808                        this.helper.finalizeDraw(t, this.dispatchPreComposeEvent, this.dispatchPostComposeEvent);
8809                        for (var H = this.helper.getCanvas(), J = this.ia; J.canExpireCache();) {
8810                            var K;
8811                            (K = J.pop()).dispose()
8812                        }
8813                        return t.postRenderFunctions.push((function (t, n) {
8814                            r.expireCache(n.viewState.projection, Nl)
8815                        })), this.postRender(n, t), H
8816                    }, n.prototype.getData = function (t) {
8817                        if (!this.helper.getGL()) return null;
8818                        var n = this.Hi;
8819                        if (!n) return null;
8820                        var i = this.getLayer(), r = nn(n.pixelToCoordinateTransform, t.slice()), e = n.viewState,
8821                            o = i.getExtent();
8822                        if (o && !Mn(Lr(o, e.projection), r)) return null;
8823                        var s = i.getRenderSource(), a = s.getTileGridForProjection(e.projection);
8824                        if (!s.getWrapX()) {
8825                            var u = a.getExtent();
8826                            if (u && !Mn(u, r)) return null
8827                        }
8828                        for (var c = this.ia, h = a.getZForResolution(e.resolution); h >= a.getMinZoom(); --h) {
8829                            var f = a.getTileCoordForCoordAndZ(r, h), l = Gl(s, f);
8830                            if (c.containsKey(l)) {
8831                                var v = c.get(l);
8832                                if (v.loaded) {
8833                                    var d = a.getOrigin(h), p = ou(a.getTileSize(h)), y = a.getResolution(h),
8834                                        m = (r[0] - d[0]) / y - f[1] * p[0], w = (d[1] - r[1]) / y - f[2] * p[1];
8835                                    return v.getPixelData(m, w)
8836                                }
8837                            }
8838                        }
8839                        return null
8840                    }, n.prototype.oa = function (t, n, i, r) {
8841                        var e = t.getTileRangeForTileCoordAndZ(n, i, this.Ks);
8842                        if (!e) return !1;
8843                        for (var o = !0, s = this.ia, a = this.getLayer().getRenderSource(), u = e.minX; u <= e.maxX; ++u) for (var c = e.minY; c <= e.maxY; ++c) {
8844                            var h = Gl(a, [i, u, c]), f = !1;
8845                            if (s.containsKey(h)) {
8846                                var l = s.get(h);
8847                                l.loaded && (Fl(r, l, i), f = !0)
8848                            }
8849                            f || (o = !1)
8850                        }
8851                        return o
8852                    }, n.prototype.removeHelper = function () {
8853                        if (this.helper) {
8854                            var n = this.ia;
8855                            n.forEach((function (t) {
8856                                return t.dispose()
8857                            })), n.clear()
8858                        }
8859                        t.prototype.removeHelper.call(this)
8860                    }, n.prototype.disposeInternal = function () {
8861                        var n = this.helper;
8862                        n && (n.getGL().deleteProgram(this.$s), delete this.$s, n.deleteBuffer(this.na));
8863                        t.prototype.disposeInternal.call(this), delete this.na, delete this.ia, delete this.Hi
8864                    }, n
8865                }(Al), Ul = 1, ql = 2, Bl = 4, Wl = 8, Vl = 16, Xl = 31, Hl = 0, Jl = {};
8866
8867                function Kl(t) {
8868                    if ("number" == typeof t) return Ul;
8869                    if ("boolean" == typeof t) return Wl;
8870                    if ("string" == typeof t) return Wo(t) ? Bl | ql : ql;
8871                    if (!Array.isArray(t)) throw new Error("Unhandled value type: ".concat(JSON.stringify(t)));
8872                    var n = t;
8873                    if (n.every((function (t) {
8874                        return "number" == typeof t
8875                    }))) return 3 === n.length || 4 === n.length ? Bl | Vl : Vl;
8876                    if ("string" != typeof n[0]) throw new Error("Expected an expression operator but received: ".concat(JSON.stringify(n)));
8877                    var i = Jl[n[0]];
8878                    if (void 0 === i) throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(n)));
8879                    return i.getReturnType(n.slice(1))
8880                }
8881
8882                function Yl(t) {
8883                    return hi(t) % 1 == 0
8884                }
8885
8886                function Zl(t) {
8887                    var n = t.toString();
8888                    return -1 === n.indexOf(".") ? n + ".0" : n
8889                }
8890
8891                function $l(t) {
8892                    if (t.length < 2 || t.length > 4) throw new Error("`formatArray` can only output `vec2`, `vec3` or `vec4` arrays.");
8893                    return "vec".concat(t.length, "(").concat(t.map(Zl).join(", "), ")")
8894                }
8895
8896                function Ql(t) {
8897                    var n = Uo(t).slice();
8898                    return n.length < 4 && n.push(1), $l(n.map((function (t, n) {
8899                        return n < 3 ? t / 255 : t
8900                    })))
8901                }
8902
8903                function tv(t, n) {
8904                    return void 0 === t.stringLiteralsMap[n] && (t.stringLiteralsMap[n] = Object.keys(t.stringLiteralsMap).length), t.stringLiteralsMap[n]
8905                }
8906
8907                function nv(t, n) {
8908                    return Zl(tv(t, n))
8909                }
8910
8911                function iv(t, n, i) {
8912                    if (Array.isArray(n) && "string" == typeof n[0]) {
8913                        var r = Jl[n[0]];
8914                        if (void 0 === r) throw new Error("Unrecognized expression operator: ".concat(JSON.stringify(n)));
8915                        return r.toGlsl(t, n.slice(1), i)
8916                    }
8917                    var e = Kl(n);
8918                    if ((e & Ul) > 0) return Zl(n);
8919                    if ((e & Wl) > 0) return n.toString();
8920                    if ((e & ql) > 0 && (void 0 === i || i == ql)) return nv(t, n.toString());
8921                    if ((e & Bl) > 0 && (void 0 === i || i == Bl)) return Ql(n);
8922                    if ((e & Vl) > 0) return $l(n);
8923                    throw new Error("Unexpected expression ".concat(n, " (expected type ").concat(i, ")"))
8924                }
8925
8926                function rv(t) {
8927                    if (!(Kl(t) & Ul)) throw new Error("A numeric value was expected, got ".concat(JSON.stringify(t), " instead"))
8928                }
8929
8930                function ev(t) {
8931                    for (var n = 0; n < t.length; n++) rv(t[n])
8932                }
8933
8934                function ov(t) {
8935                    if (!(Kl(t) & ql)) throw new Error("A string value was expected, got ".concat(JSON.stringify(t), " instead"))
8936                }
8937
8938                function sv(t) {
8939                    if (!(Kl(t) & Wl)) throw new Error("A boolean value was expected, got ".concat(JSON.stringify(t), " instead"))
8940                }
8941
8942                function av(t, n) {
8943                    if (t.length !== n) throw new Error("Exactly ".concat(n, " arguments were expected, got ").concat(t.length, " instead"))
8944                }
8945
8946                function uv(t, n) {
8947                    if (t.length < n) throw new Error("At least ".concat(n, " arguments were expected, got ").concat(t.length, " instead"))
8948                }
8949
8950                function cv(t, n) {
8951                    if (t.length > n) throw new Error("At most ".concat(n, " arguments were expected, got ").concat(t.length, " instead"))
8952                }
8953
8954                function hv(t) {
8955                    if (t.length % 2 != 0) throw new Error("An even amount of arguments was expected, got ".concat(t, " instead"))
8956                }
8957
8958                function fv(t, n) {
8959                    if (!Yl(n)) throw new Error("Could not infer only one type from the following expression: ".concat(JSON.stringify(t)))
8960                }
8961
8962                function lv(t) {
8963                    return "u_var_" + t
8964                }
8965
8966                Jl.get = {
8967                    getReturnType: function (t) {
8968                        return Xl
8969                    }, toGlsl: function (t, n) {
8970                        av(n, 1), ov(n[0]);
8971                        var i = n[0].toString();
8972                        return -1 === t.attributes.indexOf(i) && t.attributes.push(i), (t.in
8972FragmentShader ? "v_" : "a_") + i
8973                    }
8974                }, Jl.var = {
8975                    getReturnType: function (t) {
8976                        return Xl
8977                    }, toGlsl: function (t, n) {
8978                        av(n, 1), ov(n[0]);
8979                        var i = n[0].toString();
8980                        return -1 === t.variables.indexOf(i) && t.variables.push(i), lv(i)
8981                    }
8982                };
8983                var vv = "u_paletteTextures";
8984                Jl.palette = {
8985                    getReturnType: function (t) {
8986                        return Bl
8987                    }, toGlsl: function (t, n) {
8988                        av(n, 2), rv(n[0]);
8989                        var i = iv(t, n[0]), r = n[1];
8990                        if (!Array.isArray(r)) throw new Error("The second argument of palette must be an array");
8991                        for (var e = r.length, o = new Uint8Array(4 * e), s = 0; s < e; s++) {
8992                            var a = r[s], u = void 0;
8993                            if ("string" == typeof a) u = Do(a); else {
8994                                if (!Array.isArray(a)) throw new Error("The second argument of palette must be an array of strings or colors");
8995                                var c = a.length;
8996                                if (4 === c) u = a; else {
8997                                    if (3 !== c) throw new Error("Expected palette color to have 3 or 4 values, got ".concat(c));
8998                                    u = [a[0], a[1], a[2], 1]
8999                                }
9000                            }
9001                            var h = 4 * s;
9002                            o[h] = u[0], o[h + 1] = u[1], o[h + 2] = u[2], o[h + 3] = 255 * u[3]
9003                        }
9004                        t.paletteTextures || (t.paletteTextures = []);
9005                        var f = "".concat(vv, "[").concat(t.paletteTextures.length, "]"), l = new ul(f, o);
9006                        return t.paletteTextures.push(l), "texture2D(".concat(f, ", vec2((").concat(i, " + 0.5) / ").concat(e, ".0, 0.5))")
9007                    }
9008                };
9009                var dv = "getBandValue";
9010
9011                function pv(t) {
9012                    return {
9013                        getReturnType: function (t) {
9014                            return Wl
9015                        }, toGlsl: function (n, i) {
9016                            av(i, 2);
9017                            for (var r = Xl, e = 0; e < i.length; e++) r &= Kl(i[e]);
9018                            if (r === Hl) throw new Error("All arguments should be of compatible type, got ".concat(JSON.stringify(i), " instead"));
9019                            return r &= ~Bl, "(".concat(iv(n, i[0], r), " ").concat(t, " ").concat(iv(n, i[1], r), ")")
9020                        }
9021                    }
9022                }
9023
9024                function yv(t) {
9025                    return {
9026                        getReturnType: function (t) {
9027                            return Wl
9028                        }, toGlsl: function (n, i) {
9029                            uv(i, 2);
9030                            for (var r = 0; r < i.length; r++) sv(i[r]);
9031                            var e = "";
9032                            return e = i.map((function (t) {
9033                                return iv(n, t)
9034                            })).join(" ".concat(t, " ")), e = "(".concat(e, ")")
9035                        }
9036                    }
9037                }
9038
9039                Jl.band = {
9040                    getReturnType: function (t) {
9041                        return Ul
9042                    }, toGlsl: function (t, n) {
9043                        uv(n, 1), cv(n, 3);
9044                        var i = n[0];
9045                        if (!(dv in t.functions)) {
9046                            for (var r = "", e = t.bandCount || 1, o = 0; o < e; o++) {
9047                                var s = Math.floor(o / 4), a = o % 4;
9048                                a === e - 1 && 1 === a && (a = 3);
9049                                var u = "".concat(Rl.TILE_TEXTURE_ARRAY, "[").concat(s, "]");
9050                                r += "\n          if (band == ".concat(o + 1, ".0) {\n            return texture2D(").concat(u, ", v_textureCoord + vec2(dx, dy))[").concat(a, "];\n          }\n        ")
9051                            }
9052                            t.functions.getBandValue = "\n        float getBandValue(float band, float xOffset, float yOffset) {\n          float dx = xOffset / ".concat(Rl.TEXTURE_PIXEL_WIDTH, ";\n          float dy = yOffset / ").concat(Rl.TEXTURE_PIXEL_HEIGHT, ";\n          ").concat(r, "\n        }\n      ")
9053                        }
9054                        var c = iv(t, i), h = iv(t, n[1] || 0), f = iv(t, n[2] || 0);
9055                        return "".concat(dv, "(").concat(c, ", ").concat(h, ", ").concat(f, ")")
9056                    }
9057                }, Jl.time = {
9058                    getReturnType: function (t) {
9059                        return Ul
9060                    }, toGlsl: function (t, n) {
9061                        return av(n, 0), "u_time"
9062                    }
9063                }, Jl.zoom = {
9064                    getReturnType: function (t) {
9065                        return Ul
9066                    }, toGlsl: function (t, n) {
9067                        return av(n, 0), "u_zoom"
9068                    }
9069                }, Jl.resolution = {
9070                    getReturnType: function (t) {
9071                        return Ul
9072                    }, toGlsl: function (t, n) {
9073                        return av(n, 0), "u_resolution"
9074                    }
9075                }
9075, Jl["*"] = {
9076                    getReturnType: function (t) {
9077                        return Ul
9078                    }, toGlsl: function (t, n) {
9079                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " * ").concat(iv(t, n[1]), ")")
9080                    }
9081                }, Jl["/"] = {
9082                    getReturnType: function (t) {
9083                        return Ul
9084                    }, toGlsl: function (t, n) {
9085                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " / ").concat(iv(t, n[1]), ")")
9086                    }
9087                }, Jl["+"] = {
9088                    getReturnType: function (t) {
9089                        return Ul
9090                    }, toGlsl: function (t, n) {
9091                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " + ").concat(iv(t, n[1]), ")")
9092                    }
9093                }, Jl["-"] = {
9094                    getReturnType: function (t) {
9095                        return Ul
9096                    }, toGlsl: function (t, n) {
9097                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " - ").concat(iv(t, n[1]), ")")
9098                    }
9099                }, Jl.clamp = {
9100                    getReturnType: function (t) {
9101                        return Ul
9102                    }, toGlsl: function (t, n) {
9103                        av(n, 3), ev(n);
9104                        var i = iv(t, n[1]), r = iv(t, n[2]);
9105                        return "clamp(".concat(iv(t, n[0]), ", ").concat(i, ", ").concat(r, ")")
9106                    }
9107                }, Jl["%"] = {
9108                    getReturnType: function (t) {
9109                        return Ul
9110                    }, toGlsl: function (t, n) {
9111                        return av(n, 2), ev(n), "mod(".concat(iv(t, n[0]), ", ").concat(iv(t, n[1]), ")")
9112                    }
9113                }, Jl["^"] = {
9114                    getReturnType: function (t) {
9115                        return Ul
9116                    }, toGlsl: function (t, n) {
9117                        return av(n, 2), ev(n), "pow(".concat(iv(t, n[0]), ", ").concat(iv(t, n[1]), ")")
9118                    }
9119                }, Jl.abs = {
9120                    getReturnType: function (t) {
9121                        return Ul
9122                    }, toGlsl: function (t, n) {
9123                        return av(n, 1), ev(n), "abs(".concat(iv(t, n[0]), ")")
9124                    }
9125                }, Jl.floor = {
9126                    getReturnType: function (t) {
9127                        return Ul
9128                    }, toGlsl: function (t, n) {
9129                        return av(n, 1), ev(n), "floor(".concat(iv(t, n[0]), ")")
9130                    }
9131                }, Jl.round = {
9132                    getReturnType: function (t) {
9133                        return Ul
9134                    }, toGlsl: function (t, n) {
9135                        return av(n, 1), ev(n), "floor(".concat(iv(t, n[0]), " + 0.5)")
9136                    }
9137                }, Jl.ceil = {
9138                    getReturnType: function (t) {
9139                        return Ul
9140                    }, toGlsl: function (t, n) {
9141                        return av(n, 1), ev(n), "ceil(".concat(iv(t, n[0]), ")")
9142                    }
9143                }, Jl.sin = {
9144                    getReturnType: function (t) {
9145                        return Ul
9146                    }, toGlsl: function (t, n) {
9147                        return av(n, 1), ev(n), "sin(".concat(iv(t, n[0]), ")")
9148                    }
9149                }, Jl.cos = {
9150                    getReturnType: function (t) {
9151                        return Ul
9152                    }, toGlsl: function (t, n) {
9153                        return av(n, 1), ev(n), "cos(".concat(iv(t, n[0]), ")")
9154                    }
9155                }, Jl.atan = {
9156                    getReturnType: function (t) {
9157                        return Ul
9158                    }, toGlsl: function (t, n) {
9159                        return uv(n, 1), cv(n, 2), ev(n), 2 === n.length ? "atan(".concat(iv(t, n[0]), ", ").concat(iv(t, n[1]), ")") : "atan(".concat(iv(t, n[0]), ")")
9160                    }
9161                }, Jl[">"] = {
9162                    getReturnType: function (t) {
9163                        return Wl
9164                    }, toGlsl: function (t, n) {
9165                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " > ").concat(iv(t, n[1]), ")")
9166                    }
9167                }, Jl[">
9167="] = {
9168                    getReturnType: function (t) {
9169                        return Wl
9170                    }, toGlsl: function (t, n) {
9171                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " >= ").concat(iv(t, n[1]), ")")
9172                    }
9173                }, Jl["<"] = {
9174                    getReturnType: function (t) {
9175                        return Wl
9176                    }, toGlsl: function (t, n) {
9177                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " < ").concat(iv(t, n[1]), ")")
9178                    }
9179                }, Jl["<="] = {
9180                    getReturnType: function (t) {
9181                        return Wl
9182                    }, toGlsl: function (t, n) {
9183                        return av(n, 2), ev(n), "(".concat(iv(t, n[0]), " <= ").concat(iv(t, n[1]), ")")
9184                    }
9185                }, Jl["=="] = pv("=="), Jl["!="] = pv("!="), Jl["!"] = {
9186                    getReturnType: function (t) {
9187                        return Wl
9188                    }, toGlsl: function (t, n) {
9189                        return av(n, 1), sv(n[0]), "(!".concat(iv(t, n[0]), ")")
9190                    }
9191                }, Jl.all = yv("&&"), Jl.any = yv("||"), Jl.between = {
9192                    getReturnType: function (t) {
9193                        return Wl
9194                    }, toGlsl: function (t, n) {
9195                        av(n, 3), ev(n);
9196                        var i = iv(t, n[1]), r = iv(t, n[2]), e = iv(t, n[0]);
9197                        return "(".concat(e, " >= ").concat(i, " && ").concat(e, " <= ").concat(r, ")")
9198                    }
9199                }, Jl.array = {
9200                    getReturnType: function (t) {
9201                        return Vl
9202                    }, toGlsl: function (t, n) {
9203                        uv(n, 2), cv(n, 4), ev(n);
9204                        var i = n.map((function (n) {
9205                            return iv(t, n, Ul)
9206                        }));
9207                        return "vec".concat(n.length, "(").concat(i.join(", "), ")")
9208                    }
9209                }, Jl.color = {
9210                    getReturnType: function (t) {
9211                        return Bl
9212                    }, toGlsl: function (t, n) {
9213                        uv(n, 3), cv(n, 4), ev(n);
9214                        var i = n;
9215                        3 === n.length && i.push(1);
9216                        var r = n.map((function (n, i) {
9217                            return iv(t, n, Ul) + (i < 3 ? " / 255.0" : "")
9218                        }));
9219                        return "vec".concat(n.length, "(").concat(r.join(", "), ")")
9220                    }
9221                }, Jl.interpolate = {
9222                    getReturnType: function (t) {
9223                        for (var n = Bl | Ul, i = 3; i < t.length; i += 2) n &= Kl(t[i]);
9224                        return n
9225                    }, toGlsl: function (t, n, i) {
9226                        hv(n), uv(n, 6);
9227                        var r, e = n[0];
9228                        switch (e[0]) {
9229                            case"linear":
9230                                r = 1;
9231                                break;
9232                            case"exponential":
9233                                r = e[1];
9234                                break;
9235                            default:
9236                                r = null
9237                        }
9238                        if (!r) throw new Error('Invalid interpolation type for "interpolate" operator, received: '.concat(JSON.stringify(e)));
9239                        var o = void 0 !== i ? i : Xl, s = Jl.interpolate.getReturnType(n) & o;
9240                        fv(n, s);
9241                        for (var a = iv(t, n[1]), u = Zl(r), c = "", h = 2; h < n.length - 2; h += 2) {
9242                            var f = iv(t, n[h]), l = c || iv(t, n[h + 1], s), v = iv(t, n[h + 2]),
9243                                d = iv(t, n[h + 3], s);
9244                            c = "mix(".concat(l, ", ").concat(d, ", pow(clamp((").concat(a, " - ").concat(f, ") / (").concat(v, " - ").concat(f, "), 0.0, 1.0), ").concat(u, "))")
9245                        }
9246                        return c
9247                    }
9248                }, Jl.match = {
9249                    getReturnType: function (t) {
9250                        for (var n = Xl, i = 2; i < t.length; i += 2) n &= Kl(t[i]);
9251                        return n &= Kl(t[t.length - 1])
9252                    }, toGlsl: function (t, n, i) {
9253                        hv(n), uv(n, 4);
9254                        var r = void 0 !== i ? i : Xl, e = Jl.match.getReturnType(n) & r;
9255                        fv(n, e);
9256                        for (var o = iv(t, n[0]), s = iv(t, n[n.length - 1], e), a = null, u = n.length - 3; u >= 1; u -= 2) {
9257                            var c = iv(t, n[u]), h = iv(t, n[u + 1], e);
9258                            a = "(".concat(o, " == ").concat(c, " ? ").concat(h, " : ").concat(a || s, ")")
9259                        }
9260                        return a
9261                    }
9262                }, Jl.case = {
9263                    getReturnType: function (t) {
9264                        for (var n = Xl, i = 1; i < t.length; i += 2) n &= Kl(t[i]);
9265                        return n &= Kl(t[t.length - 1])
9266                    }, toGlsl: function (t, n, i) {
9267                        !function (t) {
9268                            if (t.length % 2 == 0) throw new Error("An odd amount of arguments was expected, got ".concat(t, " instead"))
9269                        }(n), uv(n, 3);
9270                        var r = void 0 !== i ? i : Xl, e = Jl.case.getReturnType(n) & r;
9271                        fv(n, e);
9272                        for (var o = 0; o < n.length - 1; o += 2) sv(n[o]);
9273                        var s = iv(t, n[n.length - 1], e), a = null;
9274                        for (o = n.length - 3; o >= 0; o -= 2) {
9275                            var u = iv(t, n[o]), c = iv(t, n[o + 1], e);
9276                            a = "(".concat(u, " ? ").concat(c, " : ").concat(a || s, ")")
9277                        }
9278                        return a
9279                    }
9280                };
9281                var mv = function () {
9282                    function t() {
9283                        this.uniforms = [], this.attributes = [], this.varyings = [], this.sizeExpression = "vec2(1.0)", this.rotationExpression = "0.0", this.offsetExpression = "vec2(0.0)", this.colorExpression = "vec4(1.0)", this.texCoordExpression = "vec4(0.0, 0.0, 1.0, 1.0)", this.discardExpression = "false", this.rotateWithView = !1
9284                    }
9285
9286                    return t.prototype.addUniform = function (t) {
9287                        return this.uniforms.push(t), this
9288                    }, t.prototype.addAttribute = function (t) {
9289                        return this.attributes.push(t), this
9290                    }, t.prototype.addVarying = function (t, n, i) {
9291                        return this.varyings.push({name: t, type: n, expression: i}), this
9292                    }, t.prototype.setSizeExpression = function (t) {
9293                        return this.sizeExpression = t, this
9294                    }, t.prototype.setRotationExpression = function (t) {
9295                        return this.rotationExpression = t, this
9296                    }, t.prototype.setSymbolOffsetExpression = function (t) {
9297                        return this.offsetExpression = t, this
9298                    }, t.prototype.setColorExpression = function (t) {
9299                        return this.colorExpression = t, this
9300                    }
9300, t.prototype.setTextureCoordinateExpression = function (t) {
9301                        return this.texCoordExpression = t, this
9302                    }, t.prototype.setFragmentDiscardExpression = function (t) {
9303                        return this.discardExpression = t, this
9304                    }, t.prototype.setSymbolRotateWithView = function (t) {
9305                        return this.rotateWithView = t, this
9306                    }, t.prototype.getSizeExpression = function () {
9307                        return this.sizeExpression
9308                    }, t.prototype.getOffsetExpression = function () {
9309                        return this.offsetExpression
9310                    }, t.prototype.getColorExpression = function () {
9311                        return this.colorExpression
9312                    }, t.prototype.getTextureCoordinateExpression = function () {
9313                        return this.texCoordExpression
9314                    }, t.prototype.getFragmentDiscardExpression = function () {
9315                        return this.discardExpression
9316                    }, t.prototype.getSymbolVertexShader = function (t) {
9317                        var n = this.rotateWithView ? "u_offsetScaleMatrix * u_offsetRotateMatrix" : "u_offsetScaleMatrix",
9318                            i = this.attributes, r = this.varyings;
9319                        return t && (i = i.concat("vec4 a_hitColor"), r = r.concat({
9320                            name: "v_hitColor",
9321                            type: "vec4",
9322                            expression: "a_hitColor"
9323                        })), "precision mediump float;\nuniform mat4 u_projectionMatrix;\nuniform mat4 u_offsetScaleMatrix;\nuniform mat4 u_offsetRotateMatrix;\nuniform float u_time;\nuniform float u_zoom;\nuniform float u_resolution;\n".concat(this.uniforms.map((function (t) {
9324                            return "uniform " + t + ";"
9325                        })).join("\n"), "\nattribute vec2 a_position;\nattribute float a_index;\n").concat(i.map((function (t) {
9326                            return "attribute " + t + ";"
9327                        })).join("\n"), "\nvarying vec2 v_texCoord;\nvarying vec2 v_quadCoord;\n").concat(r.map((function (t) {
9328                            return "varying " + t.type + " " + t.name + ";"
9329                        })).join("\n"), "\nvoid main(void) {\n  mat4 offsetMatrix = ").concat(n, ";\n  vec2 halfSize = ").concat(this.sizeExpression, " * 0.5;\n  vec2 offset = ").concat(this.offsetExpression, ";\n  float angle = ").concat(this.rotationExpression, ";\n  float offsetX;\n  float offsetY;\n  if (a_index == 0.0) {\n    offsetX = (offset.x - halfSize.x) * cos(angle) + (offset.y - halfSize.y) * sin(angle);\n    offsetY = (offset.y - halfSize.y) * cos(angle) - (offset.x - halfSize.x) * sin(angle);\n  } else if (a_index == 1.0) {\n    offsetX = (offset.x + halfSize.x) * cos(angle) + (offset.y - halfSize.y) * sin(angle);\n    offsetY = (offset.y - halfSize.y) * cos(angle) - (offset.x + halfSize.x) * sin(angle);\n  } else if (a_index == 2.0) {\n    offsetX = (offset.x + halfSize.x) * cos(angle) + (offset.y + halfSize.y) * sin(angle);\n    offsetY = (offset.y + halfSize.y) * cos(angle) - (offset.x + halfSize.x) * sin(angle);\n  } else {\n    offsetX = (offset.x - halfSize.x) * cos(angle) + (offset.y + halfSize.y) * sin(angle);\n    offsetY = (offset.y + halfSize.y) * cos(angle) - (offset.x - halfSize.x) * sin(angle);\n  }\n  vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);\n  gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n  vec4 texCoord = ").concat(this.texCoordExpression, ";\n  float u = a_index == 0.0 || a_index == 3.0 ? texCoord.s : texCoord.p;\n  float v = a_index == 2.0 || a_index == 3.0 ? texCoord.t : texCoord.q;\n  v_texCoord = vec2(u, v);\n  u = a_index == 0.0 || a_index == 3.0 ? 0.0 : 1.0;\n  v = a_index == 2.0 || a_index == 3.0 ? 0.0 : 1.0;\n  v_quadCoord = vec2(u, v);\n").concat(r.map((function (t) {
9330                            return "  " + t.name + " = " + t.expression + ";"
9331                        })).join("\n"), "\n}")
9332                    }, t.prototype.getSymbolFragmentShader = function (t) {
9333                        var n = t ? "  if (gl_FragColor.a < 0.1) { discard; } gl_FragColor = v_hitColor;" : "",
9334                            i = this.varyings;
9335                        return t && (i = i.concat({
9336                            name: "v_hitColor",
9337                            type: "vec4",
9338                            expression: "a_hitColor"
9339                        })), "precision mediump float;\nuniform float u_time;\nuniform float u_zoom;\nuniform float u_resolution;\n".concat(this.uniforms.map((function (t) {
9340                            return "uniform " + t + ";"
9341                        })).join("\n"), "\nvarying vec2 v_texCoord;\nvarying vec2 v_quadCoord;\n").concat(i.map((function (t) {
9342                            return "varying " + t.type + " " + t.name + ";"
9343                        })).join("\n"), "\nvoid main(void) {\n  if (").concat(this.discardExpression, ") { discard; }\n  gl_FragColor = ").concat(this.colorExpression, ";\n  gl_FragColor.rgb *= gl_FragColor.a;\n").concat(n, "\n}")
9344                    }, t
9345                }();
9346
9347                function wv(t) {
9348                    var n = t.symbol, i = void 0 !== n.size ? n.size : 1, r = n.color || "white",
9349                        e = n.textureCoord || [0, 0, 1, 1], o = n.offset || [0, 0],
9350                        s = void 0 !== n.opacity ? n.opacity : 1, a = void 0 !== n.rotation ? n.rotation : 0,
9351                        u = {inFragmentShader: !1, variables: [], attributes: [], stringLiteralsMap: {}, functions: {}},
9352                        c = iv(u, i, Vl | Ul), h = iv(u, o, Vl), f = iv(u, e, Vl), l = iv(u, a, Ul), v = {
9353                            inFragmentShader: !0,
9354                            variables: u.variables,
9355                            attributes: [],
9356                            stringLiteralsMap: u.stringLiteralsMap,
9357                            functions: {}
9358                        }, d = iv(v, r, Bl), p = iv(v, s, Ul), y = "1.0", m = "vec2(".concat(iv(v, i, Vl | Ul), ").x");
9359                    switch (n.symbolType) {
9360                        case"square":
9361                        case"image":
9362                            break;
9363                        case"circle":
9364                            y = "(1.0-smoothstep(1.-4./".concat(m, ",1.,dot(v_quadCoord-.5,v_quadCoord-.5)*4.))");
9365                            break;
9366                        case"triangle":
9367                            var w = "(v_quadCoord*2.-1.)", b = "(atan(".concat(w, ".x,").concat(w, ".y))");
9368                            y = "(1.0-smoothstep(.5-3./".concat(m, ",.5,cos(floor(.5+").concat(b, "/2.094395102)*2.094395102-").concat(b, ")*length(").concat(w, ")))");
9369                            break;
9370                        default:
9371                            throw new Error("Unexpected symbol type: " + n.symbolType)
9372                    }
9373                    var g = (new mv).setSizeExpression("vec2(".concat(c, ")")).setRotationExpression(l).setSymbolOffsetExpression(h).setTextureCoordinateExpression(f).setSymbolRotateWithView(!!n.rotateWithView).setColorExpression("vec4(".concat(d, ".rgb, ").concat(d, ".a * ").concat(p, " * ").concat(y, ")"));
9374                    if (t.filter) {
9375                        var x = iv(v, t.filter, Wl);
9376                        g.setFragmentDiscardExpression("!".concat(x))
9377                    }
9378                    var j = {};
9379                    if (v.variables.forEach((function (n) {
9380                        var i = lv(n);
9381                        g.addUniform("float ".concat(i)), j[i] = function () {
9382                            if (!t.variables || void 0 === t.variables[n]) throw new Error("The following variable is missing from the style: ".concat(n));
9383                            var i = t.variables[n];
9384                            return "string" == typeof i && (i = tv(u, i)), void 0 !== i ? i : -9999999
9385                        }
9386                    })), "image" === n.symbolType && n.src) {
9387                        var S = new Image;
9388                        S.crossOrigin = void 0 === n.crossOrigin ? "anonymous" : n.crossOrigin, S.src = n.src, g.addUniform("sampler2D u_texture").setColorExpression(g.getColorExpression() + " * texture2D(u_texture, v_texCoord)"), j.u_texture = S
9389                    }
9390                    return v.attributes.forEach((function (t) {
9391                        -1 === u.attributes.indexOf(t) && u.attributes.push(t), g.addVarying("v_".concat(t), "float", "a_".concat(t))
9392                    })), u.attributes.forEach((function (t) {
9393                        g.addAttribute("float a_".concat(t))
9394                    })), {
9395                        builder: g, attributes: u.attributes.map((function (t) {
9396                            return {
9397                                name: t, callback: function (n, i) {
9398                                    var r = i[t];
9399                                    return "string" == typeof r && (r = tv(u, r)), void 0 !== r ? r : -9999999
9400                                }
9401                            }
9402                        })), uniforms: j
9403                    }
9404                }
9405
9406                var bv = function () {
9407                    var t = function (n, i) {
9408                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
9409                            t.__proto__ = n
9410                        } || function (t, n) {
9411                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
9412                        })(n, i)
9413                    };
9414                    return function (n, i) {
9415                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
9416
9417                        function r() {
9418                            this.constructor = n
9419                        }
9420
9421                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
9422                    }
9423                }(), gv = function (t) {
9424                    function n(n) {
9425                        var i = t.call(this, {
9426                            extent: n.extent,
9427                            origin: n.origin,
9428                            origins: n.origins,
9429                            resolutions: n.resolutions,
9430                            tileSize: n.tileSize,
9431                            tileSizes: n.tileSizes,
9432                            sizes: n.sizes
9433                        }) || this;
9434                        return i.sa = n.matrixIds, i
9435                    }
9436
9437                    return bv(n, t), n.prototype.getMatrixId = function (t) {
9438                        return this.sa[t]
9439                    }, n.prototype.getMatrixIds = function () {
9440                        return this.sa
9441                    }, n
9442                }(Vh), xv = gv;
9443
9444                function jv(t, n, i) {
9445                    var r = [], e = [], o = [], s = [], a = [], u = void 0 !== i ? i : [], c = br(t.SupportedCRS),
9446                        h = c.getMetersPerUnit(), f = "ne" == c.getAxisOrientation().substr(0, 2);
9447                    return t.TileMatrix.sort((function (t, n) {
9448                        return n.ScaleDenominator - t.ScaleDenominator
9449                    })), t.TileMatrix.forEach((function (n) {
9450                        if (!(u.length > 0) || g(u, (function (i) {
9451                            return n.Identifier == i.TileMatrix || -1 === n.Identifier.indexOf(":") && t.Identifier + ":" + n.Identifier === i.TileMatrix
9452                        }))) {
9453                            e.push(n.Identifier);
9454                            var i = 28e-5 * n.ScaleDenominator / h, c = n.TileWidth, l = n.TileHeight;
9455                            f ? o.push([n.TopLeftCorner[1], n.TopLeftCorner[0]]) : o.push(n.TopLeftCorner), r.push(i), s.push(c == l ? c : [c, l]), a.push([n.MatrixWidth, n.MatrixHeight])
9456                        }
9457                    })), new gv({extent: n, origins: o, resolutions: r, matrixIds: e, tileSizes: s, sizes: a})
9458                }
9459
9460                var Sv = function () {
9461                        function t(t) {
9462                            this.aa = t.opacity, this.ua = t.rotateWithView, this.Gr = t.rotation, this.ca = t.scale, this.ha = ou(t.scale), this.fa = t.displacement
9463                        }
9464
9465                        return t.prototype.clone = function () {
9466                            var n = this.getScale();
9467                            return new t({
9468                                opacity: this.getOpacity(),
9469                                scale: Array.isArray(n) ? n.slice() : n,
9470                                rotation: this.getRotation(),
9471                                rotateWithView: this.getRotateWithView(),
9472                                displacement: this.getDisplacement().slice()
9473                            })
9474                        }, t.prototype.getOpacity = function () {
9475                            return this.aa
9476                        }, t.prototype.getRotateWithView = function () {
9477                            return this.ua
9478                        }, t.prototype.getRotation = function () {
9479                            return this.Gr
9480                        }, t.prototype.getScale = function () {
9481                            return this.ca
9482                        }, t.prototype.getScaleArray = function () {
9483                            return this.ha
9484                        }, t.prototype.getDisplacement = function () {
9485                            return this.fa
9486                        }, t.prototype.getAnchor = function () {
9487                            return r()
9488                        }, t.prototype.getImage = function (t) {
9489                            return r()
9490                        }, t.prototype.getHitDetectionImage = function () {
9491                            return r()
9492                        }, t.prototype.getPixelRatio = function (t) {
9493                            return 1
9494                        }, t.prototype.getImageState = function () {
9495                            return r()
9496                        }, t.prototype.getImageSize = function () {
9497                            return r()
9498                        }, t.prototype.getOrigin = function () {
9499                            return r()
9500                        }, t.prototype.getSize = function () {
9501                            return r()
9502                        }, t.prototype.setDisplacement = function (t) {
9503                            this.fa = t
9504                        }, t.prototype.setOpacity = function (t) {
9505                            this.aa = t
9506                        }, t.prototype.setRotateWithView = function (t) {
9507                            this.ua = t
9508                        }, t.prototype.setRotation = function (t) {
9509                            this.Gr = t
9510                        }, t.prototype.setScale = function (t) {
9511                            this.ca = t, this.ha = ou(t)
9512                        }, t.prototype.listenImageChange = function (t) {
9513                            r()
9514                        }, t.prototype.load = function () {
9515                            r()
9516                        }, t.prototype.unlistenImageChange = function (t) {
9517                            r()
9518                        }, t
9519                    }(), kv = function () {
9520                        var t = function (n, i) {
9521                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
9522                                t.__proto__ = n
9523                            } || function (t, n) {
9524                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
9525                            })(n, i)
9526                        };
9527                        return function (n, i) {
9528                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
9529
9530                            function r() {
9531                                this.constructor = n
9532                            }
9533
9534                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
9535                        }
9536                    }(), Mv = function (t) {
9537                        function n(n) {
9538                            var i = this, r = void 0 !== n.rotateWithView && n.rotateWithView;
9539                            return (i = t.call(this, {
9540                                opacity: 1,
9541                                rotateWithView: r,
9542                                rotation: void 0 !== n.rotation ? n.rotation : 0,
9543                                scale: void 0 !== n.scale ? n.scale : 1,
9544                                displacement: void 0 !== n.displacement ? n.displacement : [0, 0]
9545                            }) || this).Ut = void 0, i.la = null, i.va = void 0 !== n.fill ? n.fill : null, i.So = [0, 0], i.Jt = n.points, i.da = void 0 !== n.radius ? n.radius : n.radius1, i.pa = n.radius2, i.Kt = void 0 !== n.angle ? n.angle : 0, i.ya = void 0 !== n.stroke ? n.stroke : null, i.hs = null, i.ma = null, i.render(), i
9546                        }
9547
9548                        return kv(n, t), n.prototype.clone = function () {
9549                            var t = this.getScale(), i = new n({
9550                                fill: this.getFill() ? this.getFill().clone() : void 0,
9551                                points: this.getPoints(),
9552                                radius: this.getRadius(),
9553                                radius2: this.getRadius2(),
9554                                angle: this.getAngle(),
9555                                stroke: this.getStroke() ? this.getStroke().clone() : void 0,
9556                                rotation: this.getRotation(),
9557                                rotateWithView: this.getRotateWithView(),
9558                                scale: Array.isArray(t) ? t.slice() : t,
9559                                displacement: this.getDisplacement().slice()
9560                            });
9561                            return i.setOpacity(this.getOpacity()), i
9562                        }, n.prototype.getAnchor = function () {
9563                            var t = this.hs;
9564                            if (!t) return null;
9565                            var n = this.getDisplacement();
9566                            return [t[0] / 2 - n[0], t[1] / 2 + n[1]]
9567                        }, n.prototype.getAngle = function () {
9568                            return this.Kt
9569                        }, n.prototype.getFill = function () {
9570                            return this.va
9571                        }, n.prototype.getHitDetectionImage = function () {
9572                            return this.la || this.wa(this.ma), this.la
9573                        }, n.prototype.getImage = function (t) {
9574                            var n = this.Ut[t];
9575                            if (!n) {
9576                                var i = this.ma, r = _o(i.size * t, i.size * t);
9577                                this.ba(i, r, t), n = r.canvas, this.Ut[t] = n
9578                            }
9579                            return n
9580                        }, n.prototype.getPixelRatio = function (t) {
9581                            return t
9582                        }, n.prototype.getImageSize = function () {
9583                            return this.hs
9584                        }, n.prototype.getImageState = function () {
9585                            return wo
9586                        }, n.prototype.getOrigin = function () {
9587                            return this.So
9588                        }, n.prototype.getPoints = function () {
9589                            return this.Jt
9590                        }, n.prototype.getRadius = function () {
9591                            return this.da
9592                        }, n.prototype.getRadius2 = function () {
9593                            return this.pa
9594                        }, n.prototype.getSize = function () {
9595                            return this.hs
9596                        }, n.prototype.getStroke = function () {
9597                            return this.ya
9598                        }, n.prototype.listenImageChange = function (t) {
9599                        }, n.prototype.load = function () {
9600                        }, n.prototype.unlistenImageChange = function (t) {
9601                        }, n.prototype.ga = function (t, n, i) {
9602                            if (0 === n || this.Jt === 1 / 0 || "bevel" !== t && "miter" !== t) return n;
9603                            var r = this.da, e = void 0 === this.pa ? r : this.pa;
9604                            if (r < e) {
9605                                var o = r;
9606                                r = e, e = o
9607                            }
9608                            var s = void 0 === this.pa ? this.Jt : 2 * this.Jt, a = 2 * Math.PI / s, u = e * Math.sin(a),
9609                                c = r - Math.sqrt(e * e - u * u), h = Math.sqrt(u * u + c * c), f = h / u;
9610                            if ("miter" === t && f <= i) return f * n;
9611                            var l = n / 2 / f, v = n / 2 * (c / h), d = Math.sqrt((r + l) * (r + l) + v * v) - r;
9612                            if (void 0 === this.pa || "bevel" === t) return 2 * d;
9613                            var p = r * Math.sin(a), y = e - Math.sqrt(r * r - p * p), m = Math.sqrt(p * p + y * y) / p;
9614                            if (m <= i) {
9615                                var w = m * n / 2 - e - r;
9616                                return 2 * Math.max(d, w)
9617                            }
9618                            return 2 * d
9619                        }, n.prototype.createRenderOptions = function () {
9620                            var t, n = Gs, i = 0, r = null, e = 0, o = 0;
9621                            this.ya && (null === (t = this.ya.getColor()) && (t = Us), t = eh(t), void 0 === (o = this.ya.getWidth()) && (o = 1), r = this.ya.getLineDash(), e = this.ya.getLineDashOffset(), void 0 === (n = this.ya.getLineJoin()) && (n = Gs), void 0 === (i = this.ya.getMiterLimit()) && (i = Ds));
9622                            var s = this.ga(n, o, i), a = Math.max(this.da, this.pa || 0);
9623                            return {
9624                                strokeStyle: t,
9625                                strokeWidth: o,
vendor: 4,682 bytes, lines 9626-9697
9626                                size: Math.ceil(2 * a + s),
9627                                lineDash: r,
9628                                lineDashOffset: e,
9629                                lineJoin: n,
9630                                miterLimit: i
9631                            }
9632                        }, n.prototype.render = function () {
9633                            this.ma = this.createRenderOptions();
9634                            var t = this.ma.size;
9635                            this.Ut = {}, this.hs = [t, t]
9636                        }, n.prototype.ba = function (t, n, i) {
9637                            if (n.scale(i, i), n.translate(t.size / 2, t.size / 2), this.xa(n), this.va) {
9638                                var r = this.va.getColor();
9639                                null === r && (r = zs), n.fillStyle = eh(r), n.fill()
9640                            }
9641                            this.ya && (n.strokeStyle = t.strokeStyle, n.lineWidth = t.strokeWidth, n.setLineDash && t.lineDash && (n.setLineDash(t.lineDash), n.lineDashOffset = t.lineDashOffset), n.lineJoin = t.lineJoin, n.miterLimit = t.miterLimit, n.stroke())
9642                        }, n.prototype.wa = function (t) {
9643                            if (this.va) {
9644                                var n = this.va.getColor(), i = 0;
9645                                if ("string" == typeof n && (n = Uo(n)), null === n ? i = 1 : Array.isArray(n) && (i = 4 === n.length ? n[3] : 1), 0 === i) {
9646                                    var r = _o(t.size, t.size);
9647                                    this.la = r.canvas, this.ja(t, r)
9648                                }
9649                            }
9650                            this.la || (this.la = this.getImage(1))
9651                        }, n.prototype.xa = function (t) {
9652                            var n = this.Jt, i = this.da;
9653                            if (n === 1 / 0) t.arc(0, 0, i, 0, 2 * Math.PI); else {
9654                                var r = void 0 === this.pa ? i : this.pa;
9655                                void 0 !== this.pa && (n *= 2);
9656                                for (var e = this.Kt - Math.PI / 2, o = 2 * Math.PI / n, s = 0; s < n; s++) {
9657                                    var a = e + s * o, u = s % 2 == 0 ? i : r;
9658                                    t.lineTo(u * Math.cos(a), u * Math.sin(a))
9659                                }
9660                                t.closePath()
9661                            }
9662                        }, n.prototype.ja = function (t, n) {
9663                            n.translate(t.size / 2, t.size / 2), this.xa(n), n.fillStyle = zs, n.fill(), this.ya && (n.strokeStyle = t.strokeStyle, n.lineWidth = t.strokeWidth, t.lineDash && (n.setLineDash(t.lineDash), n.lineDashOffset = t.lineDashOffset), n.lineJoin = t.lineJoin, n.miterLimit = t.miterLimit, n.stroke())
9664                        }, n
9665                    }(Sv), _v = function () {
9666                        var t = function (n, i) {
9667                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
9668                                t.__proto__ = n
9669                            } || function (t, n) {
9670                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
9671                            })(n, i)
9672                        };
9673                        return function (n, i) {
9674                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
9675
9676                            function r() {
9677                                this.constructor = n
9678                            }
9679
9680                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
9681                        }
9682                    }(), Ov = function (t) {
9683                        function n(n) {
9684                            var i = n || {};
9685                            return t.call(this, {
9686                                points: 1 / 0,
9687                                fill: i.fill,
9688                                radius: i.radius,
9689                                stroke: i.stroke,
9690                                scale: void 0 !== i.scale ? i.scale : 1,
9691                                rotation: void 0 !== i.rotation ? i.rotation : 0,
9692                                rotateWithView: void 0 !== i.rotateWithView && i.rotateWithView,
9693                                displacement: void 0 !== i.displacement ? i.displacement : [0, 0]
9694                            }) || this
9695                        }
9696
9697                        return _v(n, t), n.prototype.clone = function () {
9698                            var t = this.getScale(), i = new n({
9699                                fill: this.getFill() ? this.getFill().clone() : void 0,
9700                                stroke: this.getStroke() ? this.getStroke().clone() : void 0,
9701                                radius: this.getRadius(),
9702                                scale: Array.isArray(t) ? t.slice() : t,
9703                                rotation: this.getRotation(),
9704                                rotateWithView: this.getRotateWithView(),
9705                                displacement: this.getDisplacement().slice()
9706                            });
9707                            return i.setOpacity(this.getOpacity()), i
9708                        }, n.prototype.setRadius = function (t) {
9709                            this.da = t, this.render()
9710                        }, n
9711                    }(Mv), Tv = function () {
9712                        function t(t) {
9713                            var n = t || {};
9714                            this.Sa = void 0 !== n.color ? n.color : null
9715                        }
9716
9717                        return t.prototype.clone = function () {
9718                            var n = this.getColor();
9719                            return new t({color: Array.isArray(n) ? n.slice() : n || void 0})
9720                        }, t.prototype.getColor = function () {
9721                            return this.Sa
9722                        }, t.prototype.setColor = function (t) {
9723                            this.Sa = t
9724                        }, t
9725                    }(), Ev = "fraction", Av = "pixels", Cv = "bottom-left", Rv = "bottom-right", Pv = "top-left",
9726                    Iv = "top-right", Nv = function () {
9727                        var t = function (n, i) {
9728                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
9729                                t.__proto__ = n
9730                            } || function (t, n) {
9731                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
9732                            })(n, i)
9733                        };
9734                        return function (n, i) {
9735                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
9736
9737                            function r() {
9738                                this.constructor = n
9739                            }
9740
9741                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
9742                        }
9743                    }(), zv = null, Fv = function (t) {
9744                        function n(n, i, r, e, o, s) {
9745                            var a = t.call(this) || this;
9746                            return a.ka = null, a.Nt = n || new Image, null !== e && (a.Nt.crossOrigin = e), a.Ut = {}, a.Sa = s, a.zt = null, a.Ma = o, a.hs = r, a.Pt = i, a._a, a
9747                        }
9748
9749                        return Nv(n, t), n.prototype.Oa = function () {
9750                            if (void 0 === this._a && this.Ma === wo) {
9751                                zv || (zv = _o(1, 1)), zv.drawImage(this.Nt, 0, 0);
9752                                try {
9753                                    zv.getImageData(0, 0, 1, 1), this._a = !1
9754                                } catch (t) {
9755                                    zv = null, this._a = !0
9756                                }
9757                            }
9758                            return !0 === this._a
9759                        }, n.prototype.Ta = function () {
9760                            this.dispatchEvent(N)
9761                        }, n.prototype.Lt = function () {
9762                            this.Ma = bo, this.Gt(), this.Ta()
9763                        }, n.prototype.Dt = function () {
9764                            this.Ma = wo, this.hs ? (this.Nt.width = this.hs[0], this.Nt.height = this.hs[1]) : this.hs = [this.Nt.width, this.Nt.height], this.Gt(), this.Ta()
9765                        }, n.prototype.getImage = function (t) {
9766                            return this.Ea(t), this.Ut[t] ? this.Ut[t] : this.Nt
9767                        }, n.prototype.getPixelRatio = function (t) {
9768                            return this.Ea(t), this.Ut[t] ? t : 1
9769                        }, n.prototype.getImageState = function () {
9770                            return this.Ma
9771                        }, n.prototype.getHitDetectionImage = function () {
9772                            if (!this.ka) if (this.Oa()) {
9773                                var t = this.hs[0], n = this.hs[1], i = _o(t, n);
9774                                i.fillRect(0, 0, t, n), this.ka = i.canvas
9775                            } else this.ka = this.Nt;
9776                            return this.ka
9777                        }, n.prototype.getSize = function () {
9778                            return this.hs
9779                        }, n.prototype.getSrc = function () {
9780                            return this.Pt
9781                        }, n.prototype.load = function () {
9782                            if (this.Ma == yo) {
9783                                this.Ma = mo;
9784                                try {
9785                                    this.Nt.src = this.Pt
9786                                } catch (t) {
9787                                    this.Lt()
9788                                }
9789                                this.zt = jo(this.Nt, this.Dt.bind(this), this.Lt.bind(this))
9790                            }
9791                        }, n.prototype.Ea = function (t) {
9792                            if (this.Sa && !this.Ut[t] && this.Ma === wo) {
9793                                var n = document.createElement("canvas");
9794                                this.Ut[t] = n, n.width = Math.ceil(this.Nt.width * t), n.height = Math.
9794ceil(this.Nt.height * t);
9795                                var i = n.getContext("2d");
9796                                if (i.scale(t, t), i.drawImage(this.Nt, 0, 0), i.globalCompositeOperation = "multiply", "multiply" === i.globalCompositeOperation || this.Oa()) i.fillStyle = Lo(this.Sa), i.fillRect(0, 0, n.width / t, n.height / t), i.globalCompositeOperation = "destination-in", i.drawImage(this.Nt, 0, 0); else {
9797                                    for (var r = i.getImageData(0, 0, n.width, n.height), e = r.data, o = this.Sa[0] / 255, s = this.Sa[1] / 255, a = this.Sa[2] / 255, u = this.Sa[3], c = 0, h = e.length; c < h; c += 4) e[c] *= o, e[c + 1] *= s, e[c + 2] *= a, e[c + 3] *= u;
9798                                    i.putImageData(r, 0, 0)
9799                                }
9800                            }
9801                        }, n.prototype.Gt = function () {
9802                            this.zt && (this.zt(), this.zt = null)
9803                        }, n
9804                    }(I);
9805
9806                function Lv(t, n, i, r, e, o) {
9807                    var s = Jo.get(n, r, o);
9808                    return s || (s = new Fv(t, n, i, r, e, o), Jo.set(n, r, o, s)), s
9809                }
9810
9811                var Gv = Fv, Dv = function () {
9812                    var t = function (n, i) {
9813                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
9814                            t.__proto__ = n
9815                        } || function (t, n) {
9816                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
9817                        })(n, i)
9818                    };
9819                    return function (n, i) {
9820                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
9821
9822                        function r() {
9823                            this.constructor = n
9824                        }
9825
9826                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
9827                    }
9828                }(), Uv = function (t) {
9829                    function n(n) {
9830                        var i = this, r = n || {}, e = void 0 !== r.opacity ? r.opacity : 1,
9831                            s = void 0 !== r.rotation ? r.rotation : 0, a = void 0 !== r.scale ? r.scale : 1,
9832                            u = void 0 !== r.rotateWithView && r.rotateWithView;
9833                        (i = t.call(this, {
9834                            opacity: e,
9835                            rotation: s,
9836                            scale: a,
9837                            displacement: void 0 !== r.displacement ? r.displacement : [0, 0],
9838                            rotateWithView: u
9839                        }) || this).xe = void 0 !== r.anchor ? r.anchor : [.5, .5], i.Aa = null, i.Ca = void 0 !== r.anchorOrigin ? r.anchorOrigin : Pv, i.Ra = void 0 !== r.anchorXUnits ? r.anchorXUnits : Ev, i.Pa = void 0 !== r.anchorYUnits ? r.anchorYUnits : Ev, i.Bt = void 0 !== r.crossOrigin ? r.crossOrigin : null;
9840                        var c = void 0 !== r.img ? r.img : null;
9841                        i.Ia = r.imgSize;
9842                        var h = r.src;
9843                        Mt(!(void 0 !== h && c), 4), Mt(!c || c && i.Ia, 5), void 0 !== h && 0 !== h.length || !c || (h = c.src || o(c)), Mt(void 0 !== h && h.length > 0, 6);
9844                        var f = void 0 !== r.src ? yo : wo;
9845                        return i.Sa = void 0 !== r.color ? Uo(r.color) : null, i.Na = Lv(c, h, void 0 !== i.Ia ? i.Ia : null, i.Bt, f, i.Sa), i.za = void 0 !== r.offset ? r.offset : [0, 0], i.Fa = void 0 !== r.offsetOrigin ? r.offsetOrigin : Pv, i.So = null, i.hs = void 0 !== r.size ? r.size : null, i
9846                    }
9847
9848                    return Dv(n, t), n.prototype.clone = function () {
9849                        var t = this.getScale();
9850                        return new n({
9851                            anchor: this.xe.slice(),
9852                            anchorOrigin: this.Ca,
9853                            anchorXUnits: this.Ra,
9854                            anchorYUnits: this.Pa,
9855                            color: this.Sa && this.Sa.slice ? this.Sa.slice() : this.Sa || void 0,
9856                            crossOrigin: this.Bt,
9857                            imgSize: this.Ia,
9858                            offset: this.za.slice(),
9859                            offsetOrigin: this.Fa,
9860                            opacity: this.getOpacity(),
9861                            rotateWithView: this.getRotateWithView(),
9862                            rotation: this.getRotation(),
9863                            scale: Array.isArray(t) ? t.slice() : t,
9864                            size: null !== this.hs ? this.hs.slice() : void 0,
9865                            src: this.getSrc()
9866                        })
9867                    }, n.prototype.getAnchor = function () {
9868                        var t = this.Aa;
9869                        if (!t) {
9870                            t = this.xe;
9871                            var n = this.getSize();
9872                            if (this.Ra == Ev || this.Pa == Ev) {
9873                                if (!n) return null;
9874                                t = this.xe.slice(), this.Ra == Ev && (t[0] *= n[0]), this.Pa == Ev && (t[1] *= n[1])
9875                            }
9876                            if (this.Ca != Pv) {
9877                                if (!n) return null;
9878                                t === this.xe && (t = this.xe.slice()), this.Ca != Iv && this.Ca != Rv || (t[0] = -t[0] + n[0]), this.Ca != Cv && this.Ca != Rv || (t[1] = -t[1] + n[1])
9879                            }
9880                            this.Aa = t
9881                        }
9882                        var i = this.getDisplacement();
9883                        return [t[0] - i[0], t[1] + i[1]]
9884                    }, n.prototype.setAnchor = function (t) {
9885                        this.xe = t, this.Aa = null
9886                    }, n.prototype.getColor = function () {
9887                        return this.Sa
9888                    }, n.prototype.getImage = function (t) {
9889                        return this.Na.getImage(t)
9890                    }, n.prototype.getPixelRatio = function (t) {
9891                        return this.Na.getPixelRatio(t)
9892                    }, n.prototype.getImageSize = function () {
9893                        return this.Na.getSize()
9894                    }, n.prototype.getImageState = function () {
9895                        return this.Na.getImageState()
9896                    }, n.prototype.getHitDetectionImage = function () {
9897                        return this.Na.getHitDetectionImage()
9898                    }, n.prototype.getOrigin = function () {
9899                        if (this.So) return this.So;
9900                        var t = this.za;
9901                        if (this.Fa != Pv) {
9902                            var n = this.getSize(), i = this.Na.getSize();
9903                            if (!n || !i) return null;
9904                            t = t.slice(), this.Fa != Iv && this.Fa != Rv || (t[0] = i[0] - n[0] - t[0]), this.Fa != Cv && this.Fa != Rv || (t[1] = i[1] - n[1] - t[1])
9905                        }
9906                        return this.So = t, this.So
9907                    }, n.prototype.getSrc = function () {
9908                        return this.Na.getSrc()
9909                    }, n.prototype.getSize = function () {
9910                        return this.hs ? this.hs : this.Na.getSize()
9911                    }, n.prototype.listenImageChange = function (t) {
9912                        this.Na.addEventListener(N, t)
9913                    }, n.prototype.load = function () {
9914                        this.Na.load()
9915                    }, n.prototype.unlistenImageChange = function (t) {
9916                        this.Na.removeEventListener(N, t)
9917                    }, n
9918                }(Sv), qv = function () {
9919                    function t(t) {
9920                        var n = t || {};
9921                        this.Sa = void 0 !== n.color ? n.color : null, this.La = n.lineCap, this.Ga = void 0 !== n.lineDash ? n.lineDash : null, this.Da = n.lineDashOffset, this.Ua = n.lineJoin, this.qa = n.miterLimit, this.Ba = n.width
9922                    }
9923
9924                    return t.prototype.clone = function () {
9925                        var n = this.getColor();
9926                        return new t({
9927                            color: Array.isArray(n) ? n.slice() : n || void 0,
9928                            lineCap: this.getLineCap(),
9929                            lineDash: this.getLineDash() ? this.getLineDash().slice() : void 0,
9930                            lineDashOffset: this.getLineDashOffset(),
9931                            lineJoin: this.getLineJoin(),
9932                            miterLimit: this.getMiterLimit(),
9933                            width: this.getWidth()
9934                        })
9935                    }, t.prototype.getColor = function () {
9936                        return this.Sa
9937                    }, t.prototype.getLineCap = function () {
9938                        return this.La
9939                    }, t.prototype.getLineDash = function () {
9940                        return this.Ga
9941                    }, t.prototype.getLineDashOffset = function () {
9942                        return this.Da
9943                    }, t.prototype.getLineJoin = function () {
9944                        return this.Ua
9945                    }, t.prototype.getMiterLimit = function () {
9946                        return this.qa
9947                    }, t.prototype.getWidth = function () {
9948                        return this.Ba
9949                    }, t.prototype.setColor = function (t) {
9950                        this.Sa = t
9951                    }, t.prototype.setLineCap = function (t) {
9952                        this.La = t
9953                    }, t.prototype.setLineDash = function (t) {
9954                        this.Ga = t
9955                    }, t.prototype.setLineDashOffset = function (t) {
9956                        this.Da = t
9957                    }, t.prototype.setLineJoin = function (t) {
9958                        this.Ua = t
9959                    }, t.prototype.setMiterLimit = function (t) {
9960                        this.qa = t
9961                    }, t.prototype.setWidth = function (t) {
9962                        this.Ba = t
9963                    }, t
9964                }();
9965
9966                function Bv(t) {
9967                    return (Bv = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
9968                        return typeof t
9969                    } : function (t) {
9970                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
9971                    })(t)
9972                }
9973
9974                var Wv = function () {
9975                    function t(t) {
9976                        var n = t || {};
9977                        this.Zr = null, this.Wa = Kv, void 0 !== n.geometry && this.setGeometry(n.geometry), this.va = void 0 !== n.fill ? n.fill : null, this.Nt = void 0 !== n.image ? n.image : null, this.cn = void 0 !== n.renderer ? n.renderer : null, this.Va = void 0 !== n.hitDetectionRenderer ? n.hitDetectionRenderer : null, this.ya = void 0 !== n.stroke ? n.stroke : null, this.eo = void 0 !== n.text ? n.text : null, this.Xa = n.zIndex
9978                    }
9979
9980                    return t.prototype.clone = function () {
9981                        var n = this.getGeometry();
9982                        return n && "object" === Bv(n) && (n = n.clone()), new t({
9983                            geometry: n,
9984                            fill: this.getFill() ? this.getFill().clone() : void 0,
9985                            image: this.getImage() ? this.getImage().clone() : void 0,
9986                            renderer: this.getRenderer(),
9987                            stroke: this.getStroke() ? this.getStroke().clone() : void 0,
9988                            text: this.getText() ? this.getText().clone() : void 0,
9989                            zIndex: this.getZIndex()
9990                        })
9991                    }, t.prototype.getRenderer = function () {
9992                        return this.cn
9993                    }, t.prototype.setRenderer = function (t) {
9994                        this.cn = t
9995                    }, t.prototype.setHitDetectionRenderer = function (t) {
9996                        this.Va = t
9997                    }, t.prototype.getHitDetectionRenderer = function () {
9998                        return this.Va
9999                    }, t.prototype.getGeometry = function () {
10000                        return this.Zr
10001                    }, t.prototype.getGeometryFunction = function () {
10002                        return this.Wa
10003                    }, t.prototype.getFill = function () {
10004                        return this.va
10005                    }, t.prototype.setFill = function (t) {
10006                        this.va = t
10007                    }, t.prototype.getImage = function () {
10008                        return this.Nt
10009                    }, t.prototype.setImage = function (t) {
10010                        this.Nt = t
10011                    }, t.prototype.getStroke = function () {
10012                        return this.ya
10013                    }, t.prototype.setStroke = function (t) {
10014                        this.ya = t
10015                    }, t.prototype.getText = function () {
10016                        return this.eo
10017                    }, t.prototype.setText = function (t) {
10018                        this.eo = t
10019                    }, t.prototype.getZIndex = function () {
10020                        return this.Xa
10021                    }, t.prototype.setGeometry = function (t) {
10022                        "function" == typeof t ? this.Wa = t : "string" == typeof t ? this.Wa = function (n) {
10023                            return n.get(t)
10024                        } : t ? void 0 !== t && (this.Wa = function () {
10025                            return t
10026                        }) : this.Wa = Kv, this.Zr = t
10027                    }, t.prototype.setZIndex = function (t) {
10028                        this.Xa = t
10029                    }, t
10030                }();
10031
10032                function Vv(t) {
10033                    var n;
10034                    if ("function" == typeof t) n = t; else {
10035                        var i;
10036                        if (Array.isArray(t)) i = t; else Mt("function" == typeof t.getZIndex, 41), i = [t];
10037                        n = function () {
10038                            return i
10039                        }
10040                    }
10041                    return n
10042                }
10043
10044                var Xv = null;
10045
10046                function Hv(t, n) {
10047                    if (!Xv) {
10048                        var i = new Tv({color: "rgba(255,255,255,0.4)"}), r = new qv({color: "#3399CC", width: 1.25});
10049                        Xv = [new Wv({image: new Ov({fill: i, stroke: r, radius: 5}), fill: i, stroke: r})]
10050                    }
10051                    return Xv
10052                }
10053
10054                function Jv() {
10055                    var t = {}, n = [255, 255, 255, 1], i = [0, 153, 255, 1];
10056                    return t[Pt.POLYGON] = [new Wv({fill: new Tv({color: [255, 255, 255, .5]})})], t[Pt.MULTI_POLYGON] = t[Pt.POLYGON], t[Pt.LINE_STRING] = [new Wv({
10057                        stroke: new qv({
10058                            color: n,
10059                            width: 5
10060                        })
10061                    }), new Wv({
10062                        stroke: new qv({
10063                            color: i,
10064                            width: 3
10065                        })
10066                    })], t[Pt.MULTI_LINE_STRING] = t[Pt.LINE_STRING], t[Pt.CIRCLE] = t[Pt.POLYGON].concat(t[Pt.LINE_STRING]), t[Pt.POINT] = [new Wv({
10067                        image: new Ov({
10068                            radius: 6,
10069                            fill: new Tv({color: i}),
10070                            stroke: new qv({color: n, width: 1.5})
10071                        }), zIndex: 1 / 0
10072                    })], t[Pt.MULTI_POINT] = t[Pt.POINT], t[Pt.GEOMETRY_COLLECTION] = t[Pt.POLYGON].concat(t[Pt.LINE_STRING], t[Pt.POINT]), t
10073                }
10074
10075                function Kv(t) {
10076                    return t.getGeometry()
10077                }
10078
10079                var Yv = Wv, Zv = "point", $v = "line", Qv = function () {
10080                    function t(t) {
10081                        var n = t || {};
10082                        this.Ha = n.font, this.Gr = n.rotation, this.ua = n.rotateWithView, this.ca = n.scale, this.ha = ou(void 0 !== n.scale ? n.scale : 1), this.eo = n.text, this.Ja = n.textAlign, this.Ka = n.textBaseline, this.va = void 0 !== n.fill ? n.fill : new Tv({color: "#333"}), this.Ya = void 0 !== n.maxAngle ? n.maxAngle : Math.PI / 4, this.Za = void 0 !== n.placement ? n.placement : Zv, this.$a = !!n.overflow, this.ya = void 0 !== n.stroke ? n.stroke : null, this.Qa = void 0 !== n.offsetX ? n.offsetX : 0, this.tu = void 0 !== n.offsetY ? n.offsetY : 0, this.nu = n.backgroundFill ? n.backgroundFill : null, this.iu = n.backgroundStroke ? n.backgroundStroke : null, this.Ei = void 0 === n.padding ? null : n.padding
10083                    }
10084
10085                    return t.prototype.clone = function () {
10086                        var n = this.getScale();
10087                        return new t({
10088                            font: this.getFont(),
10089                            placement: this.getPlacement(),
10090                            maxAngle: this.getMaxAngle(),
10091                            overflow: this.getOverflow(),
10092                            rotation: this.getRotation(),
10093                            rotateWithView: this.getRotateWithView(),
10094                            scale: Array.isArray(n) ? n.slice() : n,
10095                            text: this.getText(),
10096                            textAlign: this.getTextAlign(),
10097                            textBaseline: this.getTextBaseline(),
10098                            fill: this.getFill() ? this.getFill().clone() : void 0,
10099                            stroke: this.getStroke() ? this.getStroke().clone() : void 0,
10100                            offsetX: this.getOffsetX(),
10101                            offsetY: this.getOffsetY(),
10102                            backgroundFill: this.getBackgroundFill() ? this.getBackgroundFill().clone() : void 0,
10103                            backgroundStroke: this.getBackgroundStroke() ? this.getBackgroundStroke().clone() : void 0,
10104                            padding: this.getPadding() || void 0
10105                        })
10106                    }, t.prototype.getOverflow = function () {
10107                        return this.$a
10108                    }, t.prototype.getFont = function () {
10109                        return this.Ha
10110                    }, t.prototype.getMaxAngle = function () {
10111                        return this.Ya
10112                    }, t.prototype.getPlacement = function () {
10113                        return this.Za
10114                    }, t.prototype.getOffsetX = function () {
10115                        return this.Qa
10116                    }, t.prototype.getOffsetY = function () {
10117                        return this.tu
10118                    }, t.prototype.getFill = function () {
10119                        return this.va
10120                    }, t.prototype.getRotateWithView = function () {
10121                        return this.ua
10122                    }, t.prototype.getRotation = function () {
10123                        return this.Gr
10124                    }, t.prototype.getScale = function () {
10125                        return this.ca
10126                    }, t.prototype.getScaleArray = function () {
10127                        return this.ha
10128                    }, t.prototype.getStroke = function () {
10129                        return this.ya
10130                    }, t.prototype.getText = function () {
10131                        return this.eo
10132                    }, t.prototype.getTextAlign = function () {
10133                        return this.Ja
10134                    }, t.prototype.getTextBaseline = function () {
10135                        return this.Ka
10136                    }, t.prototype.getBackgroundFill = function () {
10137                        return this.nu
10138                    }, t.prototype.getBackgroundStroke = function () {
10139                        return this.iu
10140                    }, t.prototype.getPadding = function () {
10141                        return this.Ei
10142                    }, t.prototype.setOverflow = function (t) {
10143                        this.$a = t
10144                    }, t.prototype.setFont = function (t) {
10145                        this.Ha = t
10146                    }, t.prototype.setMaxAngle = function (t) {
10147                        this.Ya = t
10148                    }, t.prototype.setOffsetX = function (t) {
10149                        this.Qa = t
10150                    }, t.prototype.setOffsetY = function (t) {
10151                        this.tu = t
10152                    }, t.prototype.setPlacement = function (t) {
10153                        this.Za = t
10154                    }, t.prototype.setRotateWithView = function (t) {
10155                        this.ua = t
10156                    }, t.prototype.setFill = function (t) {
10157                        this.va = t
10158                    }, t.prototype.setRotation = function (t) {
10159                        this.Gr = t
10160                    }, t.prototype.setScale = function (t) {
10161                        this.ca = t, this.ha = ou(void 0 !== t ? t : 1)
10162                    }, t.prototype.setStroke = function (t) {
10163                        this.ya = t
10164                    }, t.prototype.setText = function (t) {
10165                        this.eo = t
10166                    }, t.prototype.setTextAlign = function (t) {
10167                        this.Ja = t
10168                    }, t.prototype.setTextBaseline = function (t) {
10169                        this.Ka = t
10170                    }
vendor: 10,876 bytes, lines 10170-10356
10170, t.prototype.setBackgroundFill = function (t) {
10171                        this.nu = t
10172                    }, t.prototype.setBackgroundStroke = function (t) {
10173                        this.iu = t
10174                    }, t.prototype.setPadding = function (t) {
10175                        this.Ei = t
10176                    }, t
10177                }(), td = function () {
10178                    function t(t) {
10179                        this.ru, this.eu, this.ou, this.su = void 0 === t || t, this.au = 0
10180                    }
10181
10182                    return t.prototype.insertItem = function (t) {
10183                        var n = {prev: void 0, next: void 0, data: t}, i = this.ou;
10184                        if (i) {
10185                            var r = i.next;
10186                            n.prev = i, n.next = r, i.next = n, r && (r.prev = n), i === this.eu && (this.eu = n)
10187                        } else this.ru = n, this.eu = n, this.su && (n.next = n, n.prev = n);
10188                        this.ou = n, this.au++
10189                    }, t.prototype.removeItem = function () {
10190                        var t = this.ou;
10191                        if (t) {
10192                            var n = t.next, i = t.prev;
10193                            n && (n.prev = i), i && (i.next = n), this.ou = n || i, this.ru === this.eu ? (this.ou = void 0, this.ru = void 0, this.eu = void 0) : this.ru === t ? this.ru = this.ou : this.eu === t && (this.eu = i ? this.ou.prev : this.ou), this.au--
10194                        }
10195                    }, t.prototype.firstItem = function () {
10196                        if (this.ou = this.ru, this.ou) return this.ou.data
10197                    }, t.prototype.lastItem = function () {
10198                        if (this.ou = this.eu, this.ou) return this.ou.data
10199                    }, t.prototype.nextItem = function () {
10200                        if (this.ou && this.ou.next) return this.ou = this.ou.next, this.ou.data
10201                    }, t.prototype.getNextItem = function () {
10202                        if (this.ou && this.ou.next) return this.ou.next.data
10203                    }, t.prototype.prevItem = function () {
10204                        if (this.ou && this.ou.prev) return this.ou = this.ou.prev, this.ou.data
10205                    }, t.prototype.getPrevItem = function () {
10206                        if (this.ou && this.ou.prev) return this.ou.prev.data
10207                    }, t.prototype.getCurrItem = function () {
10208                        if (this.ou) return this.ou.data
10209                    }, t.prototype.setFirstItem = function () {
10210                        this.su && this.ou && (this.ru = this.ou, this.eu = this.ou.prev)
10211                    }, t.prototype.concat = function (t) {
10212                        if (t.ou) {
10213                            if (this.ou) {
10214                                var n = this.ou.next;
10215                                this.ou.next = t.ru, t.ru.prev = this.ou, n.prev = t.eu, t.eu.next = n, this.au += t.au
10216                            } else this.ou = t.ou, this.ru = t.ru, this.eu = t.eu, this.au = t.au;
10217                            t.ou = void 0, t.ru = void 0, t.eu = void 0, t.au = 0
10218                        }
10219                    }, t.prototype.getLength = function () {
10220                        return this.au
10221                    }, t
10222                }(), nd = i(72), id = function () {
10223                    function t(t) {
10224                        this.uu = new nd(t), this.cu = {}
10225                    }
10226
10227                    return t.prototype.insert = function (t, n) {
10228                        var i = {minX: t[0], minY: t[1], maxX: t[2], maxY: t[3], value: n};
10229                        this.uu.insert(i), this.cu[o(n)] = i
10230                    }, t.prototype.load = function (t, n) {
10231                        for (var i = new Array(n.length), r = 0, e = n.length; r < e; r++) {
10232                            var s = t[r], a = n[r], u = {minX: s[0], minY: s[1], maxX: s[2], maxY: s[3], value: a};
10233                            i[r] = u, this.cu[o(a)] = u
10234                        }
10235                        this.uu.load(i)
10236                    }, t.prototype.remove = function (t) {
10237                        var n = o(t), i = this.cu[n];
10238                        return delete this.cu[n], null !== this.uu.remove(i)
10239                    }, t.prototype.update = function (t, n) {
10240                        var i = this.cu[o(n)];
10241                        In([i.minX, i.minY, i.maxX, i.maxY], t) || (this.remove(n), this.insert(t, n))
10242                    }, t.prototype.getAll = function () {
10243                        return this.uu.all().map((function (t) {
10244                            return t.value
10245                        }))
10246                    }, t.prototype.getInExtent = function (t) {
10247                        var n = {minX: t[0], minY: t[1], maxX: t[2], maxY: t[3]};
10248                        return this.uu.search(n).map((function (t) {
10249                            return t.value
10250                        }))
10251                    }, t.prototype.forEach = function (t) {
10252                        return this.hu(this.getAll(), t)
10253                    }, t.prototype.forEachInExtent = function (t, n) {
10254                        return this.hu(this.getInExtent(t), n)
10255                    }, t.prototype.hu = function (t, n) {
10256                        for (var i, r = 0, e = t.length; r < e; r++) if (i = n(t[r])) return i;
10257                        return i
10258                    }, t.prototype.isEmpty = function () {
10259                        return R(this.cu)
10260                    }, t.prototype.clear = function () {
10261                        this.uu.clear(), this.cu = {}
10262                    }, t.prototype.getExtent = function (t) {
10263                        var n = this.uu.toJSON();
10264                        return An(n.minX, n.minY, n.maxX, n.maxY, t)
10265                    }, t.prototype.concat = function (t) {
10266                        for (var n in this.uu.load(t.uu.all()), t.cu) this.cu[n] = t.cu[n]
10267                    }, t
10268                }(), rd = "tileloadstart", ed = "tileloadend", od = "tileloaderror", sd = function () {
10269                    var t = function (n, i) {
10270                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10271                            t.__proto__ = n
10272                        } || function (t, n) {
10273                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10274                        })(n, i)
10275                    };
10276                    return function (n, i) {
10277                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10278
10279                        function r() {
10280                            this.constructor = n
10281                        }
10282
10283                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10284                    }
10285                }();
10286
10287                function ad(t) {
10288                    return t ? Array.isArray(t) ? function (n) {
10289                        return t
10290                    } : "function" == typeof t ? t : function (n) {
10291                        return [t]
10292                    } : null
10293                }
10294
10295                var ud = function (t) {
10296                    function n(n) {
10297                        var i = t.call(this) || this;
10298                        i.projection = br(n.projection), i.fu = ad(n.attributions), i.lu = void 0 === n.attributionsCollapsible || n.attributionsCollapsible, i.loading = !1, i.rn = void 0 !== n.state ? n.state : ps, i.vu = void 0 !== n.wrapX && n.wrapX, i.du = !!n.interpolate, i.viewResolver = null, i.viewRejector = null;
10299                        var r = i;
10300                        return i.pu = new Promise((function (t, n) {
10301                            r.viewResolver = t, r.viewRejector = n
10302                        })), i
10303                    }
10304
10305                    return sd(n, t), n.prototype.getAttributions = function () {
10306                        return this.fu
10307                    }, n.prototype.getAttributionsCollapsible = function () {
10308                        return this.lu
10309                    }, n.prototype.getProjection = function () {
10310                        return this.projection
10311                    }, n.prototype.getResolutions = function () {
10312                        return r()
10313                    }, n.prototype.getView = function () {
10314                        return this.pu
10315                    }, n.prototype.getState = function () {
10316                        return this.rn
10317                    }, n.prototype.getWrapX = function () {
10318                        return this.vu
10319                    }, n.prototype.getInterpolate = function () {
10320                        return this.du
10321                    }, n.prototype.refresh = function () {
10322                        this.changed()
10323                    }, n.prototype.setAttributions = function (t) {
10324                        this.fu = ad(t), this.changed()
10325                    }, n.prototype.setState = function (t) {
10326                        this.rn = t, this.changed()
10327                    }, n
10328                }(ot), cd = function () {
10329                    var t = function (n, i) {
10330                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10331                            t.__proto__ = n
10332                        } || function (t, n) {
10333                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10334                        })(n, i)
10335                    };
10336                    return function (n, i) {
10337                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10338
10339                        function r() {
10340                            this.constructor = n
10341                        }
10342
10343                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10344                    }
10345                }(), hd = function (t) {
10346                    function n(n) {
10347                        var i = t.call(this, {
10348                            attributions: n.attributions,
10349                            attributionsCollapsible: n.attributionsCollapsible,
10350                            projection: n.projection,
10351                            state: n.state,
10352                            wrapX: n.wrapX,
10353                            interpolate: n.interpolate
10354                        }) || this;
10355                        i.on, i.once, i.un, i.yu = void 0 !== n.opaque && n.opaque, i.Ls = void 0 !== n.tilePixelRatio ? n.tilePixelRatio : 1, i.tileGrid = void 0 !== n.tileGrid ? n.tileGrid : null;
10356                        return i.tileGrid && ou(i.tileGrid.getTileSize(i.tileGrid.getMinZoom()), [256, 256]), i.tileCache = new Kc(n.cacheSize || 0), i.tmpSize = [0, 0], i.Re = n.
10356key || "", i.tileOptions = {
10357                            transition: n.transition,
10358                            interpolate: n.interpolate
10359                        }, i.zDirection = n.zDirection ? n.zDirection : 0, i
10360                    }
10361
10362                    return cd(n, t), n.prototype.canExpireCache = function () {
10363                        return this.tileCache.canExpireCache()
10364                    }, n.prototype.expireCache = function (t, n) {
10365                        var i = this.getTileCacheForProjection(t);
10366                        i && i.expireCache(n)
10367                    }, n.prototype.forEachLoadedTile = function (t, n, i, r) {
10368                        var e = this.getTileCacheForProjection(t);
10369                        if (!e) return !1;
10370                        for (var o, s, a, u = !0, c = i.minX; c <= i.maxX; ++c) for (var h = i.minY; h <= i.maxY; ++h) s = qc(n, c, h), a = !1, e.containsKey(s) && (a = (o = e.get(s)).getState() === dt) && (a = !1 !== r(o)), a || (u = !1);
10371                        return u
10372                    }, n.prototype.getGutterForProjection = function (t) {
10373                        return 0
10374                    }, n.prototype.getKey = function () {
10375                        return this.Re
10376                    }, n.prototype.setKey = function (t) {
10377                        this.Re !== t && (this.Re = t, this.changed())
10378                    }, n.prototype.getOpaque = function (t) {
10379                        return this.yu
10380                    }, n.prototype.getResolutions = function () {
10381                        return this.tileGrid ? this.tileGrid.getResolutions() : null
10382                    }, n.prototype.getTile = function (t, n, i, e, o) {
10383                        return r()
10384                    }, n.prototype.getTileGrid = function () {
10385                        return this.tileGrid
10386                    }, n.prototype.getTileGridForProjection = function (t) {
10387                        return this.tileGrid ? this.tileGrid : Xh(t)
10388                    }, n.prototype.getTileCacheForProjection = function (t) {
10389                        return Mt(Or(this.getProjection(), t), 68), this.tileCache
10390                    }, n.prototype.getTilePixelRatio = function (t) {
10391                        return this.Ls
10392                    }, n.prototype.getTilePixelSize = function (t, n, i) {
10393                        var r = this.getTileGridForProjection(i), e = this.getTilePixelRatio(n),
10394                            o = ou(r.getTileSize(t), this.tmpSize);
10395                        return 1 == e ? o : eu(o, e, this.tmpSize)
10396                    }, n.prototype.getTileCoordForTileUrlFunction = function (t, n) {
10397                        var i = void 0 !== n ? n : this.getProjection(), r = this.getTileGridForProjection(i);
10398                        return this.getWrapX() && i.isGlobal() && (t = Hh(r, t, i)), Hc(t, r) ? t : null
10399                    }, n.prototype.clear = function () {
10400                        this.tileCache.clear()
10401                    }, n.prototype.refresh = function () {
10402                        this.clear(), t.prototype.refresh.call(this)
10403                    }, n.prototype.updateCacheSize = function (t, n) {
10404                        var i = this.getTileCacheForProjection(n);
10405                        t > i.highWaterMark && (i.highWaterMark = t)
10406                    }, n.prototype.useTile = function (t, n, i, r) {
10407                    }, n
10408                }(ud), fd = function (t) {
10409                    function n(n, i) {
10410                        var r = t.call(this, n) || this;
10411                        return r.tile = i, r
10412                    }
10413
10414                    return cd(n, t), n
10415                }(f), ld = hd, vd = function () {
10416                    var t = function (n, i) {
10417                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10418                            t.__proto__ = n
10419                        } || function (t, n) {
10420                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10421                        })(n, i)
10422                    };
10423                    return function (n, i) {
10424                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10425
10426                        function r() {
10427                            this.constructor = n
10428                        }
10429
10430                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10431                    }
10432                }(), dd = function (t) {
10433                    function n(i) {
10434                        var r = t.call(this, {
10435                            attributions: i.attributions,
10436                            cacheSize: i.cacheSize,
10437                            opaque: i.opaque,
10438                            projection: i.projection,
10439                            state: i.state,
10440                            tileGrid: i.tileGrid,
10441                            tilePixelRatio: i.tilePixelRatio,
10442                            wrapX: i.wrapX,
10443                            transition: i.transition,
10444                            interpolate: i.interpolate,
10445                            key: i.key,
10446                            attributionsCollapsible: i.attributionsCollapsible,
10447                            zDirection: i.zDirection
10448                        }) || this;
10449                        return r.mu = r.tileUrlFunction === n.prototype.tileUrlFunction, r.tileLoadFunction = i.tileLoadFunction, i.tileUrlFunction && (r.tileUrlFunction = i.tileUrlFunction), r.urls = null, i.urls ? r.setUrls(i.urls) : i.url && r.setUrl(i.url), r.wu = {}, r
10450                    }
10451
10452                    return vd(n, t), n.prototype.getTileLoadFunction = function () {
10453                        return this.tileLoadFunction
10454                    }, n.prototype.getTileUrlFunction = function () {
10455                        return Object.getPrototypeOf(this).tileUrlFunction === this.tileUrlFunction ? this.tileUrlFunction.bind(this) : this.tileUrlFunction
10456                    }, n.prototype.getUrls = function () {
10457                        return this.urls
10458                    }, n.prototype.handleTileChange = function (t) {
10459                        var n, i = t.target, r = o(i), e = i.getState();
10460                        e == vt ? (this.wu[r] = !0, n = rd) : r in this.wu && (delete this.wu[r], n = e == pt ? od : e == dt ? ed : void 0), null != n && this.dispatchEvent(new fd(n, i))
10461                    }, n.prototype.setTileLoadFunction = function (t) {
10462                        this.tileCache.clear(), this.tileLoadFunction = t, this.changed()
10463                    }, n.prototype.setTileUrlFunction = function (t, n) {
10464                        this.tileUrlFunction = t, this.tileCache.pruneExceptNewestZ(), void 0 !== n ? this.setKey(n) : this.changed()
10465                    }, n.prototype.setUrl = function (t) {
10466                        var n = ef(t);
10467                        this.urls = n, this.setUrls(n)
10468                    }, n.prototype.setUrls = function (t) {
10469                        this.urls = t;
10470                        var n = t.join("\n");
10471                        this.mu ? this.setTileUrlFunction(tf(t, this.tileGrid), n) : this.setKey(n)
10472                    }, n.prototype.tileUrlFunction = function (t, n, i) {
10473                    }, n.prototype.useTile = function (t, n, i) {
10474                        var r = qc(t, n, i);
10475                        this.tileCache.containsKey(r) && this.tileCache.get(r)
10476                    }, n
10477                }(ld), pd = function () {
10478                    var t = function (n, i) {
10479                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10480                            t.__proto__ = n
10481                        } || function (t, n) {
10482                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10483                        })(n, i)
10484                    };
10485                    return function (n, i) {
10486                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10487
10488                        function r() {
10489                            this.constructor = n
10490                        }
10491
10492                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10493                    }
10494                }();
10495
10496                function yd(t, n) {
10497                    t.getImage().src = n
10498                }
10499
10500                var md = function (t) {
10501                    function n(n) {
10502                        var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
10503                        return void 0 !== n.interpolate && (r = n.interpolate), (i = t.call(this, {
10504                            attributions: n.attributions,
10505                            cacheSize: n.cacheSize,
10506                            opaque: n.opaque,
10507                            projection: n.projection,
10508                            state: n.state,
10509                            tileGrid: n.tileGrid,
10510                            tileLoadFunction: n.tileLoadFunction ? n.tileLoadFunction : yd,
10511                            tilePixelRatio: n.tilePixelRatio,
10512                            tileUrlFunction: n.tileUrlFunction,
10513                            url: n.url,
10514                            urls: n.urls,
10515                            wrapX: n.wrapX,
10516                            transition: n.transition,
10517                            interpolate: r,
10518                            key: n.key,
10519                            attributionsCollapsible: n.attributionsCollapsible,
10520                            zDirection: n.zDirection
10521                        }) || this).crossOrigin = void 0 !== n.crossOrigin ? n.crossOrigin : null, i.tileClass = void 0 !== n.tileClass ? n.tileClass : Io, i.tileCacheForProjection = {}, i.tileGridForProjection = {}, i.bu = n.reprojectionErrorThreshold, i.gu = !1, i
10522                    }
10523
10524                    return pd(n, t), n.prototype.canExpireCache = function () {
10525                        if (this.tileCache.canExpireCache()) return !0;
10526                        for (var t in this.tileCacheForProjection) if (this.tileCacheForProjection[t].canExpireCache()) return !0;
10527                        return !1
10528                    }, n.prototype.expireCache = function (t, n) {
10529                        var i = this.getTileCacheForProjection(t);
10530                        for (var r in this.tileCache.expireCache(this.tileCache == i ? n : {}), this.tileCacheForProjection) {
10531                            var e = this.tileCacheForProjection[r];
10532                            e.expireCache(e == i ? n : {})
10533                        }
10534                    }, n.prototype.getGutterForProjection = function (t) {
10535                        return this.getProjection() && t && !Or(this.getProjection(), t) ? 0 : this.getGutter()
10536                    }, n.prototype.getGutter = function () {
10537                        return 0
10538                    }, n.prototype.getKey = function () {
10539                        var n = t.prototype.getKey.call(this);
10540                        return this.getInterpolate() || (n += ":disable-interpolation"), n
10541                    }, n.prototype.getOpaque = function (n) {
10542                        return !(this.getProjection() && n && !Or(this.getProjection(), n)) && t.prototype.getOpaque.call(this, n)
10543                    }, n.prototype.getTileGridForProjection = function (t) {
10544                        var n = this.getProjection();
10545                        if (!this.tileGrid || n && !Or(n, t)) {
10546                            var i = o(t);
10547                            return i in this.tileGridForProjection || (this.tileGridForProjection[i] = Xh(t)), this.tileGridForProjection[i]
10548                        }
10549                        return this.tileGrid
10550                    }, n.prototype.getTileCacheForProjection = function (t) {
10551                        var n = this.getProjection();
10552                        if (!n || Or(n, t)) return this.tileCache;
10553                        var i = o(t);
10554                        return i in this.tileCacheForProjection || (this.tileCacheForProjection[i] = new Kc(this.tileCache.highWaterMark)), this.tileCacheForProjection[i]
10555                    }, n.prototype.xu = function (t, n, i, r, e, o) {
10556                        var s = [t, n, i], a = this.getTileCoordForTileUrlFunction(s, e),
10557                            u = a ? this.tileUrlFunction(a, r, e) : void 0,
10558                            c = new this.tileClass(s, void 0 !== u ? lt : yt, void 0 !== u ? u : "", this.crossOrigin, this.tileLoadFunction, this.tileOptions);
10559                        return c.key = o, c.addEventListener(N, this.handleTileChange.bind(this)), c
10560                    }, n.prototype.getTile = function (t, n, i, r, e) {
10561                        var o = this.getProjection();
10562                        if (o && e && !Or(o, e)) {
10563                            var s = this.getTileCacheForProjection(e), a = [t, n, i], u = void 0, c = Bc(a);
10564                            s.containsKey(c) && (u = s.get(c));
10565                            var h = this.getKey();
10566                            if (u && u.key == h) return u;
10567                            var f = this.getTileGridForProjection(o), l = this.getTileGridForProjection(e),
10568                                v = this.getTileCoordForTileUrlFunction(a, e),
10569                                d = new dl(o, f, e, l, a, v, this.getTilePixelRatio(r), this.getGutter(), function (t, n, i, r) {
10570                                    return this.getTileInternal(t, n, i, r, o)
10571                                }.bind(this), this.bu, this.gu, this.getInterpolate());
10572                            return d.key = h, u ? (d.interimTile = u, d.refreshInterimChain(), s.replace(c, d)) : s.set(c, d), d
10573                        }
10574                        return this.getTileInternal(t, n, i, r, o || e)
10575                    }, n.prototype.getTileInternal = function (t, n, i, r, e) {
10576                        var o = null, s = qc(t, n, i), a = this.getKey();
10577                        if (this.tileCache.containsKey(s)) {
10578                            if ((o = this.tileCache.get(s)).key != a) {
10579                                var u = o;
10580                                o = this.xu(t, n, i, r, e, a), u.getState() == lt ? o.interimTile = u.interimTile : o.interimTile = u, o.refreshInterimChain(), this.tileCache.replace(s, o)
10581                            }
10582                        } else o = this.xu(t, n, i, r, e, a), this.tileCache.set(s, o);
10583                        return o
10584                    }, n.prototype.setRenderReprojectionEdges = function (t) {
10585                        if (this.gu != t) {
10586                            for (var n in this.gu = t, this.tileCacheForProjection) this.tileCacheForProjection[n].clear();
10587                            this.changed()
10588                        }
10589                    }, n.prototype.setTileGridForProjection = function (t, n) {
10590                        var i = br(t);
10591                        if (i) {
10592                            var r = o(i);
10593                            r in this.tileGridForProjection || (this.tileGridForProjection[r] = n)
10594                        }
10595                    }, n
10596                }(dd), wd = function () {
10597                    var t = function (n, i) {
10598                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10599                            t.__proto__ = n
10600                        } || function (t, n) {
10601                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10602                        })(n, i)
10603                    };
10604                    return function (n, i) {
10605                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10606
10607                        function r() {
10608                            this.constructor = n
10609                        }
10610
10611                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10612                    }
10613                }();
10614
10615                function bd(t) {
10616                    var n, i, r = t[0], e = new Array(r), o = 1 << r - 1;
10617                    fo
10617r (n = 0; n < r; ++n) i = 48, t[1] & o && (i += 1), t[2] & o && (i += 2), e[n] = String.fromCharCode(i), o >>= 1;
10618                    return e.join("")
10619                }
10620
10621                for (var gd = function (t) {
10622                    function n(n) {
10623                        var i = this, r = void 0 !== n.hidpi && n.hidpi,
10624                            e = void 0 === n.imageSmoothing || n.imageSmoothing;
10625                        return void 0 !== n.interpolate && (e = n.interpolate), (i = t.call(this, {
10626                            cacheSize: n.cacheSize,
10627                            crossOrigin: "anonymous",
10628                            interpolate: e,
10629                            opaque: !0,
10630                            projection: br("EPSG:3857"),
10631                            reprojectionErrorThreshold: n.reprojectionErrorThreshold,
10632                            state: ds,
10633                            tileLoadFunction: n.tileLoadFunction,
10634                            tilePixelRatio: r ? 2 : 1,
10635                            wrapX: void 0 === n.wrapX || n.wrapX,
10636                            transition: n.transition,
10637                            zDirection: n.zDirection
10638                        }) || this).ju = r, i.Su = void 0 !== n.culture ? n.culture : "en-us", i.ku = void 0 !== n.maxZoom ? n.maxZoom : -1, i.Mu = n.key, i._u = n.imagerySet, dh("https://dev.virtualearth.net/REST/v1/Imagery/Metadata/" + i._u + "?uriScheme=https&include=ImageryProviders&ke
10638y=" + i.Mu + "&c=" + i.Su, i.handleImageryMetadataResponse.bind(i), void 0, "jsonp"), i
10639                    }
10640
10641                    return wd(n, t), n.prototype.getApiKey = function () {
10642                        return this.Mu
10643                    }, n.prototype.getImagerySet = function () {
10644                        return this._u
10645                    }, n.prototype.handleImageryMetadataResponse = function (t) {
10646                        if (200 == t.statusCode && "OK" == t.statusDescription && "ValidCredentials" == t.authenticationResultCode && 1 == t.resourceSets.length && 1 == t.resourceSets[0].resources.length) {
10647                            var n = t.resourceSets[0].resources[0], i = -1 == this.ku ? n.zoomMax : this.ku,
10648                                r = $h(this.getProjection()), e = this.ju ? 2 : 1,
10649                                o = n.imageWidth == n.imageHeight ? n.imageWidth / e : [n.imageWidth / e, n.imageHeight / e],
10650                                s = Kh({extent: r, minZoom: n.zoomMin, maxZoom: i, tileSize: o});
10651                            this.tileGrid = s;
10652                            var a = this.Su, u = this.ju;
10653                            if (this.tileUrlFunction = nf(n.imageUrlSubdomains.map((function (t) {
10654                                var i = [0, 0, 0], r = n.imageUrl.replace("{subdomain}", t).replace("{culture}", a);
10655                                return function (t, n, e) {
10656                                    if (t) {
10657                                        Uc(t[0], t[1], t[2], i);
10658                                        var o = r;
10659                                        return u && (o += "&dpi=d1&device=mobile"), o.replace("{quadkey}", bd(i))
10660                                    }
10661                                }
10662                            }))), n.imageryProviders) {
10663                                var c = Tr(br("EPSG:4326"), this.getProjection());
10664                                this.setAttributions(function (t) {
10665                                    var i = [], r = t.viewState, e = this.getTileGrid(),
10666                                        o = e.getZForResolution(r.resolution, this.zDirection),
10667                                        s = e.getTileCoordForCoordAndZ(r.center, o)[0];
10668                                    return n.imageryProviders.map((function (n) {
10669                                        for (var r = !1, e = n.coverageAreas, o = 0, a = e.length; o < a; ++o) {
10670                                            var u = e[o];
10671                                            if (s >= u.zoomMin && s <= u.zoomMax) {
10672                                                var h = u.bbox;
10673                                                if (ti(oi([h[1], h[0], h[3], h[2]], c), t.extent)) {
10674                                                    r = !0;
10675                                                    break
10676                                                }
10677                                            }
10678                                        }
10679                                        r && i.push(n.attribution)
10680                                    })), i.push('<a class="ol-attribution-bing-tos" href="https://www.microsoft.com/maps/product/terms.html" target="_blank">Terms of Use</a>'), i
10681                                }.bind(this))
10682                            }
10683                            this.setState(ps)
10684                        } else this.setState(ys)
10685                    }, n
10686                }(md), xd = function () {
10687                    var t = function (n, i) {
10688                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10689                            t.__proto__ = n
10690                        } || function (t, n) {
10691                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10692                        })(n, i)
10693                    };
10694                    return function (n, i) {
10695                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10696
10697                        function r() {
10698                            this.constructor = n
10699                        }
10700
10701                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10702                    }
10703                }(), jd = function (t) {
10704                    function n(n) {
10705                        var i = n || {}, r = void 0 === i.imageSmoothing || i.imageSmoothing;
10706                        void 0 !== i.interpolate && (r = i.interpolate);
10707                        var e = void 0 !== i.projection ? i.projection : "EPSG:3857",
10708                            o = void 0 !== i.tileGrid ? i.tileGrid : Kh({
10709                                extent: $h(e),
10710                                maxResolution: i.maxResolution,
10711                                maxZoom: i.maxZoom,
10712                                minZoom: i.minZoom,
10713                                tileSize: i.tileSize
10714                            });
10715                        return t.call(this, {
10716                            attributions: i.attributions,
10717                            cacheSize: i.cacheSize,
10718                            crossOrigin: i.crossOrigin,
10719                            interpolate: r,
10720                            opaque: i.opaque,
10721                            projection: e,
10722                            reprojectionErrorThreshold: i.reprojectionErrorThreshold,
10723                            tileGrid: o,
10724                            tileLoadFunction: i.tileLoadFunction,
10725                            tilePixelRatio: i.tilePixelRatio,
10726                            tileUrlFunction: i.tileUrlFunction,
10727                            url: i.url,
10728                            urls: i.urls,
10729                            wrapX: void 0 === i.wrapX || i.wrapX,
10730                            transition: i.transition,
10731                            attributionsCollapsible: i.attributionsCollapsible,
10732                            zDirection: i.zDirection
10733                        }) || this
10734                    }
10735
10736                    return xd(n, t), n
10737                }(md), Sd = function () {
10738                    var t = function (n, i) {
10739                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10740                            t.__proto__ = n
10741                        } || function (t, n) {
10742                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10743                        })(n, i)
10744                    };
10745                    return function (n, i) {
10746                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10747
10748                        function r() {
10749                            this.constructor = n
10750                        }
10751
10752                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10753                    }
10754                }(), kd = function (t) {
10755                    function n(n) {
10756                        var i = t.call(this, {
10757                            attributions: n.attributions,
10758                            cacheSize: n.cacheSize,
10759                            crossOrigin: n.crossOrigin,
10760                            maxZoom: void 0 !== n.maxZoom ? n.maxZoom : 18,
10761                            minZoom: n.minZoom,
10762                            projection: n.projection,
10763                            transition: n.transition,
10764                            wrapX: n.wrapX,
10765                            zDirection: n.zDirection
10766                        }) || this;
10767                        return i.Ou = n.account, i.Tu = n.map || "", i.Eu = n.config || {}, i.Au = {}, i.Cu(), i
10768                    }
10769
10770                    return Sd(n, t), n.prototype.getConfig = function () {
10771                        return this.Eu
10772                    }, n.prototype.updateConfig = function (t) {
10773                        E(this.Eu, t), this.Cu()
10774                    }, n.prototype.setConfig = function (t) {
10775                        this.Eu = t || {}, this.Cu()
10776                    }, n.prototype.Cu = function () {
10777                        var t = JSON.stringify(this.Eu);
10778                        if (this.Au[t]) this.Ru(this.Au[t]); else {
10779                            var n = "https://" + this.Ou + ".carto.com/api/v1/map";
10780                            this.Tu && (n += "/named/" + this.Tu);
10781                            var i = new XMLHttpRequest;
10782                            i.addEventListener("load", this.Pu.bind(this, t)), i.addEventListener("error", this.Iu.bind(this)), i.open("POST", n), i.setRequestHeader("Content-type", "application/json"), i.send(JSON.stringify(this.Eu))
10783                        }
10784                    }, n.prototype.Pu = function (t, n) {
10785                        var i = n.target;
10786                        if (!i.status || i.status >= 200 && i.status < 300) {
10787                            var r = void 0;
10788                            try {
10789                                r = JSON.parse(i.responseText)
10790                            } catch (t) {
10791                                return void this.setState(ys)
10792                            }
10793                            this.Ru(r), this.Au[t] = r, this.setState(ps)
10794                        } else this.setState(ys)
10795                    }, n.prototype.Iu = function (t) {
10796                        this.setState(ys)
10797                    }, n.prototype.Ru = function (t) {
10798                        var n = "https://" + t.cdn_url.https + "/" + this.Ou + "/api/v1/map/" + t.layergroupid + "/{z}/{x}/{y}.png";
10799                        this.setUrl(n)
10800                    }, n
10801                }(jd), Md = "addfeature", _d = "changefeature", Od = "clear", Td = "removefeature", Ed = "featuresloadstart", Ad = "featuresloadend", Cd = "featuresloaderror", Rd = function () {
10802                    var t = function (n, i) {
10803                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
10804                            t.__proto__ = n
10805                        } || function (t, n) {
10806                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
10807                        })(n, i)
10808                    };
10809                    return function (n, i) {
10810                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
10811
10812                        function r() {
10813                            this.constructor = n
10814                        }
10815
10816                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
10817                    }
10818                }(), Pd = function (t) {
10819                    function n(n, i, r) {
10820                        var e = t.call(this, n) || this;
10821                        return e.feature = i, e.features = r, e
10822                    }
10823
10824                    return Rd(n, t), n
10825                }(f), Id = function (t) {
10826                    function n(n) {
10827                        var i = this, r = n || {};
10828                        (i = t.call(this, {
10829                            attributions: r.attributions,
10830                            interpolate: !0,
10831                            projection: void 0,
10832                            state: ps,
10833                            wrapX: void 0 === r.wrapX || r.wrapX
10834                        }) || this).on, i.once, i.un, i.q = _, i.ze = r.format, i.Nu = void 0 === r.overlaps || r.overlaps, i.Le = r.url, void 0 !== r.loader ? i.q = r.loader : void 0 !== i.Le && (Mt(i.ze, 7), i.q = fh(i.Le, i.ze)), i.zu = void 0 !== r.strategy ? r.strategy : lh;
10835                        var e, o, s = void 0 === r.useSpatialIndex || r.useSpatialIndex;
10836                        return i.Fu = s ? new id : null, i.Lu = new id, i.Gu = 0, i.Du = {}, i.Uu = {}, i.qu = {}, i.Bu = {}, i.Wu = null, Array.isArray(r.features) ? o = r.features : r.features && (o = (e = r.features).getArray()), s || void 0 !== e || (e = new ft(o)), void 0 !== o && i.addFeaturesInternal(o), void 0 !== e && i.Vu(e), i
10837                    }
10838
10839                    return Rd(n, t), n.prototype.addFeature = function (t) {
10840                        this.addFeatureInternal(t), this.changed()
10841                    }, n.prototype.addFeatureInternal = function (t) {
10842                        var n = o(t);
10843                        if (this.Xu(n, t)) {
10844                            this.Hu(n, t);
10845                            var i = t.getGeometry();
10846                            if (i) {
10847                                var r = i.getExtent();
10848                                this.Fu && this.Fu.insert(r, t)
10849                            } else this.Du[n] = t;
10850                            this.dispatchEvent(new Pd(Md, t))
10851                        } else this.Wu && this.Wu.remove(t)
10852                    }, n.prototype.Hu = function (t, n) {
10853                        this.Bu[t] = [Y(n, N, this.Ju, this), Y(n, l, this.Ju, this)]
10854                    }, n.prototype.Xu = function (t, n) {
10855                        var i = !0, r = n.getId();
10856                        return void 0 !== r && (r.toString() in this.Uu ? i = !1 : this.Uu[r.toString()] = n
10856), i && (Mt(!(t in this.qu), 30), this.qu[t] = n), i
10857                    }, n.prototype.addFeatures = function (t) {
10858                        this.addFeaturesInternal(t), this.changed()
10859                    }, n.prototype.addFeaturesInternal = function (t) {
10860                        for (var n = [], i = [], r = [], e = 0, s = t.length; e < s; e++) {
10861                            var a = o(c = t[e]);
10862                            this.Xu(a, c) && i.push(c)
10863                        }
10864                        e = 0;
10865                        for (var u = i.length; e < u; e++) {
10866                            var c;
10867                            a = o(c = i[e]);
10868                            this.Hu(a, c);
10869                            var h = c.getGeometry();
10870                            if (h) {
10871                                var f = h.getExtent();
10872                                n.push(f), r.push(c)
10873                            } else this.Du[a] = c
10874                        }
10875                        if (this.Fu && this.Fu.load(n, r), this.hasListener(Md)) {
10876                            e = 0;
10877                            for (var l = i.length; e < l; e++) this.dispatchEvent(new Pd(Md, i[e]))
10878                        }
10879                    }, n.prototype.Vu = function (t) {
10880                        var n = !1;
10881                        this.addEventListener(Md, (function (i) {
10882                            n || (n = !0, t.push(i.feature), n = !1)
10883                        })), this.addEventListener(Td, (function (i) {
10884                            n || (n = !0, t.remove(i.feature), n = !1)
10885                        })), t.addEventListener(st, function (t) {
10886                            n || (n = !0, this.addFeature(t.element), n = !1)
10887                        }.bind(this)), t.addEventListener(at, function (t) {
10888                            n || (n = !0, this.removeFeature(t.element), n = !1)
10889                        }.bind(this)), this.Wu = t
10890                    }, n.prototype.clear = function (t) {
10891                        if (t) {
10892                            for (var n in this.Bu) {
10893                                this.Bu[n].forEach($)
10894                            }
10895                            this.Wu || (this.Bu = {}, this.Uu = {}, this.qu = {})
10896                        } else if (this.Fu) {
10897                            var i = function (t) {
10898                                this.removeFeatureInternal(t)
10899                            }.bind(this);
10900                            for (var r in this.Fu.forEach(i), this.Du) this.removeFeatureInternal(this.Du[r])
10901                        }
10902                        this.Wu && this.Wu.clear(), this.Fu && this.Fu.clear(), this.Du = {};
10903                        var e = new Pd(Od);
10904                        this.dispatchEvent(e), this.changed()
10905                    }, n.prototype.forEachFeature = function (t) {
10906                        if (this.Fu) return this.Fu.forEach(t);
10907                        this.Wu && this.Wu.forEach(t)
10908                    }, n.prototype.forEachFeatureAtCoordinateDirect = function (t, n) {
10909                        var i = [t[0], t[1], t[0], t[1]];
10910                        return this.forEachFeatureInExtent(i, (function (i) {
10911                            return i.getGeometry().intersectsCoordinate(t) ? n(i) : void 0
10912                        }))
10913                    }, n.prototype.forEachFeatureInExtent = function (t, n) {
10914                        if (this.Fu) return this.Fu.forEachInExtent(t, n);
10915                        this.Wu && this.Wu.forEach(n)
10916                    }, n.prototype.forEachFeatureIntersectingExtent = function (t, n) {
10917                        return this.forEachFeatureInExtent(t, (function (i) {
10918                            if (i.getGeometry().intersectsExtent(t)) {
10919                                var r = n(i);
10920                                if (r) return r
10921                            }
10922                        }))
10923                    }, n.prototype.getFeaturesCollection = function () {
10924                        return this.Wu
10925                    }, n.prototype.getFeatures = function () {
10926                        var t;
10927                        return this.Wu ? t = this.Wu.getArray().slice(0) : this.Fu && (t = this.Fu.getAll(), R(this.Du) || b(t, C(this.Du))), t
10928                    }, n.prototype.getFeaturesAtCoordinate = function (t) {
10929                        var n = [];
10930                        return this.forEachFeatureAtCoordinateDirect(t, (function (t) {
10931                            n.push(t)
10932                        })), n
10933                    }, n.prototype.getFeaturesInExtent = function (t) {
10934                        return this.Fu ? this.Fu.getInExtent(t) : this.Wu ? this.Wu.getArray().slice(0) : []
10935                    }, n.prototype.getClosestFeatureToCoordinate = function (t, n) {
10936                        var i = t[0], r = t[1], e = null, o = [NaN, NaN], s = 1 / 0, a = [-1 / 0, -1 / 0, 1 / 0, 1 / 0],
10937                            u = n || k;
10938                        return this.Fu.forEachInExtent(a, (function (t) {
10939                            if (u(t)) {
10940                                var n = t.getGeometry(), c = s;
10941                                if ((s = n.closestPointXY(i, r, o, s)) < c) {
10942                                    e = t;
10943                                    var h = Math.sqrt(s);
10944                                    a[0] = i - h, a[1] = r - h, a[2] = i + h, a[3] = r + h
10945                                }
10946                            }
10947                        })), e
10948                    }, n.prototype.getExtent = function (t) {
10949                        return this.Fu.getExtent(t)
10950                    }, n.prototype.getFeatureById = function (t) {
10951                        var n = this.Uu[t.toString()];
10952                        return void 0 !== n ? n : null
10953                    }, n.prototype.getFeatureByUid = function (t) {
10954                        var n = this.qu[t];
10955                        return void 0 !== n ? n : null
10956                    }, n.prototype.getFormat = function () {
10957                        return this.ze
10958                    }, n.prototype.getOverlaps = function () {
10959                        return this.Nu
10960                    }, n.prototype.getUrl = function () {
10961                        return this.Le
10962                    }, n.prototype.Ju = function (t) {
10963                        var n = t.target, i = o(n), r = n.getGeometry();
10964                        if (r) {
10965                            var e = r.getExtent();
10966                            i in this.Du ? (delete this.Du[i], this.Fu && this.Fu.insert(e, n)) : this.Fu && this.Fu.update(e, n)
10967                        } else i in this.Du || (this.Fu && this.Fu.remove(n), this.Du[i] = n
10967);
10968                        var s = n.getId();
10969                        if (void 0 !== s) {
10970                            var a = s.toString();
10971                            this.Uu[a] !== n && (this.Ku(n), this.Uu[a] = n)
10972                        } else this.Ku(n), this.qu[i] = n;
10973                        this.changed(), this.dispatchEvent(new Pd(_d, n))
10974                    }, n.prototype.hasFeature = function (t) {
10975                        var n = t.getId();
10976                        return void 0 !== n ? n in this.Uu : o(t) in this.qu
10977                    }, n.prototype.isEmpty = function () {
10978                        return this.Fu ? this.Fu.isEmpty() && R(this.Du) : !this.Wu || 0 === this.Wu.getLength()
10979                    }, n.prototype.loadFeatures = function (t, n, i) {
10980                        for (var r = this.Lu, e = this.zu(t, n, i), o = function (t, o) {
10981                            var a = e[t];
10982                            r.forEachInExtent(a, (function (t) {
10983                                return _n(t.extent, a)
10984                            })) || (++s.Gu, s.dispatchEvent(new Pd(Ed)), s.q.call(s, a, n, i, function (t) {
10985                                --this.Gu, this.dispatchEvent(new Pd(Ad, void 0, t))
10986                            }.bind(s), function () {
10987                                --this.Gu, this.dispatchEvent(new Pd(Cd))
10988                            }.bind(s)), r.insert(a, {extent: a.slice()}))
10989                        }, s = this, a = 0, u = e.length; a < u; ++a) o(a);
10990                        this.loading = !(this.q.length < 4) && this.Gu > 0
10991                    }, n.prototype.refresh = function () {
10992                        this.clear(!0), this.Lu.clear(), t.prototype.refresh.call(this)
10993                    }, n.prototype.removeLoadedExtent = function (t) {
10994                        var n, i = this.Lu;
10995                        i.forEachInExtent(t, (function (i) {
10996                            if (In(i.extent, t)) return n = i, !0
10997                        })), n && i.remove(n)
10998                    }, n.prototype.removeFeature = function (t) {
10999                        if (t) {
11000                            var n = o(t);
11001                            n in this.Du ? delete this.Du[n] : this.Fu && this.Fu.remove(t), this.removeFeatureInternal(t) && this.changed()
11002                        }
11003                    }, n.prototype.removeFeatureInternal = function (t) {
11004                        var n = o(t), i = this.Bu[n];
11005                        if (i) {
11006                            i.forEach($), delete this.Bu[n];
11007                            var r = t.getId();
11008                            return void 0 !== r && delete this.Uu[r.toString()], delete this.qu[n], this.dispatchEvent(new Pd(Td, t)), t
11009                        }
11010                    }, n.prototype.Ku = function (t) {
11011                        var n = !1;
11012                        for (var i in this.Uu) if (this.Uu[i] === t) {
11013                            delete this.Uu[i], n = !0;
11014                            break
11015                        }
11016                        return n
11017                    }, n.prototype.setLoader = function (t) {
11018                        this.q = t
11019                    }, n.prototype.setUrl = function (t) {
11020                        Mt(this.ze, 7), this.Le = t, this.setLoader(fh(t, this.ze))
11021                    }, n
11022                }(ud), Nd = function () {
11023                    var t = function (n, i) {
11024                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
11025                            t.__proto__ = n
11026                        } || function (t, n) {
11027                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
11028                        })(n, i)
11029                    };
11030                    return function (n, i) {
11031                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
11032
11033                        function r() {
11034                            this.constructor = n
11035                        }
11036
11037                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
11038                    }
11039                }(), zd = function (t) {
11040                    function n(n) {
11041                        var i = t.call(this, {attributions: n.attributions, wrapX: n.wrapX}) || this;
11042                        return i.resolution = void 0, i.distance = void 0 !== n.distance ? n.distance : 20, i.minDistance = n.minDistance || 0, i.interpolationRatio = 0, i.features = [], i.geometryFunction = n.geometryFunction || function (t) {
11043                            var n = t.getGeometry();
11044                            return Mt(n.getType() == Pt.POINT, 10), n
11045                        }, i.Yu = n.createCluster, i.source = null, i.Zu = i.refresh.bind(i), i.updateDistance(i.distance, i.minDistance), i.setSource(n.source || null), i
11046                    }
11047
11048                    return Nd(n, t), n.prototype.clear = function (n) {
11049                        this.features.length = 0, t.prototype.clear.call(this, n)
11050                    }, n.prototype.getDistance = function () {
11051                        return this.distance
11052                    }, n.prototype.getSource = function () {
11053                        return this.source
11054                    }, n.prototype.loadFeatures = function (t, n, i) {
11055                        this.source.loadFeatures(t, n, i), n !== this.resolution && (this.resolution = n, this.refresh())
11056                    }, n.prototype.setDistance = function (t) {
11057                        this.updateDistance(t, this.minDistance)
11058                    }, n.prototype.setMinDistance = function (t) {
11059                        this.updateDistance(this.distance, t)
11060                    }, n.prototype.getMinDistance = function () {
11061                        return this.minDistance
11062                    }, n.prototype.setSource = function (t) {
11063                        this.source && this.source.removeEventListener(N, this.Zu), this.source = t, t && t.addEventListener(N, this.Zu), this.refresh()
11064                    }, n.prototype.refresh = function () {
11065                        this.clear(), this.cluster(), this.addFeatures(this.features)
11066                    }, n.prototype.updateDistance = function (t, n) {
11067                        var i = 0 === t ? 0 : Math.min(n, t) / t,
11068                            r = t !== this.distance || this.interpolationRatio !== i;
11069                        this.distance = t, this.minDistance = n, this.interpolationRatio = i, r && this.refresh()
11070                    }, n.prototype.cluster = function () {
11071                        if (void 0 !== this.resolution && this.source) for (var t = [1 / 0, 1 / 0, -1 / 0, -1 / 0], n = this.distance * this.resolution, i = this.source.getFeatures(), r = {}, e = 0, s = i.length; e < s; e++) {
11072                            var a = i[e];
11073                            if (!(o(a) in r)) {
11074                                var u = this.geometryFunction(a);
11075                                if (u) {
11076                                    Rn(u.getCoordinates(), t), jn(t, n, t);
11077                                    var c = this.source.getFeaturesInExtent(t).filter((function (t) {
11078                                        var n = o(t);
11079                                        return !(n in r) && (r[n] = !0, !0)
11080                                    }));
11081                                    this.features.push(this.createCluster(c, t))
11082                                }
11083                            }
11084                        }
11085                    }, n.prototype.createCluster = function (t, n) {
11086                        for (var i = [0, 0], r = t.length - 1; r >= 0; --r) {
11087                            var e = this.geometryFunction(t[r]);
11088                            e ? Ji(i, e.getCoordinates()) : t.splice(r, 1)
11089                        }
11090                        nr(i, 1 / t.length);
11091                        var o = Xn(n), s = this.interpolationRatio,
11092                            a = new Oe([i[0] * (1 - s) + o[0] * s, i[1] * (1 - s) + o[1] * s]);
11093                        return this.Yu ? this.Yu(a, t) : new Tt({geometry: a, features: t})
11094                    }, n
11095                }(Id), Fd = function () {
11096                    var t = function (n, i) {
11097                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
11098                            t.__proto__ = n
11099                        } || function (t, n) {
11100                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
11101                        })(n, i)
11102                    };
11103                    return function (n, i) {
11104                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
11105
11106                        function r() {
11107                            this.constructor = n
11108                        }
11109
11110                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
11111                    }
11112                }(), Ld = function (t) {
11113                    function n(n) {
11114                        var i = this, r = void 0 === n.projection ? "EPSG:3857" : n.projection, e = n.tileGrid;
11115                        return void 0 === e && r && (e = Kh({
11116                            extent: $h(r),
11117                            maxResolution: n.maxResolution,
11118                            maxZoom: n.maxZoom,
11119                            minZoom: n.minZoom,
11120                            tileSize: n.tileSize
11121                        })), (i = t.call(this, {
11122                            cacheSize: .1,
11123                            attributions: n.attributions,
11124                            attributionsCollapsible: n.attributionsCollapsible,
11125                            projection: r,
11126                            tileGrid: e,
11127                            opaque: n.opaque,
11128                            state: n.state,
11129                            tilePixelRatio: n.tilePixelRatio,
11130                            wrapX: n.wrapX,
11131                            transition: n.transition,
11132                            interpolate: n.interpolate
11133                        }) || this).wu = {}, i.q = n.loader, i.cr = i.cr.bind(i), i.bandCount = void 0 === n.bandCount ? 4 : n.bandCount, i
11134                    }
11135
11136                    return Fd(n, t), n.prototype.setLoader = function (t) {
11137                        this.q = t
11138                    }, n.prototype.getTile = function (t, n, i, r, e) {
11139                        var o = qc(t, n, i);
11140                        if (this.tileCache.containsKey(o)) return this.tileCache.get(o);
11141                        var s = this.q;
11142                        var a = new kt(E({
11143                            tileCoord: [t, n, i], loader: function () {
11144                                return T((function () {
11145                                    return s(t, n, i)
11146                                }))
11147                            }
11148                        }, this.tileOptions));
11149                        return a.key = this.getKey(), a.addEventListener(N, this.cr), this.tileCache.set(o, a), a
11150                    }, n.prototype.cr = function (t) {
11151                        var n, i = t.target, r = o(i), e = i.getState();
11152                        e == vt ? (this.wu[r] = !0, n = rd) : r in this.wu && (delete this.wu[r], n = e == pt ? od : e == dt ? ed : void 0), n && this.dispatchEvent(new fd(n, i))
11153                    }, n
11154                }(ld), Gd = new ArrayBuffer(4), Dd = new Float32Array(Gd), Ud = new Uint32Array(Gd), qd = new Uint32Array(512), Bd = new Uint32Array(512), Wd = 0; Wd < 256; ++Wd) {
11155                    var Vd = Wd - 127;
11156                    Vd < -27 ? (qd[Wd] = 0, qd[256 | Wd] = 32768, Bd[Wd] = 24, Bd[256 | Wd] = 24) : Vd < -14 ? (qd[Wd] = 1024 >> -Vd - 14, qd[256 | Wd] = 1024 >> -Vd - 14 | 32768, Bd[Wd] = -Vd - 1, Bd[256 | Wd] = -Vd - 1) : Vd <= 15 ? (qd[Wd] = Vd + 15 << 10, qd[256 | Wd] = Vd + 15 << 10 | 32768, Bd[Wd] = 13, Bd[256 | Wd] = 13) : Vd < 128 ? (qd[Wd] = 31744, qd[256 | Wd] = 64512, Bd[Wd] = 24, Bd[256 | Wd] = 24) : (qd[Wd] = 31744, qd[256 | Wd] = 64512, Bd[Wd] = 13, Bd[256 | Wd] = 13)
11157                }
11158                var Xd = new Uint32Array(2048), Hd = new Uint32Array(64), Jd = new Uint32Array(64);
11159                Xd[0] = 0;
11160                for (var Kd = 1; Kd < 1024; ++Kd) {
11161                    for (var Yd = Kd << 13, Zd = 0; 0 == (8388608 & Yd);) Zd -= 8388608, Yd <<= 1;
11162                    Yd &= -8388609, Zd += 947912704, Xd[Kd] = Yd | Zd
11163                }
11164                for (var $d = 1024; $d < 2048; ++$d) Xd[$d] = 939524096 + ($d - 1024 << 13);
11165                Hd[0] = 0;
11166                for (var Qd = 1; Qd < 31; ++Qd) Hd[Qd] = Qd << 23;
11167                Hd[31] = 1199570944, Hd[32] = 2147483648;
11168                for (var tp = 33; tp < 63; ++tp) Hd[tp] = 2147483648 + (tp - 32 << 23);
11169                Hd[63] = 3347054592, Jd[0] = 0;
11170                for (var np = 1; np < 64; ++np) Jd[np] = 32 === np ? 0 : 1024;
11171
11172                function ip(t) {
11173                    var n = t >> 10;
11174                    return Ud[0] = Xd[Jd[n] + (1023 & t)] + Hd[n], Dd[0]
11175                }
11176
11177                var rp = Reflect.getPrototypeOf(Uint8Array).prototype,
11178                    ep = Reflect.getOwnPropertyDescriptor(rp, Symbol.toStringTag).get;
11179
11180                function op(t) {
11181                    return void 0 !== ep.call(t)
11182                }
11183
11184                var sp = Object.prototype.toString;
11185
11186                function ap(t) {
11187                    return !!ArrayBuffer.isView(t) && (!op(t) && "[object DataView]" === sp.call(t))
11188                }
11189
11190                function up(t, n) {
11191                    if (!ap(t)) throw new TypeError("First argument to getFloat16 function must be a DataView");
11192                    for (var i = arguments.length, r = new Array(i > 2 ? i - 2 : 0), e = 2; e < i; e++) r[e - 2] = arguments[e];
11193                    return ip(t.getUint16.apply(t, [n].concat(r)))
11194                }
11195
11196                var cp = i(802), hp = i(51), fp = i(150);
11197
11198                function lp(t, n) {
11199                    for (var i, r = t.width, e = t.height, o = new Uint8Array(r * e * 3), s = 0, a = 0; s < t.length; ++s, a += 3) i = 256 - t[s] / n * 256, o[a] = i, o[a + 1] = i, o[a + 2] = i;
11200                    return o
11201                }
11202
11203                function vp(t, n) {
11204                    for (var i, r = t.width, e = t.height, o = new Uint8Array(r * e * 3), s = 0, a = 0; s < t.length; ++s, a += 3) i = t[s] / n * 256, o[a] = i, o[a + 1] = i, o[a + 2] = i;
11205                    return o
11206                }
11207
11208                function dp(t, n) {
11209                    for (var i = t.width, r = t.height, e = new Uint8Array(i * r * 3), o = n.length / 3, s = n.length / 3 * 2, a = 0, u = 0; a < t.length; ++a, u += 3) {
11210                        var c = t[a];
11211                        e[u] = n[c] / 65536 * 256, e[u + 1] = n[c + o] / 65536 * 256, e[u + 2] = n[c + s] / 65536 * 256
11212                    }
11213                    return e
11214                }
11215
11216                function pp(t) {
11217                    for (var n = t.width, i = t.height, r = new Uint8Array(n * i * 3), e = 0, o = 0; e < t.length; e += 4, o += 3) {
11218                        var s = t[e], a = t[e + 1], u = t[e + 2], c = t[e + 3];
11219                        r[o] = (255 - s) / 256 * 255 * ((255 - c) / 256), r[o + 1] = (255 - a) / 256 * 255 * ((255 - c) / 256), r[o + 2] = (255 - u) / 256 * 255 * ((255 - c) / 256)
11220                    }
11221                    return r
11222                }
11223
11224                function yp(t) {
11225                    for (var n = t.width, i = t.height, r = new Uint8ClampedArray(n * i * 3), e = 0, o = 0; e < t.length; e += 3, o += 3) {
11226                        var s = t[e], a = t[e + 1], u = t[e + 2];
11227                        r[o] = s + 1.402 * (u - 128), r[o + 1] = s - .34414 * (a - 128) - .71414 * (u - 128), r[o + 2] = s + 1.772 * (a - 128)
11228                    }
11229                    return r
11230                }
11231
11232                function mp(t) {
11233                    for (var n = t.width, i = t.height, r = new Uint8Array(n * i * 3), e = 0, o = 0; e < t.length; e += 3, o += 3) {
11234                        var s = (t[e + 0] + 16) / 116, a = (t[e + 1] << 24 >> 24) / 500 + s,
11235            
11235                u = s - (t[e + 2] << 24 >> 24) / 200, c = void 0, h = void 0, f = void 0;
11236                        h = -.9689 * (a = .95047 * (a * a * a > .008856 ? a * a * a : (a - 16 / 116) / 7.787)) + 1.8758 * (s = 1 * (s * s * s > .008856 ? s * s * s : (s - 16 / 116) / 7.787)) + .0415 * (u = 1.08883 * (u * u * u > .008856 ? u * u * u : (u - 16 / 116) / 7.787)), f = .0557 * a + -.204 * s + 1.057 * u, c = (c = 3.2406 * a + -1.5372 * s + -.4986 * u) > .0031308 ? 1.055 * Math.pow(c, 1 / 2.4) - .055 : 12.92 * c, h = h > .0031308 ? 1.055 * Math.pow(h, 1 / 2.4) - .055 : 12.92 * h, f = f > .0031308 ? 1.055 * Math.pow(f, 1 / 2.4) - .055 : 12.92 * f, r[o] = 255 * Math.max(0, Math.min(1, c)), r[o + 1] = 255 * Math.max(0, Math.min(1, h)), r[o + 2] = 255 * Math.max(0, Math.min(1, f))
11237                    }
11238                    return r
11239                }
11240
11241                function wp(t, n, i, r, e, o, s) {
11242                    try {
11243                        var a = t[o](s), u = a.value
11244                    } catch (t) {
11245                        return void i(t)
11246                    }
11247                    a.done ? n(u) : Promise.resolve(u).then(r, e)
11248                }
11249
11250                function bp(t) {
11251                    return function () {
11252                        var n = this, i = arguments;
11253                        return new Promise((function (r, e) {
11254                            var o = t.apply(n, i);
11255
11256                            function s(t) {
11257                                wp(o, r, e, s, a, "next", t)
11258                            }
11259
11260                            function a(t) {
11261                                wp(o, r, e, s, a, "throw", t)
11262                            }
11263
11264                            s(void 0)
11265                        }))
11266                    }
11267                }
11268
11269                var gp = new Map;
11270
11271                function xp(t, n) {
11272                    Array.isArray(t) || (t = [t]), t.forEach((function (t) {
11273                        return gp.set(t, n)
11274                    }))
11275                }
11276
11277                function jp(t) {
11278                    return Sp.apply(this, arguments)
11279                }
11280
11281                function Sp() {
11282                    return (Sp = bp(regeneratorRuntime.mark((function t(n) {
11283                        var i, r;
11284                        return regeneratorRuntime.wrap((function (t) {
11285                            for (; ;) switch (t.prev = t.next) {
11286                                case 0:
11287                                    if (i = gp.get(n.Compression)) {
11288                                        t.next = 3;
11289                                        break
11290                                    }
11291                                    throw new Error("Unknown compression method identifier: ".concat(n.Compression));
11292                                case 3:
11293                                    return t.next = 5, i();
11294                                case 5:
11295                                    return r = t.sent, t.abrupt("return", new r(n));
11296                                case 7:
11297                                case"end":
11298                                    return t.stop()
11299                            }
11300                        }), t)
11301                    })))).apply(this, arguments)
11302                }
11303
11304                function kp(t, n, i) {
11305                    var r = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1;
11306                    return new (Object.getPrototypeOf(t).constructor)(n * i * r)
11307                }
11308
11309                function Mp(t, n, i, r, e) {
11310                    var o = n / r, s = i / e;
11311                    return t.map((function (t) {
11312                        for (var a = kp(t, r, e), u = 0; u < e; ++u) for (var c = Math.min(Math.round(s * u), i - 1), h = 0; h < r; ++h) {
11313                            var f = Math.min(Math.round(o * h), n - 1), l = t[c * n + f];
11314                            a[u * r + h] = l
11315                        }
11316                        return a
11317                    }))
11318                }
11319
11320                function _p(t, n, i) {
11321                    return (1 - i) * t + i * n
11322                }
11323
11324                function Op(t, n, i, r, e) {
11325                    var o = n / r, s = i / e;
11326                    return t.map((function (t) {
11327                        for (var a = kp(t, r, e), u = 0; u < e; ++u) for (var c = s * u, h = Math.floor(c), f = Math.min(Math.ceil(c), i - 1), l = 0; l < r; ++l) {
11328                            var v = o * l, d = v % 1, p = Math.floor(v), y = Math.min(Math.ceil(v), n - 1),
11329                                m = t[h * n + p], w = t[h * n + y], b = t[f * n + p], g = t[f * n + 
11329y],
11330                                x = _p(_p(m, w, d), _p(b, g, d), c % 1);
11331                            a[u * r + l] = x
11332                        }
11333                        return a
11334                    }))
11335                }
11336
11337                function Tp(t, n, i, r, e) {
11338                    var o = arguments.length > 5 && void 0 !== arguments[5] ? arguments[5] : "nearest";
11339                    switch (o.toLowerCase()) {
11340                        case"nearest":
11341                            return Mp(t, n, i, r, e);
11342                        case"bilinear":
11343                        case"linear":
11344                            return Op(t, n, i, r, e);
11345                        default:
11346                            throw new Error("Unsupported resampling method: '".concat(o, "'"))
11347                    }
11348                }
11349
11350                function Ep(t, n, i, r, e, o) {
11351                    for (var s = n / r, a = i / e, u = kp(t, r, e, o), c = 0; c < e; ++c) for (var h = Math.min(Math.round(a * c), i - 1), f = 0; f < r; ++f) for (var l = Math.min(Math.round(s * f), n - 1), v = 0; v < o; ++v) {
11352                        var d = t[h * n * o + l * o + v];
11353                        u[c * r * o + f * o + v] = d
11354                    }
11355                    return u
11356                }
11357
11358                function Ap(t, n, i, r, e, o) {
11359                    for (var s = n / r, a = i / e, u = kp(t, r, e, o), c = 0; c < e; ++c) for (var h = a * c, f = Math.floor(h), l = Math.min(Math.ceil(h), i - 1), v = 0; v < r; ++v) for (var d = s * v, p = d % 1, y = Math.floor(d), m = Math.min(Math.ceil(d), n - 1), w = 0; w < o; ++w) {
11360                        var b = t[f * n * o + y * o + w], g = t[f * n * o + m * o + w], x = t[l * n * o + y * o + w],
11361                            j = t[l * n * o + m * o + w], S = _p(_p(b, g, p), _p(x, j, p), h % 1);
11362                        u[c * r * o + v * o + w] = S
11363                    }
11364                    return u
11365                }
11366
11367                function Cp(t, n, i, r, e, o) {
11368                    var s = arguments.length > 6 && void 0 !== arguments[6] ? arguments[6] : "nearest";
11369                    switch (s.toLowerCase()) {
11370                        case"nearest":
11371                            return Ep(t, n, i, r, e, o);
11372                        case"bilinear":
11373                        case"linear":
11374                            return Ap(t, n, i, r, e, o);
11375                        default:
11376                            throw new Error("Unsupported resampling method: '".concat(s, "'"))
11377                    }
11378                }
11379
11380                function Rp(t, n) {
11381                    return function (t) {
11382                        if (Array.isArray(t)) return t
11383                    }(t) || function (t, n) {
11384                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
11385                        if (null == i) return;
11386                        var r, e, o = [], s = !0, a = !1;
11387                        try {
11388                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
11389                        } catch (t) {
11390                            a = !0, e = t
11391                        } finally {
11392                            try {
11393                                s || null == i.return || i.return()
11394                            } finally {
11395                                if (a) throw e
11396                            }
11397                        }
11398                        return o
11399                    }(t, n) || function (t, n) {
11400                        if (!t) return;
11401                        if ("string" == typeof t) return Pp(t, n);
11402                        var i = Object.prototype.toString.call(t).slice(8, -1);
11403                        "Object" === i && t.constructor && (i = t.constructor.name);
11404                        if ("Map" === i || "Set" === i) return Array.from(t);
11405                        if ("Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)) return Pp(t, n)
11406                    }(t, n) || function () {
11407                        throw new TypeError("Invalid attempt to de
11407structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
11408                    }()
11409                }
11410
11411                function Pp(t, n) {
11412                    (null == n || n > t.length) && (n = t.length);
11413                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
11414                    return r
11415                }
11416
11417                function Ip(t, n, i, r, e, o, s) {
11418                    try {
11419                        var a = t[o](s), u = a.value
11420                    } catch (t) {
11421                        return void i(t)
11422                    }
11423                    a.done ? n(u) : Promise.resolve(u).then(r, e)
11424                }
11425
11426                function Np(t) {
11427                    return function () {
11428                        var n = this, i = arguments;
11429                        return new Promise((function (r, e) {
11430                            var o = t.apply(n, i);
11431
11432                            function s(t) {
11433                                Ip(o, r, e, s, a, "next", t)
11434                            }
11435
11436                            function a(t) {
11437                                Ip(o, r, e, s, a, "throw", t)
11438                            }
11439
11440                            s(void 0)
11441                        }))
11442                    }
11443                }
11444
11445                function zp(t, n) {
11446                    for (var i = 0; i < n.length; i++) {
11447                        var r = n[i];
11448                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
11449                    }
11450                }
11451
11452                function Fp(t, n, i) {
11453                    for (var r = 0, e = n; e < i; ++e) r += t[e];
11454                    return r
11455                }
11456
11457                function Lp(t, n, i) {
11458                    switch (t) {
11459                        case 1:
11460                            if (n <= 8) return new Uint8Array(i);
11461                            if (n <= 16) return new Uint16Array(i);
11462                            if (n <= 32) return new Uint32Array(i);
11463                            break;
11464                        case 2:
11465                            if (8 === n) return new Int8Array(i);
11466                            if (16 === n) return new Int16Array(i);
11467                            if (32 === n) return new Int32Array(i);
11468                            break;
11469                        case 3:
11470                            switch (n) {
11471                                case 16:
11472                                case 32:
11473                                    return new Float32Array(i);
11474                                case 64:
11475                                    return new Float64Array(i)
11476                            }
11477                    }
11478                    throw Error("Unsupported data format/bitsPerSample")
11479                }
11480
11481                function Gp(t, n) {
11482                    return (1 !== t && 2 !== t || !(n <= 32) || n % 8 != 0) && (3 !== t || 16 !== n && 32 !== n && 64 !== n)
11483                }
11484
11485                function Dp(t, n, i, r, e, o, s) {
11486                    var a = new DataView(t), u = 2 === i ? 1 : r, c = Lp(n, e, 2 === i ? s * o : s * o * r),
11487                        h = parseInt("1".repeat(e), 2);
11488                    if (1 === n) {
11489                        var f = o * (1 === i ? r * e : e);
11490                        0 != (7 & f) && (f = f + 7 & -8);
11491                        for (var l = 0; l < s; ++l) for (var v = l * f, d = 0; d < o; ++d) for (var p = v + d * u * e, y = 0; y < u; ++y) {
11492                            var m = p + y * e, w = (l * o + d) * u + y, b = Math.floor(m / 8), g = m % 8;
11493                            if (g + e <= 8) c[w] = a.getUint8(b) >> 8 - e - g & h; else if (g + e <= 16) c[w] = a.getUint16(b) >> 16 - e - g & h; else if (g + e <= 24) {
11494                                var x = a.getUint16(b) << 8 | a.getUint8(b + 2);
11495                                c[w] = x >> 24 - e - g & h
11496                            } else c[w] = a.getUint32(b) >> 32 - e - g & h
11497                        }
11498                    }
11499                    return c.buffer
11500                }
11501
11502                xp([void 0, 1], (function () {
11503                    return i.e(226).then(i.bind(i, 966)).then((function (t) {
11504                        return t.default
11505                    }))
11506                })), xp(5, (function () {
11507                    return i.e(611).then(i.bind(i, 611)).then((function (t) {
11508                        return t.default
11509                    }))
11510                })), xp(6, (function () {
11511                    throw new Error("old style JPEG compression is not supported.")
11512                })), xp(7, (function () {
11513                    return i.e(382).then(i.bind(i, 382)).then((function (t) {
11514                        return t.default
11515                    }))
11516                })), xp([8, 32946], (function () {
11517                    return Promise.all([i.e(247), i.e(356)]).then(i.bind(i, 356)).then((function (t) {
11518                        return t.default
11519                    }))
11520                })), xp(32773, (function () {
11521                    return i.e(395).then(i.bind(i, 395)).then((function (t) {
11522                        return t.default
11523                    }))
11524                })), xp(34887, (function () {
11525                    return Promise.all([i.e(247), i.e(54)]).then(i.bind(i, 54)).then((function (t) {
11526                        return t.default
11527                    }))
11528                })), xp(50001, (function () {
11529                    return i.e(629).then(i.bind(i, 629)).then((function (t) {
11530                        return t.default
11531                    }))
11532                }));
11533                var Up = function () {
11534                    function t(n, i, r, e, o, s) {
11535                        !function (t, n) {
11536                            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
11537                        }(this, t), this.fileDirectory = n, this.geoKeys = i, this.dataView = r, this.littleEndian = e, this.tiles = o ? {} : null, this.isTiled = !n.StripOffsets;
11538                        var a = n.PlanarConfiguration;
11539                        if (this.planarConfiguration = void 0 === a ? 1 : a, 1 !== this.planarConfiguration && 2 !== this.planarConfiguration) throw new Error("Invalid planar configuration.");
11540                        this.source = s
11541                    }
11542
11543                    var n, i, r, e, o, s, a;
11544                    return n = t, (i = [{
11545                        key: "getFileDirectory", value: function () {
11546                            return this.fileDirectory
11547                        }
11548                    }, {
11549                        key: "getGeoKeys", value: function () {
11550                            return this.geoKeys
11551                        }
11552                    }, {
11553                        key: "getWidth", value: function () {
11554                            return this.fileDirectory.ImageWidth
11555                        }
11556                    }, {
11557                        key: "getHeight", value: function () {
11558                            return this.fileDirectory.ImageLength
11559                        }
11560                    }, {
11561                        key: "getSamplesPerPixel", value: function () {
11562                            return void 0 !== this.fileDirectory.SamplesPerPixel ? this.fileDirectory.SamplesPerPixel : 1
11563                        }
11564                    }, {
11565                        key: "getTileWidth", value: function () {
11566                            return this.isTiled ? this.fileDirectory.TileWidth : this.getWidth()
11567                        }
11568                    }, {
11569                        key: "getTileHeight", value: function () {
11570                            return this.isTiled ? this.fileDirectory.TileLength : void 0 !== this.fileDirectory.RowsPerStrip ? Math.min(this.fileDirectory.RowsPerStrip, this.getHeight()) : this.getHeight()
11571                        }
11572                    }, {
11573                        key: "getBlockWidth", value: function () {
11574                            return this.getTileWidth()
11575                        }
11576                    }, {
11577                        key: "getBlockHeight", value: function (t) {
11578                            return this.isTiled || (t + 1) * this.getTileHeight() <= this.getHeight() ? this.getTileHeight() : this.getHeight() - t * this.getTileHeight()
11579                        }
11580                    }, {
11581                        key: "getBytesPerPixel", value: function () {
11582                            for (var t = 0, n = 0; n < this.fileDirectory.BitsPerSample.length; ++n) t += this.getSampleByteSize(n);
11583                            return t
11584                        }
11585                    }, {
11586                        key: "getSampleByteSize", value: function (t) {
11587                            if (t >= this.fileDirectory.BitsPerSample.length) throw new RangeError("Sample index ".concat(t, " is out of range."));
11588                            return Math.ceil(this.fileDirectory.BitsPerSample[t] / 8)
11589                        }
11590                    }, {
11591                        key: "getReaderForSample", value: function (t) {
11592                            var n = this.fileDirectory.SampleFormat ? this.fileDirectory.SampleFormat[t] : 1,
11593                                i = this.fileDirectory.BitsPerSample[t];
11594                            switch (n) {
11595                                case 1:
11596                                    if (i <= 8) return DataView.prototype.getUint8;
11597                                    if (i <= 16) return DataView.prototype.getUint16;
11598                                    if (i <= 32) return DataView.prototype.getUint32;
11599                                    break;
11600                                case 2:
11601                                    if (i <= 8) return DataView.prototype.getInt8;
11602                                    if (i <= 16) return DataView.prototype.getInt16;
11603                                    if (i <= 32) return DataView.prototype.getInt32;
11604                                    break;
11605                                case 3:
11606                                    switch (i) {
11607                                        case 16:
11608                                            return function (t, n) {
11609                                                return up(this, t, n)
11610                                            };
11611                                        case 32:
11612                                            return DataView.prototype.getFloat32;
11613                                        case 64:
11614                                            return DataView.prototype.getFloat64
11615                                    }
11616                            }
11617                            throw Error("Unsupported data format/bitsPerSample")
11618                        }
11619                    }, {
11620                        key: "getSampleFormat", value: function () {
11621                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
11622                            return this.fileDirectory.SampleFormat ? this.fileDirectory.SampleFormat[t] : 1
11623                        }
11624                    }, {
11625                        key: "getBitsPerSample", value: function () {
11626                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 0;
11627                            return this.fileDirectory.BitsPerSample[t]
11628                        }
11629                    }, {
11630                        key: "getArrayForSample", value: function (t, n) {
11631                            return Lp(this.getSampleFormat(t), this.getBitsPerSample(t), n)
11632                        }
11633                    }, {
11634                        key: "getTileOrStrip", value: (a = Np(regeneratorRuntime.mark((function t(n, i, r, e, o) {
11635                            var s, a, u, c, h, f, l, v, d = this;
11636                            return regeneratorRuntime.wrap((function (t) {
11637                                for (; ;) switch (t.prev = t.next) {
11638                                    case 0:
11639                                        return s = Math.ceil(this.getWidth() / this.getTileWidth()), a = Math.ceil(this.getHeight() / this.getTileHeight()), c = this.tiles, 1 === this.planarConfiguration ? u = i * s + n : 2 === this.planarConfiguration && (u = r * s * a + i * s + n), this.isTiled ? (h = this.fileDirectory.TileOffsets[u], f = this.fileDirectory.TileByteCounts[u]) : (h = this.fileDirectory.StripOffsets[u], f = this.fileDirectory.StripByteCounts[u]), t.next = 7, this.source.fetch([{
11640                                            offset: h,
11641                                            length: f
11642                                        }], o);
11643                                    case 7:
11644                                        return l = t.sent[0], null !== c && c[u] ? v = c[u] : (v = Np(regeneratorRuntime.mark((function t() {
11645                                            var n, r, o;
11646                                            return regeneratorRuntime.wrap((function (t) {
11647                                                for (; ;) switch (t.prev = t.next) {
11648                                                    case 0:
11649                                                        return t.next = 2, e.decode(d.fileDirectory, l);
11650                                                    case 2:
11651                                                        return n = t.sent, r = d.getSampleFormat(), o = d.getBitsPerSample(), Gp(r, o) && (n = Dp(n, r, d.planarConfiguration, d.getSamplesPerPixel(), o, d.getTileWidth(), d.getBlockHeight(i))), t.abrupt("return", n);
11652                                                    case 7:
11653                                                    case"end":
11654                                                        return t.stop()
11655                                                }
11656                                            }), t)
11657                                        })))(), null !== c && (c[u] = v)), t.t0 = n, t.t1 = i, t.t2 = r, t.next = 14, v;
11658                                    case 14:
11659                                        return t.t3 = t.sent, t.abrupt("return", {
11660                                            x: t.t0,
11661                                            y: t.t1,
11662                                            sample: t.t2,
11663                                            data: t.t3
11664                                        });
11665                                    case 16:
11666                                    case"end":
11667                                        return t.stop()
11668                                }
11669                            }), t, this)
11670                        }))), function (t, n, i, r, e) {
11671                            return a.apply(this, arguments)
11672                        })
11673                    }, {
11674                        key: "_readRaster",
11675                        value: (s = Np(regeneratorRuntime.mark((function t(n, i, r, e, o, s, a, u, c) {
11676                            var h, f, l, v, d, p, y, m, w, b, g, x, j, S, k, M, _, O, T, E, A = this;
11677                            return regeneratorRuntime.wrap((function (t) {
11678                                for (; ;) switch (t.prev = t.next) {
11679                                    case 0:
11680                                        for (h = this.getTileWidth(), f = this.getTileHeight(), l = this.getWidth(), v = this.getHeight(), d = Math.max(Math.floor(n[0] / h), 0), p = Math.min(Math.ceil(n[2] / h), Math.ceil(l / h)), y = Math.max(Math.floor(n[1] / f), 0), m = Math.min(Math.ceil(n[3] / f), Math.ceil(v / f)), w = n[2] - n[0], b = this.getBytesPerPixel(), g = [], x = [], j = 0; j < i.length; ++j) 1 === this.planarConfiguration ? g.push(Fp(this.fileDirectory.BitsPerSample, 0, i[j]) / 8) : g.push(0), x.push(this.getReaderForSample(i[j]));
11681                                        for (S = [], k = this.littleEndian, M = y; M < m; ++M) for (_ = d; _ < p; ++_) for (O = function (t) {
11682                                            var s = t, a = i[t];
11683                                            2 === A.planarConfiguration && (b = A.getSampleByteSize(t));
11684                                            var u = A.getTileOrStrip(_, M, a, o, c);
11685                                            S.push(u), u.then((function (t) {
11686                                                for (var o = t.data, a = new DataView(o), u = A.getBlockHeight(t.y), c = t.y * f, d = t.x * h, p = c + u, y = (t.x + 1) * h, m = x[s], j = Math.min(u, u - (p - n[3]), v - c), S = Math.min(h, h - (y - n[2]), l - d), M = Math.max(0, n[1] - c); M < j; ++M) for (var _ = Math.max(0, n[0] - d); _ < S; ++_) {
11687                                                    var O = (M * h + _) * b, T = m.call(a, O + g[s], k), E = void 0;
11688                                                    e ? (E = (M + c - n[1]) * w * i.length + (_ + d - n[0]) * i.length + s, r[E] = T) : (E = (M + c - n[1]) * w + _ + d - n[0], r[s][E] = T)
11689                                                }
11690                                            }))
11691                                        }, T = 0; T < i.length; ++T) O(T);
11692                                        return t.next = 18, Promise.all(S);
11693                                    case 18:
11694                                        if (!(s && n[2] - n[0] !== s || a && n[3] - n[
116941] !== a)) {
11695                                            t.next = 23;
11696                                            break
11697                                        }
11698                                        return (E = e ? Cp(r, n[2] - n[0], n[3] - n[1], s, a, i.length, u) : Tp(r, n[2] - n[0], n[3] - n[1], s, a, u)).width = s, E.height = a, t.abrupt("return", E);
11699                                    case 23:
11700                                        return r.width = s || n[2] - n[0], r.height = a || n[3] - n[1], t.abrupt("return", r);
11701                                    case 26:
11702                                    case"end":
11703                                        return t.stop()
11704                                }
11705                            }), t, this)
11706                        }))), function (t, n, i, r, e, o, a, u, c) {
11707                            return s.apply(this, arguments)
11708                        })
11709                    }, {
11710                        key: "readRasters", value: (o = Np(regeneratorRuntime.mark((function t() {
11711                            var n, i, r, e, o, s, a, u, c, h, f, l, v, d, p, y, m, w, b, g, x, j, S, k, M, _,
11712                                O = arguments;
11713                            return regeneratorRuntime.wrap((function (t) {
11714                                for (; ;) switch (t.prev = t.next) {
11715                                    case 0:
11716                                        if (n = O.length > 0 && void 0 !== O[0] ? O[0] : {}, i = n.window, r = n.samples, e = void 0 === r ? [] : r, o = n.interleave, s = n.pool, a = void 0 === s ? null : s, u = n.width, c = n.height, h = n.resampleMethod, f = n.fillValue, l = n.signal, !((v = i || [0, 0, this.getWidth(), this.getHeight()])[0] > v[2] || v[1] > v[3])) {
11717                                            t.next = 4;
11718                                            break
11719                                        }
11720                                        throw new Error("Invalid subsets");
11721                                    case 4:
11722                                        if (d = v[2] - v[0], p = v[3] - v[1], y = d * p, m = this.getSamplesPerPixel(), e && e.length) {
11723                                            t.next = 12;
11724                                            break
11725                                        }
11726                                        for (w = 0; w < m; ++w) e.push(w);
11727                                        t.next = 19;
11728                                        break;
11729                                    case 12:
11730                                        b = 0;
11731                                    case 13:
11732                                        if (!(b < e.length)) {
11733                                            t.next = 19;
11734                                            break
11735                                        }
11736                                        if (!(e[b] >= m)) {
11737                                            t.next = 16;
11738                                            break
11739                                        }
11740                                        return t.abrupt("return", Promise.reject(new RangeError("Invalid sample index '".concat(e[b], "'."))));
11741                                    case 16:
11742                                        ++b, t.next = 13;
11743                                        break;
11744                                    case 19:
11745                                        if (o) x = this.fileDirectory.SampleFormat ? Math.max.apply(null, this.fileDirectory.SampleFormat) : 1, j = Math.max.apply(null, this.fileDirectory.BitsPerSample), g = Lp(x, j, y * e.length), f && g.fill(f); else for (g = [], S = 0; S < e.length; ++S) k = this.getArrayForSample(e[S], y), Array.isArray(f) && S < f.length ? k.fill(f[S]) : f && !Array.isArray(f) && k.fill(f), g.push(k);
11746                                        if (t.t0 = a, t.t0) {
11747                                            t.next = 25;
11748                                            break
11749                                        }
11750                                        return t.next = 24, jp(this.fileDirectory);
11751                                    case 24:
11752                                        t.t0 = t.sent;
11753                                    case 25:
11754                                        return M = t.t0, t.next = 28, this._readRaster(v, e, g, o, M, u, c, h, l);
11755                                    case 28:
11756                                        return _ = t.sent, t.abrupt("return", _);
11757                                    case 30:
11758                                    case"end":
11759                                        return t.stop()
11760                                }
11761                            }), t, this)
11762                        }))), function () {
11763                            return o.apply(this, arguments)
11764                        })
11765                    }, {
11766                        key: "readRGB", value: (e = Np(regeneratorRuntime.mark((function t() {
11767                            var n, i, r, e, o, s, a, u, c, h, f, l, v, d, p, y, m, w, b, g, x, j, S, k, M, _, O,
11768                                T = arguments;
11769                            return regeneratorRuntime.wrap((function (t) {
11770                                for (; ;) switch (t.prev = t.next) {
11771                                    case 0:
11772                                        if (n = T.length > 0 && void 0 !== T[0] ? T[0] : {}, i = n.window, r = n.interleave, e = void 0 === r || r, o = n.pool, s = void 0 === o ? null : o, a = n.width, u = n.height, c = n.resampleMethod, h = n.enableAlp
11772ha, f = void 0 !== h && h, l = n.signal, !((v = i || [0, 0, this.getWidth(), this.getHeight()])[0] > v[2] || v[1] > v[3])) {
11773                                            t.next = 4;
11774                                            break
11775                                        }
11776                                        throw new Error("Invalid subsets");
11777                                    case 4:
11778                                        if ((d = this.fileDirectory.PhotometricInterpretation) !== fp.Ie.RGB) {
11779                                            t.next = 9;
11780                                            break
11781                                        }
11782                                        if (p = [0, 1, 2], this.fileDirectory.ExtraSamples !== fp.pd.Unspecified && f) for (p = [], y = 0; y < this.fileDirectory.BitsPerSample.length; y += 1) p.push(y);
11783                                        return t.abrupt("return", this.readRasters({
11784                                            window: i,
11785                                            interleave: e,
11786                                            samples: p,
11787                                            pool: s,
11788                                            width: a,
11789                                            height: u,
11790                                            resampleMethod: c,
11791                                            signal: l
11792                                        }));
11793                                    case 9:
11794                                        t.t0 = d, t.next = t.t0 === fp.Ie.WhiteIsZero || t.t0 === fp.Ie.BlackIsZero || t.t0 === fp.Ie.Palette ? 12 : t.t0 === fp.Ie.CMYK ? 14 : t.t0 === fp.Ie.YCbCr || t.t0 === fp.Ie.CIELab ? 16 : 18;
11795                                        break;
11796                                    case 12:
11797                                        return m = [0], t.abrupt("break", 19);
11798                                    case 14:
11799                                        return m = [0, 1, 2, 3], t.abrupt("break", 19);
11800                                    case 16:
11801                                        return m = [0, 1, 2], t.abrupt("break", 19);
11802                                    case 18:
11803                                        throw new Error("Invalid or unsupported photometric interpretation.");
11804                                    case 19:
11805                                        return w = {
11806                                            window: v,
11807                                            interleave: !0,
11808                                            samples: m,
11809                                            pool: s,
11810                                            width: a,
11811                                            height: u,
11812                                            resampleMethod: c,
11813                                            signal: l
11814                                        }, b = this.fileDirectory, t.next = 23, this.readRasters(w);
11815                                    case 23:
11816                                        g = t.sent, x = Math.pow(2, this.fileDirectory.BitsPerSample[0]), t.t1 = d, t.next = t.t1 === fp.Ie.WhiteIsZero ? 28 : t.t1 === fp.Ie.BlackIsZero ? 30 : t.t1 === fp.Ie.Palette ? 32 : t.t1 === fp.Ie.CMYK ? 34 : t.t1 === fp.Ie.YCbCr ? 36 : t.t1 === fp.Ie.CIELab ? 38 : 40;
11817                                        break;
11818                                    case 28:
11819                                        return j = lp(g, x), t.abrupt("break", 41);
11820                                    case 30:
11821                                        return j = vp(g, x), t.abrupt("break", 41);
11822                                    case 32:
11823                                        return j = dp(g, b.ColorMap), t.abrupt("break", 41);
11824                                    case 34:
11825                                        return j = pp(g), t.abrupt("break", 41);
11826                                    case 36:
11827                                        return j = yp(g), t.abrupt("break", 41);
11828                                    case 38:
11829                                        return j = mp(g), t.abrupt("break", 41);
11830                                    case 40:
11831                                        throw new Error("Unsupported photometric interpretation.");
11832                                    case 41:
11833                                        if (!e) {
11834                                            for (S = new Uint8Array(j.length / 3), k = new Uint8Array(j.length / 3), M = new Uint8Array(j.length / 3), _ = 0, O = 0; _ < j.length; _ += 3, ++O) S[O] = j[_], k[O] = j[_ + 1], M[O] = j[_ + 2];
11835                                            j = [S, k, M]
11836                                        }
11837                                        return j.width = g.width, j.height = g.height, t.abrupt("return", j);
11838                                    case 45:
11839                                    case"end":
11840                                        return t.stop()
11841                                }
11842                            }), t, this)
11843                        }))), function () {
11844                            return e.apply(this, arguments)
11845                        })
11846                    }, {
11847                        key: "getTiePoints", value: function () {
11848                            if (!this.fileDirectory.ModelTiepoint) return [];
11849                            for (var t = [], n = 0; n < this.fileDirectory.ModelTiepoint.length; n += 6) t.push({
11850                                i: this.fileDirectory.ModelTiepoint[n],
11851                                j: this.fileDirectory.ModelTiepoint[n + 1],
11852                                k: this.fileDirectory.ModelTiepoint[n + 2],
11853                                x: this.fileDirectory.ModelTiepoint[n + 3],
11854                                y: this.fileDirectory.ModelTiepoint[n + 4],
11855                                z: this.fileDirectory.ModelTiepoint[n + 5]
11856                            });
11857                            return t
11858                        }
11859                    }, {
11860                        key: "getGDALMetadata", value: function () {
11861                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null, n = {};
11862                            if (!this.fileDirectory.GDAL_METADATA) return null;
11863                            var i = this.fileDirectory.GDAL_METADATA, r = hp(i, "Item");
11864                            r = null === t ? r.filter((function (t) {
11865                                return void 0 === cp(t, "sample")
11866                            })) : r.filter((function (n) {
11867                                return Number(cp(n, "sample")) === t
11868                            }));
11869                            for (var e = 0; e < r.length; ++e) {
11870                                var o = r[e];
11871                                n[cp(o, "name")] = o.inner
11872                            }
11873                            return n
11874                        }
11875                    }, {
11876                        key: "getGDALNoData", value: function () {
11877                            if (!this.fileDirectory.GDAL_NODATA) return null;
11878                            var t = this.fileDirectory.GDAL_NODATA;
11879                            return Number(t.substring(0, t.length - 1))
11880                        }
11881                    }, {
11882                        key: "getOrigin", value: function () {
11883                            var t = this.fileDirectory.ModelTiepoint, n = this.fileDirectory.ModelTransformation;
11884                            if (t && 6 === t.length) return [t[3], t[4], t[5]];
11885                            if (n) return [n[3], n[7], n[11]];
11886                            throw new Error("The image does not have an affine transformation.")
11887                        }
11888                    }, {
11889                        key: "getResolution", value: function () {
11890                            var t = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : null,
11891                                n = this.fileDirectory.ModelPixelScale, i = this.fileDirectory.ModelTransformation;
11892                            if (n) return [n[0], -n[1], n[2]];
11893                            if (i) return [i[0], i[5], i[10]];
11894                            if (t) {
11895                                var r = t.getResolution(), e = Rp(r, 3), o = e[0], s = e[1], a = e[2];
11896                                return [o * t.getWidth() / this.getWidth(), s * t.getHeight() / this.getHeight(), a * t.getWidth() / this.getWidth()]
11897                            }
11898                            throw new Error("The image does not have an affine transformation.")
11899                        }
11900                    }, {
11901                        key: "pixelIsArea", value: function () {
11902                            return 1 === this.geoKeys.GTRasterTypeGeoKey
11903                        }
11904                    }, {
11905                        key: "getBoundingBox", value: function () {
11906                            var t = this.getOrigin(), n = this.getResolution(), i = t[0], r = t[1],
11907                                e = i + n[0] * this.getWidth(), o = r + n[1] * this.getHeight();
11908                            return [Math.min(i, e), Math.min(r, o), Math.max(i, e), Math.max(r, o)]
11909                        }
11910                    }]) && zp(n.prototype, i), r && zp(n, r), Object.defineProperty(n, "prototype", {writable: !1}), t
11911                }();
11912
11913                function qp(t, n) {
11914                    for (var i = 0; i < n.length; i++) {
11915                        var r = n[i];
11916                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
11917                    }
11918                }
11919
11920                var Bp = function () {
11921                    function t(n) {
11922                        !function (t, n) {
11923                            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
11924                        }(this, t), this._dataView = new DataView(n)
11925                    }
11926
11927                    var n, i, r;
11928                    return n = t, (i = [{
11929                        key: "buffer", get: function () {
11930                            return this._dataView.buffer
11931                        }
11932                    }, {
11933                        key: "getUint64", value: function (t, n) {
11934                            var i, r = this.getUint32(t, n), e = this.getUint32(t + 4, n);
11935                            if (n) {
11936                                if (i = r + Math.pow(2, 32) * e, !Number.isSafeInteger(i)) throw new Error("".concat(i, " exceeds MAX_SAFE_INTEGER. ") + "Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");
11937                                return i
11938                            }
11939                            if (i = Math.pow(2, 32) * r + e, !Number.isSafeInteger(i)) throw new Error("".concat(i, " exceeds MAX_SAFE_INTEGER. ") + "Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");
11940                            return i
11941                        }
11942                    }, {
11943                        key: "getInt64", value: function (t, n) {
11944                            for (var i = 0, r = (128 & this._dataView.getUint8(t + (n ? 7 : 0))) > 0, e = !0, o = 0; o < 8; o++) {
11945                                var s = this._dataView.getUint8(t + (n ? o : 7 - o));
11946                                r && (e ? 0 !== s && (s = 255 & ~(s - 1), e = !1) : s = 255 & ~
11946s), i += s * Math.pow(256, o)
11947                            }
11948                            return r && (i = -i), i
11949                        }
11950                    }, {
11951                        key: "getUint8", value: function (t, n) {
11952                            return this._dataView.getUint8(t, n)
11953                        }
11954                    }, {
11955                        key: "getInt8", value: function (t, n) {
11956                            return this._dataView.getInt8(t, n)
11957                        }
11958                    }, {
11959                        key: "getUint16", value: function (t, n) {
11960                            return this._dataView.getUint16(t, n)
11961                        }
11962                    }, {
11963                        key: "getInt16", value: function (t, n) {
11964                            return this._dataView.getInt16(t, n)
11965                        }
11966                    }, {
11967                        key: "getUint32", value: function (t, n) {
11968                            return this._dataView.getUint32(t, n)
11969                        }
11970                    }, {
11971                        key: "getInt32", value: function (t, n) {
11972                            return this._dataView.getInt32(t, n)
11973                        }
11974                    }, {
11975                        key: "getFloat16", value: function (t, n) {
11976                            return up(this._dataView, t, n)
11977                        }
11978                    }, {
11979                        key: "getFloat32", value: function (t, n) {
11980                            return this._dataView.getFloat32(t, n)
11981                        }
11982                    }, {
11983                        key: "getFloat64", value: function (t, n) {
11984                            return this._dataView.getFloat64(t, n)
11985                        }
11986                    }]) && qp(n.prototype, i), r && qp(n, r), Object.defineProperty(n, "prototype", {writable: !1}), t
11987                }();
11988
11989                function Wp(t, n) {
11990                    for (var i = 0; i < n.length; i++) {
11991                        var r = n[i];
11992                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
11993                    }
11994                }
11995
11996                var Vp = function () {
11997                    function t(n, i, r, e) {
11998                        !function (t, n) {
11999                            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
12000                        }(this, t), this._dataView = new DataView(n), this._sliceOffset = i, this._littleEndian = r, this._bigTiff = e
12001                    }
12002
12003                    var n, i, r;
12004                    return n = t, (i = [{
12005                        key: "sliceOffset", get: function () {
12006                            return this._sliceOffset
12007                        }
12008                    }, {
12009                        key: "sliceTop", get: function () {
12010                            return this._sliceOffset + this.buffer.byteLength
12011                        }
12012                    }, {
12013                        key: "littleEndian", get: function () {
12014                            return this._littleEndian
12015                        }
12016                    }, {
12017                        key: "bigTiff", get: function () {
12018                            return this._bigTiff
12019                        }
12020                    }, {
12021                        key: "buffer", get: function () {
12022                            return this._dataView.buffer
12023                        }
12024                    }, {
12025                        key: "covers", value: function (t, n) {
12026                            return this.sliceOffset <= t && this.sliceTop >= t + n
12027                        }
12028                    }, {
12029                        key: "readUint8", value: function (t) {
12030                            return this._dataView.getUint8(t - this._sliceOffset, this._littleEndian)
12031                        }
12032                    }, {
12033                        key: "readInt8", value: function (t) {
12034                            return this._dataView.getInt8(t - this._sliceOffset, this._littleEndian)
12035                        }
12036                    }, {
12037                        key: "readUint16", value: function (t) {
12038                            return this._dataView.getUint16(t - this._sliceOffset, this._littleEndian)
12039                        }
12040                    }, {
12041                        key: "readInt16", value: function (t) {
12042                            return this._dataView.getInt16(t - this._sliceOffset, this._littleEndian)
12043                        }
12044                    }, {
12045                        key: "readUint32", value: function (t) {
12046                            return this._dataView.getUint32(t - this._sliceOffset, this._littleEndian)
12047                        }
12048                    }, {
12049                        key: "readInt32", value: function (t) {
12050                            return this._dataView.getInt32(t - this._sliceOffset, this._littleEndian)
12051                        }
12052                    }, {
12053                        key: "readFloat32", value: function (t) {
12054                            return this._dataView.getFloat32(t - this._sliceOffset, this._littleEndian)
12055                        }
12056                    }, {
12057                        key: "readFloat64", value: function (t) {
12058                            return this._dataView.getFloat64(t - this._sliceOffset, this._littleEndian)
12059                        }
12060                    }, {
12061                        key: "readUint64", value: function (t) {
12062                            var n, i = this.readUint32(t), r = this.readUint32(t + 4);
12063                            if (this._littleEndian) {
12064                                if (n = i + Math.pow(2, 32) * r, !Number.isSafeInteger(n)) throw new Error("".concat(n, " exceeds MAX_SAFE_INTEGER. ") + "Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");
12065                                return n
12066                            }
12067                            if (n = Math.pow(2, 32) * i + r, !Number.isSafeInteger(n)) throw new Error("".concat(n, " exceeds MAX_SAFE_INTEGER. ") + "Precision may be lost. Please report if you get this message to https://github.com/geotiffjs/geotiff.js/issues");
12068                            return n
12069                        }
12070                    }, {
12071                        key: "readInt64", value: function (t) {
12072                            for (var n = 0, i = (128 & this._dataView.getUint8(t + (this._littleEndian ? 7 : 0))) > 0, r = !0, e = 0; e < 8; e++) {
12073                                var o = this._dataView.getUint8(t + (this._littleEndian ? e : 7 - e));
12074                                i && (r ? 0 !== o && (o = 255 & ~(o - 1), r = !1) : o = 255 & ~o), n += o * Math.pow(256, e)
12075                            }
12076                            return i && (n = -n), n
12077                        }
12078                    }, {
12079                        key: "readOffset", value: function (t) {
12080                            return this._bigTiff ? this.readUint64(t) : this.readUint32(t)
12081                        }
12082                    }]) && Wp(n.prototype, i), r && Wp(n, r), Object.defineProperty(n, "prototype", {writable: !1}), t
12083                }();
12084
12085                function Xp(t) {
12086                    return Kp(t) || function (t) {
12087                        if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t)
12088                    }(t) || Yp(t) || Jp()
12089                }
12090
12091                function Hp(t, n) {
12092                    return Kp(t) || function (t, n) {
12093                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
12094                        if (null == i) return;
12095                        var r, e, o = [], s = !0, a = !1;
12096                        try {
12097                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
12098                        } catch (t) {
12099                            a = !0, e = t
12100                        } finally {
12101                            try {
12102                                s || null == i.return || i.return()
12103                            } finally {
12104                                if (a) throw e
12105                            }
12106                        }
12107                        return o
12108                    }(t, n) || Yp(t, n) || Jp()
12109                }
12110
12111                function Jp() {
12112                    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
12113                }
12114
12115                function Kp(t) {
12116                    if (Array.isArray(t)) return t
12117                }
12118
12119                function Yp(t, n) {
12120                    if (t) {
12121                        if ("string" == typeof t) return Zp(t, n);
12122                        var i = Object.prototype.toString.call(t).slice(8, -1);
12123                        return "Object" === i && t.constructor && (i = t.constructor.name), "Map" === i || "Set" === i ? Array.from(t) : "Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? Zp(t, n) : void 0
12124                    }
12125                }
12126
12127                function Zp(t, n) {
12128                    (null == n || n > t.length) && (n = t.length);
12129                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
12130                    return r
12131                }
12132
12133                var $p = "\r\n\r\n";
12134
12135                function Qp(t) {
12136                    if (void 0 !== Object.fromEntries) return Object.fromEntries(t);
12137                    var n, i = {}, r = function (t, n) {
12138                        var i = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
12139                        if (!i) {
12140                            if (Array.isArray(t) || (i = Yp(t)) || n && t && "number" == typeof t.length) {
12141                                i && (t = i);
12142                                var r = 0, e = function () {
12143                                };
12144                                return {
12145                                    s: e, n: function () {
12146                                        return r >= t.length ? {done: !0} : {done: !1, value: t[r++]}
12147                                    }, e: function (t) {
12148                                        throw t
12149                                    }, f: e
12150                                }
12151                            }
12152                            throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
12153                        }
12154                        var o, s = !0, a = !1;
12155                        return {
12156                            s: function () {
12157                                i = i.call(t)
12158                            }, n: function () {
12159                                var t = i.next();
12160                                return s = t.done, t
12161                            }, e: function (t) {
12162                                a = !0, o = t
12163                            }, f: function () {
12164                                try {
12165                                    s || null == i.return || i.return()
12166                                } finally {
12167                                    if (a) throw o
12168                                }
12169                            }
12170                        }
12171                    }(t);
12172                    try {
12173                        for (r.s(); !(n = r.n()).done;) {
12174                            var e = Hp(n.value, 2), o = e[0], s = e[1];
12175                            i[o.toLowerCase()] = s
12176                        }
12177                    } catch (t) {
12178                        r.e(t)
12179                    } finally {
12180                        r.f()
12181                    }
12182                    return i
12183                }
12184
12185                function ty(t) {
12186                    return Qp(t.split("\r\n").map((function (t) {
12187                        var n = t.split(":").map((function (t) {
12188                            return t.trim()
12189                        }));
12190                        return n[0] = n[0].toLowerCase(), n
12191                    })))
12192                }
12193
12194                function ny(t) {
12195                    var n, i, r;
12196                    if (t) {
12197                        var e = Hp(t.match(/bytes (\d+)-(\d+)\/(\d+)/), 4);
12198                        n = e[1], i = e[2], r = e[3], n = parseInt(n, 10), i = parseInt(i, 10), r = parseInt(r, 10)
12199                    }
12200                    return {start: n, end: i, total: r}
12201                }
12202
12203                function iy(t, n) {
12204                    for (var i = null, r = new TextDecoder("ascii"), e = [], o = "--".concat(n), s = "".concat(o, "--"), a = 0; a < 10; ++a) {
12205                        r.decode(new Uint8Array(t, a, o.length)) === o && (i = a)
12206                    }
12207                    if (null === i) throw new Error("Could not find initial boundary");
12208                    for (; i < t.byteLength;) {
12209                        var u = r.decode(new Uint8Array(t, i, Math.min(o.length + 1024, t.byteLength - i)));
12210                        if (0 === u.length || u.startsWith(s)) break;
12211                        if (!u.startsWith(o)) throw new Error("Part does not start with boundary");
12212                        var c = u.substr(o.length + 2);
12213                        if (0 === c.length) break;
12214                        var h = c.indexOf($p), f = ty(c.substr(0, h)), l = ny(f["content-range"]), v = l.start,
12215                            d = l.end, p = l.total, y = i + o.length + h + $p.length,
12216                            m = parseInt(d, 10) + 1 - parseInt(v, 10);
12217                        e.push({headers: f, data: t.slice(y, y + m), offset: v, length: m, fileSize: p}), i = y + m + 4
12218                    }
12219                    return e
12220                }
12221
12222                function ry(t, n, i, r, e, o, s) {
12223                    try {
12224                        var a = t[o](s), u = a.value
12225                    } catch (t) {
12226                        return void i(t)
12227                    }
12228                    a.done ? n(u) : Promise.resolve(u).then(r, e)
12229                }
12230
12231                function ey(t) {
12232                    return function () {
12233                        var n = this, i = arguments;
12234                        return new Promise((function (r, e) {
12235                            var o = t.apply(n, i);
12236
12237                            function s(t) {
12238                                ry(o, r, e, s, a, "next", t)
12239                            }
12240
12241                            function a(t) {
12242                                ry(o, r, e, s, a, "throw", t)
12243                            }
12244
12245                            s(void 0)
12246                        }))
12247                    }
12248                }
12249
12250                function oy(t, n) {
12251                    for (var i = 0; i < n.length; i++) {
12252                        var r = n[i];
12253                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
12254                    }
12255                }
12256
12257                var sy = function () {
12258                    function t() {
12259                        !function (t, n) {
12260                            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
12261                        }(this, t)
12262                    }
12263
12264                    var n, i, r, e, o, s;
12265                    return n = t, (i = [{
12266                        key: "fetch", value: (s = ey(regeneratorRuntime.mark((function t(n) {
12267                            var i, r = this, e = arguments;
12268                            return regeneratorRuntime.wrap((function (t) {
12269                                for (; ;) switch (t.prev = t.next) {
12270                                    case 0:
12271                                        return i = e.length > 1 && void 0 !== e[1] ? e[1] : void 0, t.abrupt("return", Promise.all(n.map((function (t) {
12272                                            return r.fetchSlice(t, i)
12273                                        }))));
12274                                    case 2:
12275                                    case"end":
12276                                        return t.stop()
12277                                }
12278                            }), t)
12279                        }))), function (t) {
12280                            return s.apply(this, arguments)
12281                        })
12282                    }, {
12283                        key: "fetchSlice", value: (o = ey(regeneratorRuntime.mark((function t(n) {
12284                            return regeneratorRuntime.wrap((function (t) {
12285                                for (; ;) switch (t.prev = t.next) {
12286                                    case 0:
12287                                        throw new Error("fetching of slice ".concat(n, " not possible, not implemented"));
12288                                    case 1:
12289                                    case"end":
12290                                        return t.stop()
12291                                }
12292                            }), t)
12293                        }))), function (t) {
12294                            return o.apply(this, arguments)
12295                        })
12296                    }, {
12297                        key: "fileSize", get: function () {
12298                            return null
12299                        }
12300                    }, {
12301                        key: "close", value: (e = ey(regeneratorRuntime.mark((function t() {
12302                            return regeneratorRuntime.wrap((function (t) {
12303                                for (; ;) switch (t.prev = t.next) {
12304                                    case 0:
12305                                    case"end":
12306                                        return t.stop()
12307                                }
12308                            }), t)
12309                        }))), function () {
12310                            return e.apply(this, arguments)
12311                        })
12312                    }]) && oy(n.prototype, i), r && oy(n, r), Object.defineProperty(n, "prototype", {writable: !1}), t
12313                }(), ay = i(875);
12314
12315                function uy(t) {
12316                    return (uy = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
12317                        return typeof t
12318                    } : function (t) {
12319                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
12320                    })(t)
12321                }
12322
12323                function cy(t, n) {
12324                    for (var i = 0; i < n.length; i++) {
12325                        var r = n[i];
12326                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
12327                    }
12328                }
12329
12330                function hy(t, n, i) {
12331                    return n && cy(t.prototype, n), i && cy(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
12332                }
12333
12334                function fy(t, n) {
12335                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
12336                }
12337
12338                function ly(t, n) {
12339                    if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
12340                    t.prototype = Object.create(n && n.prototype, {
12341                        constructor: {
12342                            value: t,
12343                            writable: !0,
12344                            configurable: !0
12345                        }
12346                    }), Object.defineProperty(t, "prototype", {writable: !1}), n && by(t, n)
12347                }
12348
12349                function vy(t) {
12350                    var n = wy();
12351                    return function () {
12352                        var i, r = gy(t);
12353                        if (n) {
12354                            var e = gy(this).constructor;
12355                            i = Reflect.construct(r, arguments, e)
12356                        } else i = r.apply(this, arguments);
12357                        return dy(this, i)
12358                    }
12359                }
12360
12361                function dy(t, n) {
12362                    if (n && ("object" === uy(n) || "function" == typeof n)) return n;
12363                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
12364                    return py(t)
12365                }
12366
12367                function py(t) {
12368                    if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12369                    return t
12370                }
12371
12372                function yy(t) {
12373                    var n = "function" == typeof Map ? new Map : void 0;
12374                    return (yy = function (t) {
12375                        if (null === t || (i = t, -1 === Function.toString.call(i).indexOf("[native code]"))) return t;
12376                        var i;
12377                        if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
12378                        if (void 0 !== n) {
12379                            if (n.has(t)) return n.get(t);
12380                            n.set(t, r)
12381                        }
12382
12383                        function r() {
12384                            return my(t, arguments, gy(this).constructor)
12385                        }
12386
12387                        return r.prototype = Object.create(t.prototype, {
12388                            constructor: {
12389                                value: r,
12390                                enumerable: !1,
12391                                writable: !0,
12392                                configurable: !0
12393                            }
12394                        }), by(r, t)
12395                    })(t)
12396                }
12397
12398                function my(t, n, i) {
12399                    return (my = wy() ? Reflect.construct : function (t, n, i) {
12400                        var r = [null];
12401                        r.push.apply(r, n);
12402                        var e = new (Function.bind.apply(t, r));
12403                        return i && by(e, i.prototype), e
12404                    }).apply(null, arguments)
12405                }
12406
12407                function wy() {
12408                    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
12409                    if (Reflect.construct.sham) return !1;
12410                    if ("function" == typeof Proxy) return !0;
12411                    try {
12412                        return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
12413                        }))), !0
12414                    } catch (t) {
12415                        return !1
12416                    }
12417                }
12418
12419                function by(t, n) {
12420                    return (by = Object.setPrototypeOf || function (t, n) {
12421                        return t.__proto__ = n, t
12422                    })(t, n)
12423                }
12424
12425                function gy(t) {
12426                    return (gy = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
12427                        return t.__proto__ || Object.getPrototypeOf(t)
12428                    })(t)
12429                }
12430
12431                function xy(t, n, i, r, e, o, s) {
12432                    try {
12433                        var a = t[o](s), u = a.value
12434                    } catch (t) {
12435                        return void i(t)
12436                    }
12437                    a.done ? n(u) : Promise.resolve(u).then(r, e)
12438                }
12439
12440                function jy(t) {
12441                    return function () {
12442                        var n = this, i = arguments;
12443                        return new Promise((function (r, e) {
12444                            var o = t.apply(n, i);
12445
12446                            function s(t) {
12447                                xy(o, r, e, s, a, "next", t)
12448                            }
12449
12450                            function a(t) {
12451                                xy(o, r, e, s, a, "throw", t)
12452                            }
12453
12454                            s(void 0)
12455                        }))
12456                    }
12457                }
12458
12459                function Sy(t) {
12460                    return ky.apply(this, arguments)
12461                }
12462
12463                function ky() {
12464                    return (ky = jy(regeneratorRuntime.mark((function t(n) {
12465                        return regeneratorRuntime.wrap((function (t) {
12466                            for (; ;) switch (t.prev = t.next) {
12467                                case 0:
12468                                    return t.abrupt("return", new Promise((function (t) {
12469                                        return setTimeout(t, n)
12470                                    })));
12471                                case 1:
12472           
12472                     case"end":
12473                                    return t.stop()
12474                            }
12475                        }), t)
12476                    })))).apply(this, arguments)
12477                }
12478
12479                function My(t, n) {
12480                    var i = Array.isArray(t) ? t : Array.from(t), r = Array.isArray(n) ? n : Array.from(n);
12481                    return i.map((function (t, n) {
12482                        return [t, r[n]]
12483                    }))
12484                }
12485
12486                var _y = function (t) {
12487                    ly(i, t);
12488                    var n = vy(i);
12489
12490                    function i(t) {
12491                        var r;
12492                        return fy(this, i), r = n.call(this, t), Error.captureStackTrace && Error.captureStackTrace(py(r), i), r.name = "AbortError", r
12493                    }
12494
12495                    return hy(i)
12496                }(yy(Error)), Oy = function (t) {
12497                    ly(i, t);
12498                    var n = vy(i);
12499
12500                    function i(t, r) {
12501                        var e;
12502                        return fy(this, i), (e = n.call(this, r)).errors = t, e.message = r, e.name = "AggregateError", e
12503                    }
12504
12505                    return hy(i)
12506                }(yy(Error));
12507
12508                function Ty(t) {
12509                    return (Ty = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
12510                        return typeof t
12511                    } : function (t) {
12512                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
12513                    })(t)
12514                }
12515
12516                function Ey(t, n) {
12517                    return function (t) {
12518                        if (Array.isArray(t)) return t
12519                    }(t) || function (t, n) {
12520                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
12521                        if (null == i) return;
12522                        var r, e, o = [], s = !0, a = !1;
12523                        try {
12524                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
12525                        } catch (t) {
12526                            a = !0, e = t
12527                        } finally {
12528                            try {
12529                                s || null == i.return || i.return()
12530                            } finally {
12531                                if (a) throw e
12532                            }
12533                        }
12534                        return o
12535                    }(t, n) || Cy(t, n) || function () {
12536                        throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
12537                    }()
12538                }
12539
12540                function Ay(t, n) {
12541                    var i = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
12542                    if (!i) {
12543                        if (Array.isArray(t) || (i = Cy(t)) || n && t && "number" == typeof t.length) {
12544                            i && (t = i);
12545                            var r = 0, e = function () {
12546                            };
12547                            return {
12548                                s: e, n: function () {
12549                                    return r >= t.length ? {done: !0} : {done: !1, value: t[r++]}
12550                                }, e: function (t) {
12551                                    throw t
12552                                }, f: e
12553                            }
12554                        }
12555                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
12556                    }
12557                    var o, s = !0, a = !1;
12558                    return {
12559                        s: function () {
12560                            i = i.call(t)
12561                        }, n: function () {
12562                            var t = i.next();
12563                            return s = t.done, t
12564                        }, e: function (t) {
12565                            a = !0, o = t
12566                        }, f: function () {
12567                            try {
12568                                s || null == i.return || i.return()
12569                            } finally {
12570                                if (a) throw o
12571                            }
12572                        }
12573                    }
12574                }
12575
12576                function Cy(t, n) {
12577                    if (t) {
12578                        if ("string" == typeof t) return Ry(t, n);
12579                        var i = Object.prototype.toString.call(t).slice(8, -1);
12580                        return "Object" === i && t.constructor && (i = t.constructor.name), "Map" === i || "Set" === i ? Array.from(t) : "Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? Ry(t, n) : void 0
12581                    }
12582                }
12583
12584                function Ry(t, n) {
12585                    (null == n || n > t.length) && (n = t.length);
12586                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
12587                    return r
12588                }
12589
12590                function Py(t, n, i, r, e, o, s) {
12591                    try {
12592                        var a = t[o](s), u = a.value
12593                    } catch (t) {
12594                        return void i(t)
12595                    }
12596                    a.done ? n(u) : Promise.resolve(u).then(r, e)
12597                }
12598
12599                function Iy(t) {
12600                    return function () {
12601                        var n = this, i = arguments;
12602                        return new Promise((function (r, e) {
12603                            var o = t.apply(n, i);
12604
12605                            function s(t) {
12606                                Py(o, r, e, s, a, "next", t)
12607                            }
12608
12609                            function a(t) {
12610                                Py(o, r, e, s, a, "throw", t)
12611                            }
12612
12613                            s(void 0)
12614                        }))
12615                    }
12616                }
12617
12618                function Ny(t, n) {
12619                    return (Ny = Object.setPrototypeOf || function (t, n) {
12620                        return t.__proto__ = n, t
12621                    })(t, n)
12622                }
12623
12624                function zy(t) {
12625                    var n = function () {
12626                        if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
12627                        if (Reflect.construct.sham) return !1;
12628                        if ("function" == typeof Proxy) return !0;
12629                        try {
12630                            return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
12631                            }))), !0
12632                        } catch (t) {
12633                            return !1
12634                        }
12635                    }();
12636                    return function () {
12637                        var i, r = Ly(t);
12638                        if (n) {
12639                            var e = Ly(this).constructor;
12640                            i = Reflect.construct(r, arguments, e)
12641                        } else i = r.apply(this, arguments);
12642                        return Fy(this, i)
12643                    }
12644                }
12645
12646                function Fy(t, n) {
12647                    if (n && ("object" === Ty(n) || "function" == typeof n)) return n;
12648                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
12649                    return function (t) {
12650                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
12651                        return t
12652                    }(t)
12653                }
12654
12655                function Ly(t) {
12656                    return (Ly = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
12657                        return t.__proto__ || Object.getPrototypeOf(t)
12658                    })(t)
12659                }
12660
12661                function Gy(t, n) {
12662                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
12663                }
12664
12665                function Dy(t, n) {
12666                    for (var i = 0; i < n.length; i++) {
12667                        var r = n[i];
12668                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
12669                    }
12670                }
12671
12672                function Uy(t, n, i) {
12673                    return n && Dy(t.prototype, n), i && Dy(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
12674                }
12675
12676                var qy = function () {
12677                    function t(n, i) {
12678                        var r = arguments.length > 2 && void 0 !== arguments[2] ? arguments[2] : null;
12679                        Gy(this, t), this.offset = n, this.length = i, this.data = r
12680                    }
12681
12682                    return Uy(t, [{
12683                        key: "top", get: function () {
12684                            return this.offset + this.length
12685                        }
12686                    }]), t
12687                }(), By = Uy((function t(n, i, r) {
12688                    Gy(this, t), this.offset = n, this.length = i, this.blockIds = r
12689                })), Wy = function (t) {
12690                    !function (t, n) {
12691                        if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
12692                        t.prototype = Object.create(n && n.prototype, {
12693                            constructor: {
12694                                value: t,
12695                                writable: !0,
12696                                configurable: !0
12697                            }
12698                        }), Object.defineProperty(t, "prototype", {writable: !1}), n && Ny(t, n)
12699                    }(r, t);
12700                    var n, i = zy(r);
12701
12702                    function r(t) {
12703                        var n, e = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, o = e.blockSize,
12704                            s = void 0 === o ? 65536 : o, a = e.cacheSize, u = void 0 === a ? 100 : a;
12705                        return Gy(this, r), (n = i.call(this)).source = t, n.blockSize = s, n.blockCache = new ay({max: u}), n.blockRequests = new Map, n.blockIdsToFetch = new Set, n
12706                    }
12707
12708                    return Uy(r, [{
12709                        key: "fileSize", get: function () {
12710                            return this.source.fileSize
12711                        }
12712                    }, {
12713                        key: "fetch", value: (n = Iy(regeneratorRuntime.mark((function t(n, i) {
12714                            var r, e, o, s, a, u, c, h, f, l, v, d, p, y, m, w, b, g, x, j, S, k, M, _, O, T, E, A, C,
12715                                R, P, I, N, z, F, L, G, D;
12716                            return regeneratorRuntime.wrap((function (t) {
12717                                for (; ;) switch (t.prev = t.next) {
12718                                    case 0:
12719                                        r = new Map, e = new Map, o = new Set, s = Ay(n);
12720                                        try {
12721                                            for (s.s(); !(a = s.n()).done;) for (u = a.value, c = u.offset, h = u.length, f = c + h, null !== (l = this.fileSize) && (f = Math.min(f, l)), v = Math.floor(c / this.blockSize) * this.blockSize, d = v; d < f; d += this.blockSize) p = Math.floor(d / this.blockSize), this.blockCache.has(p) ? r.set(p, this.blockCache.get(p)) : this.blockRequests.has(p
12721) ? e.set(p, this.blockRequests.get(p)) : (this.blockIdsToFetch.has(p) || this.blockIdsToFetch.add(p), o.add(p))
12722                                        } catch (t) {
12723                                            s.e(t)
12724                                        } finally {
12725                                            s.f()
12726                                        }
12727                                        return t.next = 7, Sy();
12728                                    case 7:
12729                                        this.fetchBlocks(i), y = Ay(o), t.prev = 9, y.s();
12730                                    case 11:
12731                                        if ((m = y.n()).done) {
12732                                            t.next = 26;
12733                                            break
12734                                        }
12735                                        if (w = m.value, b = this.blockRequests.get(w), g = this.blockCache.get(w), !b) {
12736                                            t.next = 19;
12737                                            break
12738                                        }
12739                                        e.set(w, b), t.next = 24;
12740                                        break;
12741                                    case 19:
12742                                        if (!g) {
12743                                            t.next = 23;
12744                                            break
12745                                        }
12746                                        r.set(w, g), t.next = 24;
12747                                        break;
12748                                    case 23:
12749                                        throw new Error("Block ".concat(w, " is not in the block requests"));
12750                                    case 24:
12751                                        t.next = 11;
12752                                        break;
12753                                    case 26:
12754                                        t.next = 31;
12755                                        break;
12756                                    case 28:
12757                                        t.prev = 28, t.t0 = t.catch(9), y.e(t.t0);
12758                                    case 31:
12759                                        return t.prev = 31, y.f(), t.finish(31);
12760                                    case 34:
12761                                        return t.next = 36, Promise.allSettled(Array.from(e.values()));
12762                                    case 36:
12763                                        if (!(x = t.sent).some((function (t) {
12764                                            return "rejected" === t.status
12765                                        }))) {
12766                                            t.next = 65;
12767                                            break
12768                                        }
12769                                        j = new Set, S = Ay(My(e.keys(), x));
12770                                        try {
12771                                            for (S.s(); !(k = S.n()).done;) M = Ey(k.value, 2), _ = M[0], O = M[1], T = O.rejected, E = O.reason, T && "AbortError" === E.name && E.signal !== i && (this.blockIdsToFetch.add(_), j.add(_))
12772                                        } catch (t) {
12773                                            S.e(t)
12774                                        } finally {
12775                                            S.f()
12776                                        }
12777                                        if (!(this.blockIdsToFetch.length > 0)) {
12778                                            t.next = 65;
12779                                            break
12780                                        }
12781                                        this.fetchBlocks(i), A = Ay(j), t.prev = 44, A.s();
12782                                    case 46:
12783                                        if ((C = A.n()).done) {
12784                                            t.next = 54;
12785                                            break
12786                                        }
12787                                        if (R = C.value, P = this.blockRequests.get(R)) {
12788                                            t.next = 51;
12789                                            break
12790                                        }
12791                                        throw new Error("Block ".concat(R, " is not in the block requests"));
12792                                    case 51:
12793                                        e.set(R, P);
12794                                    case 52:
12795                                        t.next = 46;
12796                                        break;
12797                                    case 54:
12798                                        t.next = 59;
12799                                        break;
12800                                    case 56:
12801                                        t.prev = 56, t.t1 = t.catch(44), A.e(t.t1);
12802                                    case 59:
12803                                        return t.prev = 59, A.f(), t.finish(59);
12804                                    case 62:
12805                                        return t.next = 64, Promise.allSettled(Array.from(e.values())
12805);
12806                                    case 64:
12807                                        x = t.sent;
12808                                    case 65:
12809                                        if (!x.some((function (t) {
12810                                            return "rejected" === t.status
12811                                        }))) {
12812                                            t.next = 69;
12813                                            break
12814                                        }
12815                                        if (!i || !i.aborted) {
12816                                            t.next = 68;
12817                                            break
12818                                        }
12819                                        throw new _y("Request was aborted");
12820                                    case 68:
12821                                        throw new Oy(x.filter((function (t) {
12822                                            return "rejected" === t.status
12823                                        })).map((function (t) {
12824                                            return t.reason
12825                                        })), "Request failed");
12826                                    case 69:
12827                                        I = x.map((function (t) {
12828                                            return t.value
12829                                        })), N = new Map(My(Array.from(e.keys()), I)), z = Ay(r);
12830                                        try {
12831                                            for (z.s(); !(F = z.n()).done;) L = Ey(F.value, 2), G = L[0], D = L[1], N.set(G, D)
12832                                        } catch (t) {
12833                                            z.e(t)
12834                                        } finally {
12835                                            z.f()
12836                                        }
12837                                        return t.abrupt("return", this.readSliceData(n, N));
12838                                    case 74:
12839                                    case"end":
12840                                        return t.stop()
12841                                }
12842                            }), t, this, [[9, 28, 31, 34], [44, 56, 59, 62]])
12843                        }))), function (t, i) {
12844                            return n.apply(this, arguments)
12845                        })
12846                    }, {
12847                        key: "fetchBlocks", value: function (t) {
12848                            var n = this;
12849                            this.blockIdsToFetch.size > 0 && function () {
12850                                for (var i = n.groupBlocks(n.blockIdsToFetch), r = n.source.fetch(i, t), e = function (e) {
12851                                    var o, s = Ay(i[e].blockIds);
12852                                    try {
12853                                        var a = function () {
12854                                            var i = o.value, s = Iy(regeneratorRuntime.mark((function o() {
12855                                                var s, a, u, c, h, f;
12856                                                return regeneratorRuntime.wrap((function (o) {
12857                                                    for (; ;) switch (o.prev = o.next) {
12858                                                        case 0:
12859                                                            return o.prev = 0, o.next = 3, r;
12860                                                        case 3:
12861                                                            return o.t0 = e, s = o.sent[o.t0], a = i * n.blockSize, u = a - s.offset, c = Math.min(u + n.blockSize, s.data.byteLength), h = s.data.slice(u, c), f = new qy(a, h.byteLength, h), n.blockCache.set(i, f), o.abrupt("return", f);
12862                                                        case 14:
12863                                                            throw o.prev = 14, o.t1 = o.catch(0), "AbortError" === o.t1.name && (o.t1.signal = t), o.t1;
12864                                                        case 18:
12865                                                            return o.prev = 18, n.blockRequests.delete(i), o.finish(18);
12866                                                        case 21:
12867                                                        case"end":
12868                                                            return o.stop()
12869                                                    }
12870                                                }), o, null, [[0, 14, 18, 21]])
12871                                            })))();
12872                                            n.blockRequests.set(i, s)
12873                                        };
12874                                        for (s.s(); !(o = s.n()).done;) a()
12875                                    } catch (t) {
12876                                        s.e(t)
12877                                    } finally {
12878                                        s.f()
12879                                    }
12880                                }, o = 0; o < i.length; ++o) e(o);
12881                                n.blockIdsToFetch.clear()
12882                            }()
12883                        }
12884                    }, {
12885                        key: "groupBlocks", value: function (t) {
12886                            var n = Array.from(t).sort((function (t, n) {
12887                                return t - n
12888                            }));
12889                            if (0 === n.length) return [];
12890                            var i, r = [], e = null, o = [], s = Ay(n);
12891                            try {
12892                                for (s.s(); !(i = s.n()).done;) {
12893                                    var a = i.value;
12894                                    null === e || e + 1 === a ? (r.push(a), e = a) : (o.push(new By(r[0] * this.blockSize, r.length * this.blockSize, r)), r = [a], e = a)
12895                                }
12896                            } catch (t) {
12897                                s.e(t)
12898                            } finally {
12899                                s.f()
12900                            }
12901                            return o.push(new By(r[0] * this.blockSize, r.length * this.blockSize, r)), o
12902                        }
12903                    }, {
12904                        key: "readSliceData", value: function (t, n) {
12905                            var i = this;
12906                            return t.map((function (t) {
12907                                for (var r = t.offset + t.length, e = Math.floor(t.offset / i.blockSize), o = Math.floor((t.offset + t.length) / i.blockSize), s = new ArrayBuffer(t.length), a = new Uint8Array(s), u = e; u <= o; ++u) {
12908                                    var c = n.get(u), h = c.offset - t.offset, f = 0, l = 0, v = void 0;
12909                                    h < 0 ? f = -h : h > 0 && (l = h), v = c.top - r < 0 ? c.length - f : r - c.offset - f;
12910                                    var d = new Uint8Array(c.data, f, v);
12911                                    a.set(d, l)
12912                                }
12913                                return s
12914                            }))
12915                        }
12916                    }]), r
12917                }(sy);
12918
12919                function Vy(t, n, i, r, e, o, s) {
12920                    try {
12921                        var a = t[o](s), u = a.value
12922                    } catch (t) {
12923                        return void i(t)
12924                    }
12925                    a.done ? n(u) : Promise.resolve(u).then(r, e)
12926                }
12927
12928                function Xy(t) {
12929                    return function () {
12930                        var n = this, i = arguments;
12931                        return new Promise((function (r, e) {
12932                            var o = t.apply(n, i);
12933
12934                            function s(t) {
12935                                Vy(o, r, e, s, a, "next", t)
12936                            }
12937
12938                            function a(t) {
12939                                Vy(o, r, e, s, a, "throw", t)
12940                            }
12941
12942                            s(void 0)
12943                        }))
12944                    }
12945                }
12946
12947                function Hy(t, n) {
12948                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
12949                }
12950
12951                function Jy(t, n) {
12952                    for (var i = 0; i < n.length; i++) {
12953                        var r = n[i];
12954                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
12955                    }
12956                }
12957
12958                function Ky(t, n, i) {
12959                    return n && Jy(t.prototype, n), i && Jy(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
12960                }
12961
12962                var Yy = function () {
12963                    function t() {
12964                        Hy(this, t)
12965                    }
12966
12967                    var n;
12968                    return Ky(t, [{
12969                        key: "ok", get: function () {
12970                            return this.status >= 200 && this.status <= 299
12971                        }
12972                    }, {
12973                        key: "status", get: function () {
12974                            throw new Error("not implemented")
12975                        }
12976                    }, {
12977                        key: "getHeader", value: function (t) {
12978                            throw new Error("not implemented")
12979                        }
12980                    }, {
12981                        key: "getData", value: (n = Xy(regeneratorRuntime.mark((function t() {
12982                            return regeneratorRuntime.wrap((function (t) {
12983                                for (; ;) switch (t.prev = t.next) {
12984                                    case 0:
12985                                        throw new Error("not implemented");
12986                                    case 1:
12987                                    case"end":
12988                                        return t.stop()
12989                                }
12990                            }), t)
12991                        }))), function () {
12992                            return n.apply(this, arguments)
12993                        })
12994                    }]), t
12995                }(), Zy = function () {
12996                    function t(n) {
12997                        Hy(this, t), this.url = n
12998                    }
12999
13000                    var n;
13001                    return Ky(t, [{
13002                        key: "request", value: (n = Xy(regeneratorRuntime.mark((function t() {
13003                            var n, i = arguments;
13004                            return regeneratorRuntime.wrap((function (t) {
13005                                for (; ;) switch (t.prev = t.next) {
13006                                    case 0:
13007                                        throw (n = i.length > 0 && void 0 !== i[0] ? i[0] : {}).headers, n.credentials, n.signal, new Error("request is not implemented");
13008                                    case 2:
13009                                    case"end":
13010                                        return t.stop()
13011                                }
13012                            }), t)
13013                        }))), function () {
13014                            return n.apply(this, arguments)
13015                        })
13016                    }]), t
13017                }();
13018
13019                function $y(t) {
13020                    return ($y = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
13021                        return typeof t
13022                    } : function (t) {
13023                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
13024                    })(t)
13025                }
13026
13027                function Qy(t, n, i, r, e, o, s) {
13028                    try {
13029                        var a = t[o](s), u = a.value
13030                    } catch (t) {
13031                        return void i(t)
13032                    }
13033                    a.done ? n(u) : Promise.resolve(u).then(r, e)
13034                }
13035
13036                function tm(t) {
13037                    return function () {
13038                        var n = this, i = arguments;
13039                        return new Promise((function (r, e) {
13040                            var o = t.apply(n, i);
13041
13042                            function s(t) {
13043                                Qy(o, r, e, s, a, "next", t)
13044                            }
13045
13046                            function a(t) {
13047                                Qy(o, r, e, s, a, "throw", t)
13048                            }
13049
13050                            s(void 0)
13051                        }))
13052                    }
13053                }
13054
13055                function nm(t, n) {
13056                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
13057                }
13058
13059                function im(t, n) {
13060                    for (var i = 0; i < n.length; i++) {
13061                        var r = n[i];
13062                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
13063                    }
13064                }
13065
13066                function rm(t, n, i) {
13067                    return n && im(t.prototype, n), i && im(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
13068                }
13069
13070                function em(t, n) {
13071                    if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
13072                    t.prototype = Object.create(n && n.prototype, {
13073                        constructor: {
13074                            value: t,
13075                            writable: !0,
13076                            configurable: !0
13077                        }
13078                    }), Object.defineProperty(t, "prototype", {writable: !1}), n && om(t, n)
13079                }
13080
13081                function om(t, n) {
13082                    return (om = Object.setPrototypeOf || function (t, n) {
13083                        return t.__proto__ = n, t
13084                    })(t, n)
13085                }
13086
13087                function sm(t) {
13088                    var n = function () {
13089                        if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
13090                        if (Reflect.construct.sham) return !1;
13091                        if ("function" == typeof Proxy) return !0;
13092                        try {
13093                            return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
13094                            }))), !0
13095                        } catch (t) {
13096                            return !1
13097                        }
13098                    }();
13099                    return function () {
13100                        var i, r = um(t);
13101                        if (n) {
13102                            var e = um(this).constructor;
13103                            i = Reflect.construct(r, arguments, e)
13104                        } else i = r.apply(this, arguments);
13105                        return am(this, i)
13106                    }
13107                }
13108
13109                function am(t, n) {
13110                    if (n && ("object" === $y(n) || "function" == typeof n)) return n;
13111                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
13112                    return function (t) {
13113                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
13114                        return t
13115                    }(t)
13116                }
13117
13118                function um(t) {
13119                    return (um = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
13120                        return t.__proto__ || Object.getPrototypeOf(t)
13121                    })(t)
13122                }
13123
13124                var cm = function (t) {
13125                    em(r, t);
13126                    var n, i = sm(r);
13127
13128                    function r(t) {
13129                        var n;
13130                        return nm(this, r), (n = i.call(this)).response = t, n
13131                    }
13132
13133                    return rm(r, [{
13134                        key: "status", get: function () {
13135                            return this.response.status
13136                        }
13137                    }, {
13138                        key: "getHeader", value: function (t) {
13139                            return this.response.headers.get(t)
13140  
13140                      }
13141                    }, {
13142                        key: "getData", value: (n = tm(regeneratorRuntime.mark((function t() {
13143                            var n;
13144                            return regeneratorRuntime.wrap((function (t) {
13145                                for (; ;) switch (t.prev = t.next) {
13146                                    case 0:
13147                                        if (!this.response.arrayBuffer) {
13148                                            t.next = 6;
13149                                            break
13150                                        }
13151                                        return t.next = 3, this.response.arrayBuffer();
13152                                    case 3:
13153                                        t.t0 = t.sent, t.next = 9;
13154                                        break;
13155                                    case 6:
13156                                        return t.next = 8, this.response.buffer();
13157                                    case 8:
13158                                        t.t0 = t.sent.buffer;
13159                                    case 9:
13160                                        return n = t.t0, t.abrupt("return", n);
13161                                    case 11:
13162                                    case"end":
13163                                        return t.stop()
13164                                }
13165                            }), t, this)
13166                        }))), function () {
13167                            return n.apply(this, arguments)
13168                        })
13169                    }]), r
13170                }(Yy), hm = function (t) {
13171                    em(r, t);
13172                    var n, i = sm(r);
13173
13174                    function r(t, n) {
13175                        var e;
13176                        return nm(this, r), (e = i.call(this, t)).credentials = n, e
13177                    }
13178
13179                    return rm(r, [{
13180                        key: "request", value: (n = tm(regeneratorRuntime.mark((function t() {
13181                            var n, i, r, e, o, s = arguments;
13182                            return regeneratorRuntime.wrap((function (t) {
13183                                for (; ;) switch (t.prev = t.next) {
13184                                    case 0:
13185                                        return n = s.length > 0 && void 0 !== s[0] ? s[0] : {}, i = n.headers, r = n.credentials, e = n.signal, t.next = 3, fetch(this.url, {
13186                                            headers: i,
13187                                            credentials: r,
13188                                            signal: e
13189                                        });
13190                                    case 3:
13191                                        return o = t.sent, t.abrupt("return", new cm(o));
13192                                    case 5:
13193                                    case"end":
13194                                        return t.stop()
13195                                }
13196                            }), t, this)
13197                        }))), function () {
13198                            return n.apply(this, arguments)
13199                        })
13200                    }]), r
13201                }(Zy);
13202
13203                function fm(t) {
13204                    return (fm = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
13205                        return typeof t
13206                    } : function (t) {
13207                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
13208                    })(t)
13209                }
13210
13211                function lm(t, n) {
13212                    return function (t) {
13213                        if (Array.isArray(t)) return t
13214                    }(t) || function (t, n) {
13215                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
13216                        if (null == i) return;
13217                        var r, e, o = [], s = !0, a = !1;
13218                        try {
13219                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
13220                        } catch (t) {
13221                            a = !0, e = t
13222                        } finally {
13223                            try {
13224                                s || null == i.return || i.return()
13225                            } finally {
13226                                if (a) throw e
13227                            }
13228                        }
13229                        return o
13230                    }(t, n) || function (t, n) {
13231                        if (!t) return;
13232                        if ("string" == typeof t) return vm(t, n);
13233                        var i = Object.prototype.toString.call(t).slice(8, -1);
13234                        "Object" === i && t.constructor && (i = t.constructor.name);
13235                        if ("Map" === i || "Set" === i) return Array.from(t);
13236                        if ("Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)) return vm(t, n)
13237                    }(t, n) || function () {
13238                        throw new TypeError("Invalid attempt to de
13238structure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
13239                    }()
13240                }
13241
13242                function vm(t, n) {
13243                    (null == n || n > t.length) && (n = t.length);
13244                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
13245                    return r
13246                }
13247
13248                function dm(t, n, i, r, e, o, s) {
13249                    try {
13250                        var a = t[o](s), u = a.value
13251                    } catch (t) {
13252                        return void i(t)
13253                    }
13254                    a.done ? n(u) : Promise.resolve(u).then(r, e)
13255                }
13256
13257                function pm(t) {
13258                    return function () {
13259                        var n = this, i = arguments;
13260                        return new Promise((function (r, e) {
13261                            var o = t.apply(n, i);
13262
13263                            function s(t) {
13264                                dm(o, r, e, s, a, "next", t)
13265                            }
13266
13267                            function a(t) {
13268                                dm(o, r, e, s, a, "throw", t)
13269                            }
13270
13271                            s(void 0)
13272                        }))
13273                    }
13274                }
13275
13276                function ym(t, n) {
13277                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
13278                }
13279
13280                function mm(t, n) {
13281                    for (var i = 0; i < n.length; i++) {
13282                        var r = n[i];
13283                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
13284                    }
13285                }
13286
13287                function wm(t, n, i) {
13288                    return n && mm(t.prototype, n), i && mm(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
13289                }
13290
13291                function bm(t, n) {
13292                    if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
13293                    t.prototype = Object.create(n && n.prototype, {
13294                        constructor: {
13295                            value: t,
13296                            writable: !0,
13297                            configurable: !0
13298                        }
13299                    }), Object.defineProperty(t, "prototype", {writable: !1}), n && gm(t, n)
13300                }
13301
13302                function gm(t, n) {
13303                    return (gm = Object.setPrototypeOf || function (t, n) {
13304                        return t.__proto__ = n, t
13305                    })(t, n)
13306                }
13307
13308                function xm(t) {
13309                    var n = function () {
13310                        if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
13311                        if (Reflect.construct.sham) return !1;
13312                        if ("function" == typeof Proxy) return !0;
13313                        try {
13314                            return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
13315                            }))), !0
13316                        } catch (t) {
13317                            return !1
13318                        }
13319                    }();
13320                    return function () {
13321                        var i, r = Sm(t);
13322                        if (n) {
13323                            var e = Sm(this).constructor;
13324                            i = Reflect.construct(r, arguments, e)
13325                        } else i = r.apply(this, arguments);
13326                        return jm(this, i)
13327                    }
13328                }
13329
13330                function jm(t, n) {
13331                    if (n && ("object" === fm(n) || "function" == typeof n)) return n;
13332                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
13333                    return function (t) {
13334                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
13335                        return t
13336                    }(t)
13337                }
13338
13339                function Sm(t) {
13340                    return (Sm = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
13341                        return t.__proto__ || Object.getPrototypeOf(t)
13342                    })(t)
13343                }
13344
13345                var km = function (t) {
13346                    bm(r, t);
13347                    var n, i = xm(r);
13348
13349                    function r(t, n) {
13350                        var e;
13351                        return ym(this, r), (e = i.call(this)).xhr = t, e.data = n, e
13352                    }
13353
13354                    return wm(r, [{
13355                        key: "status", get: function () {
13356                            return this.xhr.status
13357                        }
13358                    }, {
13359                        key: "getHeader", value: function (t) {
13360                            return this.xhr.getResponseHeader(t)
13361                        }
13362                    }, {
13363                        key: "getData", value: (n = pm(regeneratorRuntime.mark((function t() {
13364                            return regeneratorRuntime.wrap((function (t) {
13365                                for (; ;) switch (t.prev = t.next) {
13366                                    case 0:
13367                                        return t.abrupt("return", this.data);
13368                                    case 1:
13369                                    case"end":
13370                                        return t.stop()
13371                                }
13372                            }), t, this)
13373                        }))), function () {
13374                            return n.apply(this, arguments)
13375                        })
13376                    }]), r
13377                }(Yy), Mm = function (t) {
13378                    bm(r, t);
13379                    var n, i = xm(r);
13380
13381                    function r() {
13382                        return ym(this, r), i.apply(this, arguments)
13383                    }
13384
13385                    return wm(r, [{
13386                        key: "constructRequest", value: function (t, n) {
13387                            var i = this;
13388                            return new Promise((function (r, e) {
13389                                var o = new XMLHttpRequest;
13390                                o.open("GET", i.url), o.responseType = "arraybuffer";
13391                                for (var s = 0, a = Object.entries(t); s < a.length; s++) {
13392                                    var u = lm(a[s], 2), c = u[0], h = u[1];
13393                                    o.setRequestHeader(c, h)
13394                                }
13395                                o.onload = function () {
13396                                    var t = o.response;
13397                                    r(new km(o, t))
13398                                }, o.onerror = e, o.onabort = function () {
13399                                    return e(new _y("Request aborted"))
13400                                }, o.send(), n && (n.aborted && o.abort(), n.addEventListener("abort", (function () {
13401                                    return o.abort()
13402                                })))
13403                            }))
13404                        }
13405                    }, {
13406                        key: "request", value: (n = pm(regeneratorRuntime.mark((function t() {
13407                            var n, i, r, e, o = arguments;
13408                            return regeneratorRuntime.wrap((function (t) {
13409                                for (; ;) switch (t.prev = t.next) {
13410                                    case 0:
13411                                        return n = o.length > 0 && void 0 !== o[0] ? o[0] : {}, i = n.headers, r = n.signal, t.next = 3, this.constructRequest(i, r);
13412                                    case 3:
13413                                        return e = t.sent, t.abrupt("return", e);
13414                                    case 5:
13415                                    case"end":
13416                                        return t.stop()
13417                                }
13418                            }), t, this)
13419                        }))), function () {
13420                            return n.apply(this, arguments)
13421                        })
13422                    }]), r
13423                }(Zy), _m = i(752), Om = i(640), Tm = i(630);
13424
13425                function Em(t) {
13426                    return (Em = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
13427                        return typeof t
13428                    } : function (t) {
13429                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
13430                    })(t)
13431                }
13432
13433                function Am(t, n) {
13434                    var i = Object.keys(t);
13435                    if (Object.getOwnPropertySymbols) {
13436                        var r = Object.getOwnPropertySymbols(t);
13437                        n && (r = r.filter((function (n) {
13438                            return Object.getOwnPropertyDescriptor(t, n).enumerable
13439                        }))), i.push.apply(i, r)
13440                    }
13441                    return i
13442                }
13443
13444                function Cm(t) {
13445                    for (var n = 1; n < arguments.length; n++) {
13446                        var i = null != arguments[n] ? arguments[n] : {};
13447                        n % 2 ? Am(Object(i), !0).forEach((function (n) {
13448                            Rm(t, n, i[n])
13449                        })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : Am(Object(i)).forEach((function (n) {
13450                            Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(i, n))
13451                        }))
13452                    }
13453                    return t
13454                }
13455
13456                function Rm(t, n, i) {
13457                    return n in t ? Object.defineProperty(t, n, {
13458                        value: i,
13459                        enumerable: !0,
13460                        configurable: !0,
13461                        writable: !0
13462                    }) : t[n] = i, t
13463                }
13464
13465                function Pm(t, n, i, r, e, o, s) {
13466                    try {
13467                        var a = t[o](s), u = a.value
13468                    } catch (t) {
13469                        return void i(t)
13470                    }
13471                    a.done ? n(u) : Promise.resolve(u).then(r, e)
13472                }
13473
13474                function Im(t) {
13475                    return function () {
13476                        var n = this, i = arguments;
13477                        return new Promise((function (r, e) {
13478                            var o = t.apply(n, i);
13479
13480                            function s(t) {
13481                                Pm(o, r, e, s, a, "next", t)
13482                            }
13483
13484                            function a(t) {
13485                                Pm(o, r, e, s, a, "throw", t)
13486                            }
13487
13488                            s(void 0)
13489                        }))
13490                    }
13491                }
13492
13493                function Nm(t, n) {
13494                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
13495                }
13496
13497                function zm(t, n) {
13498                    for (var i = 0; i < n.length; i++) {
13499                        var r = n[i];
13500                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
13501                    }
13502                }
13503
13504                function Fm(t, n, i) {
13505                    return n && zm(t.prototype, n), i && zm(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
13506                }
13507
13508                function Lm(t, n) {
13509                    if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
13510                    t.prototype = Object.create(n && n.prototype, {
13511                        constructor: {
13512                            value: t,
13513                            writable: !0,
13514                            configurable: !0
13515                        }
13516                    }), Object.defineProperty(t, "prototype", {writable: !1}), n && Gm(t, n)
13517                }
13518
13519                function Gm(t, n) {
13520                    return (Gm = Object.setPrototypeOf || function (t, n) {
13521                        return t.__proto__ = n, t
13522                    })(t, n)
13523                }
13524
13525                function Dm(t) {
13526                    var n = function () {
13527                        if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
13528                        if (Reflect.construct.sham) return !1;
13529                        if ("function" == typeof Proxy) return !0;
13530                        try {
13531                            return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
13532                            }))), !0
13533                        } catch (t) {
13534                            return !1
13535                        }
13536                    }();
13537                    return function () {
13538                        var i, r = qm(t);
13539                        if (n) {
13540                            var e = qm(this).constructor;
13541                            i = Reflect.construct(r, arguments, e)
13542                        } else i = r.apply(this, arguments);
13543                        return Um(this, i)
13544                    }
13545                }
13546
13547                function Um(t, n) {
13548                    if (n && ("object" === Em(n) || "function" == typeof n)) return n;
13549                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
13550                    return function (t) {
13551                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
13552                        return t
13553                    }(t)
13554                }
13555
13556                function qm(t) {
13557                    return (qm = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
13558                        return t.__proto__ || Object.getPrototypeOf(t)
13559                    })(t)
13560                }
13561
13562                var Bm = function (t) {
13563                    Lm(r, t);
13564                    var n, i = Dm(r);
13565
13566                    function r(t, n) {
13567                        var e;
13568                        return Nm(this, r), (e = i.call(this)).response = t, e.dataPromise = n, e
13569                    }
13570
13571                    return Fm(r, [{
13572                        key: "status", get: function () {
13573                            return this.response.statusCode
13574                        }
13575                    }, {
13576                        key: "getHeader", value: function (t) {
13577                            return this.response.headers[t]
13578                        }
13579                    }, {
13580                        key: "getData", value: (n = Im(regeneratorRuntime.mark((function t() {
13581                            var n;
13582                            return regeneratorRuntime.wrap((function (t) {
13583                                for (; ;) switch (t.prev = t.next) {
13584                                    case 0:
13585                                        return t.next = 2, this.dataPromise;
13586                                    case 2:
13587                                        return n = t.sent, t.abrupt("return", n);
13588                                    case 4:
13589                                    case"end":
13590                                        return t.stop()
13591                                }
13592                            }), t, this)
13593                        }))), function () {
13594                            return n.apply(this, arguments)
13595                        })
13596                    }]), r
13597                }(Yy), Wm = function (t) {
13598                    Lm(r, t);
13599                    var n, i = Dm(r);
13600
13601                    function r(t) {
13602                        var n;
13603                        return Nm(this, r), (n = i.call(this, t)).parsedUrl = Tm.parse(n.url), n.httpApi = "http:" === n.parsedUrl.protocol ? _m : Om, n
13604                    }
13605
13606                    return Fm(r, [{
13607                        key: "constructRequest", value: function (t, n) {
13608                            var i = this;
13609                            return new Promise((function (r, e) {
13610                                var o = i.httpApi.get(Cm(Cm({}, i.parsedUrl), {}, {headers: t}), (function (t) {
13611                                    var n = new Promise((function (n) {
13612                                        var i = [];
13613                                        t.on("data", (function (t) {
13614                                            i.push(t)
13615                                        })), t.on("end", (function () {
13616                                            var t = Buffer.concat(i).buffer;
13617                                            n(t)
13618                                        })), t.on("error", e)
13619                                    }));
13620                                    r(new Bm(t, n))
13621                                }));
13622                                o.on("error", e), n && (n.aborted && o.destroy(new _y("Request aborted")), n.addEventListener("abort", (function () {
13623                                    return o.destroy(new _y("Request aborted"))
13624                                })))
13625                            }))
13626                        }
13627                    }, {
13628                        key: "request", value: (n = Im(regeneratorRuntime.mark((function t() {
13629                            var n, i, r, e, o = arguments;
13630                            return regeneratorRuntime.wrap((function (t) {
13631                                for (; ;) switch (t.prev = t.next) {
13632                                    case 0:
13633                                        return n = o.length > 0 && void 0 !== o[0] ? o[0] : {}, i = n.headers, r = n.signal, t.next = 3, this.constructRequest(i, r);
13634                                    case 3:
13635                                        return e = t.sent, t.abrupt("return", e);
13636                                    case 5:
13637                                    case"end":
13638                                        return t.stop()
13639                                }
13640                            }), t, this)
13641                        }))), function () {
13642                            return n.apply(this, arguments)
13643                        })
13644                    }]), r
13645                }(Zy);
13646
13647                function Vm(t) {
13648                    return (Vm = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
13649                        return typeof t
13650                    } : function (t) {
13651                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
13652                    })(t)
13653                }
13654
13655                var Xm = ["headers", "credentials", "maxRanges", "allowFullFile"],
13656                    Hm = ["headers", "maxRanges", "allowFullFile"], Jm = ["headers", "maxRanges", "allowFullFile"],
13657                    Km = ["forceXHR"];
13658
13659                function Ym(t, n) {
13660                    if (null == t) return {};
13661                    var i, r, e = function (t, n) {
13662                        if (null == t) return {};
13663                        var i, r, e = {}, o = Object.keys(t);
13664                        for (r = 0; r < o.length; r++) i = o[r], n.indexOf(i) >= 0 || (e[i] = t[i]);
13665                        return e
13666                    }(t, n);
13667                    if (Object.getOwnPropertySymbols) {
13668                        var o = Object.getOwnPropertySymbols(t);
13669                        for (r = 0; r < o.length; r++) i = o[r], n.indexOf(i) >= 0 || Object.prototype.propertyIsEnumerable.call(t, i) && (e[i] = t[i])
13670                    }
13671                    return e
13672                }
13673
13674                function Zm(t, n) {
13675                    var i = Object.keys(t);
13676                    if (Object.getOwnPropertySymbols) {
13677                        var r = Object.getOwnPropertySymbols(t);
13678                        n && (r = r.filter((function (n) {
13679                            return Object.getOwnPropertyDescriptor(t, n).enumerable
13680                        }))), i.push.apply(i, r)
13681                    }
13682                    return i
13683                }
13684
13685                function $m(t) {
13686                    for (var n = 1; n < arguments.length; n++) {
13687                        var i = null != arguments[n] ? arguments[n] : {};
13688                        n % 2 ? Zm(Object(i), !0).forEach((function (n) {
13689                            Qm(t, n, i[n])
13690                        })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : Zm(Object(i)).forEach((function (n) {
13691                            Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(i, n))
13692                        }))
13693                    }
13694                    return t
13695                }
13696
13697                function Qm(t, n, i) {
13698                    return n in t ? Object.defineProperty(t, n, {
13699                        value: i,
13700                        enumerable: !0,
13701                        configurable: !0,
13702                        writable: !0
13703                    }) : t[n] = i, t
13704                }
13705
13706                function tw(t, n, i, r, e, o, s) {
13707                    try {
13708                        var a = t[o](s), u = a.value
13709                    } catch (t) {
13710                        return void i(t)
13711                    }
13712                    a.done ? n(u) : Promise.resolve(u).then(r, e)
13713                }
13714
13715                function nw(t) {
13716                    return function () {
13717                        var n = this, i = arguments;
13718                        return new Promise((function (r, e) {
13719                            var o = t.apply(n, i);
13720
13721                            function s(t) {
13722                                tw(o, r, e, s, a, "next", t)
13723                            }
13724
13725                            function a(t) {
13726                                tw(o, r, e, s, a, "throw", t)
13727                            }
13728
13729                            s(void 0)
13730                        }))
13731                    }
13732                }
13733
13734                function iw(t, n) {
13735                    for (var i = 0; i < n.length; i++) {
13736                        var r = n[i];
13737                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
13738                    }
13739                }
13740
13741                function rw(t, n) {
13742                    return (rw = Object.setPrototypeOf || function (t, n) {
13743                        return t.__proto__ = n, t
13744                    })(t, n)
13745                }
13746
13747                function ew(t) {
13748                    var n = function () {
13749                        if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
13750                        if (Reflect.construct.sham) return !1;
13751                        if ("function" == typeof Proxy) return !0;
13752                        try {
13753                            return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
13754                            }))), !0
13755                        } catch (t) {
13756                            return !1
13757                        }
13758                    }();
13759                    return function () {
13760                        var i, r = sw(t);
13761                        if (n) {
13762                            var e = sw(this).constructor;
13763                            i = Reflect.construct(r, arguments, e)
13764                        } else i = r.apply(this, arguments);
13765                        return ow(this, i)
13766                    }
13767                }
13768
13769                function ow(t, n) {
13770                    if (n && ("object" === Vm(n) || "function" == typeof n)) return n;
13771                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
13772                    return function (t) {
13773                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
13774                        return t
13775                    }(t)
13776                }
13777
13778                function sw(t) {
13779                    return (sw = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
13780                        return t.__proto__ || Object.getPrototypeOf(t)
13781                    })(t)
13782                }
13783
13784                var aw = function (t) {
13785                    !function (t, n) {
13786                        if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
13787                        t.prototype = Object.create(n && n.prototype, {
13788                            constructor: {
13789                                value: t,
13790                                writable: !0,
13791                                configurable: !0
13792                            }
13793                        }), Object.defineProperty(t, "prototype", {writable: !1}), n && rw(t, n)
13794                    }(u, t);
13795                    var n, i, r, e, o, s, a = ew(u);
13796
13797                    function u(t, n, i, r) {
13798                        var e;
13799                        return function (t, n) {
13800                            if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
13801                        }(this, u), (e = a.call(this)).client = t, e.headers = n, e.maxRanges = i, e.allowFullFile = r, e._fileSize = null, e
13802                    }
13803
13804                    return n = u, (i = [{
13805                        key: "fetch", value: (s = nw(regeneratorRuntime.mark((function t(n, i) {
13806                            var r = this;
13807                            return regeneratorRuntime.wrap((function (t) {
13808                                for (; ;) switch (t.prev = t.next) {
13809                                    case 0:
13810                                        if (!(this.maxRanges >= n.length)) {
13811                                            t.next = 4;
13812                                            break
13813                                        }
13814                                        return t.abrupt("return", this.fetchSlices(n, i));
13815                                    case 4:
13816                                        this.maxRanges > 0 && n.length;
13817                                    case 5:
13818                                        return t.abrupt("return", Promise.all(n.map((function (t) {
13819                                            return r.fetchSlice(t, i)
13820                                        }))));
13821                                    case 6:
13822                                    case"end":
13823                                        return t.stop()
13824                                }
13825                            }), t, this)
13826                        }))), function (t, n) {
13827                            return s.apply(this, arguments)
13828                        })
13829                    }, {
13830                        key: "fetchSlices", value: (o = nw(regeneratorRuntime.mark((function t(n, i) {
13831                            var r, e, o, s, a, u, c, h, f, l, v, d, p = this;
13832                            return regeneratorRuntime.wrap((function (t) {
13833                                for (; ;) switch (t.prev = t.next) {
13834                                    case 0:
13835                                        return t.next = 2, this.client.request({
13836                                            headers: $m($m({}, this.headers), {}, {
13837                                                Range: "bytes=".concat(n.map((function (t) {
13838                                                    var n = t.offset, i = t.length;
13839                                                    return "".concat(n, "-").concat(n + i)
13840                                                })).join(","))
13841                                            }), signal: i
13842                                        });
13843                                    case 2:
13844                                        if ((r = t.sent).ok) {
13845                                            t.next = 7;
13846                                            break
13847                                        }
13848                                        throw new Error("Error fetching data.");
13849                                    case 7:
13850                                        if (206 !== r.status) {
13851                                            t.next = 32;
13852                                            break
13853                                        }
13854                                        if (y = r.getHeader("content-type"), m = void 0, m = Xp(y.split(";").map((function (t) {
13855                                            return t.trim()
13856                                        }))), e = {
13857                                            type: m[0], params: Qp(m.slice(1).map((function (t) {
13858                                                return t.split("=")
13859                                            })))
13860                                        }, o = e.params, "multipart/byteranges" !== e.type) {
13861                                            t.next = 18;
13862                                            break
13863                                        }
13864                                        return t.t0 = iy, t.next = 13, r.getData();
13865                                    case 13:
13866                                        return t.t1 = t.sent, t.t2 = o.boundary, s = (0, t.t0)(t.t1, t.t2), this._fileSize = s[0].fileSize || null, t.abrupt("return", s);
13867                                    case 18:
13868                                        return t.next = 20, r.getData();
13869                                    case 20:
13870                                        if (a = t.sent, u = ny(r.getHeader("content-range")), c = u.start, h = u.end, f = u.total, this._fileSize = f || null, l = [{
13871                                            data: a,
13872                                            offset: c,
13873                                            length: h - c
13874                                        }], !(n.length > 1)) {
13875                                            t.next = 29;
13876                                            break
13877                                        }
13878                                        return t.next = 27, Promise.all(n.slice(1).map((function (t) {
13879                                            return p.fetchSlice(t, i)
13880                                        })));
13881                                    case 27:
13882                                        return v = t.sent, t.abrupt("return", l.concat(v));
13883                                    case 29:
13884                                        return t.abrupt("return", l);
13885                                    case 32:
13886                                        if (this.allowFullFile) {
13887                                            t.next = 34;
13888                                            break
13889                                        }
13890                                        throw new Error("Server responded with full file");
13891                                    case 34:
13892                                        return t.next = 36, r.getData();
13893                                    case 36:
13894                                        return d = t.sent, this._fileSize = d.byteLength, t.abrupt("return", [{
13895                                            data: d,
13896                                            offset: 0,
13897                                            length: d.byteLength
13898                                        }]);
13899                                    case 39:
13900                                    case"end":
13901                                        return t.stop()
13902                                }
13903                                var y, m
13904                            }), t, this)
13905                        }))), function (t, n) {
13906                            return o.apply(this, arguments)
13907                        })
13908                    }, {
13909                        key: "fetchSlice", value: (e = nw(regeneratorRuntime.mark((function t(n, i) {
13910                            var r, e, o, s, a, u, c;
13911                            return regeneratorRuntime.wrap((function (t) {
13912                                for (; ;) switch (t.prev = t.next) {
13913                                    case 0:
13914                                        return r = n.offset, e = n.length, t.next = 3, this.client.request({
13915                                            headers: $m($m({}, this.headers), {}, {Range: "bytes=".concat(r, "-").concat(r + e)}),
13916                                            signal: i
13917                                        });
13918                                    case 3:
13919                                        if ((o = t.sent).ok) {
13920                                            t.next = 8;
13921                                            break
13922                                        }
13923                                        throw new Error("Error fetching data.");
13924                                    case 8:
13925                                        if (206 !== o.status) {
13926                                            t.next = 17;
13927                                            break
13928                                        }
13929                                        return t.next = 11, o.getData();
13930                                    case 11:
13931                                        return s = t.sent, a = ny(o.getHeader("content-range")), u = a.total, this._fileSize = u || null, t.abrupt("return", {
13932                                            data: s,
13933                                            offset: r,
13934                                            length: e
13935                                        });
13936                                    case 17:
13937                                        if (this.allowFullFile) {
13938                                            t.next = 19;
13939                                            break
13940                                        }
13941                                        throw new Error("Server responded with full file");
13942                                    case 19:
13943                                        return t.next = 21, o.getData();
13944                                    case 21:
13945                                        return c = t.sent, this._fileSize = c.byteLength, t.abrupt("return", {
13946                                            data: c,
13947                                            offset: 0,
13948                                            length: c.byteLength
13949                                        });
13950                                    case 24:
13951                                    case"end":
13952                                        return t.stop()
13953                                }
13954                            }), t, this)
13955                        }))), function (t, n) {
13956                            return e.apply(this, arguments)
13957                        })
13958                    }, {
13959                        key: "fileSize", get: function () {
13960                            return this._fileSize
13961                        }
13962                    }]) && iw(n.prototype, i), r && iw(n, r), Object.defineProperty(n, "prototype", {writable: !1}), u
13963                }(sy);
13964
13965                function uw(t, n) {
13966                    var i = n.blockSize, r = n.cacheSize;
13967                    return null === i ? t : new Wy(t, i, r)
13968                }
13969
13970                function cw(t) {
13971                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = n.headers,
13972                        r = void 0 === i ? {} : i, e = n.credentials, o = n.maxRanges, s = void 0 === o ? 0 : o,
13973                        a = n.allowFullFile, u = void 0 !== a && a, c = Ym(n, Xm), h = new hm(t, e),
13974                        f = new aw(h, r, s, u);
13975                    return uw(f, c)
13976                }
13977
13978                function hw(t) {
13979                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = n.headers,
13980                        r = void 0 === i ? {} : i, e = n.maxRanges, o = void 0 === e ? 0 : e, s = n.allowFullFile,
13981                        a = void 0 !== s && s, u = Ym(n, Hm), c = new Mm(t), h = new aw(c, r, o, a);
13982                    return uw(h, u)
13983                }
13984
13985                function fw(t) {
13986                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = n.headers,
13987                        r = void 0 === i ? {} : i, e = n.maxRanges, o = void 0 === e ? 0 : e, s = n.allowFullFile,
13988                        a = void 0 !== s && s, u = Ym(n, Jm), c = new Wm(t), h = new aw(c, r, o, a);
13989                    return uw(h, u)
13990                }
13991
13992                function lw(t) {
13993                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : {}, i = n.forceXH
13993R,
13994                        r = void 0 !== i && i, e = Ym(n, Km);
13995                    return "function" != typeof fetch || r ? "undefined" != typeof XMLHttpRequest ? hw(t, e) : fw(t, e) : cw(t, e)
13996                }
13997
13998                function vw(t) {
13999                    return (vw = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
14000                        return typeof t
14001                    } : function (t) {
14002                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
14003                    })(t)
14004                }
14005
14006                function dw(t, n) {
14007                    var i = Object.keys(t);
14008                    if (Object.getOwnPropertySymbols) {
14009                        var r = Object.getOwnPropertySymbols(t);
14010                        n && (r = r.filter((function (n) {
14011                            return Object.getOwnPropertyDescriptor(t, n).enumerable
14012                        }))), i.push.apply(i, r)
14013                    }
14014                    return i
14015                }
14016
14017                function pw(t) {
14018                    for (var n = 1; n < arguments.length; n++) {
14019                        var i = null != arguments[n] ? arguments[n] : {};
14020                        n % 2 ? dw(Object(i), !0).forEach((function (n) {
14021                            yw(t, n, i[n])
14022                        })) : Object.getOwnPropertyDescriptors ? Object.defineProperties(t, Object.getOwnPropertyDescriptors(i)) : dw(Object(i)).forEach((function (n) {
14023                            Object.defineProperty(t, n, Object.getOwnPropertyDescriptor(i, n))
14024                        }))
14025                    }
14026                    return t
14027                }
14028
14029                function yw(t, n, i) {
14030                    return n in t ? Object.defineProperty(t, n, {
14031                        value: i,
14032                        enumerable: !0,
14033                        configurable: !0,
14034                        writable: !0
14035                    }) : t[n] = i, t
14036                }
14037
14038                function mw(t, n) {
14039                    return function (t) {
14040                        if (Array.isArray(t)) return t
14041                    }(t) || function (t, n) {
14042                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
14043                        if (null == i) return;
14044                        var r, e, o = [], s = !0, a = !1;
14045                        try {
14046                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
14047                        } catch (t) {
14048                            a = !0, e = t
14049                        } finally {
14050                            try {
14051                                s || null == i.return || i.return()
14052                            } finally {
14053                                if (a) throw e
14054                            }
14055                        }
14056                        return o
14057                    }(t, n) || function (t, n) {
14058                        if (!t) return;
14059                        if ("string" == typeof t) return ww(t, n);
14060                        var i = Object.prototype.toString.call(t).slice(8, -1);
14061                        "Object" === i && t.constructor && (i = t.constructor.name);
14062                        if ("Map" === i || "Set" === i) return Array.from(t);
14063                        if ("Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i)) return ww(t, n)
14064                    }(t, n) || function () {
14065                        throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
14066                    }()
14067                }
14068
14069                function ww(t, n) {
14070                    (null == n || n > t.length) && (n = t.length);
14071                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
14072                    return r
14073                }
14074
14075                function bw(t, n, i, r, e, o, s) {
14076                    try {
14077                        var a = t[o](s), u = a.value
14078                    } catch (t) {
14079                        return void i(t)
14080                    }
14081                    a.done ? n(u) : Promise.resolve(u).then(r, e)
14082                }
14083
14084                function gw(t) {
14085                    return function () {
14086                        var n = this, i = arguments;
14087                        return new Promise((function (r, e) {
14088                            var o = t.apply(n, i);
14089
14090                            function s(t) {
14091                                bw(o, r, e, s, a, "next", t)
14092                            }
14093
14094                            function a(t) {
14095                                bw(o, r, e, s, a, "throw", t)
14096                            }
14097
14098                            s(void 0)
14099                        }))
14100                    }
14101                }
14102
14103                function xw(t, n) {
14104                    if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
14105                    t.prototype = Object.create(n && n.prototype, {
14106                        constructor: {
14107                            value: t,
14108                            writable: !0,
14109                            configurable: !0
14110                        }
14111                    }), Object.defineProperty(t, "prototype", {writable: !1}), n && Ow(t, n)
14112                }
14113
14114                function jw(t) {
14115                    var n = _w();
14116                    return function () {
14117                        var i, r = Tw(t);
14118                        if (n) {
14119                            var e = Tw(this).constructor;
14120                            i = Reflect.construct(r, arguments, e)
14121                        } else i = r.apply(this, arguments);
14122                        return Sw(this, i)
14123                    }
14124                }
14125
14126                function Sw(t, n) {
14127                    if (n && ("object" === vw(n) || "function" == typeof n)) return n;
14128                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
14129                    return function (t) {
14130                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
14131                        return t
14132                    }(t)
14133                }
14134
14135                function kw(t) {
14136                    var n = "function" == typeof Map ? new Map : void 0;
14137                    return (kw = function (t) {
14138                        if (null === t || (i = t, -1 === Function.toString.call(i).indexOf("[native code]"))) return t;
14139                        var i;
14140                        if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
14141                        if (void 0 !== n) {
14142                            if (n.has(t)) return n.get(t);
14143                            n.set(t, r)
14144                        }
14145
14146                        function r() {
14147                            return Mw(t, arguments, Tw(this).constructor)
14148                        }
14149
14150                        return r.prototype = Object.create(t.prototype, {
14151                            constructor: {
14152                                value: r,
14153                                enumerable: !1,
14154                                writable: !0,
14155                                configurable: !0
14156                            }
14157                        }), Ow(r, t)
14158                    })(t)
14159                }
14160
14161                function Mw(t, n, i) {
14162                    return (Mw = _w() ? Reflect.construct : function (t, n, i) {
14163                        var r = [null];
14164                        r.push.apply(r, n);
14165                        var e = new (Function.bind.apply(t, r));
14166                        return i && Ow(e, i.prototype), e
14167                    }).apply(null, arguments)
14168                }
14169
14170                function _w() {
14171                    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
14172                    if (Reflect.construct.sham) return !1;
14173                    if ("function" == typeof Proxy) return !0;
14174                    try {
14175                        return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
14176                        }))), !0
14177                    } catch (t) {
14178                        return !1
14179                    }
14180                }
14181
14182                function Ow(t, n) {
14183                    return (Ow = Object.setPrototypeOf || function (t, n) {
14184                        return t.__proto__ = n, t
14185                    })(t, n)
14186                }
14187
14188                function Tw(t) {
14189                    return (Tw = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
14190                        return t.__proto__ || Object.getPrototypeOf(t)
14191                    })(t)
14192                }
14193
14194                function Ew(t, n) {
14195                    for (var i = 0; i < n.length; i++) {
14196                        var r = n[i];
14197                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
14198                    }
14199                }
14200
14201                function Aw(t, n, i) {
14202                    return n && Ew(t.prototype, n), i && Ew(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
14203                }
14204
14205                function Cw(t, n) {
14206                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
14207                }
14208
14209                function Rw(t) {
14210                    switch (t) {
14211                        case fp.sf.BYTE:
14212                        case fp.sf.ASCII:
14213                        case fp.sf.SBYTE:
14214                        case fp.sf.UNDEFINED:
14215                            return 1;
14216                        case fp.sf.SHORT:
14217                        case fp.sf.SSHORT:
14218                            return 2;
14219                        case fp.sf.LONG:
14220                        case fp.sf.SLONG:
14221                        case fp.sf.FLOAT:
14222                        case fp.sf.IFD:
14223                            return 4;
14224                        case fp.sf.RATIONAL:
14225                        case fp.sf.SRATIONAL:
14226                        case fp.sf.DOUBLE:
14227                        case fp.sf.LONG8:
14228                        case fp.sf.SLONG8:
14229                        case fp.sf.IFD8:
14230                            return 8;
14231                        default:
14232                            throw new RangeError("Invalid field type: ".concat(t))
14233                    }
14234                }
14235
14236                function Pw(t) {
14237                    var n = t.GeoKeyDirectory;
14238                    if (!n) return null;
14239                    for (var i = {}, r = 4; r <= 4 * n[3]; r += 4) {
14240                        var e = fp.P1[n[r]], o = n[r + 1] ? fp.L[n[r + 1]] : null, s = n[r + 2], a = n[r + 3], u = null;
14241                        if (o) {
14242                            if (null == (u = t[o])) throw new Error("Could not get value of geoKey '".concat(e, "'."));
14243                            "string" == typeof u ? u = u.substring(a, a + s - 1) : u.subarray && (u = u.subarray(a, a + s), 1 === s && (u = u[0]))
14244                        } else u = a;
14245                        i[e] = u
14246                    }
14247                    return i
14248                }
14249
14250                function Iw(t, n, i, r) {
14251                    var e = null, o = null, s = Rw(n);
14252                    switch (n) {
14253                        case fp.sf.BYTE:
14254                        case fp.sf.ASCII:
14255                        case fp.sf.UNDEFINED:
14256                            e = new Uint8Array(i), o = t.readUint8;
14257                            break;
14258                        case fp.sf.SBYTE:
14259                            e = new Int8Array(i), o = t.readInt8;
14260                            break;
14261                        case fp.sf.SHORT:
14262                            e = new Uint16Array(i), o = t.readUint16;
14263                            break;
14264                        case fp.sf.SSHORT:
14265                            e = new Int16Array(i), o = t.readInt16;
14266                            break;
14267                        case fp.sf.LONG:
14268                        case fp.sf.IFD:
14269                            e = new Uint32Array(i), o = t.readUint32;
14270                            break;
14271                        case fp.sf.SLONG:
14272                            e = new Int32Array(i), o = t.readInt32;
14273                            break;
14274                        case fp.sf.LONG8:
14275                        case fp.sf.IFD8:
14276                            e = new Array(i), o = t.readUint64;
14277                            break;
14278                        case fp.sf.SLONG8:
14279                            e = new Array(i), o = t.readInt64;
14280                            break;
14281                        case fp.sf.RATIONAL:
14282                            e = new Uint32Array(2 * i), o = t.readUint32;
14283                            break;
14284                        case fp.sf.SRATIONAL:
14285                            e = new Int32Array(2 * i), o = t.readInt32;
14286                            break;
14287                        case fp.sf.FLOAT:
14288                            e = new Float32Array(i), o = t.readFloat32;
14289                            break;
14290                        case fp.sf.DOUBLE:
14291                            e = new Float64Array(i), o = t.readFloat64;
14292                            break;
14293                        default:
14294                            throw new RangeError("Invalid field type: ".concat(n))
14295                    }
14296                    if (n !== fp.sf.RATIONAL && n !== fp.sf.SRATIONAL) for (var a = 0; a < i; ++a) e[a] = o.call(t, r + a * s); else for (var u = 0; u < i; u += 2) e[u] = o.call(t, r + u * s), e[u + 1] = o.call(t, r + (u * s + 4));
14297                    return n === fp.sf.ASCII ? new TextDecoder("utf-8").decode(e) : e
14298                }
14299
14300                var Nw = Aw((function t(n, i, r) {
14301                    Cw(this, t), this.fileDirectory = n, this.geoKeyDirectory = i, this.nextIFDByteOffset = r
14302                })), zw = function (t) {
14303                    xw(i, t);
14304                    var n = jw(i);
14305
14306                    function i(t) {
14307                        var r;
14308                        return Cw(this, i), (r = n.call(this, "No image at index ".concat(t))).index = t, r
14309                    }
14310
14311                    return Aw(i)
14312                }(kw(Error)), Fw = function () {
14313                    function t() {
14314                        Cw(this, t)
14315                    }
14316
14317                    var n;
14318                    return Aw(t, [{
14319                        key: "readRasters", value: (n = gw(regeneratorRuntime.mark((function t() {
14320                            var n, i, r, e, o, s, a, u, c, h, f, l, v, d, p, y, m, w, b, g, x, j, S, k, M, _, O, T, E,
14321                                A, C, R, P, I, N, z, F, L, G, D = arguments;
14322                            return regeneratorRuntime.wrap((function (t) {
14323                                for (; ;) switch (t.prev = t.next) {
14324                                    case 0:
14325                                        return n = D.length > 0 && void 0 !== D[0] ? D[0] : {}, i = n.window, r = n.width, e = n.height, o = n.resX, s = n.resY, a = n.bbox, t.next = 5, this.getImage();
14326                                    case 5:
14327                                        return u = t.sent, c = u, t.next = 9, this.getImageCount();
14328                                    case 9:
14329                                        if (h = t.sent, f = u.getBoundingBox(), !i || !a) {
14330                                            t.next = 13;
14331                                            break
14332                                        }
14333                                        throw new Error('Both "bbox" and "window" passed.');
14334                                    case 13:
14335                                        if (!r && !e) {
14336                                            t.next = 24;
14337                                            break
14338                                        }
14339                                        if (i && (l = u.getOrigin(), v = mw(l, 2), d = v[0], p = v[1], y = u.getResolution(), m = mw(y, 2), w = m[0], b = m[1], a = [d + i[0] * w, p + i[
143391] * b, d + i[2] * w, p + i[3] * b]), g = a || f, !r) {
14340                                            t.next = 20;
14341                                            break
14342                                        }
14343                                        if (!o) {
14344                                            t.next = 19;
14345                                            break
14346                                        }
14347                                        throw new Error("Both width and resX passed");
14348                                    case 19:
14349                                        o = (g[2] - g[0]) / r;
14350                                    case 20:
14351                                        if (!e) {
14352                                            t.next = 24;
14353                                            break
14354                                        }
14355                                        if (!s) {
14356                                            t.next = 23;
14357                                            break
14358                                        }
14359                                        throw new Error("Both width and resY passed");
14360                                    case 23:
14361                                        s = (g[3] - g[1]) / e;
14362                                    case 24:
14363                                        if (!o && !s) {
14364                                            t.next = 48;
14365                                            break
14366                                        }
14367                                        x = [], j = 0;
14368                                    case 27:
14369                                        if (!(j < h)) {
14370                                            t.next = 36;
14371                                            break
14372                                        }
14373                                        return t.next = 30, this.getImage(j);
14374                                    case 30:
14375                                        S = t.sent, k = S.fileDirectory, M = k.SubfileType, _ = k.NewSubfileType, (0 === j || 2 === M || 1 & _) && x.push(S);
14376                                    case 33:
14377                                        ++j, t.next = 27;
14378                                        break;
14379                                    case 36:
14380                                        x.sort((function (t, n) {
14381                                            return t.getWidth() - n.getWidth()
14382                                        })), O = 0;
14383                                    case 38:
14384                                        if (!(O < x.length)) {
14385                                            t.next = 48;
14386                                            break
14387                                        }
14388                                        if (T = x[O], E = (f[2] - f[0]) / T.getWidth(), A = (f[3] - f[1]) / T.getHeight(), c = T, !(o && o > E || s && s > A)) {
14389                                            t.next = 45;
14390                                            break
14391                                        }
14392                                        return t.abrupt("break", 48);
14393                                    case 45:
14394                                        ++O, t.next = 38;
14395                                        break;
14396                                    case 48:
14397                                        return C = i, a && (R = u.getOrigin(), P = mw(R, 2), I = P[0], N = P[1], z = c.getResolution(u), F = mw(z, 2), L = F[0], G = F[1], C = [Math.round((a[0] - I) / L), Math.round((a[1] - N) / G), Math.round((a[2] - I) / L), Math.round((a[3] - N) / G)], C = [Math.min(C[0], C[2]), Math.min(C[1], C[3]), Math.max(C[0], C[2]), Math.max(C[1], C[3])]), t.abrupt("return", c.readRasters(pw(pw({}, n), {}, {window: C})));
14398                                    case 51:
14399                                    case"end":
14400                                        return t.stop()
14401                                }
14402                            }), t, this)
14403                        }))), function () {
14404                            return n.apply(this, arguments)
14405                        })
14406                    }]), t
14407                }(), Lw = function (t) {
14408                    xw(c, t);
14409                    var n, i, r, e, o, s, a, u = jw(c);
14410
14411                    function c(t, n, i, r) {
14412                        var e, o = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {};
14413                        return Cw(this, c), (e = u.call(this)).source = t, e.littleEndian = n, e.bigTiff = i, e.firstIFDOffset = r, e.cache = o.cache || !1, e.ifdRequests = [], e.ghostValues = null, e
14414                    }
14415
14416                    return Aw(c, [{
14417                        key: "getSlice", value: (a = gw(regeneratorRuntime.mark((function t(n, i) {
14418                            var r;
14419                            return regeneratorRuntime.wrap((function (t) {
14420                                for (; ;) switch (t.prev = t.next) {
14421                                    case 0:
14422                                        return r = this.bigTiff ? 4048 : 1024, t.t0 = Vp, t.next = 4, this.source.fetch([{
14423                                            offset: n,
14424                                            length: void 0 !== i ? i : r
14425                                        }]);
14426                                    case 4:
14427                                        return t.t1 = t.sent[0], t.t2 = n, t.t3 = this.littleEndian, t.t4 = this.bigTiff, t.abrupt("return", new t.t0(t.t1, t.t2, t.t3, t.t4));
14428                                    case 9:
14429                                    case"end":
14430                                        return t.stop()
14431                                }
14432                            }), t, this)
14433                        }))), function (t, n) {
14434                            return a.apply(this, arguments)
14435                        })
14436                    }, {
14437                        key: "parseFileDirectoryAt", value: (s = gw(regeneratorRuntime.mark((function t(n) {
14438                            var i, r, e, o, s, a, u, c, h, f, l, v, d, p, y, m, w, b, g, x;
14439                            return regeneratorRuntime.wrap((function (t) {
14440                                for (; ;) switch (t.prev = t.next) {
14441                                    case 0:
14442                                        return i = this.bigTiff ? 20 : 12, r = this.bigTiff ? 8 : 2, t.next = 4, this.getSlice(n);
14443                                    case 4:
14444                                        if (e = t.sent, o = this.bigTiff ? e.readUint64(n) : e.readUint16(n), s = o * i + (this.bigTiff ? 16 : 6), e.covers(n, s)) {
14445                                            t.next = 11;
14446                                            break
14447                                        }
14448                                        return t.next = 10, this.getSlice(n, s);
14449                                    case 10:
14450                                        e = t.sent;
14451                                    case 11:
14452                                        a = {}, u = n + (this.bigTiff ? 8 : 2), c = 0;
14453                                    case 14:
14454                                        if (!(c < o)) {
14455                                            t.next = 41;
14456                                            break
14457                                        }
14458                                        if (h = e.readUint16(u), f = e.readUint16(u + 2), l = this.bigTiff ? e.readUint64(u + 4) : e.readUint32(u + 4), v = void 0, d = void 0, p = Rw(f), y = u + (this.bigTiff ? 12 : 8), !(p * l <= (this.bigTiff ? 8 : 4))) {
14459                                            t.next = 26;
14460                                            break
14461                                        }
14462                                        v = Iw(e, f, l, y), t.next = 36;
14463                                        break;
14464                                    case 26:
14465                                        if (m = e.readOffset(y), w = Rw(f) * l, !e.covers(m, w)) {
14466                                            t.next = 32;
14467                                            break
14468                                        }
14469                                        v = Iw(e, f, l, m), t.next = 36;
14470                                        break;
14471                                    case 32:
14472                                        return t.next = 34, this.getSlice(m, w);
14473                                    case 34:
14474                                        b = t.sent, v = Iw(b, f, l, m);
14475                                    case 36:
14476                                        d = 1 === l && -1 === fp.It.indexOf(h) && f !== fp.sf.RATIONAL && f !== fp.sf.SRATIONAL ? v[0] : v, a[fp.L[h]] = d;
14477                                    case 38:
14478                                        u += i, ++c, t.next = 14;
14479                                        break;
14480                                    case 41:
14481                                        return g = Pw(a), x = e.readOffset(n + r + i * o), t.abrupt("return", new Nw(a, g, x));
14482                                    case 44:
14483                                    case"end":
14484                                        return t.stop()
14485                                }
14486                            }), t, this)
14487                        }))), function (t) {
14488                            return s.apply(this, arguments)
14489                        })
14490                    }, {
14491                        key: "requestIFD", value: (o = gw(regeneratorRuntime.mark((function t(n) {
14492                            var i = this;
14493                            return regeneratorRuntime.wrap((function (t) {
14494                                for (; ;) switch (t.prev = t.next) {
14495                                    case 0:
14496                                        if (!this.ifdRequests[n]) {
14497                                            t.next = 4;
14498                                            break
14499                                        }
14500                                        return t.abrupt("return", this.ifdRequests[n]);
14501                                    case 4:
14502                                        if (0 !== n) {
14503                                            t.next = 9;
14504                                            break
14505                                        }
14506                                        return this.ifdRequests[n] = this.parseFileDirectoryAt(this.firstIFDOffset), t.abrupt("return", this.ifdRequests[n]);
14507                                    case 9:
14508                                        if (this.ifdRequests[n - 1]) {
14509                                            t.next = 19;
14510                                            break
14511                                        }
14512                                        t.prev = 10, this.ifdRequests[n - 1] = this.requestIFD(n - 1), t.next = 19;
14513                                        break;
14514                                    case 14:
14515                                        if (t.prev = 14, t.t0 = t.catch(10), !(t.t0 instanceof zw)) {
14516                                            t.next = 18;
14517                                            break
14518                                        }
14519                                        throw new zw(n);
14520                                    case 18:
14521                                        throw t.t0;
14522                                    case 19:
14523                                        return this.ifdRequests[n] = gw(regeneratorRuntime.mark((function t() {
14524                                            var r;
14525                                            return regeneratorRuntime.wrap((function (t) {
14526                                                for (; ;) switch (t.prev = t.next) {
14527                                                    case 0:
14528                                                        return t.next = 2, i.ifdRequests[n - 1];
14529                                                    case 2:
14530                                                        if (0 !== (r = t.sent).nextIFDByteOffset) {
14531                                                            t.next = 5;
14532                                                            break
14533                                                        }
14534                                                        throw new zw(n);
14535                                                    case 5:
14536                                                        return t.abrupt("return", i.parseFileDirectoryAt(r.nextIFDByteOffset));
14537                                                    case 6:
14538                                                    case"end":
14539                                                        return t.stop()
14540                                                }
14541                                            }), t)
14542                                        })))(), t.abrupt("return", this.ifdRequests[n]);
14543                                    case 21:
14544                                    case"end":
14545                                        return t.stop()
14546                                }
14547                            }), t, this, [[10, 14]])
14548                        }))), function (t) {
14549                            return o.apply(this, arguments)
14550                        })
14551                    }, {
14552                        key: "getImage", value: (e = gw(regeneratorRuntime.mark((function t() {
14553                            var n, i, r = arguments;
14554                            return regeneratorRuntime.wrap((function (t) {
14555                                for (; ;) switch (t.prev = t.next) {
14556                                    case 0:
14557                                        return n = r.length > 0 && void 0 !== r[0] ? r[0] : 0, t.next = 3, this.requestIFD(n);
14558                                    case 3:
14559                                        return i = t.sent, t.abrupt("return", new Up(i.fileDirectory, i.geoKeyDirectory, this.dataView, this.littleEndian, this.cache, this.source));
14560                                    case 5:
14561                                    case"end":
14562                                        return t.stop()
14563                                }
14564                            }), t, this)
14565                        }))), function () {
14566                            return e.apply(this, arguments)
14567                        })
14568                    }, {
14569                        key: "getImageCount", value: (r = gw(regeneratorRuntime.mark((function t() {
14570                            var n, i;
14571                            return regeneratorRuntime.wrap((function (t) {
14572                                for (; ;) switch (t.prev = t.next) {
14573                                    case 0:
14574                                        n = 0, i = !0;
14575                                    case 2:
14576                                        if (!i) {
14577                                            t.next = 18;
14578                                            break
14579                                        }
14580                                        return t.prev = 3, t.next = 6, this.requestIFD(n);
14581                                    case 6:
14582                                        ++n, t.next = 16;
14583                                        break;
14584                                    case 9:
14585                                        if (t.prev = 9, t.t0 = t.catch(3), !(t.t0 instanceof zw)) {
14586                                            t.next = 15;
14587                                            break
14588                                        }
14589                                        i = !1, t.next = 16;
14590                                        break;
14591                                    case 15:
14592                                        throw t.t0;
14593                                    case 16:
14594                                        t.next = 2;
14595                                        break;
14596                                    case 18:
14597                                        return t.abrupt("return", n);
14598                                    case 19:
14599                                    case"end":
14600                                        return t.stop()
14601                                }
14602                            }), t, this, [[3, 9]])
14603                        }))), function () {
14604                            return r.apply(this, arguments)
14605                        })
14606                    }, {
14607                        key: "getGhostValues", value: (i = gw(regeneratorRuntime.mark((function t() {
14608                            var n, i, r, e, o, s, a, u, c = this;
14609                            return regeneratorRuntime.wrap((function (t) {
14610                                for (; ;) switch (t.prev = t.next) {
14611                                    case 0:
14612                                        if (n = this.bigTiff ? 16 : 8, !this.ghostValues) {
14613                                            t.next = 3;
14614                                            break
14615                                        }
14616                                        return t.abrupt("return", this.ghostValues);
14617                                    case 3:
14618                                        return r = (i = "GDAL_STRUCTURAL_METADATA_SIZE=").length + 100, t.next = 7, this.get
14618Slice(n, r);
14619                                    case 7:
14620                                        if (e = t.sent, i !== Iw(e, fp.sf.ASCII, i.length, n)) {
14621                                            t.next = 19;
14622                                            break
14623                                        }
14624                                        if (o = Iw(e, fp.sf.ASCII, r, n), s = o.split("\n")[0], !((a = Number(s.split("=")[1].split(" ")[0]) + s.length) > r)) {
14625                                            t.next = 16;
14626                                            break
14627                                        }
14628                                        return t.next = 15, this.getSlice(n, a);
14629                                    case 15:
14630                                        e = t.sent;
14631                                    case 16:
14632                                        u = Iw(e, fp.sf.ASCII, a, n), this.ghostValues = {}, u.split("\n").filter((function (t) {
14633                                            return t.length > 0
14634                                        })).map((function (t) {
14635                                            return t.split("=")
14636                                        })).forEach((function (t) {
14637                                            var n = mw(t, 2), i = n[0], r = n[1];
14638                                            c.ghostValues[i] = r
14639                                        }));
14640                                    case 19:
14641                                        return t.abrupt("return", this.ghostValues);
14642                                    case 20:
14643                                    case"end":
14644                                        return t.stop()
14645                                }
14646                            }), t, this)
14647                        }))), function () {
14648                            return i.apply(this, arguments)
14649                        })
14650                    }, {
14651                        key: "close", value: function () {
14652                            return "function" == typeof this.source.close && this.source.close()
14653                        }
14654                    }], [{
14655                        key: "fromSource", value: (n = gw(regeneratorRuntime.mark((function t(n, i, r) {
14656                            var e, o, s, a, u, h, f;
14657                            return regeneratorRuntime.wrap((function (t) {
14658                                for (; ;) switch (t.prev = t.next) {
14659                                    case 0:
14660                                        return t.next = 2, n.fetch([{offset: 0, length: 1024}], r);
14661                                    case 2:
14662                                        if (e = t.sent[0], o = new Bp(e), 18761 !== (s = o.getUint16(0, 0))) {
14663                                            t.next = 9;
14664                                            break
14665                                        }
14666                                        a = !0, t.next = 14;
14667                                        break;
14668                                    case 9:
14669                                        if (19789 !== s) {
14670                                            t.next = 13;
14671                                            break
14672                                        }
14673                                        a = !1, t.next = 14;
14674                                        break;
14675                                    case 13:
14676                                        throw new TypeError("Invalid byte order value.");
14677                                    case 14:
14678                                        if (42 !== (u = o.getUint16(2, a))) {
14679                                            t.next = 19;
14680                                            break
14681                                        }
14682                                        h = !1, t.next = 27;
14683                                        break;
14684                                    case 19:
14685                                        if (43 !== u) {
14686                                            t.next = 26;
14687                                            break
14688                                        }
14689                                        if (h = !0, 8 === o.getUint16(4, a)) {
14690                                            t.next = 24;
14691                                            break
14692                                        }
14693                                        throw new Error("Unsupported offset byte-size.");
14694                                    case 24:
14695                                        t.next = 27;
14696                                        break;
14697                                    case 26:
14698                                        throw new TypeError("Invalid magic number.");
14699                                    case 27:
14700                                        return f = h ? o.getUint64(8, a) : o.getUint32(4, a), t.abrupt("return", new c(n, a, h, f, i));
14701                                    case 29:
14702                                    case"end":
14703                                        return t.stop()
14704                                }
14705                            }), t)
14706                        }))), function (t, i, r) {
14707                            return n.apply(this, arguments)
14708                        })
14709                    }]), c
14710                }(Fw), Gw = function (t) {
14711                    xw(o, t);
14712                    var n, i, r, e = jw(o);
14713
14714                    function o(t, n) {
14715                        var i;
14716                        return Cw(this, o), (i = e.call(this)).mainFile = t, i.overviewFiles = n, i.imageFiles = [t].concat(n), i.fileDirectoriesPerFile = null, i.fileDirectoriesPerFileParsing = null, i.imageCount = null, i
14717                    }
14718
14719                    return Aw(o, [{
14720                        key: "parseFileDirectoriesPerFile",
14721                        value: (r = gw(regeneratorRuntime.mark((function t() {
14722                            var n;
14723                            return regeneratorRuntime.wrap((function (t) {
14724                                for (; ;) switch (t.prev = t.next) {
14725                                    case 0:
14726                                        return n = [this.mainFile.parseFileDirectoryAt(this.mainFile.firstIFDOffset)].concat(this.overviewFiles.map((function (t) {
14727                                            return t.parseFileDirectoryAt(t.firstIFDOffset)
14728                                        }))), t.next = 3, Promise.all(n);
14729                                    case 3:
14730                                        return this.fileDirectoriesPerFile = t.sent, t.abrupt("return", this.fileDirectoriesPerFile);
14731                                    case 5:
14732                                    case"end":
14733                                        return t.stop()
14734                                }
14735                            }), t, this)
14736                        }))), function () {
14737                            return r.apply(this, arguments)
14738                        })
14739                    }, {
14740                        key: "getImage", value: (i = gw(regeneratorRuntime.mark((function t() {
14741                            var n, i, r, e, o, s, a, u = arguments;
14742                            return regeneratorRuntime.wrap((function (t) {
14743                                for (; ;) switch (t.prev = t.next) {
14744                                    case 0:
14745                                        return n = u.length > 0 && void 0 !== u[0] ? u[0] : 0, t.next = 3, this.getImageCount();
14746                                    case 3:
14747                                        return t.next = 5, this.parseFileDirectoriesPerFile();
14748                                    case 5:
14749                                        i = 0, r = 0, e = 0;
14750                                    case 8:
14751                                        if (!(e < this.imageFiles.length)) {
14752                                            t.next = 26;
14753                                            break
14754                                        }
14755                                        o = this.imageFiles[e], s = 0;
14756                                    case 11:
14757                                        if (!(s < this.imageCounts[e])) {
14758                                            t.next = 22;
14759                                            break
14760                                        }
14761                                        if (n !== i) {
14762                                            t.next = 17;
14763                                            break
14764                                        }
14765                                        return t.next = 15, o.requestIFD(r);
14766                                    case 15:
14767                                        return a = t.sent, t.abrupt("return", new Up(a.fileDirectory, a.geoKeyDirectory, o.dataView, o.littleEndian, o.cache, o.source));
14768                                    case 17:
14769                                        i++, r++;
14770                                    case 19:
14771                                        s++, t.next = 11;
14772                                        break;
14773                                    case 22:
14774                                        r = 0;
14775                                    case 23:
14776                                        e++, t.next = 8;
14777                                        break;
14778                                    case 26:
14779                                        throw new RangeError("Invalid image index");
14780                                    case 27:
14781                                    case"end":
14782                                        return t.stop()
14783                                }
14784                            }), t, this)
14785                        }))), function () {
14786                            return i.apply(this, arguments)
14787                        })
14788                    }, {
14789                        key: "getImageCount", value: (n = gw(regeneratorRuntime.mark((function t() {
14790                            var n;
14791                            return regeneratorRuntime.wrap((function (t) {
14792                                for (; ;) switch (t.prev = t.next) {
14793                                    case 0:
14794                                        if (null === this.imageCount) {
14795                                            t.next = 2;
14796                                            break
14797                                        }
14798                                        return t.abrupt("return", this.imageCount);
14799                                    case 2:
14800                                        return n = [this.mainFile.getImageCount()].concat(this.overviewFiles.map((function (t) {
14801                                            return t.getImageCount()
14802                                        }))), t.next = 5, Promise.all(n);
14803                                    case 5:
14804                                        return this.imageCounts = t.sent, this.imageCount = this.imageCounts.reduce((function (t, n) {
14805                                            return t + n
14806                                        }), 0), t.abrupt("return", this.imageCount);
14807                                    case 8:
14808                                    case"end":
14809                                        return t.stop()
14810                                }
14811                            }), t, this)
14812                        }))), function () {
14813                            return n.apply(this, arguments)
14814                        })
14815                    }]), o
14816                }(Fw);
14817
14818                function Dw() {
14819                    return (Dw = gw(regeneratorRuntime.mark((function t(n) {
14820                        var i, r, e = arguments;
14821                        return regeneratorRuntime.wrap((function (t) {
14822                            for (; ;) switch (t.prev = t.next) {
14823                                case 0:
14824                                    return i = e.length > 1 && void 0 !== e[1] ? e[1] : {}, r = e.length > 2 ? e[2] : void 0, t.abrupt("return", Lw.fromSource(lw(n, i), r));
14825                                case 3:
14826                                case"end":
14827                                    return t.stop()
14828                            }
14829                        }), t)
14830                    })))).apply(this, arguments)
14831                }
14832
14833                function Uw() {
14834                    return (Uw = gw(regeneratorRuntime.mark((function t(n) {
14835                        var i, r, e, o, s, a = arguments;
14836                        return regeneratorRuntime.wrap((function (t) {
14837                            for (; ;) switch (t.prev = t.next) {
14838                                case 0:
14839                                    return i = a.length > 1 && void 0 !== a[1] ? a[1] : [], r = a.length > 2 && void 0 !== a[2] ? a[2] : {}, e = a.length >
14839 3 ? a[3] : void 0, t.next = 5, Lw.fromSource(lw(n, r), e);
14840                                case 5:
14841                                    return o = t.sent, t.next = 8, Promise.all(i.map((function (t) {
14842                                        return Lw.fromSource(lw(t, r))
14843                                    })));
14844                                case 8:
14845                                    return s = t.sent, t.abrupt("return", new Gw(o, s));
14846                                case 10:
14847                                case"end":
14848                                    return t.stop()
14849                            }
14850                        }), t)
14851                    })))).apply(this, arguments)
14852                }
14853
14854                function qw(t, n, i, r, e, o, s) {
14855                    try {
14856                        var a = t[o](s), u = a.value
14857                    } catch (t) {
14858                        return void i(t)
14859                    }
14860                    a.done ? n(u) : Promise.resolve(u).then(r, e)
14861                }
14862
14863                function Bw(t, n) {
14864                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
14865                }
14866
14867                function Ww(t, n) {
14868                    for (var i = 0; i < n.length; i++) {
14869                        var r = n[i];
14870                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
14871                    }
14872                }
14873
14874                var Vw, Xw = "undefined" != typeof navigator && navigator.hardwareConcurrency || 2, Hw = function () {
14875                    function t() {
14876                        var n = this, r = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : Xw,
14877                            e = arguments.length > 1 ? arguments[1] : void 0;
14878                        Bw(this, t), this.workers = null, this._awaitingDecoder = null, this.size = r, this.messageId = 0, r && (this._awaitingDecoder = e ? Promise.resolve(e) : new Promise((function (t) {
14879                            i.e(231).then(i.bind(i, 231)).then((function (n) {
14880                                t(n.create)
14881                            }))
14882                        })), this._awaitingDecoder.then((function (t) {
14883                            n._awaitingDecoder = null, n.workers = [];
14884                            for (var i = 0; i < r; i++) n.workers.push({worker: t(), idle: !0})
14885                        })))
14886                    }
14887
14888                    var n, r, e, o, s;
14889                    return n = t, (r = [{
14890                        key: "decode", value: (o = regeneratorRuntime.mark((function t(n, i) {
14891                            var r = this;
14892                            return regeneratorRuntime.wrap((function (t) {
14893                                for (; ;) switch (t.prev = t.next) {
14894                                    case 0:
14895                                        if (!this._awaitingDecoder) {
14896                                            t.next = 3;
14897                                            break
14898                                        }
14899                                        return t.next = 3, this._awaitingDecoder;
14900                                    case 3:
14901                                        return t.abrupt("return", 0 === this.size ? jp(n).then((function (t) {
14902                                            return t.decode(n, i)
14903                                        })) : new Promise((function (t) {
14904                                            var e = r.workers.find((function (t) {
14905                                                return t.idle
14906                                            })) || r.workers[Math.floor(Math.random() * r.size)];
14907                                            e.idle = !1;
14908                                            var o = r.messageId++;
14909                                            e.worker.addEventListener("message", (function n(i) {
14910                                                i.data.id === o && (e.idle = !0, t(i.data.decoded), e.worker.removeEventListener("message", n))
14911                                            })), e.worker.postMessage({fileDirectory: n, buffer: i, id: o}, [i])
14912                                        })));
14913                                    case 4:
14914                                    case"end":
14915                                        return t.stop()
14916                                }
14917                            }), t, this)
14918                        })), s = function () {
14919                            var t = this, n = arguments;
14920                            return new Promise((function (i, r) {
14921                                var e = o.apply(t, n);
14922
14923                                function s(t) {
14924                                    qw(e, i, r, s, a, "next", t)
14925                                }
14926
14927                                function a(t) {
14928                                    qw(e, i, r, s, a, "throw", t)
14929                                }
14930
14931                                s(void 0)
14932                            }))
14933                        }, function (t, n) {
14934                            return s.apply(this, arguments)
14935                        })
14936                    }, {
14937                        key: "destroy", value: function () {
14938                            this.workers && (this.workers.forEach((function (t) {
14939                                t.worker.terminate()
14940                            })), this.workers = null)
14941                        }
14942                    }]) && Ww(n.prototype, r), e && Ww(n, e), Object.defineProperty(n, "prototype", {writable: !1}), t
14943                }(), Jw = function () {
14944                    var t = function (n, i) {
14945                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
14946                            t.__proto__ = n
14947                        } || function (t, n) {
14948                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
14949                        })(n, i)
14950                    };
14951                    return function (n, i) {
14952                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
14953
14954                        function r() {
14955                            this.constructor = n
14956                        }
14957
14958                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
14959                    }
14960                }(), Kw = "STATISTICS_MAXIMUM", Yw = "STATISTICS_MINIMUM";
14961
14962                function Zw(t) {
14963                    try {
14964                        return t.getBoundingBox()
14965                    } catch (i) {
14966                        var n = t.fileDirectory;
14967                        return [0, 0, n.ImageWidth, n.ImageLength]
14968                    }
14969                }
14970
14971                function $w(t) {
14972                    try {
14973                        return t.getOrigin().slice(0, 2)
14974                    } catch (n) {
14975                        return [0, t.fileDirectory.ImageLength]
14976                    }
14977                }
14978
14979                function Qw(t, n) {
14980                    try {
14981                        return t.getResolution(n)[0]
14982                    } catch (i) {
14983                        return n.fileDirectory.ImageWidth / t.fileDirectory.ImageWidth
14984                    }
14985                }
14986
14987                function tb(t) {
14988                    var n = t.geoKeys;
14989                    if (!n) return null;
14990                    if (n.ProjectedCSTypeGeoKey) {
14991                        if (!(r = br(i = "EPSG:" + n.ProjectedCSTypeGeoKey))) (e = zt(n.ProjLinearUnitsGeoKey)) && (r = new ai({
14992                            code: i,
14993                            units: e
14994                        }));
14995                        return r
14996                    }
14997                    if (n.GeographicTypeGeoKey) {
14998                        var i, r, e;
14999                        if (!(r = br(i = "EPSG:" + n.GeographicTypeGeoKey))) (e = zt(n.GeogAngularUnitsGeoKey)) && (r = new ai({
15000                            code: i,
15001                            units: e
15002                        }));
15003                        return r
15004                    }
15005                    return null
15006                }
15007
15008                function nb(t) {
15009                    return t.getImageCount().then((function (n) {
15010                        for (var i = new Array(n), r = 0; r < n; ++r) i[r] = t.getImage(r);
15011                        return Promise.all(i)
15012                    }))
15013                }
15014
15015                function ib(t, n) {
15016                    return (t.overviews ? function (t) {
15017                        return Uw.apply(this, arguments)
15018                    }(t.url, t.overviews, n) : function (t) {
15019                        return Dw.apply(this, arguments)
15020                    }(t.url, n)).then(nb)
15021                }
15022
15023                function rb(t, n, i, r, e) {
15024                    if (Array.isArray(t)) {
15025                        var o = t.length;
15026                        if (!Array.isArray(n) || o != n.length) {
15027                            var s = new Error(r);
15028                            throw e(s), s
15029                        }
15030                        for (var a = 0; a < o; ++a) rb(t[a], n[a], i, r, e)
15031                    } else if (n = n, Math.abs(t - n) >
15031 i * t) throw new Error(r)
15032                }
15033
15034                function eb(t) {
15035                    return t instanceof Int8Array ? -128 : t instanceof Int16Array ? -32768 : t instanceof Int32Array ? -2147483648 : t instanceof Float32Array ? 12e-39 : 0
15036                }
15037
15038                function ob(t) {
15039                    return t instanceof Int8Array ? 127 : t instanceof Uint8Array || t instanceof Uint8ClampedArray ? 255 : t instanceof Int16Array ? 32767 : t instanceof Uint16Array ? 65535 : t instanceof Int32Array ? 2147483647 : t instanceof Uint32Array ? 4294967295 : t instanceof Float32Array ? 34e37 : 255
15040                }
15041
15042                var sb = function (t) {
15043                    function n(n) {
15044                        var i = t.call(this, {
15045                            state: ds,
15046                            tileGrid: null,
15047                            projection: null,
15048                            opaque: n.opaque,
15049                            transition: n.transition,
15050                            interpolate: !1 !== n.interpolate,
15051                            wrapX: n.wrapX
15052                        }) || this;
15053                        i.$u = n.sources;
15054                        var r = i.$u.length;
15055                        i.Qu = n.sourceOptions, i.tc = new Array(r), i.ic = new Array(r), i.rc, i.ec, i.oc, i.sc = !1 !== n.normalize, i.ac = !1, i.W = null, i.uc = n.convertToRGB ? "readRGB" : "readRasters", i.setKey(i.$u.map((function (t) {
15056                            return t.url
15057                        })).join(","));
15058                        for (var e = i, o = new Array(r), s = 0; s < r; ++s) o[s] = ib(i.$u[s], i.Qu);
15059                        return Promise.all(o).then((function (t) {
15060                            e.cc(t)
15061                        })).catch((function (t) {
15062                            console.error(t), e.W = t, e.setState(ys)
15063                        })), i
15064                    }
15065
15066                    return Jw(n, t), n.prototype.getError = function () {
15067                        return this.W
15068                    }, n.prototype.cc = function (t) {
15069                        for (var n, i, r, e, o = new Array(t.length), s = new Array(t.length), a = new Array(t.length), u = 0, c = t.length, h 
15069= function (c) {
15070                            var h = t[c], l = h.length, v = void 0, d = void 0, p = new Array(l), y = new Array(l);
15071                            s[c] = new Array(l), a[c] = new Array(l);
15072                            for (var m = 0; m < l; ++m) {
15073                                var w = h[m], b = w.getGDALNoData();
15074                                a[c][m] = w.getGDALMetadata(0), s[c][m] = null === b ? NaN : b;
15075                                var g = f.$u[c].bands;
15076                                o[c] = g ? g.length : w.getSamplesPerPixel();
15077                                var x = l - (m + 1);
15078                                v || (v = Zw(w)), d || (d = $w(w)), y[x] = Qw(w, h[0]), p[x] = [w.getTileWidth(), w.getTileHeight()]
15079                            }
15080                            if (n ? Yn(n, v, n) : n = v, i) {
15081                                var j = "Origin mismatch for source ".concat(c, ", got [").concat(d, "] but expected [").concat(i, "]");
15082                                rb(i, d, 0, j, f.viewRejector)
15083                            } else i = d;
15084                            if (e) {
15085                                e.length - u > y.length && (u = e.length - y.length);
15086                                var S = e[e.length - 1] / y[y.length - 1];
15087                                f.ic[c] = S;
15088                                var k = y.map((function (t) {
15089                                    return t * S
15090                                }));
15091                                j = "Resolution mismatch for source ".concat(c, ", got [").concat(k, "] but expected [").concat(e, "]");
15092                                rb(e.slice(u, e.length), k, .02, j, f.viewRejector)
15093                            } else e = y, f.ic[c] = 1;
15094                            r ? rb(r.slice(u, r.length), p, 0, "Tile size mismatch for source ".concat(c), f.viewRejector) : r = p, f.tc[c] = h.reverse()
15095                        }, f = this, l = 0; l < c; ++l) h(l);
15096                        for (var v = 0, d = this.tc.length; v < d; ++v) for (var p = this.tc[v]; p.length < e.length;) p.unshift(void 0);
15097                        if (!this.getProjection()) {
15098                            var y = t[0];
15099                            for (v = y.length - 1; v >= 0; --v) {
15100                                var m = tb(y[v]);
15101                                if (m) {
15102                                    this.projection = m;
15103                                    break
15104                                }
15105                            }
15106                        }
15107                        this.rc = o, this.ec = s, this.oc = a;
15108                        t:for (l = 0; l < c; ++l) {
15109                            if (void 0 !== this.$u[l].nodata) {
15110                                this.ac = !0;
15111                                break
15112                            }
15113                            var w = s[l], b = this.$u[l].bands;
15114                            if (b) {
15115                                for (v = 0; v < b.length; ++v) if (!isNaN(w[b[v] - 1])) {
15116                                    this.ac = !0;
15117                                    break t
15118                                }
15119                            } else for (var g = 0; g < w.length; ++g) if (!isNaN(w[g])) {
15120                                this.ac = !0;
15121                                break t
15122                            }
15123                        }
15124                        var x = this.ac ? 1 : 0;
15125                        this.bandCount = o.reduce((function (t, n) {
15126                            return t += n
15127                        }), 0) + x;
15128                        var j = new Vh({extent: n, minZoom: u, origin: i, resolutions: e, tileSizes: r});
15129                        this.tileGrid = j, this.setLoader(this.hc.bind(this)), this.setState(ps), this.viewResolver({
15130                            projection: this.projection,
15131                            resolutions: e,
15132                            center: Nr(Xn(n), this.projection),
15133                            extent: Fr(n, this.projection),
15134                            zoom: 0
15135                        })
15136                    }, n.prototype.hc = function (t, n, i) {
15137                        for (var r = ou(this.tileGrid.getTileSize(t)), e = this.tc.length, o = new Array(e), s = this.ac, a = this.bandCount, u = this.rc, c = this.ec, h = this.$u, f = function (e) {
15138                            var s = h[e], a = l.ic[e],
15139                                u = [Math.round(n * (r[0] * a)), Math.round(i * (r[1] * a)), Math.round((n + 1) * (r[0] * a)), Math.round((i + 1) * (r[1] * a))],
15140                                f = l.tc[e][t], v = void 0;
15141                            s.bands && (v = s.bands.map((function (t) {
15142                                return t - 1
15143                            })));
15144                            var d = void 0;
15145                            d = isNaN(s.nodata) ? v ? v.map((function (t) {
15146                                return c[e][t]
15147                            })) : c[e] : s.nodata, o[e] = f[l.uc]({
15148                                window: u,
15149                                width: r[0],
15150                                height: r[1],
15151                                samples: v,
15152                                fillValue: d,
vendor: 25,575 bytes, lines 15153-15535
15153                                pool: (Vw || (Vw = new Hw), Vw),
15154                                interleave: !1
15155                            })
15156                        }, l = this, v = 0; v < e; ++v) f(v);
15157                        var d = r[0] * r[1], p = d * a, y = this.sc, m = this.oc;
15158                        return Promise.all(o).then((function (t) {
15159                            var n;
15160                            n = y ? new Uint8Array(p) : new Float32Array(p);
15161                            for (var i = 0, r = 0; r < d; ++r) {
15162                                for (var o = s, a = 0; a < e; ++a) {
15163                                    var f = h[a], l = f.min, v = f.max, w = void 0, b = void 0;
15164                                    if (y) {
15165                                        var g = m[a][0];
15166                                        void 0 === l && (l = g && Yw in g ? parseFloat(g.STATISTICS_MINIMUM) : eb(t[a][0])), void 0 === v && (v = g && Kw in g ? parseFloat(g.STATISTICS_MAXIMUM) : ob(t[a][0])), b = -l * (w = 255 / (v - l))
15167                                    }
15168                                    for (var x = 0; x < u[a]; ++x) {
15169                                        var j = t[a][x][r], S = void 0;
15170                                        if (S = y ? ui(w * j + b, 0, 255) : j, s) {
15171                                            var k = f.nodata;
15172                                            if (void 0 === k) {
15173                                                var M = void 0;
15174                                                M = f.bands ? f.bands[x] - 1 : x, k = c[a][M]
15175                                            }
15176                                            j !== k && (o = !1, n[i] = S)
15177                                        } else n[i] = S;
15178                                        i++
15179                                    }
15180                                }
15181                                s && (o || (n[i] = 255), i++)
15182                            }
15183                            return n
15184                        }))
15185                    }, n
15186                }(Ld);
15187                sb.prototype.getView;
15188                var ab = sb, ub = function () {
15189                    var t = function (n, i) {
15190                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15191                            t.__proto__ = n
15192                        } || function (t, n) {
15193                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15194                        })(n, i)
15195                    };
15196                    return function (n, i) {
15197                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15198
15199                        function r() {
15200                            this.constructor = n
15201                        }
15202
15203                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15204                    }
15205                }(), cb = "default", hb = "truncated", fb = function (t) {
15206                    function n(n, i, r, e, o, s, a) {
15207                        var u = t.call(this, i, r, e, o, s, a) || this;
15208                        return u.fc = null, u._o = n, u
15209                    }
15210
15211                    return ub(n, t), n.prototype.getImage = function () {
15212                        if (this.fc) return this.fc;
15213                        var n = t.prototype.getImage.call(this);
15214                        if (this.state == dt) {
15215                            var i = this._o;
15216                            if (n.width == i[0] && n.height == i[1]) return this.fc = n, n;
15217                            var r = _o(i[0], i[1]);
15218                            return r.drawImage(n, 0, 0), this.fc = r.canvas, r.canvas
15219                        }
15220                        return n
15221                    }, n
15222                }(Io), lb = function (t) {
15223                    function n(n) {
15224                        var i = this, r = n, e = void 0 === r.imageSmoothing || r.imageSmoothing;
15225                        void 0 !== r.interpolate && (e = r.interpolate);
15226                        var o = r.size, s = void 0 !== r.tierSizeCalculation ? r.tierSizeCalculation : cb,
15227                            a = r.tilePixelRatio || 1, u = o[0], c = o[1], h = [], f = r.tileSize || za, l = f * a;
15228                        switch (s) {
15229                            case cb:
15230                                for (; u > l || c > l;) h.push([Math.ceil(u / l), Math.ceil(c / l)]), l += l;
15231                                break;
15232                            case hb:
15233                                for (var v = u, d = c; v > l || d > l;) h.push([Math.ceil(v / l), Math.ceil(d / l)]), v >>= 1, d >>= 1;
15234                                break;
15235                            default:
15236                                Mt(!1, 53)
15237                        }
15238                        h.push([1, 1]), h.reverse();
15239                        for (var p = [a], y = [0], m = 1, w = h.length; m < w; m++) p.push(a << m), y.push(h[m - 1][0] * h[m - 1][1] + y[m - 1]);
15240                        p.reverse();
15241                        var b = new Vh({tileSize: f, extent: r.extent || [0, -c, u, 0], resolutions: p}), g = r.url;
15242                        g && -1 == g.indexOf("{TileGroup}") && -1 == g.indexOf("{tileIndex}") && (g += "{TileGroup}/{z}-{x}-{y}.jpg");
15243                        var x = ef(g), j = f * a;
15244                        var S = nf(x.map((function (t) {
15245                            return function (n, i, r) {
15246                                if (n) {
15247                                    var e = n[0], o = n[1], s = n[2], a = o + s * h[e][0], u = {
15248                                        z: e,
15249                                        x: o,
15250                                        y: s,
15251                                        tileIndex: a,
15252                                        TileGroup: "TileGroup" + ((a + y[e]) / j | 0)
15253                                    };
15254                                    return t.replace(/\{(\w+?)\}/g, (function (t, n) {
15255                                        return u[n]
15256                                    }))
15257                                }
15258                            }
15259                        }))), k = fb.bind(null, ou(f * a));
15260                        (i = t.call(this, {
15261                            attributions: r.attributions,
15262                            cacheSize: r.cacheSize,
15263                            crossOrigin: r.crossOrigin,
15264                            interpolate: e,
15265                            projection: r.projection,
15266                            tilePixelRatio: a,
15267                            reprojectionErrorThreshold: r.reprojectionErrorThreshold,
15268                            tileClass: k,
15269                            tileGrid: b,
15270                            tileUrlFunction: S,
15271                            transition: r.transition
15272                        }) || this).zDirection = r.zDirection;
15273                        var M = S(b.getTileCoordForCoordAndResolution(Xn(b.getExtent()), p[p.length - 1]), 1, null),
15274                            _ = new Image;
15275                        return _.addEventListener("error", function () {
15276                            j = f, this.changed()
15277                        }.bind(i)), _.src = M, i
15278                    }
15279
15280                    return ub(n, t), n
15281                }(md), vb = function (t, n, i) {
15282                    if (i || 2 === arguments.length) for (var r, e = 0, o = n.length; e < o; e++) !r && e in n || (r || (r = Array.prototype.slice.call(n, 0, e)), r[e] = n[e]);
15283                    return t.concat(r || Array.prototype.slice.call(n))
15284                }, db = "version1", pb = "version2", yb = "version3", mb = {};
15285                mb[db] = {
15286                    level0: {supports: [], formats: [], qualities: ["native"]},
15287                    level1: {
15288                        supports: ["regionByPx", "sizeByW", "sizeByH", "sizeByPct"],
15289                        formats: ["jpg"],
15290                        qualities: ["native"]
15291                    },
15292                    level2: {
15293                        supports: ["regionByPx", "regionByPct", "sizeByW", "sizeByH", "sizeByPct", "sizeByConfinedWh", "sizeByWh"],
15294                        formats: ["jpg", "png"],
15295                        qualities: ["native", "color", "grey", "bitonal"]
15296                    }
15297                }, mb[pb] = {
15298                    level0: {supports: [], formats: ["jpg"], qualities: ["default"]},
15299                    level1: {
15300                        supports: ["regionByPx", "sizeByW", "sizeByH", "sizeByPct"],
15301                        formats: ["jpg"],
15302                        qualities: ["default"]
15303                    },
15304                    level2: {
15305                        supports: ["regionByPx", "regionByPct", "sizeByW", "sizeByH", "sizeByPct", "sizeByConfinedWh", "sizeByDistortedWh", "sizeByWh"],
15306                        formats: ["jpg", "png"],
15307                        qualities: ["default", "bitonal"]
15308                    }
15309                }, mb[yb] = {
15310                    level0: {supports: [], formats: ["jpg"], qualities: ["default"]},
15311                    level1: {
15312                        supports: ["regionByPx", "regionSquare", "sizeByW", "sizeByH", "sizeByWh"],
15313                        formats: ["jpg"],
15314                        qualities: ["default"]
15315                    },
15316                    level2: {
15317                        supports: ["regionByPx", "regionSquare", "regionByPct", "sizeByW", "sizeByH", "sizeByPct", "sizeByConfinedWh", "sizeByWh"],
15318                        formats: ["jpg", "png"],
15319                        qualities: ["default"]
15320                    }
15321                }, mb.none = {none: {supports: [], formats: [], qualities: []}};
15322                var wb = /^https?:\/\/library\.stanford\.edu\/iiif\/image-api\/(?:1\.1\/)?compliance\.html#level[0-2]$/,
15323                    bb = /^https?:\/\/iiif\.io\/api\/image\/2\/level[0-2](?:\.json)?$/,
15324                    gb = /(^https?:\/\/iiif\.io\/api\/image\/3\/level[0-2](?:\.json)?$)|(^level[0-2]$)/;
15325                var xb = {};
15326                xb[db] = function (t) {
15327                    var n = t.getComplianceLevelSupportedFeatures();
15328                    return void 0 === n && (n = mb[db].level0), {
15329                        url: void 0 === t.imageInfo["@id"] ? void 0 : t.imageInfo["@id"].replace(/\/?(?:info\.json)?$/g, ""),
15330                        supports: n.supports,
15331                        formats: vb(vb([], n.formats, !0), [void 0 === t.imageInfo.formats ? [] : t.imageInfo.formats], !1),
15332                        qualities: vb(vb([], n.qualities, !0), [void 0 === t.imageInfo.qualities ? [] : t.imageInfo.qualities], !1),
15333                        resolutions: t.imageInfo.scale_factors,
15334                        tileSize: void 0 !== t.imageInfo.tile_width ? void 0 !== t.imageInfo.tile_height ? [t.imageInfo.tile_width, t.imageInfo.tile_height] : [t.imageInfo.tile_width, t.imageInfo.tile_width] : null != t.imageInfo.tile_height ? [t.imageInfo.tile_height, t.imageInfo.tile_height] : void 0
15335                    }
15336                }, xb[pb] = function (t) {
15337                    var n = t.getComplianceLevelSupportedFeatures(),
15338                        i = Array.isArray(t.imageInfo.profile) && t.imageInfo.profile.length > 1,
15339                        r = i && t.imageInfo.profile[1].supports ? t.imageInfo.profile[1].supports : [],
15340                        e = i && t.imageInfo.profile[1].formats ? t.imageInfo.profile[1].formats : [],
15341                        o = i && t.imageInfo.profile[1].qualities ? t.imageInfo.profile[1].qualities : [];
15342                    return {
15343                        url: t.imageInfo["@id"].replace(/\/?(?:info\.json)?$/g, ""),
15344                        sizes: void 0 === t.imageInfo.sizes ? void 0 : t.imageInfo.sizes.map((function (t) {
15345                            return [t.width, t.height]
15346                        })),
15347                        tileSize: void 0 === t.imageInfo.tiles ? void 0 : [t.imageInfo.tiles.map((function (t) {
15348                            return t.width
15349                        }))[0], t.imageInfo.tiles.map((function (t) {
15350                            return void 0 === t.height ? t.width : t.height
15351                        }))[0]],
15352                        resolutions: void 0 === t.imageInfo.tiles ? void 0 : t.imageInfo.tiles.map((function (t) {
15353                            return t.scaleFactors
15354                        }))[0],
15355                        supports: vb(vb([], n.supports, !0), r, !0),
15356                        formats: vb(vb([], n.formats, !0), e, !0),
15357                        qualities: vb(vb([], n.qualities, !0), o, !0)
15358                    }
15359                }, xb[yb] = function (t) {
15360                    var n = t.getComplianceLevelSupportedFeatures(),
15361                        i = void 0 === t.imageInfo.extraFormats ? n.formats : vb(vb([], n.formats, !0), t.imageInfo.extraFormats, !0),
15362                        r = void 0 !== t.imageInfo.preferredFormats && Array.isArray(t.imageInfo.preferredFormats) && t.imageInfo.preferredFormats.length > 0 ? t.imageInfo.preferredFormats.filter((function (t) {
15363                            return y(["jpg", "png", "gif"], t)
15364                        })).reduce((function (t, n) {
15365                            return void 0 === t && y(i, n) ? n : t
15366                        }), void 0) : void 0;
15367                    return {
15368                        url: t.imageInfo.id,
15369                        sizes: void 0 === t.imageInfo.sizes ? void 0 : t.imageInfo.sizes.map((function (t) {
15370                            return [t.width, t.height]
15371                        })),
15372                        tileSize: void 0 === t.imageInfo.tiles ? void 0 : [t.imageInfo.tiles.map((function (t) {
15373                            return t.width
15374                        }))[0], t.imageInfo.tiles.map((function (t) {
15375                            return t.height
15376                        }))[0]],
15377                        resolutions: void 0 === t.imageInfo.tiles ? void 0 : t.imageInfo.tiles.map((function (t) {
15378                            return t.scaleFactors
15379                        }))[0],
15380                        supports: void 0 === t.imageInfo.extraFeatures ? n.supports : vb(vb([], n.supports, !0), t.imageInfo.extraFeatures, !0),
15381                        formats: i,
15382                        qualities: void 0 === t.imageInfo.extraQualities ? n.qualities : vb(vb([], n.qualities, !0), t.imageInfo.extraQualities, !0),
15383                        preferredFormat: r
15384                    }
15385                };
15386                var jb = function () {
15387                    function t(t) {
15388                        this.setImageInfo(t)
15389                    }
15390
15391                    return t.prototype.setImageInfo = function (t) {
15392                        this.imageInfo = "string" == typeof t ? JSON.parse(t) : t
15393                    }, t.prototype.getImageApiVersion = function () {
15394                        if (void 0 !== this.imageInfo) {
15395                            var t = this.imageInfo["@context"] || "ol-no-context";
15396                            "string" == typeof t && (t = [t]);
15397                            for (var n = 0; n < t.length; n++) switch (t[n]) {
15398                                case"http://library.stanford.edu/iiif/image-api/1.1/context.json":
15399                                case"http://iiif.io/api/image/1/context.json":
15400                                    return db;
15401                                case"http://iiif.io/api/image/2/context.json":
15402                                    return pb;
15403                                case"http://iiif.io/api/image/3/context.json":
15404                                    return yb;
15405                                case"ol-no-context":
15406                                    if (this.getComplianceLevelEntryFromProfile(db) && this.imageInfo.identifier) return db
15407                            }
15408                            Mt(!1, 61)
15409                        }
15410                    }, t.prototype.getComplianceLevelEntryFromProfile = function (t) {
15411                        if (void 0 !== this.imageInfo && void 0 !== this.imageInfo.profile) switch (void 0 === t && (t = this.getImageApiVersion()), t) {
15412                            case db:
15413                                if (wb.test(this.imageInfo.profile)) return this.imageInfo.profile;
15414                                break;
15415                            case yb:
15416                                if (gb.test(this.imageInfo.profile)) return this.imageInfo.profile;
15417                                break;
15418                            case pb:
15419                                if ("string" == typeof this.imageInfo.profile && bb.test(this.imageInfo.profile)) return this.imageInfo.profile;
15420                                if (Array.isArray(this.imageInfo.profile) && this.imageInfo.profile.length > 0 && "string" == typeof this.imageInfo.profile[0] && bb.test(this.imageInfo.profile[0])) return this.imageInfo.profile[0]
15421                        }
15422                    }, t.prototype.getComplianceLevelFromProfile = function (t) {
15423                        var n = this.getComplianceLevelEntryFromProfile(t);
15424                        if (void 0 !== n) {
15425                            var i = n.match(/level[0-2](?:\.json)?$/g);
15426                            return Array.isArray(i) ? i[0].replace(".json", "") : void 0
15427                        }
15428                    }, t.prototype.getComplianceLevelSupportedFeatures = function () {
15429                        if (void 0 !== this.imageInfo) {
15430                            var t = this.getImageApiVersion(), n = this.getComplianceLevelFromProfile(t);
15431                            return void 0 === n ? mb.none.none : mb[t][n]
15432                        }
15433                    }, t.prototype.getTileSourceOptions = function (t) {
15434                        var n = t || {}, i = this.getImageApiVersion();
15435                        if (void 0 !== i) {
15436                            var r = void 0 === i ? void 0 : xb[i](this);
15437                            if (void 0 !== r) return {
15438                                url: r.url,
15439                                version: i,
15440                                size: [this.imageInfo.width, this.imageInfo.height],
15441                                sizes: r.sizes,
15442                                format: void 0 !== n.format && y(r.formats, n.format) ? n.format : void 0 !== r.preferredFormat ? r.preferredFormat : "jpg",
15443                                supports: r.supports,
15444                                quality: n.quality && y(r.qualities, n.quality) ? n.quality : y(r.qualities, "native") ? "native" : "default",
15445                                resolutions: Array.isArray(r.resolutions) ? r.resolutions.sort((function (t, n) {
15446                                    return n - t
15447                                })) : void 0,
15448                                tileSize: r.tileSize
15449                            }
15450                        }
15451                    }, t
15452                }(), Sb = function () {
15453                    var t = function (n, i) {
15454                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15455                            t.__proto__ = n
15456                        } || function (t, n) {
15457                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15458                        })(n, i)
15459                    };
15460                    return function (n, i) {
15461                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15462
15463                        function r() {
15464                            this.constructor = n
15465                        }
15466
15467                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15468                    }
15469                }();
15470
15471                function kb(t) {
15472                    return t.toLocaleString("en", {maximumFractionDigits: 10})
15473                }
15474
15475                var Mb = function (t) {
15476                    function n(n) {
15477                        var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
15478                        void 0 !== r.interpolate && (e = r.interpolate);
15479                        var o = r.url || "";
15480                        o += o.lastIndexOf("/") === o.length - 1 || "" === o ? "" : "/";
15481                        var s = r.version || pb, a = r.sizes || [], u = r.size;
15482                        Mt(null != u && Array.isArray(u) && 2 == u.length && !isNaN(u[0]) && u[0] > 0 && !isNaN(u[1]) && u[1] > 0, 60);
15483                        var c, h, f, l = u[0], v = u[1], d = r.tileSize, p = r.tilePixelRatio || 1,
15484                            m = r.format || "jpg", w = r.quality || (r.version == db ? "native" : "default"),
15485                            b = r.resolutions || [], g = r.supports || [], x = r.extent || [0, -v, l, 0],
15486                            j = null != a && Array.isArray(a) && a.length > 0,
15487                            S = void 0 !== d && ("number" == typeof d && Number.isInteger(d) && d > 0 || Array.isArray(d) && d.length > 0),
15488                            k = null != g && Array.isArray(g) && (y(g, "regionByPx") || y(g, "regionByPct")) && (y(g, "sizeByWh") || y(g, "sizeByH") || y(g, "sizeByW") || y(g, "sizeByPct"));
15489                        if (b.sort((function (t, n) {
15490                            return n - t
15491                        })), S || k) if (null != d && ("number" == typeof d && Number.isInteger(d) && d > 0 ? (c = d, h = d) : Array.isArray(d) && d.length > 0 && ((1 == d.length || null == d[1] && Number.isInteger(d[0])) && (c = d[0], h = d[0]), 2 == d.length && (Number.isInteger(d[0]) && Number.isInteger(d[1]) ? (c = d[0], h = d[1]) : null == d[0] && Number.isInteger(d[1]) && (c = d[1], h = d[1])))), void 0 !== c && void 0 !== h || (c = za, h = za), 0 == b.length) for (var M = f = Math.max(Math.ceil(Math.log(l / c) / Math.LN2), Math.ceil(Math.log(v / h) / Math.LN2)); M >= 0; M--) b.push(Math.pow(2, M)); else {
15492                            var _ = Math.max.apply(Math, b);
15493                            f = Math.round(Math.log(_) / Math.LN2)
15494                        } else if (c = l, h = v, b = [], j) {
15495                            a.sort((function (t, n) {
15496                                return t[0] - n[0]
15497                            })), f = -1;
15498                            var O = [];
15499                            for (M = 0; M < a.length; M++) {
15500                                var T = l / a[M][0];
15501                                b.length > 0 && b[b.length - 1] == T ? O.push(M) : (b.push(T), f++)
15502                            }
15503                            if (O.length > 0) for (M = 0; M < O.length; M++) a.splice(O[M] - M, 1)
15504                        } else b.push(1), a.push([l, v]), f = 0;
15505                        var E = new Vh({tileSize: [c, h], extent: x, origin: Zn(x), resolutions: b}),
15506                            A = fb.bind(null, ou(d || 256).map((function (t) {
15507                                return t * p
15508                            })));
15509                        return (i = t.call(this, {
15510                            attributions: r.attributions,
15511                            attributionsCollapsible: r.attributionsCollapsible,
15512                            cacheSize: r.cacheSize,
15513                            crossOrigin: r.crossOrigin,
15514                            interpolate: e,
15515                            projection: r.projection,
15516                            reprojectionErrorThreshold: r.reprojectionErrorThreshold,
15517                            state: r.state,
15518                            tileClass: A,
15519                            tileGrid: E,
15520                            tilePixelRatio: r.tilePixelRatio,
15521                            tileUrlFunction: function (t, n, i) {
15522                                var r, e, u = t[0];
15523                                if (!(u > f)) {
15524                                    var d = t[1], p = t[2], x = b[u];
15525                                    if (!(void 0 === d || void 0 === p || void 0 === x || d < 0 || Math.ceil(l / x / c) <= d || p < 0 || Math.ceil(v / x / h) <= p)) {
15526                                        if (k || S) {
15527                                            var M = d * c * x, _ = p * h * x, O = c * x, T = h * x, E = c, A = h;
15528                                            if (M + O > l && (O = l - M), _ + T > v && (T = v - _), M + c * x > l && (E = Math.floor((l - M + x - 1) / x)), _ + h * x > v && (A = Math.floor((v - _ + x - 1) / x)), 0 == M && O == l && 0 == _ && T == v) r = "full"; else if (!k || y(g, "regionByPx")) r = M + "," + _ + "," + O + "," + T; else if (y(g, "regionByPct")) {
15529                                                r = "pct:" + kb(M / l * 100) + "," + kb(_ / v * 100) + "," + kb(O / l * 100) + "," + kb(T / v * 100)
15530                                            }
15531                                            s != yb || k && !y(g, "sizeByWh") ? !k || y(g, "sizeByW") ? e = E + "," : y(g, "sizeByH") ? e = "," + A : y(g, "sizeByWh") ? e = E + "," + A : y(g, "sizeByPct") && (e = "pct:" + kb(100 / x)) : e = E + "," + A
15532                                        } else if (r = "full", j) {
15533                                            var C = a[u][0], R = a[u][1];
15534                                            e = s == yb ? C == l && R == v ? "max" : C + "," + R : C == l ? "full" : C + ","
15535                                        } else e = s == yb ? "max" : "full";
15536                                        return o + r + "/" + e + "/0/" + w + "." + m
15537                                    }
15538                                }
15539                            },
15540                            transition: r.transition
15541                        }) || this).zDirection = r.zDirection, i
15542                    }
15543
15544                    return Sb(n, t), n
15545                }(md), _b = function () {
15546                    var t = function (n, i) {
15547                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15548                            t.__proto__ = n
15549                        } || function (t, n) {
15550                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15551                        })(n, i)
15552                    };
15553                    return function (n, i) {
15554                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15555
15556                        function r() {
15557                            this.constructor = n
15558                        }
15559
15560                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15561                    }
15562                }(), Ob = function (t) {
15563                    function n(n, i, r, e, o, s, a) {
15564                        var u = this, c = n.getExtent(), h = i.getExtent(), f = h ? Yn(r, h) : r,
15565                            l = Uh(n, i, Xn(f), e), v = new ll(n, i, f, c, .5 * l, e),
15566                            d = s(v.calculateSourceExtent(), l, o), p = d ? yo : go, y = d ? d.getPixelRatio() : 1;
15567                        return (u = t.call(this, r, e, y, p) || this).ds = i, u.ys = c, u.Ns = v, u.wi = e, u.lc = r, u.vc = d, u.dc = y, u.du = a, u.Ut = null, u.yc = null, u
15568                    }
15569
15570                    return _b(n, t), n.prototype.disposeInternal = function () {
15571                        this.state == mo && this.mc(), t.prototype.disposeInternal.call(this)
15572                    }, n.prototype.getImage = function () {
15573                        return this.Ut
15574                    }, n.prototype.getProjection = function () {
15575                        return this.ds
15576                    }, n.prototype.zs = function () {
15577                        var t = this.vc.getState();
15578                        if (t == wo) {
15579                            var n = Qn(this.lc) / this.wi, i = Kn(this.lc) / this.wi;
15580                            this.Ut = Bh(n, i, this.dc, this.vc.getResolution(), this.ys, this.wi, this.lc, this.Ns, [{
15581                                extent: this.vc.getExtent(),
15582                                image: this.vc.getImage()
15583                            }], 0, void 0, this.du)
15584                        }
15585                        this.state = t, this.changed()
15586                    }, n.prototype.load = function () {
15587                        if (this.state == yo) {
15588                            this.state = mo, this.changed();
15589                            var t = this.vc.getState();
15590                            t == wo || t == bo ? this.zs() : (this.yc = Y(this.vc, N, (function (t) {
15591                                var n = this.vc.getState();
15592                                n != wo && n != bo || (this.mc(), this.zs())
15593                            }), this), this.vc.load())
15594                        }
15595                    }, n.prototype.mc = function () {
15596                        $(this.yc), this.yc = null
15597                    }, n
15598                }(po), Tb = function () {
15599                    var t = function (n, i) {
15600                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15601                            t.__proto__ = n
15602                        } || function (t, n) {
15603                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15604                        })(n, i)
15605                    };
15606                    return function (n, i) {
15607                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15608
15609                        function r() {
15610                            this.constructor = n
15611                        }
15612
15613                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15614                    }
15615                }(), Eb = "imageloadstart", Ab = "imageloadend", Cb = "imageloaderror", Rb = function (t) {
15616                    function n(n, i) {
15617                        var r = t.call(this, n) || this;
15618                        return r.image = i, r
15619                    }
15620
15621                    return Tb(n, t), n
15622                }(f);
15623
15624                function Pb(t, n) {
15625                    t.getImage().src = n
15626                }
15627
15628                var Ib = function (t) {
15629                    function n(n) {
15630                        var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
15631                        return void 0 !== n.interpolate && (r = n.interpolate), (i = t.call(this, {
15632                            attributions: n.attributions,
15633                            projection: n.projection,
15634                            state: n.state,
15635                            interpolate: r
15636                        }) || this).on, i.once, i.un, i.Ti = void 0 !== n.resolutions ? n.resolutions : null, i.wc = null, i.bc = 0, i
15637                    }
15638
15639                    return Tb(n, t), n.prototype.getResolutions = function () {
15640                        return this.Ti
15641                    }, n.prototype.findNearestResolution = function (t) {
15642                        if (this.Ti) {
15643                            var n = m(this.Ti, t, 0);
15644                            t = this.Ti[n]
15645                        }
15646                        return t
15647                    }, n.prototype.getImage = function (t, n, i, r) {
15648                        var e = this.getProjection();
15649                        if (e && r && !Or(e, r)) {
15650                            if (this.wc) {
15651                                if (this.bc == this.getRevision() && Or(this.wc.getProjection(), r) && this.wc.getResolution() == n && In(this.wc.getExtent(), t)) return this.wc;
15652                                this.wc.dispose(), this.wc = null
15653                            }
15654                            return this.wc = new Ob(e, r, t, n, i, function (t, n, i) {
15655                                return this.getImageInternal(t, n, i, e)
15656                            }.bind(this), this.getInterpolate()), this.bc = this.getRevision(), this.wc
15657                        }
15658                        return e && (r = e), this.getImageInternal(t, n, i, r)
15659                    }, n.prototype.getImageInternal = function (t, n, i, e) {
15660                        return r()
15661                    }, n.prototype.handleImageChange = function (t) {
15662                        var n, i = t.target;
15663                        switch (i.getState()) {
15664                            case mo:
15665                                this.loading = !0, n = Eb;
15666                                break;
15667                            case wo:
15668                                this.loading = !1, n = Ab;
15669                                break;
15670                            case bo:
15671                                this.loading = !1, n = Cb;
15672                                break;
15673                            default:
15674                                return
15675                        }
15676                        this.hasListener(n) && this.dispatchEvent(new Rb(n, i))
15677                    }, n
15678                }(ud), Nb = function () {
15679                    var t = function (n, i) {
15680                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15681                            t.__proto__ = n
15682                        } || function (t, n) {
15683                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15684                        })(n, i)
15685                    };
15686                    return function (n, i) {
15687                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15688
15689                        function r() {
15690                            this.constructor = n
15691                        }
15692
15693                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15694                    }
15695                }(), zb = function (t) {
15696                    function n(n) {
15697                        var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
15698                        return void 0 !== r.interpolate && (e = r.interpolate), (i = t.call(this, {
15699                            attributions: r.attributions,
15700                            interpolate: e,
15701                            projection: r.projection,
15702                            resolutions: r.resolutions
15703                        }) || this).Bt = void 0 !== r.crossOrigin ? r.crossOrigin : null, i.ju = void 0 === r.hidpi || r.hidpi, i.Le = r.url, i.Ft = void 0 !== r.imageLoadFunction ? r.imageLoadFunction : Pb, i.gc = r.params || {}, i.Nt = null, i.xc = [0, 0], i.jc = 0, i.Sc = void 0 !== r.ratio ? r.ratio : 1.5, i
15704                    }
15705
15706                    return Nb(n, t), n.prototype.getParams = function () {
15707                        return this.gc
15708                    }, n.prototype.getImageInternal = function (t, n, i, r) {
15709                        if (void 0 === this.Le) return null;
15710                        n = this.findNearestResolution(n), i = this.ju ? i : 1;
15711                        var e = this.Nt;
15712                        if (e && this.jc == this.getRevision() && e.getResolution() == n && e.getPixelRatio() == i && _n(e.getExtent(), t)) return e;
15713                        var o = {F: "image", FORMAT: "PNG32", TRANSPARENT: !0};
15714                        E(o, this.gc);
15715                        var s = ((t = t.slice())[0] + t[2]) / 2, a = (t[1] + t[3]) / 2;
15716                        if (1 != this.Sc) {
15717                            var u = this.Sc * Qn(t) / 2, c = this.Sc * Kn(t) / 2;
15718                            t[0] = s - u, t[1] = a - c, t[2] = s + u, t[3] = a + c
15719                        }
15720                        var h = n / i, f = Math.ceil(Qn(t) / h), l = Math.ceil(Kn(t) / h);
15721                        t[0] = s - h * f / 2, t[2] = s + h * f / 2, t[1] = a - h * l / 2, t[3] = a + h * l / 2, this.xc[0] = f, this.xc[1] = l;
15722                        var v = this.kc(t, this.xc, i, r, o);
15723                        return this.Nt = new So(t, n, i, v, this.Bt, this.Ft), this.jc = this.getRevision(), this.Nt.addEventListener(N, this.handleImageChange.bind(this)), this.Nt
15724                    }, n.prototype.getImageLoadFunction = function () {
15725                        return this.Ft
15726                    }, n.prototype.kc = function (t, n, i, r, e) {
15727                        var o = r.getCode().split(/:(?=\d+$)/).pop();
15728                        e.SIZE = n[0] + "," + n[1], e.BBOX = t.join(","), e.BBOXSR = o, e.IMAGESR = o, e.DPI = Math.round(90 * i);
15729                        var s = this.Le,
15730                            a = s.replace(/MapServer\/?$/, "MapServer/export").replace(/ImageServer\/?$/, "ImageServer/exportImage");
15731                        return a == s && Mt(!1, 50), of(a, e)
15732                    }, n.prototype.getUrl = function () {
15733                        return this.Le
15734                    }, n.prototype.setImageLoadFunction = function (t) {
15735                        this.Nt = null, this.Ft = t, this.changed()
15736                    }, n.prototype.setUrl = function (t) {
15737                        t != this.Le && (this.Le = t, this.Nt = null, this.changed())
15738                    }, n.prototype.updateParams = function (t) {
15739                        E(this.gc, t), this.Nt = null, this.changed()
15740                    }, n
15741                }(Ib), Fb = function () {
15742                    var t = function (n, i) {
15743                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15744                            t.__proto__ = n
15745                        } || function (t, n) {
15746                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15747                        })(n, i)
15748                    };
15749                    return function (n, i) {
15750                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15751
15752                        function r() {
15753                            this.constructor = n
15754                        }
15755
15756                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15757                    }
15758                }(), Lb = function (t) {
15759                    function n(n) {
15760                        var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
15761                        return void 0 !== r.interpolate && (e = r.interpolate), (i = t.call(this, {
15762                            attributions: r.attributions,
15763                            interpolate: e,
15764                            projection: r.projection,
15765                            resolutions: r.resolutions,
15766                            state: r.state
15767                        }) || this).Mc = r.canvasFunction, i.Ut = null, i.jc = 0, i.Sc = void 0 !== r.ratio ? r.ratio : 1.5, i
15768                    }
15769
15770                    return Fb(n, t), n.prototype.getImageInternal = function (t, n, i, r) {
15771                        n = this.findNearestResolution(n);
15772                        var e = this.Ut;
15773                        if (e && this.jc == this.getRevision() && e.getResolution() == n && e.getPixelRatio() == i && _n(e.getExtent(), t)) return e;
15774                        ri(t = t.slice(), this.Sc);
15775                        var o = [Qn(t) / n * i, Kn(t) / n * i], s = this.Mc.call(this, t, n, i, o, r);
15776                        return s && (e = new Mo(t, n, i, s)), this.Ut = e, this.jc = this.getRevision(), e
15777                    }, n
15778                }(Ib), Gb = function () {
15779                    var t = function (n, i) {
15780                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15781                            t.__proto__ = n
15782                        } || function (t, n) {
15783                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15784                        })(n, i)
15785                    };
15786                    return function (n, i) {
15787                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15788
15789                        function r() {
15790                            this.constructor = n
15791                        }
15792
15793                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15794                    }
15795                }();
15796                var Db = function (t) {
15797                        function n(n) {
15798                            var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
15799                            return void 0 !== n.interpolate && (r = n.interpolate), (i = t.call(this, {
15800                                interpolate: r,
15801                                projection: n.projection,
15802                                resolutions: n.resolutions
15803                            }) || this).Bt = void 0 !== n.crossOrigin ? n.crossOrigin : null, i._c = void 0 !== n.displayDpi ? n.displayDpi : 96, i.gc = n.params || {}, i.Le = n.url, i.Ft = void 0 !== n.imageLoadFunction ? n.imageLoadFunction : Pb, i.ju = void 0 === n.hidpi || n.hidpi, i.dt = void 0 !== n.metersPerUnit ? n.metersPerUnit : 1, i.Sc = void 0 !== n.ratio ? n.ratio : 1, i.Oc = void 0 !== n.useOverlay && n.useOverlay, i.Nt = null, i.jc = 0, i
15804                        }
15805
15806                        return Gb(n, t), n.prototype.getParams = function () {
15807                            return this.gc
15808                        }, n.prototype.getImageInternal = function (t, n, i, r) {
15809                            n = this.findNearestResolution(n), i = this.ju ? i : 1;
15810                            var e = this.Nt;
15811                            if (e && this.jc == this.getRevision() && e.getResolution() == n && e.getPixelRatio() == i && _n(e.getExtent(), t)) return e;
15812                            1 != this.Sc && ri(t = t.slice(), this.Sc);
15813                            var o = [Qn(t) / n * i, Kn(t) / n * i];
15814                            if (void 0 !== this.Le) {
15815                                var s = this.getUrl(this.Le, this.gc, t, o, r);
15816                                (e = new So(t, n, i, s, this.Bt, this.Ft)).addEventListener(N, this.handleImageChange.bind(this))
15817                            } else e = null;
15818                            return this.Nt = e, this.jc = this.getRevision(), e
15819                        }, n.prototype.getImageLoadFunction = function () {
15820                            return this.Ft
15821                        }, n.prototype.updateParams = function (t) {
15822                            E(this.gc, t), this.changed()
15823                        }, n.prototype.getUrl = function (t, n, i, r, e) {
15824                            var o = function (t, n, i, r) {
15825                                var e = Qn(t), o = Kn(t), s = n[0], a = n[1], u = .0254 / r;
15826                                return a * e > s * o ? e * i / (s * u) : o * i / (a * u)
15827                            }(i, r, this.dt, this._c), s = Xn(i), a = {
15828                                OPERATION: this.Oc ? "GETDYNAMICMAPOVERLAYIMAGE" : "GETMAPIMAGE",
15829                                VERSION: "2.0.0",
15830                                LOCALE: "en",
15831                                CLIENTAGENT: "ol/source/ImageMapGuide source",
15832                                CLIP: "1",
15833                                SETDISPLAYDPI: this._c,
15834                                SETDISPLAYWIDTH: Math.round(r[0]),
15835                                SETDISPLAYHEIGHT: Math.round(r[1]),
15836                                SETVIEWSCALE: o,
15837                                SETVIEWCENTERX: s[0],
15838                                SETVIEWCENTERY: s[1]
15839                            };
15840                            return E(a, n), of(t, a)
15841                        }, n.prototype.setImageLoadFunction = function (t) {
15842                            this.Nt = null, this.Ft = t, this.changed()
15843                        }, n
15844                    }(Ib), Ub = function () {
15845                        var t = function (n, i) {
15846                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15847                                t.__proto__ = n
15848                            } || function (t, n) {
15849                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15850                            })(n, i)
15851                        };
15852                        return function (n, i) {
15853                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15854
15855                            function r() {
15856                                this.constructor = n
15857                            }
15858
15859                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15860                        }
15861                    }(), qb = function (t) {
15862                        function n(n) {
15863                            var i = this, r = void 0 !== n.crossOrigin ? n.crossOrigin : null,
15864                                e = void 0 !== n.imageLoadFunction ? n.imageLoadFunction : Pb,
15865                                o = void 0 === n.imageSmoothing || n.imageSmoothing;
15866                            return void 0 !== n.interpolate && (o = n.interpolate), (i = t.call(this, {
15867                                attributions: n.attributions,
15868                                interpolate: o,
15869                                projection: br(n.projection)
15870                            }) || this).Le = n.url, i.Tc = n.imageExtent, i.Nt = new So(i.Tc, void 0, 1, i.Le, r, e), i.xc = n.imageSize ? n.imageSize : null, i.Nt.addEventListener(N, i.handleImageChange.bind(i)), i
15871                        }
15872
15873                        return Ub(n, t), n.prototype.getImageExtent = function () {
15874                            return this.Tc
15875                        }, n.prototype.getImageInternal = function (t, n, i, r) {
15876                            return ti(t, this.Nt.getExtent()) ? this.Nt : null
15877                        }, n.prototype.getUrl = function () {
15878                            return this.Le
15879                        }, n.prototype.handleImageChange = function (n) {
15880                            if (this.Nt.getState() == wo) {
15881                                var i = this.Nt.getExtent(), r = this.Nt.getImage(), e = void 0, o = void 0;
15882                                this.xc ? (e = this.xc[0], o = this.xc[1]) : (e = r.width, o = r.height);
15883                                var s = Qn(i), a = Kn(i), u = s / e, c = a / o, h = e, f = o;
15884                                if (u > c ? h = Math.round(s / c) : f = Math.round(a / u), h !== e || f !== o) {
15885                                    var l = _o(h, f);
15886                                    this.getInterpolate() || E(l, Fh);
15887                                    var v = l.canvas;
15888                                    l.drawImage(r, 0, 0, e, o, 0, 0, v.width, v.height), this.Nt.setImage(v)
15889                                }
15890                            }
15891                            t.prototype.handleImageChange.call(this, n)
15892                        }, n
15893                    }(Ib), Bb = "1.3.0", Wb = "carmentaserver", Vb = "geoserver", Xb = "mapserver", Hb = "qgis",
15894                    Jb = function () {
15895                        var t = function (n, i) {
15896                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
15897                                t.__proto__ = n
15898                            } || function (t, n) {
15899                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
15900                            })(n, i)
15901                        };
15902                        return function (n, i) {
15903                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
15904
15905                            function r() {
15906                                this.constructor = n
15907                            }
15908
15909                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
15910                        }
15911                    }(), Kb = [101, 101], Yb = function (t) {
15912                        function n(n) {
15913                            var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
15914                            return void 0 !== r.interpolate && (e = r.interpolate), (i = t.call(this, {
15915                                attributions: r.attributions,
15916                                interpolate: e,
15917                                projection: r.projection,
15918                                resolutions: r.resolutions
15919                            }) || this).Bt = void 0 !== r.crossOrigin ? r.crossOrigin : null, i.Le = r.url, i.Ft = void 0 !== r.imageLoadFunction ? r.imageLoadFunction : Pb, i.gc = r.params || {}
15919, i.Ec = !0, i.Ac(), i.Cc = r.serverType, i.ju = void 0 === r.hidpi || r.hidpi, i.Nt = null, i.xc = [0, 0], i.jc = 0, i.Sc = void 0 !== r.ratio ? r.ratio : 1.5, i
15920                        }
15921
15922                        return Jb(n, t), n.prototype.getFeatureInfoUrl = function (t, n, i, r) {
15923                            if (void 0 !== this.Le) {
15924                                var e = br(i), o = this.getProjection();
15925                                o && o !== e && (n = Uh(o, e, t, n), t = Ar(t, e, o));
15926                                var s = Jn(t, n, 0, Kb), a = {
15927                                    SERVICE: "WMS",
15928                                    VERSION: Bb,
15929                                    REQUEST: "GetFeatureInfo",
15930                                    FORMAT: "image/png",
15931                                    TRANSPARENT: !0,
15932                                    QUERY_LAYERS: this.gc.LAYERS
15933                                };
15934                                E(a, this.gc, r);
15935                                var u = gi((t[0] - s[0]) / n, 4), c = gi((s[3] - t[1]) / n, 4);
15936                                return a[this.Ec ? "I" : "X"] = u, a[this.Ec ? "J" : "Y"] = c, this.kc(s, Kb, 1, o || e, a)
15937                            }
15938                        }, n.prototype.getLegendUrl = function (t, n) {
15939                            if (void 0 !== this.Le) {
15940                                var i = {SERVICE: "WMS", VERSION: Bb, REQUEST: "GetLegendGraphic", FORMAT: "image/png"};
15941                                if (void 0 === n || void 0 === n.LAYER) {
15942                                    var r = this.gc.LAYERS;
15943                                    if (!(!Array.isArray(r) || 1 === r.length)) return;
15944                                    i.LAYER = r
15945                                }
15946                                if (void 0 !== t) {
15947                                    var e = this.getProjection() ? this.getProjection().getMetersPerUnit() : 1;
15948                                    i.SCALE = t * e / 28e-5
15949                                }
15950                                return E(i, n), of(this.Le, i)
15951                            }
15952                        }, n.prototype.getParams = function () {
15953                            return this.gc
15954                        }, n.prototype.getImageInternal = function (t, n, i, r) {
15955                            if (void 0 === this.Le) return null;
15956                            n = this.findNearestResolution(n), 1 == i || this.ju && void 0 !== this.Cc || (i = 1);
15957                            var e = n / i, o = Xn(t), s = Jn(o, e, 0, [xi(Qn(t) / e, 4), xi(Kn(t) / e, 4)]),
15958                                a = Jn(o, e, 0, [xi(this.Sc * Qn(t) / e, 4), xi(this.Sc * Kn(t) / e, 4)]), u = this.Nt;
15959                            if (u && this.jc == this.getRevision() && u.getResolution() == n && u.getPixelRatio() == i && _n(u.getExtent(), s)) return u;
15960                            var c = {SERVICE: "WMS", VERSION: Bb, REQUEST: "GetMap", FORMAT: "image/png", TRANSPARENT: !0};
15961                            E(c, this.gc), this.xc[0] = bi(Qn(a) / e, 4), this.xc[1] = bi(Kn(a) / e, 4);
15962                            var h = this.kc(a, this.xc, i, r, c);
15963                            return this.Nt = new So(a, n, i, h, this.Bt, this.Ft), this.jc = this.getRevision(), this.Nt.addEventListener(N, this.handleImageChange.bind(this)), this.Nt
15964                        }, n.prototype.getImageLoadFunction = function () {
15965                            return this.Ft
15966                        }, n.prototype.kc = function (t, n, i, r, e) {
15967                            if (Mt(void 0 !== this.Le, 9), e[this.Ec ? "CRS" : "SRS"] = r.getCode(), "STYLES" in this.gc || (e.STYLES = ""), 1 != i) switch (this.Cc) {
15968                                case Vb:
15969                                    var o = 90 * i + .5 | 0;
15970                                    "FORMAT_OPTIONS" in e ? e.FORMAT_OPTIONS += ";dpi:" + o : e.FORMAT_OPTIONS = "dpi:" + o;
15971                                    break;
15972                                case Xb:
15973                                    e.MAP_RESOLUTION = 90 * i;
15974                                    break;
15975                                case Wb:
15976                                case Hb:
15977                                    e.DPI = 90 * i;
15978                                    break;
15979                                default:
15980                                    Mt(!1, 8)
15981                            }
15982                            e.WIDTH = n[0], e.HEIGHT = n[1];
15983                            var s, a = r.getAxisOrientation();
15984                            return s = this.Ec && "ne" == a.substr(0, 2) ? [t[1], t[0], t[3], t[2]] : t, e.BBOX = s.join(","), of(this.Le, e)
15985                        }, n.prototype.getUrl = function () {
15986                            return this.Le
15987                        }, n.prototype.setImageLoadFunction = function (t) {
15988                            this.Nt = null, this.Ft = t, this.changed()
15989                        }, n.prototype.setUrl = function (t) {
15990                            t != this.Le && (this.Le = t, this.Nt = null, this.changed())
15991                        }, n.prototype.updateParams = function (t) {
15992                            E(this.gc, t), this.Ac(), this.Nt = null, this.changed()
15993                        }, n.prototype.Ac = function () {
15994                            var t = this.gc.VERSION || Bb;
15995                            this.Ec = Hi(t, "1.3") >= 0
15996                        }, n
15997                    }(Ib), Zb = {"image/png": !0, "image/jpeg": !0, "image/gif": !0, "image/webp": !0},
15998                    $b = {"application/vnd.mapbox-vector-tile": !0, "application/geo+json": !0};
15999
16000                function Qb(t, n) {
16001                    for (var i, r, e = 0; e < t.length; ++e) {
16002                        var o = t[e];
16003                        if ("item" === o.rel) {
16004                            if (o.type === n) {
16005                                i = o.href;
16006                                break
16007                            }
16008                            Zb[o.type] ? r = o.href : r || 0 !== o.type.indexOf("image/") || (r = o.href)
16009                        }
16010                    }
16011                    if (!i) {
16012                        if (!r) throw new Error('Could not find "item" link');
16013                        i = r
16014                    }
16015                    return i
16016                }
16017
16018                function tg(t, n, i) {
16019                    for (var r, e, o = {}, s = 0; s < t.length; ++s) {
16020                        var a = t[s];
16021                        if (o[a.type] = a.href, "item" === a.rel) {
16022                            if (a.type === n) {
16023                                r = a.href;
16024                                break
16025                            }
16026                            $b[a.type] && (e = a.href)
16027                        }
16028                    }
16029                    if (!r && i) for (s = 0; s < i.length; ++s) {
16030                        var u = i[s];
16031                        if (o[u]) {
16032                            r = o[u];
16033                            break
16034                        }
16035                    }
16036                    if (!r) {
16037                        if (!e) throw new Error('Could not find "item" link');
16038                        r = e
16039                    }
16040                    return r
16041                }
16042
16043                function ng(t, n, i, r) {
16044                    var e = t.projection;
16045                    if (!e && !(e = br(n.crs))) throw new Error("Unsupported CRS: ".concat(n.crs));
16046                    for (var o = "en" !== e.getAxisOrientation().substr(0, 2), s = n.tileMatrices, a = {}, u = 0; u < s.length; ++u) {
16047                        var c = s[u];
16048                        a[c.id] = c
16049                    }
16050                    var h = {}, f = [];
16051                    if (r) for (u = 0; u < r.length; ++u) {
16052                        var l = (b = r[u]).tileMatrix;
16053                        f.push(l), h[l] = b
16054                    } else for (u = 0; u < s.length; ++u) {
16055                        l = s[u].id;
16056                        f.push(l)
16057                    }
16058                    var v = f.length, d = new Array(v), p = new Array(v), y = new Array(v), m = new Array(v),
16059                        w = [-1 / 0, -1 / 0, 1 / 0, 1 / 0];
16060                    for (u = 0; u < v; ++u) {
16061                        l = f[u];
16062                        var b, g = (c = a[l]).pointOfOrigin;
16063                        if (d[u] = o ? [g[1], g[0]] : g, p[u] = c.cellSize, y[u] = [c.matrixWidth, c.matrixHeight], m[u] = [c.tileWidth, c.tileHeight], b = h[l]) {
16064                            var x = c.cellSize * c.tileWidth, j = d[u][0] + b.minTileCol * x,
16065                                S = d[u][0] + (b.maxTileCol + 1) * x, k = c.cellSize * c.tileHeight, M = void 0,
16066                                _ = void 0;
16067                            "bottomLeft" === c.cornerOfOrigin ? (M = d[u][1] + b.minTileRow * k, _ = d[u][1] + (b.maxTileRow + 1) * k) : (M = d[u][1] - (b.maxTileRow + 1) * k, _ = d[u][1] - b.minTileRow * k), Yn(w, [j, M, S, _], w)
16068                        }
16069                    }
16070                    var O = new Vh({origins: d, resolutions: p, sizes: y, tileSizes: m, extent: r ? w : void 0}),
16071                        T = t.context, A = t.url;
16072                    return {
16073                        grid: O, urlTemplate: i, urlFunction: function (t, n, e) {
16074                            if (t) {
16075                                var o = f[t[0]], s = a[o], u = "bottomLeft" === s.cornerOfOrigin,
16076                                    c = {tileMatrix: o, tileCol: t[1], tileRow: u ? -t[2] - 1 : t[2]};
16077                                if (r) {
16078                                    var l = h[s.id];
16079                                    if (c.tileCol < l.minTileCol || c.tileCol > l.maxTileCol || c.tileRow < l.minTileRow || c.tileRow > l.maxTileRow) return
16080                                }
16081                                E(c, T);
16082                                var v = i.replace(/\{(\w+?)\}/g, (function (t, n) {
16083                                    return c[n]
16084                                }));
16085                                return bh(A, v)
16086                            }
16087                        }
16088                    }
16089                }
16090
16091                function ig(t) {
16092                    return wh(t.url).then((function (n) {
16093                        return function (t, n) {
16094                            var i, r = n.tileMatrixSetLimits;
16095                            if ("map" === n.dataType) i = Qb(n.links, t.mediaType); else {
16096                                if ("vector" !== n.dataType) throw new Error('Expected tileset data type to be "map" or "vector"');
16097                                i = tg(n.links, t.mediaType, t.supportedMediaTypes)
16098                            }
16099                            if (n.tileMatrixSet) return ng(t, n.tileMatrixSet, i, r);
16100                            var e = n.links.find((function (t) {
16101                                return "http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme" === t.rel
16102                            }));
16103                            if (!e) throw new Error("Expected http://www.opengis.net/def/rel/ogc/1.0/tiling-scheme link or tileMatrixSet");
16104                            var o = e.href;
16105                            return wh(bh(t.url, o)).then((function (n) {
16106                                return ng(t, n, i, r)
16107                            }))
16108                        }(t, n)
16109                    }))
16110                }
16111
16112                var rg = function () {
16113                    var t = function (n, i) {
16114                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16115                            t.__proto__ = n
16116                        } || function (t, n) {
16117                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16118                        })(n, i)
16119                    };
16120                    return function (n, i) {
16121                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16122
16123                        function r() {
16124                            this.constructor = n
16125                        }
16126
16127                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16128                    }
16129                }(), eg = function (t) {
16130                    function n(n) {
16131                        var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
16132                        return void 0 !== n.interpolate && (r = n.interpolate), i = t.call(this, {
16133                            attributions: n.attributions,
16134                            cacheSize: n.cacheSize,
16135                            crossOrigin: n.crossOrigin,
16136                            interpolate: r,
16137                            projection: n.projection,
16138                            reprojectionErrorThreshold: n.reprojectionErrorThreshold,
16139                            state: ds,
16140                            tileLoadFunction: n.tileLoadFunction,
16141                            wrapX: void 0 === n.wrapX || n.wrapX,
16142                            transition: n.transition
16143                        }) || this, ig({
16144                            url: n.url,
16145                            projection: i.getProjection(),
16146                            mediaType: n.mediaType,
16147                            context: n.context || null
16148                        }).then(i.Rc.bind(i)).catch(i.Pc.bind(i)), i
16149                    }
16150
16151                    return rg(n, t), n.prototype.Rc = function (t) {
16152                        this.tileGrid = t.grid, this.setTileUrlFunction(t.urlFunction, t.urlTemplate), this.setState(ps)
16153                    }, n.prototype.Pc = function (t) {
16154                        console.error(t), this.setState(ys)
16155                    }, n
16156                }(md), og = function () {
16157                    var t = function (n, i) {
16158                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16159                            t.__proto__ = n
16160                        } || function (t, n) {
16161                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16162                        })(n, i)
16163                    };
16164                    return function (n, i) {
16165                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16166
16167                        function r() {
16168                            this.constructor = n
16169                        }
16170
16171                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16172                    }
16173                }(), sg = function (t) {
16174                    function n(n) {
16175                        var i = this, r = n.projection || "EPSG:3857", e = n.extent || $h(r), o = n.tileGrid || Kh({
16176                            extent: e,
16177                            maxResolution: n.maxResolution,
16178                            maxZoom: void 0 !== n.maxZoom ? n.maxZoom : 22,
16179                            minZoom: n.minZoom,
16180                            tileSize: n.tileSize || 512
16181                        });
16182                        return (i = t.call(this, {
16183                            attributions: n.attributions,
16184                            attributionsCollapsible: n.attributionsCollapsible,
16185                            cacheSize: n.cacheSize,
16186                            interpolate: !0,
16187                            opaque: !1,
16188                            projection: r,
16189                            state: n.state,
16190                            tileGrid: o,
16191                            tileLoadFunction: n.tileLoadFunction ? n.tileLoadFunction : ag,
16192                            tileUrlFunction: n.tileUrlFunction,
16193                            url: n.url,
16194                            urls: n.urls,
16195                            wrapX: void 0 === n.wrapX || n.wrapX,
16196                            transition: n.transition,
16197                            zDirection: void 0 === n.zDirection ? 1 : n.zDirection
16198                        }) || this).ze = n.format ? n.format : null, i.sourceTileCache = new Kc(i.tileCache.highWaterMark), i.Nu = null == n.overlaps || n.overlaps, i.tileClass = n.tileClass ? n.tileClass : rh, i.Ic = {}, i
16199                    }
16200
16201                    return og(n, t), n.prototype.getFeaturesInExtent = function (t) {
16202                        var n = [], i = this.tileCache;
16203                        if (0 === i.getCount()) return n;
16204                        var r = Vc(i.peekFirstKey())[0], e = this.tileGrid;
16205                        return i.forEach((function (i) {
16206                            if (i.tileCoord[0] === r && i.getState() === dt) for (var o = i.getSourceTiles(), s = 0, a = o.length; s < a; ++s) {
16207                                var u = o[s], c = u.tileCoord;
16208                                if (ti(t, e.getTileCoordExtent(c))) {
16209                                    var h = u.getFeatures();
16210                                    if (h) for (var f = 0, l = h.length; f < l; ++f) {
16211                                        var v = h[f], d = v.getGeometry();
16212                                        ti(t, d.getExtent()) && n.push(v)
16213                                    }
16214                                }
16215                            }
16216                        })), n
16217                    }, n.prototype.getOverlaps = function () {
16218                        return this.Nu
16219                    }, n.prototype.clear = function () {
16220                        this.tileCache.clear(), this.sourceTileCache.clear()
16221                    }, n.prototype.expireCache = function (n, i) {
16222                        var r = this.getTileCacheForProjection(n), e = Object.keys(i).reduce((function (t, n) {
16223                            var i = Wc(n);
16224                            if (r.containsKey(i)) for (var e = r.get(i).sourceTiles, o = 0, s = e.length; o < s; ++o) t[e[o].getKey()] = !0;
16225                            return t
16226                        }), {});
16227                        t.prototype.expireCache.call(this, n, i), this.sourceTileCache.expireCache(e)
16228                    }, n.prototype.getSourceTiles = function (t, n, i) {
16229                        var r = this;
16230                        if (i.getState() === lt) {
16231                            i.setState(vt);
16232                            var e = i.wrappedTileCoord, o = this.getTileGridForProjection(n),
16233                                s = o.getTileCoordExtent(e), a = e[0], u = o.getResolution(a);
16234                            jn(s, -u, s);
16235                            var c = this.tileGrid, h = c.getExtent();
16236                            h && Yn(s, h, s);
16237                            var f = c.getZForResolution(u, 1);
16238                            c.forEachTileCoord(s, f, (function (e) {
16239                                var o = r.tileUrlFunction(e, t, n),
16240                                    s = r.sourceTileCache.containsKey(o) ? r.sourceTileCache.get(o) : new r.tileClass(e, o ? lt : yt, o, r.ze, r.tileLoadFunction);
16241                                i.sourceTiles.push(s);
16242                                var a = s.getState();
16243                                if (a < dt) {
16244                                    s.addEventListener(N, (function t(n) {
16245                                        r.handleTileChange(n);
16246                                        var e = s.getState();
16247                                        if (e === dt || e === pt) {
16248                                            var o = s.getKey();
16249                                            o in i.errorTileKeys ? s.getState() === dt && delete i.errorTileKeys[o] : i.loadingSourceTiles--, e === pt ? i.errorTileKeys[o] = !0 : s.removeEventListener(N, t), 0 === i.loadingSourceTiles && i.setState(R(i.errorTileKeys) ? dt : pt)
16250                                        }
16251                                    })), i.loadingSourceTiles++
16252                                }
16253                                a === lt && (s.extent = c.getTileCoordExtent(e), s.projection = n, s.resolution = c.getResolution(e[0]), r.sourceTileCache.set(o, s), s.load())
16254                            })), i.loadingSourceTiles || i.setState(i.sourceTiles.some((function (t) {
16255                                return t.getState() === pt
16256                            })) ? pt : dt)
16257                        }
16258                        return i.sourceTiles
16259                    }, n.prototype.getTile = function (t, n, i, r, e) {
16260                        var o, s = qc(t, n, i), a = this.getKey();
16261                        if (this.tileCache.containsKey(s) && (o = this.tileCache.get(s)).key === a) return o;
16262                        var u = [t, n, i], c = this.getTileCoordForTileUrlFunction(u, e),
16263                            h = this.getTileGrid().getExtent(), f = this.getTileGridForProjection(e);
16264                        if (c && h) {
16265                            var l = f.getTileCoordExtent(c);
16266                            jn(l, -f.getResolution(t), l), ti(h, l) || (c = null)
16267                        }
16268                        var v = !0;
16269                        if (null !== c) {
16270                            var d = this.tileGrid, p = f.getResolution(t), y = d.getZForResolution(p, 1),
16271                                m = f.getTileCoordExtent(c);
16272                            jn(m, -p, m), d.forEachTileCoord(m, y, function (t) {
16273                                v = v && !this.tileUrlFunction(t, r, e)
16274                            }.bind(this))
16275                        }
16276                        var w = new nh(u, v ? yt : lt, c, this.get
16276SourceTiles.bind(this, r, e));
16277                        return w.key = a, o ? (w.interimTile = o, w.refreshInterimChain(), this.tileCache.replace(s, w)) : this.tileCache.set(s, w), w
16278                    }, n.prototype.getTileGridForProjection = function (t) {
16279                        var n = t.getCode(), i = this.Ic[n];
16280                        if (!i) {
16281                            var r = this.tileGrid;
16282                            i = Zh(t, void 0, r ? r.getTileSize(r.getMinZoom()) : void 0), this.Ic[n] = i
16283                        }
16284                        return i
16285                    }, n.prototype.getTilePixelRatio = function (t) {
16286                        return t
16287                    }, n.prototype.getTilePixelSize = function (t, n, i) {
16288                        var r = ou(this.getTileGridForProjection(i).getTileSize(t), this.tmpSize);
16289                        return [Math.round(r[0] * n), Math.round(r[1] * n)]
16290                    }, n.prototype.updateCacheSize = function (n, i) {
16291                        t.prototype.updateCacheSize.call(this, 2 * n, i), this.sourceTileCache.highWaterMark = this.getTileCacheForProjection(i).highWaterMark
16292                    }, n
16293                }(dd);
16294
16295                function ag(t, n) {
16296                    t.setLoader((function (i, r, e) {
16297                        hh(n, t.getFormat(), i, r, e, t.onLoad.bind(t), t.onError.bind(t))
16298                    }))
16299                }
16300
16301                var ug = function () {
16302                        var t = function (n, i) {
16303                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16304                                t.__proto__ = n
16305                            } || function (t, n) {
16306                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16307                            })(n, i)
16308                        };
16309                        return function (n, i) {
16310                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16311
16312                            function r() {
16313                                this.constructor = n
16314                            }
16315
16316                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16317                        }
16318                    }(), cg = function (t) {
16319                        function n(n) {
16320                            var i = t.call(this, {
16321                                attributions: n.attributions,
16322                                attributionsCollapsible: n.attributionsCollapsible,
16323                                cacheSize: n.cacheSize,
16324                                format: n.format,
16325                                overlaps: n.overlaps,
16326                                projection: n.projection,
16327                                tileClass: n.tileClass,
16328                                transition: n.transition,
16329                                wrapX: n.wrapX,
16330                                zDirection: n.zDirection,
16331                                state: ds
16332                            }) || this;
16333                            return ig({
16334                                url: n.url,
16335                                projection: i.getProjection(),
16336                                mediaType: n.mediaType,
16337                                supportedMediaTypes: n.format.supportedMediaTypes,
16338                                context: n.context || null
16339                            }).then(i.Rc.bind(i)).catch(i.Pc.bind(i)), i
16340                        }
16341
16342                        return ug(n, t), n.prototype.Rc = function (t) {
16343                            this.tileGrid = t.grid, this.setTileUrlFunction(t.urlFunction, t.urlTemplate), this.setState(ps)
16344                        }, n.prototype.Pc = function (t) {
16345                            console.error(t), this.setState(ys)
16346                        }, n
16347                    }(sg), hg = function () {
16348                        var t = function (n, i) {
16349                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16350                                t.__proto__ = n
16351                            } || function (t, n) {
16352                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16353                            })(n, i)
16354                        };
16355                        return function (n, i) {
16356                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16357
16358                            function r() {
16359                                this.constructor = n
16360                            }
16361
16362                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16363                        }
16364                    }(),
16365                    fg = '&#169; <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors.',
16366                    lg = function (t) {
16367                        function n(n) {
16368                            var i, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
16369                            void 0 !== r.interpolate && (e = r.interpolate), i = void 0 !== r.attributions ? r.attributions : [fg];
16370                            var o = void 0 !== r.crossOrigin ? r.crossOrigin : "anonymous",
16371                                s = void 0 !== r.url ? r.url : "https://{a-c}.tile.openstreetmap.org/{z}/{x}/{y}.png";
16372                            return t.call(this, {
16373                                attributions: i,
16374                                attributionsCollapsible: !1,
16375                                cacheSize: r.cacheSize,
16376                                crossOrigin: o,
16377                                interpolate: e,
16378                                maxZoom: void 0 !== r.maxZoom ? r.maxZoom : 19,
16379                                opaque: void 0 === r.opaque || r.opaque,
16380                                reprojectionErrorThreshold: r.reprojectionErrorThreshold,
16381                                tileLoadFunction: r.tileLoadFunction,
16382                                transition: r.transition,
16383                                url: s,
16384                                wrapX: r.wrapX,
16385                                zDirection: r.zDirection
16386                            }) || this
16387                        }
16388
16389                        return hg(n, t), n
16390                    }(jd), vg = function () {
16391                        var t = function (n, i) {
16392                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16393                                t.__proto__ = n
16394                            } || function (t, n) {
16395                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16396                            })(n, i)
16397                        };
16398                        return function (n, i) {
16399                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16400
16401                            function r() {
16402                                this.constructor = n
16403                            }
16404
16405                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16406                        }
16407                    }(), dg = function (t) {
16408                        function n(n) {
16409                            var i = n || {};
16410                            return t.call(this, i) || this
16411                        }
16412
16413                        return vg(n, t), n
16414                    }(bs), pg = function () {
16415                        var t = function (n, i) {
16416                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16417                                t.__proto__ = n
16418                            } || function (t, n) {
16419                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16420                            })(n, i)
16421                        };
16422                        return function (n, i) {
16423                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16424
16425                            function r() {
16426                                this.constructor = n
16427                            }
16428
16429                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16430                        }
16431                    }(), yg = null;
16432                var mg, wg = function (t) {
16433                    function n(n) {
16434                        var i = t.call(this, n) || this;
16435                        return i.container = null, i.renderedResolution, i.tempTransform = [1, 0, 0, 1, 0, 0], i.pixelTransform = [1, 0, 0, 1, 0, 0], i.inversePixelTransform = [1, 0, 0, 1, 0, 0], i.context = null, i.c
16435ontainerReused = !1, i.Ws = null, i.frameState = null, i
16436                    }
16437
16438                    return pg(n, t), n.prototype.getImageData = function (t, n, i) {
16439                        var r, e;
16440                        yg || ((r = document.createElement("canvas")).width = 1, r.height = 1, yg = r.getContext("2d")), yg.clearRect(0, 0, 1, 1);
16441                        try {
16442                            yg.drawImage(t, n, i, 1, 1, 0, 0, 1, 1), e = yg.getImageData(0, 0, 1, 1).data
16443                        } catch (t) {
16444                            return null
16445                        }
16446                        return e
16447                    }, n.prototype.getBackground = function (t) {
16448                        var n = this.getLayer().getBackground();
16449                        return "function" == typeof n && (n = n(t.viewState.resolution)), n || void 0
16450                    }, n.prototype.useContainer = function (t, n, i, r) {
16451                        var e, o, s = this.getLayer().getClassName();
16452                        t && t.className === s && "" === t.style.opacity && 1 === i && (!r || t.style.backgroundColor && x(Uo(t.style.backgroundColor), Uo(r))) && ((u = t.firstElementChild) instanceof HTMLCanvasElement && (o = u.getContext("2d")));
16453                        if (o && o.canvas.style.transform === n ? (this.container = t, this.context = o, this.containerReused = !0) : this.containerReused && (this.container = null, this.context = null, this.containerReused = !1), !this.container) {
16454                            (e = document.createElement("div")).className = s;
16455                            var a = e.style;
16456                            a.position = "absolute", a.width = "100%", a.height = "100%", r && (a.backgroundColor = r);
16457                            var u = (o = _o()).canvas;
16458                            e.appendChild(u), (a = u.style).position = "absolute", a.left = "0", a.transformOrigin = "top left", this.container = e, this.context = o
16459                        }
16460                    }, n.prototype.clipUnrotated = function (t, n, i) {
16461                        var r = Zn(i), e = $n(i), o = Vn(i), s = Wn(i);
16462                        nn(n.coordinateToPixelTransform, r), nn(n.coordinateToPixelTransform, e), nn(n.coordinateToPixelTransform, o), nn(n.coordinateToPixelTransform, s);
16463                        var a = this.inversePixelTransform;
16464                        nn(a, r), nn(a, e), nn(a, o), nn(a, s), t.save(), t.beginPath(), t.moveTo(Math.round(r[0]), Math.round(r[1])
16464), t.lineTo(Math.round(e[0]), Math.round(e[1])), t.lineTo(Math.round(o[0]), Math.round(o[1])), t.lineTo(Math.round(s[0]), Math.round(s[1])), t.clip()
16465                    }, n.prototype.Xs = function (t, n, i) {
16466                        var r = this.getLayer();
16467                        if (r.hasListener(t)) {
16468                            var e = new ks(t, this.inversePixelTransform, i, n);
16469                            r.dispatchEvent(e)
16470                        }
16471                    }, n.prototype.preRender = function (t, n) {
16472                        this.frameState = n, this.Xs(us, t, n)
16473                    }, n.prototype.postRender = function (t, n) {
16474                        this.Xs(cs, t, n)
16475                    }, n.prototype.getRenderTransform = function (t, n, i, r, e, o, s) {
16476                        var a = e / 2, u = o / 2, c = r / n, h = -c, f = -t[0] + s, l = -t[1];
16477                        return an(this.tempTransform, a, u, c, h, -i, f, l)
16478                    }, n.prototype.getDataAtPixel = function (t, n, i) {
16479                        var r = nn(this.inversePixelTransform, t.slice()), e = this.context,
16480                            o = this.getLayer().getExtent();
16481                        if (o && !Mn(o, nn(n.pixelToCoordinateTransform, t.slice()))) return null;
16482                        var s, a = Math.round(r[0]), u = Math.round(r[1]), c = this.Ws;
16483                        if (!c) {
16484                            var h = document.createElement("canvas");
16485                            h.width = 1, h.height = 1, c = h.getContext("2d"), this.Ws = c
16486                        }
16487                        c.clearRect(0, 0, 1, 1);
16488                        try {
16489                            c.drawImage(e.canvas, a, u, 1, 1, 0, 0, 1, 1), s = c.getImageData(0, 0, 1, 1).data
16490                        } catch (t) {
16491                            return "SecurityError" === t.name ? (this.Ws = null, new Uint8Array) : s
16492                        }
16493                        return 0 === s[3] ? null : s
16494                    }, n.prototype.disposeInternal = function () {
16495                        delete this.frameState, t.prototype.disposeInternal.call(this)
16496                    }, n
16497                }(xl), bg = function () {
16498                    var t = function (n, i) {
16499                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16500                            t.__proto__ = n
16501                        } || function (t, n) {
16502                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16503                        })(n, i)
16504                    };
16505                    return function (n, i) {
16506                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16507
16508                        function r() {
16509                            this.constructor = n
16510                        }
16511
16512                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16513                    }
16514                }(), gg = function (t) {
16515                    function n(n) {
16516                        var i = t.call(this, n) || this;
16517                        return i.Nt = null, i
16518                    }
16519
16520                    return bg(n, t), n.prototype.getImage = function () {
16521                        return this.Nt ? this.Nt.getImage() : null
16522                    }, n.prototype.prepareFrame = function (t) {
16523                        var n = t.layerStatesArray[t.layerIndex], i = t.pixelRatio, r = t.viewState, e = r.resolution,
16524                            o = this.getLayer().getSource(), s = t.viewHints, a = t.extent;
16525                        if (void 0 !== n.extent && (a = Yn(a, Lr(n.extent, r.projection))), !s[Pa] && !s[Ia] && !ni(a)) if (o) {
16526                            var u = r.projection, c = o.getImage(a, e, i, u);
16527                            c && this.loadImage(c) ? this.Nt = c : this.Nt = null
16528                        } else this.Nt = null;
16529                        return !!this.Nt
16530                    }, n.prototype.getData = function (t) {
16531                        var n = this.frameState;
16532                        if (!n) return null;
16533                        var i = this.getLayer(), r = nn(n.pixelToCoordinateTransform, t.slice()), e = i.getExtent();
16534                        if (e && !Mn(e, r)) return null;
16535                        var o = this.Nt.getExtent(), s = this.Nt.getImage(), a = Qn(o),
16536                            u = Math.floor(s.width * ((r[0] - o[0]) / a));
16537                        if (u < 0 || u >= s.width) return null;
16538                        var c = Kn(o), h = Math.floor(s.height * ((o[3] - r[1]) / c));
16539                        return h < 0 || h >= s.height ? null : this.getImageData(s, u, h)
16540                    }, n.prototype.renderFrame = function (t, n) {
16541                        var i = this.Nt, r = i.getExtent(), e = i.getResolution(), o = i.getPixelRatio(),
16542                            s = t.layerStatesArray[t.layerIndex], a = t.pixelRatio, u = t.viewState, c = u.center,
16543                            h = u.resolution, f = t.size, l = a * e / (h * o), v = Math.round(f[0] * a),
16544                            d = Math.round(f[1] * a), p = u.rotation;
16545                        if (p) {
16546                            var y = Math.round(Math.sqrt(v * v + d * d));
16547                            v = y, d = y
16548                        }
16549                        an(this.pixelTransform, t.size[0] / 2, t.size[1] / 2, 1 / a, 1 / a, p, -v / 2, -d / 2), un(this.inversePixelTransform, this.pixelTransform);
16550                        var m = hn(this.pixelTransform);
16551                        this.useContainer(n, m, s.opacity, this.getBackground(t));
16552                        var w = this.context, b = w.canvas;
16553                        b.width != v || b.height != d ? (b.width = v, b.height = d) : this.containerReused || w.clearRect(0, 0, v, d);
16554                        var g = !1, x = !0;
16555                        if (s.extent) {
16556                            var j = Lr(s.extent, u.projection);
16557                            (g = (x = ti(j, t.extent)) && !_n(j, t.extent)) && this.clipUnrotated(w, t, j)
16558                        }
16559                        var S = i.getImage(),
16560                            k = an(this.tempTransform, v / 2, d / 2, l, l, 0, o * (r[0] - c[0]) / e, o * (c[1] - r[3]) / e);
16561                        this.renderedResolution = e * a / o;
16562                        var M = S.width * k[0], _ = S.height * k[3];
16563                        if (this.getLayer().getSource().getInterpolate() || E(w, Fh), this.preRender(w, t), x && M >= .5 && _ >= .5) {
16564                            var O = k[4], T = k[5], A = s.opacity, C = void 0;
16565                            1 !== A && (C = w.globalAlpha, w.globalAlpha = A), w.drawImage(S, 0, 0, +S.width, +S.height, Math.round(O), Math.round(T), Math.round(M), Math.round(_)), 1 !== A && (w.globalAlpha = C)
16566                        }
16567                        return this.postRender(w, t), g && w.restore(), E(w, Lh), m !== b.style.transform && (b.style.transform = m), this.container
16568                    }, n
16569                }(wg), xg = function () {
16570                    var t = function (n, i) {
16571                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16572                            t.__proto__ = n
16573                        } || function (t, n) {
16574                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16575                        })(n, i)
16576                    };
16577                    return function (n, i) {
16578                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16579
16580                        function r() {
16581                            this.constructor = n
16582                        }
16583
16584                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16585                    }
16586                }(), jg = function (t) {
16587                    function n(n) {
16588                        return t.call(this, n) || this
16589                    }
16590
16591                    return xg(n, t), n.prototype.createRenderer = function () {
16592                        return new gg(this)
16593                    }, n.prototype.getData = function (n) {
16594                        return t.prototype.getData.call(this, n)
16595                    }, n
16596                }(dg), Sg = "preload", kg = "useInterimTilesOnError", Mg = function () {
16597                    var t = function (n, i) {
16598                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16599                            t.__proto__ = n
16600                        } || function (t, n) {
16601                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16602                        })(n, i)
16603                    };
16604                    return function (n, i) {
16605                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16606
16607                        function r() {
16608                            this.constructor = n
16609                        }
16610
16611                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16612                    }
16613                }(), _g = function (t) {
16614                    function n(n) {
16615                        var i = this, r = n || {}, e = E({}, r);
16616                        return delete e.preload, delete e.useInterimTilesOnError, (i = t.call(this, e) || this).on, i.once, i.un, i.setPreload(void 0 !== r.preload ? r.preload : 0), i.setUseInterimTilesOnError(void 0 === r.useInterimTilesOnError || r.useInterimTilesOnError), i
16617                    }
16618
16619                    return Mg(n, t), n.prototype.getPreload = function () {
16620                        return this.get(Sg)
16621                    }, n.prototype.setPreload = function (t) {
16622                        this.set(Sg, t)
16623                    }, n.prototype.getUseInterimTilesOnError = function () {
16624                        return this.get(kg)
16625                    }, n.prototype.setUseInterimTilesOnError = function (t) {
16626                        this.set(kg, t)
16627                    }, n.prototype.getData = function (n) {
16628                        return t.prototype.getData.call(this, n)
16629                    }, n
16630                }(bs), Og = function () {
16631                    var t = function (n, i) {
16632                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16633                            t.__proto__ = n
16634                        } || function (t, n) {
16635                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16636                        })(n, i)
16637                    };
16638                    return function (n, i) {
16639                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16640
16641                        function r() {
16642                            this.constructor = n
16643                        }
16644
16645                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16646                    }
16647                }(), Tg = function (t) {
16648                    function n(n) {
16649                        var i = t.call(this, n) || this;
16650                        return i.extentChanged = !0, i.Nc = null, i.renderedPixelRatio, i.renderedProjection = null, i.renderedRevision, i.renderedTiles = [], i.zc = !1, i.tmpExtent = [1 / 0, 1 / 0, -1 / 0, -1 / 0], i.Fc = new $c(0, 0, 0, 0), i
16651                    }
16652
16653                    return Og(n, t), n.prototype.isDrawableTile = function (t) {
16654                        var n = this.getLayer(), i = t.getState(), r = n.getUseInterimTilesOnError();
16655                        return i == dt || i == yt || i == pt && !r
16656                    }, n.prototype.getTile = function (t, n, i, r) {
16657                        var e = r.pixelRatio, o = r.viewState.projection, s = this.getLayer(),
16658                            a = s.getSource().getTile(t, n, i, e, o);
16659                        return a.getState() == pt && (s.getUseInterimTilesOnError() ? s.getPreload() > 0 && (this.zc = !0) : a.setState(dt)), this.isDrawableTile(a) || (a = a.getInterimTile()), a
16660                    }, n.prototype.getData = function (t) {
16661                        var n = this.frameState;
16662                        if (!n) return null;
16663                        var i = this.getLayer(), r = nn(n.pixelToCoordinateTransform, t.slice()), e = i.getExtent();
16664                        if (e && !Mn(e, r)) return null;
16665                        for (var o = n.pixelRatio, s = n.viewState.projection, a = n.viewState, u = i.getRenderSource(), c = u.getTileGridForProjection(a.projection), h = u.getTilePixelRatio(n.pixelRatio), f = c.getZForResolution(a.resolution); f >= c.getMinZoom(); --f) {
16666                            var l = c.getTileCoordForCoordAndZ(r, f), v = u.getTile(f, l[1], l[2], o, s);
16667                            if (!(v instanceof Io || v instanceof dl)) return null;
16668                            if (v.getState() === dt) {
16669                                var d = c.getOrigin(f), p = ou(c.getTileSize(f)), y = c.getResolution(f),
16670                                    m = Math.floor(h * ((r[0] - d[0]) / y - l[1] * p[0])),
16671                                    w = Math.floor(h * ((d[1] - r[1]) / y - l[2] * p[1]));
16672                                return this.getImageData(v.getImage(), m, w)
16673                            }
16674                        }
16675                        return null
16676                    }, n.prototype.loadedTileCallback = function (n, i, r) {
16677                        return !!this.isDrawableTile(r) && t.prototype.loadedTileCallback.call(this, n, i, r)
16678                    }, n.prototype.prepareFrame = function (t) {
16679                        return !!this.getLayer().getSource()
16680                    }, n.prototype.renderFrame = function (t, n) {
16681                        var i = t.layerStatesArray[t.layerIndex], r = t.viewState, e = r.projection, s = r.resolution,
16682                            a = r.center, u = r.rotation, c = t.pixelRatio, h = this.getLayer(), f = h.getSource(),
16683                            l = f.getRevision(), v = f.getTileGridForProjection(e),
16684                            d = v.getZForResolution(s, f.zDirection), y = v.getResolution(d), m = t.extent,
16685                            w = i.extent && Lr(i.extent, e);
16686                        w && (m = Yn(m, Lr(i.extent, e)));
16687                        var b = f.getTilePixelRatio(c), g = Math.round(t.size[0] * b), x = Math.round(t.size[1] * b);
16688                        if (u) {
16689                            var j = Math.round(Math.sqrt(g * g + x * x));
16690                            g = j, x = j
16691                        }
16692                        var S = y * g / 2 / b, k = y * x / 2 / b, M = [a[0] - S, a[1] - k, a[0] + 
16692S, a[1] + k],
16693                            _ = v.getTileRangeForExtentAndZ(m, d), O = {};
16694                        O[d] = {};
16695                        var T = this.createLoadedTileFinder(f, e, O), A = this.tmpExtent, C = this.Fc;
16696                        this.zc = !1;
16697                        for (var R = _.minX; R <= _.maxX; ++R) for (var P = _.minY; P <= _.maxY; ++P) {
16698                            var I = this.getTile(d, R, P, t);
16699                            if (this.isDrawableTile(I)) {
16700                                var N = o(this);
16701                                if (I.getState() == dt) {
16702                                    O[d][I.tileCoord.toString()] = I;
16703                                    var z = I.inTransition(N);
16704                                    this.zc || !z && -1 !== this.renderedTiles.indexOf(I) || (this.zc = !0)
16705                                }
16706                                if (1 === I.getAlpha(N, t.time)) continue
16707                            }
16708                            var F = v.getTileCoordChildTileRange(I.tileCoord, C, A), L = !1;
16709                            F && (L = T(d + 1, F)), L || v.forEachTileCoordParentTileRange(I.tileCoord, T, C, A)
16710                        }
16711                        var G = y / s;
16712                        an(this.pixelTransform, t.size[0] / 2, t.size[1] / 2, 1 / b, 1 / b, u, -g / 2, -x / 2);
16713                        var D = hn(this.pixelTransform);
16714                        this.useContainer(n, D, i.opacity, this.getBackground(t));
16715                        var U = this.context, q = U.canvas;
16716                        un(this.inversePixelTransform, this.pixelTransform), an(this.tempTransform, g / 2, x / 2, G, G, 0, -g / 2, -x / 2), q.width != g || q.height != x ? (q.width = g, q.height = x) : this.containerReused || U.clearRect(0, 0, g, x), w && this.clipUnrotated(U, t, w), f.getInterpolate() || E(U, Fh), this.preRender(U, t), this.renderedTiles.length = 0;
16717                        var B, W, V, X = Object.keys(O).map(Number);
16718                        X.sort(p), 1 !== i.opacity || this.containerReused && !f.getOpaque(t.viewState.projection) ? (B = [], W = []) : X = X.reverse();
16719                        for (var H = X.length - 1; H >= 0; --H) {
16720                            var J = X[H], K = f.getTilePixelSize(J, c, e), Y = v.getResolution(J) / y, Z = K[0] * Y * G,
16721                                $ = K[1] * Y * G, Q = v.getTileCoordForCoordAndZ(Zn(M), J),
16722                                tt = v.getTileCoordExtent(Q),
16723                                nt = nn(this.tempTransform, [b * (tt[0] - M[0]) / y, b * (M[3] - tt[3]) / y]),
16724                                it = b * f.getGutterForProjection(e), rt = O[J];
16725                            for (var et in rt) {
16726                                var ot = (I = rt[et]).tileCoord, st = Q[1] - ot[1],
16727                                    at = Math.round(nt[0] - (st - 1) * Z), ut = Q[2] - ot[2],
16728                                    ct = Math.round(nt[1] - (ut - 1) * $), ht = at - (R = Math.round(nt[0] - st * Z)),
16729                                    ft = ct - (P = Math.round(nt[1] - ut * $)), lt = d === J, vt = !1;
16730                                if (!(z = lt && 1 !== I.getAlpha(o(this), t.time))) if (B) {
16731                                    V = [R, P, R + ht, P, R + ht, P + ft, R, P + ft];
16732                                    for (var pt = 0, yt = B.length; pt < yt; ++pt) if (d !== J && J < W[pt]) {
16733                                        var mt = B[pt];
16734                                        ti([R, P, R + ht, P + ft], [mt[0], mt[3], mt[4], mt[7]]) && (vt || (U.save(), vt = !0), U.beginPath(), U.moveTo(V[0], V[1]), U.lineTo(V[2], V[3]), U.lineTo(V[4], V[5]), U.lineTo(V[6], V[7]), U.moveTo(mt[6], mt[7]), U.lineTo(mt[4], mt[5]), U.lineTo(mt[2], mt[3]), U.lineTo(mt[0], mt[1]), U.clip())
16735                                    }
16736                                    B.push(V), W.push(J)
16737                                } else U.clearRect(R, P, ht, ft);
16738                                this.drawTileImage(I, t, R, P, ht, ft, it, lt), B && !z ? (vt && U.restore(), this.renderedTiles.unshift(I)) : this.renderedTiles.push(I), this.updateUsedTiles(t.usedTiles, f, I)
16739                            }
16740                        }
16741                        this.renderedRevision = l, this.renderedResolution = y, this.extentChanged = !this.Nc || !In(this.Nc, M), this.Nc = M, this.renderedPixelRatio = c, this.renderedProjection = e, this.manageTilePyramid(t, f, v, c, e, m, d, h.getPreload()), this.scheduleExpireCache(t, f), this.postRender(U, t), i.extent && U.restore(), E(U, Lh), D !== q.style.transform && (q.style.transform = D);
16742                        var wt = Is(i.opacity), bt = this.container;
16743                        return wt !== bt.style.opacity && (bt.style.opacity = wt), this.container
16744                    }, n.prototype.drawTileImage = function (t, n, i, r, e, s, a, u) {
16745                        var c = this.getTileImage(t);
16746                        if (c) {
16747                            var h = o(this), f = u ? t.getAlpha(h, n.time) : 1, l = f !== this.context.globalAlpha;
16748                            l && (this.context.save(), this.context.globalAlpha = f), this.context.drawImage(c, a, a, c.width - 2 * a, c.height - 2 * a, i, r, e, s), l && this.context.restore(), 1 !== f ? n.animate = !0 : u && t.endTransition(h)
16749                        }
16750                    }, n.prototype.getImage = function () {
16751                        var t = this.context;
16752                        return t ? t.canvas : null
16753                    }, n.prototype.getTileImage = function (t) {
16754                        return t.getImage()
16755                    }, n.prototype.scheduleExpireCache = function (t, n) {
16756                        if (n.canExpireCache()) {
16757                            var i = function (t, n, i) {
16758                                var r = o(t);
16759                                r in i.usedTiles && t.expireCache(i.viewState.projection, i.usedTiles[r])
16760                            }.bind(null, n);
16761                            t.postRenderFunctions.push(i)
16762                        }
16763                    }, n.prototype.updateUsedTiles = function (t, n, i) {
16764                        var r = o(n);
16765                        r in t || (t[r] = {}), t[r][i.getKey()] = !0
16766                    }, n.prototype.manageTilePyramid = function (t, n, i, r, e, s, a, u, c) {
16767                        var h = o(n);
16768                        h in t.wantedTiles || (t.wantedTiles[h] = {});
16769                        var f, l, v, d, p, y, m = t.wantedTiles[h], w = t.tileQueue, b = 0;
16770                        for (y = i.getMinZoom(); y <= a; ++y) for (l = i.getTileRangeForExtentAndZ(s, y, l), v = i.getResolution(y), d = l.minX; d <= l.maxX; ++d) for (p = l.minY; p <= l.maxY; ++p) a - y <= u ? (++b, (f = n.getTile(y, d, p, r, e)).getState() == lt && (m[f.getKey()] = !0, w.isKeyQueued(f.getKey()) || w.enqueue([f, h, i.getTileCoordCenter(f.tileCoord), v])), void 0 !== c && c(f)) : n.useTile(y, d, p, e);
16771                        n.updateCacheSize(b, e)
16772                    }, n
16773                }(wg), Eg = function () {
16774                    var t = function (n, i) {
16775                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16776                            t.__proto__ = n
16777                        } || function (t, n) {
16778                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16779                        })(n, i)
16780                    };
16781                    return function (n, i) {
16782                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16783
16784                        function r() {
16785                            this.constructor = n
16786                        }
16787
16788                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16789                    }
16790                }(), Ag = function (t) {
16791                    function n(n) {
16792                        return t.call(this, n) || this
16793                    }
16794
16795                    return Eg(n, t), n.prototype.createRenderer = function () {
16796                        return new Tg(this)
16797                    }, n
16798                }(_g), Cg = function () {
16799                    var t = function (n, i) {
16800                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
16801                            t.__proto__ = n
16802                        } || function (t, n) {
16803                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
16804                        })(n, i)
16805                    };
16806                    return function (n, i) {
16807                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
16808
16809                        function r() {
16810                            this.constructor = n
16811                        }
16812
16813                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
16814                    }
16815                }(), Rg = !0;
16816                try {
16817                    new ImageData(10, 10)
16818                } catch (t) {
16819                    Rg = !1
16820                }
16821
16822                function Pg(t, n, i) {
16823                    if (Rg) return new ImageData(t, n, i);
16824                    mg || (mg = document.createElement("canvas").getContext("2d"));
16825                    var r = mg.createImageData(n, i);
16826                    return r.data.set(t), r
16827                }
16828
16829                function Ig(t) {
16830                    var n = !0;
16831                    try {
16832                        new ImageData(10, 10)
16833                    } catch (t) {
16834                        n = !1
16835                    }
16836
16837                    function i(t, i, r) {
16838                        return n ? new ImageData(t, i, r) : {data: t, width: i, height: r}
16839                    }
16840
16841                    return function (n) {
16842                        var r = n.buffers, e = n.meta, o = n.imageOps, s = n.width, a = n.height, u = r.length,
16843                            c = r[0].byteLength;
16844                        if (o) {
16845                            for (var h = new Array(u), f = 0; f < u; ++f) h[f] = i(new Uint8ClampedArray(r[f]), s, a);
16846                            return t(h, e).data.buffer
16847                        }
16848                        var l = new Uint8ClampedArray(c), v = new Array(u), d = new Array(u);
16849                        for (f = 0; f < u; ++f) v[f] = new Uint8ClampedArray(r[f]), d[f] = [0, 0, 0, 0];
16850                        for (var p = 0; p < c; p += 4) {
16851                            for (var y = 0; y < u; ++y) {
16852                                var m = v[y];
16853                                d[y][0] = m[p], d[y][1] = m[p + 1], d[y][2] = m[p + 2], d[y][3] = m[p + 3]
16854                            }
16855                            var w = t(d, e);
16856                            l[p] = w[0], l[p + 1] = w[1], l[p + 2] = w[2], l[p + 3] = w[3]
16857                        }
16858                        return l.buffer
16859                    }
16860                }
16861
16862                function Ng(t, n) {
16863                    var i = Object.keys(t.lib || {}).map((function (n) {
16864                            return "var " + n + " = " + t.lib[n].toString() + ";"
16865                        })).concat(["var __minion__ = (" + Ig.toString() + ")(", t.operation.toString(), ");", 'self.addEventListener("message", function(event) {', "  var buffer = __minion__(event.data);", "  self.postMessage({buffer: buffer, meta: event.data.meta}, [buffer]);", "});"]),
16866                        r = new Worker("undefined" == typeof Blob ? "data:text/javascript;base64," + Buffer.from(i.join("\n"), "binary").toString("base64") : 
vendor: 4,543 bytes, lines 16866-16935
16866URL.createObjectURL(new Blob(i, {type: "text/javascript"})));
16867                    return r.addEventListener("message", n), r
16868                }
16869
16870                var zg = function (t) {
16871                    function n(n) {
16872                        var i, r = t.call(this) || this;
16873                        r._imageOps = !!n.imageOps, i = 0 === n.threads ? 0 : r._imageOps ? 1 : n.threads || 1;
16874                        var e = new Array(i);
16875                        if (i) for (var o = 0; o < i; ++o) e[o] = Ng(n, r._onWorkerMessage.bind(r, o)); else e[0] = function (t, n) {
16876                            var i = Ig(t.operation), r = !1;
16877                            return {
16878                                postMessage: function (t) {
16879                                    setTimeout((function () {
16880                                        r || n({data: {buffer: i(t), meta: t.meta}})
16881                                    }), 0)
16882                                }, terminate: function () {
16883                                    r = !0
16884                                }
16885                            }
16886                        }(n, r._onWorkerMessage.bind(r, 0));
16887                        return r._workers = e, r._queue = [], r._maxQueueLength = n.queue || 1 / 0, r._running = 0, r._dataLookup = {}, r._job = null, r
16888                    }
16889
16890                    return Cg(n, t), n.prototype.process = function (t, n, i) {
16891                        this._enqueue({inputs: t, meta: n, callback: i}), this._dispatch()
16892                    }, n.prototype._enqueue = function (t) {
16893                        for (this._queue.push(t); this._queue.length > this._maxQueueLength;) this._queue.shift().callback(null, null)
16894                    }, n.prototype._dispatch = function () {
16895                        if (!this._running && 0 !== this._queue.length) {
16896                            var t = this._queue.shift();
16897                            this._job = t;
16898                            var n = t.inputs[0].width, i = t.inputs[0].height, r = t.inputs.map((function (t) {
16899                                return t.data.buffer
16900                            })), e = this._workers.length;
16901                            if (this._running = e, 1 !== e) for (var o = t.inputs[0].data.length, s = 4 * Math.ceil(o / 4 / e), a = 0; a < e; ++a) {
16902                                for (var u = a * s, c = [], h = 0, f = r.length; h < f; ++h) c.push(r[h].slice(u, u + s));
16903                                this._workers[a].postMessage({
16904                                    buffers: c,
16905                                    meta: t.meta,
16906                                    imageOps: this._imageOps,
16907                                    width: n,
16908                                    height: i
16909                                }, c)
16910                            } else this._workers[0].postMessage({
16911                                buffers: r,
16912                                meta: t.meta,
16913                                imageOps: this._imageOps,
16914                                width: n,
16915                                height: i
16916                            }, r)
16917                        }
16918                    }, n.prototype._onWorkerMessage = function (t, n) {
16919                        this.disposed || (this._dataLookup[t] = n.data, --this._running, 0 === this._running && this._resolveJob())
16920                    }, n.prototype._resolveJob = function () {
16921                        var t, n, i = this._job, r = this._workers.length;
16922                        if (1 === r) t = new Uint8ClampedArray(this._dataLookup[0].buffer), n = this._dataLookup[0].meta; else {
16923                            var e = i.inputs[0].data.length;
16924                            t = new Uint8ClampedArray(e), n = new Array(r);
16925                            for (var o = 4 * Math.ceil(e / 4 / r), s = 0; s < r; ++s) {
16926                                var a = this._dataLookup[s].buffer, u = s * o;
16927                                t.set(new Uint8ClampedArray(a), u), n[s] = this._dataLookup[s].meta
16928                            }
16929                        }
16930                        this._job = null, this._dataLookup = {}, i.callback(null, Pg(t, i.inputs[0].width, i.inputs[0].height), n), this._dispatch()
16931                    }, n.prototype.disposeInternal = function () {
16932                        for (var t = 0; t < this._workers.length; ++t) this._workers[t].terminate();
16933                        this._workers.length = 0
16934                    }, n
16935                }(v), Fg = "beforeoperations", Lg = "afteroperations", Gg = "pixel", Dg = "
16935image", Ug = function (t) {
16936                    function n(n, i, r) {
16937                        var e = t.call(this, n) || this;
16938                        return e.extent = i.extent, e.resolution = i.viewState.resolution / i.pixelRatio, e.data = r, e
16939                    }
16940
16941                    return Cg(n, t), n
16942                }(f), qg = function (t) {
16943                    function n(n) {
16944                        var i = t.call(this, {projection: null}) || this;
16945                        i.on, i.once, i.un, i.Lc = null, i.Gc = void 0 !== n.operationType ? n.operationType : Gg, i.Dc = void 0 !== n.threads ? n.threads : 1, i.Uc = function (t) {
16946                            for (var n = t.length, i = new Array(n), r = 0; r < n; ++r) i[r] = Vg(t[r]);
16947                            return i
16948                        }(n.sources);
16949                        for (var r, e = i.changed.bind(i), s = 0, a = i.Uc.length; s < a; ++s) i.Uc[s].addEventListener(N, e);
16950                        return i.ur = new Ca((function () {
16951                            return 1
16952                        }), i.changed.bind(i)), i.qc, i.Bc = null, i.jc, i.Hi = {
16953                            animate: !1,
16954                            coordinateToPixelTransform: [1, 0, 0, 1, 0, 0],
16955                            declutterTree: null,
16956                            extent: null,
16957                            index: 0,
16958                            layerIndex: 0,
16959                            layerStatesArray: (r = i.Uc, r.map((function (t) {
16960                                return t.getLayerState()
16961                            }))),
16962                            pixelRatio: 1,
16963                            pixelToCoordinateTransform: [1, 0, 0, 1, 0, 0],
16964                            postRenderFunctions: [],
16965                            size: [0, 0],
16966                            tileQueue: i.ur,
16967                            time: Date.now(),
16968                            usedTiles: {},
16969                            viewState: {rotation: 0},
16970                            viewHints: [],
16971                            wantedTiles: {},
16972                            mapId: o(i),
16973                            renderTargets: {}
16974                        }, i.setAttributions((function (t) {
16975                            for (var i = [], r = 0, e = n.sources.length; r < e; ++r) {
16976                                var o = n.sources[r], s = (o instanceof ud ? o : o.getSource()).getAttributions();
16977                                if ("function" == typeof s) {
16978                                    var a = s(t);
16979                                    i.push.apply(i, a)
16980                                }
16981                            }
16982                            return 0 !== i.length ? i : null
16983                        })), void 0 !== n.operation && i.setOperation(n.operation, n.lib), i
16984                    }
16985
16986                    return Cg(n, t), n.prototype.setOperation = function (t, n) {
16987                        this.Lc && this.Lc.dispose(), this.Lc = new zg({
16988                            operation: t,
16989                            imageOps: this.Gc === Dg,
16990                            queue: 1,
16991                            lib: n,
16992                            threads: this.Dc
16993                        }), this.changed()
16994                    }, n.prototype.Wc = function (t, n, i) {
16995                        var r = E({}, this.Hi);
16996                        r.viewState = E({}, r.viewState);
16997                        var e = Xn(t);
16998                        r.extent = t.slice(), r.size[0] = Math.round(Qn(t) / n), r.size[1] = Math.round(Kn(t) / n), r.time = Date.now();
16999                        var o = r.viewState;
17000                        return o.center = e, o.projection = i, o.resolution = n, r
17001                    }, n.prototype.Vc = function () {
17002                        for (var t = !0, n = 0, i = this.Uc.length; n < i; ++n) if (this.Uc[n].getSource().getState() !== ps) {
17003                            t = !1;
17004                            break
17005                        }
17006                        return t
17007                    }, n.prototype.getImage = function (t, n, i, r) {
17008                        if (!this.Vc()) return null;
17009                        var e = this.Wc(t, n, r);
17010                        if (this.qc = e, this.Bc) {
17011                            var o = this.Bc.getResolution(), s = this.Bc.getExtent();
17012                            n === o && In(t, s) || (this.Bc = null)
17013                        }
17014                        return this.Bc && this.getRevision() === this.jc || this.Xc(), e.tileQueue.loadMoreTiles(16, 16), e.animate && requestAnimationFrame(this.changed.bind(this)), this.Bc
17015                    }, n.prototype.Xc = function () {
17016                        for (var t = this.qc, n = this.Uc.length, i = new Array(n), r = 0; r < n; ++r) {
17017                            t.layerIndex = r;
17018                            var e = Wg(this.Uc[r], t);
17019                            if (!e) return;
17020                            i[r] = e
17021                        }
17022                        var o = {};
17023                        this.dispatchEvent(new Ug(Fg, t, o)), this.Lc.process(i, o, this.Hc.bind(this, t))
17024                    }, n.prototype.Hc = function (t, n, i, r) {
17025                        if (!n && i) {
17026                            var e = t.extent, o = t.viewState.resolution;
17027                            if (o === this.qc.viewState.resolution && In(e, this.qc.extent)) {
17028                                var s;
17029                                if (this.Bc) s = this.Bc.getImage().getContext("2d"); else s = _o(Math.round(Qn(e) / o), Math.round(Kn(e) / o)), this.Bc = new Mo(e, o, 1, s.canvas);
17030                                s.putImageData(i, 0, 0), this.changed(), this.jc = this.getRevision(), this.dispatchEvent(new Ug(Lg, t, r)), t.animate && requestAnimationFrame(this.changed.bind(this))
17031                            }
17032                        }
17033                    }, n.prototype.disposeInternal = function () {
17034                        this.Lc && this.Lc.dispose(), t.prototype.disposeInternal.call(this)
17035                    }, n
17036                }(Ib);
17037                qg.prototype.dispose;
17038                var Bg = null;
17039
17040                function Wg(t, n) {
17041                    var i = t.getRenderer();
17042                    if (!i) throw new Error("Unsupported layer type: " + t);
17043                    if (!i.prepareFrame(n)) return null;
17044                    var r = n.size[0], e = n.size[1];
17045                    if (0 === r || 0 === e) return null;
17046                    var o, s = i.renderFrame(n, null);
17047                    if (s instanceof HTMLCanvasElement) o = s; else {
17048                        if (s && (o = s.firstElementChild), !(o instanceof HTMLCanvasElement)) throw new Error("Unsupported rendered element: " + o);
17049                        if (o.width === r && o.height === e) return o.getContext("2d").getImageData(0, 0, r, e)
17050                    }
17051                    if (Bg) {
17052                        var a = Bg.canvas;
17053                        a.width !== r || a.height !== e ? Bg = _o(r, e) : Bg.clearRect(0, 0, r, e)
17054                    } else Bg = _o(r, e);
17055                    return Bg.drawImage(o, 0, 0, r, e), Bg.getImageData(0, 0, r, e)
17056                }
17057
17058                function Vg(t) {
17059                    var n;
17060                    return t instanceof ud ? t instanceof ld ? n = new Ag({source: t}) : t instanceof Ib && (n = new jg({source: t})) : n = t, n
17061                }
17062
17063                var Xg = qg, Hg = function () {
17064                        var t = function (n, i) {
17065                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17066                                t.__proto__ = n
17067                            } || function (t, n) {
17068                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17069                            })(n, i)
17070                        };
17071                        return function (n, i) {
17072                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17073
17074                            function r() {
17075                                this.constructor = n
17076                            }
17077
17078                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17079                        }
17080                    }(),
17081                    Jg = ['Map tiles by <a href="https://stamen.com/" target="_blank">Stamen Design</a>, under <a href="https://creativecommons.org/licenses/by/3.0/" target="_blank">CC BY 3.0</a>.', fg],
17082                    Kg = {
17083                        terrain: {extension: "jpg", opaque: !0},
17084                        "terrain-background": {extension: "jpg", opaque: !0},
17085                        "terrain-labels": {extension: "png", opaque: !1},
17086                        "terrain-lines": {extension: "png", opaque: !1},
17087                        "toner-background": {extension: "png", opaque: !0},
17088                        toner: {extension: "png", opaque: !0},
17089                        "toner-hybrid": {extension: "png", opaque: !1},
17090                        "toner-labels": {extension: "png", opaque: !1},
17091                        "toner-lines": {extension: "png", opaque: !1},
17092                        "toner-lite": {extension: "png", opaque: !0},
17093                        watercolor: {extension: "jpg", opaque: !0}
17094                    }, Yg = {
17095                        terrain: {minZoom: 0, maxZoom: 18},
17096                        toner: {minZoom: 0, maxZoom: 20},
17097                        watercolor: {minZoom: 0, maxZoom: 18}
17098                    }, Zg = function (t) {
17099                        function n(n) {
17100                            var i = void 0 === n.imageSmoothing || n.imageSmoothing;
17101                            void 0 !== n.interpolate && (i = n.interpolate);
17102                            var r = n.layer.indexOf("-"), e = -1 == r ? n.layer : n.layer.slice(0, r), o = Yg[e],
17103                                s = Kg[n.layer],
17104                                a = void 0 !== n.url ? n.url : "https://stamen-tiles-{a-d}.a.ssl.fastly.net/" + n.layer + "/{z}/{x}/{y}." + s.extension;
17105                            return t.call(this, {
17106                                attributions: Jg,
17107                                cacheSize: n.cacheSize,
17108                                crossOrigin: "anonymous",
17109                                interpolate: i,
17110                                maxZoom: null != n.maxZoom ? n.maxZoom : o.maxZoom,
17111                                minZoom: null != n.minZoom ? n.minZoom : o.minZoom,
17112                                opaque: s.opaque,
17113                                reprojectionErrorThreshold: n.reprojectionErrorThreshold,
17114                                tileLoadFunction: n.tileLoadFunction,
17115                                transition: n.transition,
17116                                url: a,
17117                                wrapX: n.wrapX,
17118                                zDirection: n.zDirection
17119                            }) || this
17120                        }
17121
17122                        return Hg(n, t), n
17123                    }(jd), $g = function () {
17124                        var t = function (n, i) {
17125                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17126                                t.__proto__ = n
17127                            } || function (t, n) {
17128                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17129                            })(n, i)
17130                        };
17131                        return function (n, i) {
17132                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17133
17134                            function r() {
17135                                this.constructor = n
17136                            }
17137
17138                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17139                        }
17140                    }(), Qg = function (t) {
17141                        function n(n) {
17142                            var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
17143                            return void 0 !== r.interpolate && (e = r.interpolate), (i = t.call(this, {
17144                                attributions: r.attributions,
17145                                cacheSize: r.cacheSize,
17146                                crossOrigin: r.crossOrigin,
17147                                interpolate: e,
17148                                projection: r.projection,
17149                                reprojectionErrorThreshold: r.reprojectionErrorThreshold,
17150                                tileGrid: r.tileGrid,
17151                                tileLoadFunction: r.tileLoadFunction,
17152                                url: r.url,
17153                                urls: r.urls,
17154                                wrapX: void 0 === r.wrapX || r.wrapX,
17155                                transition: r.transition,
17156                                zDirection: r.zDirection
17157                            }) || this).gc = r.params || {}, i.ju = void 0 === r.hidpi || r.hidpi, i.Eo = [1 / 0, 1 / 0, -1 / 0, -1 / 0], i.setKey(i.Jc()), i
17158                        }
17159
17160                        return $g(n, t), n.prototype.Jc = function () {
17161                            var t = 0, n = [];
17162                            for (var i in this.gc) n[t++] = i + "-" + this.gc[i];
17163                            return n.join("/")
17164                        }, n.prototype.getParams = function () {
17165                            return this.gc
17166                        }, n.prototype.kc = function (t, n, i, r, e, o) {
17167                            var s = this.urls;
17168                            if (s) {
17169                                var a, u = e.getCode().split(/:(?=\d+$)/).pop();
17170                                if (o.SIZE = n[0] + "," + n[1], o.BBOX = i.join(","), o.BBOXSR = u, o.IMAGESR = u, o.DPI = Math.round(o.DPI ? o.DPI * r : 90 * r), 1 == s.length) a = s[0]; else a = s[yi(Xc(t), s.length)];
17171                                return of(a.replace(/MapServer\/?$/, "MapServer/export").replace(/ImageServer\/?$/, "ImageServer/exportImage"), o)
17172                            }
17173                        }, n.prototype.getTilePixelRatio = function (t) {
17174                            return this.ju ? t : 1
17175                        }, n.prototype.updateParams = function (t) {
17176                            E(this.gc, t), this.setKey(this.Jc())
17177                        }, n.prototype.tileUrlFunction = function (t, n, i) {
17178                            var r = this.getTileGrid();
17179                            if (r || (r = this.getTileGridForProjection(i)), !(r.getResolutions().length <= t[0])) {
17180                                1 == n || this.ju || (n = 1);
17181                                var e = r.getTileCoordExtent(t, this.Eo), o = ou(r.getTileSize(t[0]), this.tmpSize);
17182                                1 != n && (o = eu(o, n, this.tmpSize));
17183                                var s = {F: "image", FORMAT: "PNG32", TRANSPARENT: !0};
17184                                return E(s, this.gc), this.kc(t, o, e, n, i, s)
17185                            }
17186                        }, n
17187                    }(md), tx = function () {
17188                        var t = function (n, i) {
17189                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17190                                t.__proto__ = n
17191                            } || function (t, n) {
17192                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17193                            })(n, i)
17194                        };
17195                        return function (n, i) {
17196                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17197
17198                            function r() {
17199                                this.constructor = n
17200                            }
17201
17202                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17203                        }
17204                    }(), nx = function (t) {
17205                        function n(n) {
17206                            var i = this, r = n || {};
17207                            return i = t.call(this, {
17208                                opaque: !1,
17209                                projection: r.projection,
17210                                tileGrid: r.tileGrid,
17211                                wrapX: void 0 === r.wrapX || r.wrapX,
17212                                zDirection: r.zDirection,
17213                                url: r.template || "z:{z} x:{x} y:{y}",
17214                                tileLoadFunction: function (t, n) {
17215                                    var r = t.getTileCoord()[0], e = ou(i.tileGrid.getTileSize(r)), o = _o(e[0], e[1]);
17216                                    o.strokeStyle = "grey", o.strokeRect(.5, .5, e[0] + .5, e[1] + .5), o.fillStyle = "grey", o.strokeStyle = "white", o.textAlign = "center", o.textBaseline = "middle", o.font = "24px sans-serif", o.lineWidth = 4, o.strokeText(n, e[0] / 2, e[1] / 2, e[0]), o.fillText(n, e[0] / 2, e[1] / 2, e[0]), t.setImage(o.canvas)
17217                                }
17218                            }) || this
17219                        }
17220
17221                        return tx(n, t), n
17222                    }(jd), ix = function () {
17223                        var t = function (n, i) {
17224                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17225                                t.__proto__ = n
17226                            } || function (t, n) {
17227                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17228                            })(n, i)
17229                        };
17230                        return function (n, i) {
17231                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17232
17233                            function r() {
17234                                this.constructor = n
17235                            }
17236
17237                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17238                        }
17239                    }(), rx = function (t) {
17240                        function n(n) {
17241                            var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
17242                            if (void 0 !== n.interpolate && (r = n.interpolate), (i = t.call(this, {
17243                                attributions: n.attributions,
17244                                cacheSize: n.cacheSize,
17245                                crossOrigin: n.crossOrigin,
17246                                interpolate: r,
17247                                projection: br("EPSG:3857"),
17248                                reprojectionErrorThreshold: n.reprojectionErrorThreshold,
17249                                state: ds,
17250                                tileLoadFunction: n.tileLoadFunction,
17251                                wrapX: void 0 === n.wrapX || n.wrapX,
17252                                transition: n.transition,
17253                                zDirection: n.zDirection
17254                            }) || this).Kc = null, i._o = n.tileSize, n.url) if (n.jsonp) dh(n.url, i.handleTileJSONResponse.bind(i), i.handleTileJSONError.bind(i)); else {
17255                                var e = new XMLHttpRequest;
17256                                e.addEventListener("load", i.Yc.bind(i)), e.addEventListener("error", i.Zc.bind(i)), e.open("GET", n.url), e.send()
17257                            } else n.tileJSON ? i.handleTileJSONResponse(n.tileJSON) : Mt(!1, 51);
17258                            return i
17259                        }
17260
17261                        return ix(n, t), n.prototype.Yc = function (t) {
17262                            var n = t.target;
17263                            if (!n.status || n.status >= 200 && n.status < 300) {
17264                                var i = void 0;
17265                                try {
17266                                    i = JSON.parse(n.responseText)
17267                                } catch (t) {
17268                                    return void this.handleTileJSONError()
17269                                }
17270                                this.handleTileJSONResponse(i)
17271                            } else this.handleTileJSONError()
17272                        }, n.prototype.Zc = function (t) {
17273                            this.handleTileJSONError()
17274                        }, n.prototype.getTileJSON = function () {
17275                            return this.Kc
17276                        }, n.prototype.handleTileJSONResponse = function (t) {
17277                            var n, i = br("EPSG:4326"), r = this.getProjection();
17278                            if (void 0 !== t.bounds) {
17279                                var e = Tr(i, r);
17280                                n = oi(t.bounds, e)
17281                            }
17282                            var o = $h(r), s = t.minzoom || 0,
17283                                a = Kh({extent: o, maxZoom: t.maxzoom || 22, minZoom: s, tileSize: this._o});
17284                            if (this.tileGrid = a, this.tileUrlFunction = tf(t.tiles, a), void 0 !== t.attribution && !this.getAttributions()) {
17285                                var u = void 0 !== n ? n : o;
17286                                this.setAttributions((function (n) {
17287                                    return ti(u, n.extent) ? [t.attribution] : null
17288                                }))
17289                            }
17290                            this.Kc = t, this.setState(ps)
17291                        }, n.prototype.handleTileJSONError = function () {
17292                            this.setState(ys)
17293                        }, n
17294                    }(md), ex = function () {
17295                        var t = function (n, i) {
17296                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17297                                t.__proto__ = n
17298                            } || function (t, n) {
17299                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17300                            })(n, i)
17301                        };
17302                        return function (n, i) {
17303                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17304
17305                            function r() {
17306                                this.constructor = n
17307                            }
17308
17309                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17310                        }
17311                    }(), ox = function (t) {
17312                        function n(n) {
17313                            var i = this, r = n || {}, e = void 0 === r.imageSmoothing || r.imageSmoothing;
17314                            void 0 !== r.interpolate && (e = r.interpolate);
17315                            var o = r.params || {}, s = !("TRANSPARENT" in o) || o.TRANSPARENT;
17316                            return (i = t.call(this, {
17317                                attributions: r.attributions,
17318                                attributionsCollapsible: r.attributionsCollapsible,
17319                                cacheSize: r.cacheSize,
17320                                crossOrigin: r.crossOrigin,
17321                                interpolate: e,
17322                                opaque: !s,
17323                                projection: r.projection,
17324                                reprojectionErrorThreshold: r.reprojectionErrorThreshold,
17325                                tileClass: r.tileClass,
17326                                tileGrid: r.tileGrid,
17327                                tileLoadFunction: r.tileLoadFunction,
17328                                url: r.url,
17329                                urls: r.urls,
17330                                wrapX: void 0 === r.wrapX || r.wrapX,
17331                                transition: r.transition,
17332                                zDirection: r.zDirection
17333                            }) || this).Ts = void 0 !== r.gutter ? r.gutter : 0, i.gc = o, i.Ec = !0, i.Cc = r.serverType, i.ju = void 0 === r.hidpi || r.hidpi, i.Eo = [1 / 0, 1 / 0, -1 / 0, -1 / 0], i.Ac(), i.setKey(i.Jc()), i
17334                        }
17335
17336                        return ex(n, t), n.prototype.getFeatureInfoUrl = function (t, n, i, r) {
17337                            var e = br(i), o = this.getProjection(), s = this.getTileGrid();
17338                            s || (s = this.getTileGridForProjection(e));
17339                            var a = s.getZForResolution(n, this.zDirection), u = s.getTileCoordForCoordAndZ(t, a);
17340                            if (!(s.getResolutions().length <= u[0])
17340) {
17341                                var c = s.getResolution(u[0]), h = s.getTileCoordExtent(u, this.Eo),
17342                                    f = ou(s.getTileSize(u[0]), this.tmpSize), l = this.Ts;
17343                                0 !== l && (f = iu(f, l, this.tmpSize), h = jn(h, c * l, h)), o && o !== e && (c = Uh(o, e, t, c), h = Cr(h, e, o), t = Ar(t, e, o));
17344                                var v = {
17345                                    SERVICE: "WMS",
17346                                    VERSION: Bb,
17347                                    REQUEST: "GetFeatureInfo",
17348                                    FORMAT: "image/png",
17349                                    TRANSPARENT: !0,
17350                                    QUERY_LAYERS: this.gc.LAYERS
17351                                };
17352                                E(v, this.gc, r);
17353                                var d = Math.floor((t[0] - h[0]) / c), p = Math.floor((h[3] - t[1]) / c);
17354                                return v[this.Ec ? "I" : "X"] = d, v[this.Ec ? "J" : "Y"] = p, this.kc(u, f, h, 1, o || e, v)
17355                            }
17356                        }, n.prototype.getLegendUrl = function (t, n) {
17357                            if (void 0 !== this.urls[0]) {
17358                                var i = {SERVICE: "WMS", VERSION: Bb, REQUEST: "GetLegendGraphic", FORMAT: "image/png"};
17359                                if (void 0 === n || void 0 === n.LAYER) {
17360                                    var r = this.gc.LAYERS;
17361                                    if (!(!Array.isArray(r) || 1 === r.length)) return;
17362                                    i.LAYER = r
17363                                }
17364                                if (void 0 !== t) {
17365                                    var e = this.getProjection() ? this.getProjection().getMetersPerUnit() : 1;
17366                                    i.SCALE = t * e / 28e-5
17367                                }
17368                                return E(i, n), of(this.urls[0], i)
17369                            }
17370                        }, n.prototype.getGutter = function () {
17371                            return this.Ts
17372                        }, n.prototype.getParams = function () {
17373                            return this.gc
17374                        }, n.prototype.kc = function (t, n, i, r, e, o) {
17375                            var s = this.urls;
17376                            if (s) {
17377                                if (o.WIDTH = n[0], o.HEIGHT = n[1], o[this.Ec ? "CRS" : "SRS"] = e.getCode(), "STYLES" in this.gc || (o.STYLES = ""), 1 != r) switch (this.Cc) {
17378                                    case Vb:
17379                                        var a = 90 * r + .5 | 0;
17380                                        "FORMAT_OPTIONS" in o ? o.FORMAT_OPTIONS += ";dpi:" + a : o.FORMAT_OPTIONS = "dpi:" + a;
17381                                        break;
17382                                    case Xb:
17383                                        o.MAP_RESOLUTION = 90 * r;
17384                                        break;
17385                                    case Wb:
17386                                    case Hb:
17387                                        o.DPI = 90 * r;
17388                                        break;
17389                                    default:
17390                                        Mt(!1, 52)
17391                                }
17392                                var u, c = e.getAxisOrientation(), h = i;
17393                                if (this.Ec && "ne" == c.substr(0, 2)) {
17394                                    var f = void 0;
17395                                    f = i[0], h[0] = i[1], h[1] = f, f = i[2], h[2] = i[3], h[3] = f
17396                                }
17397                                if (o.BBOX = h.join(","), 1 == s.length) u = s[0]; else u = s[yi(Xc(t), s.length)];
17398                                return of(u, o)
17399                            }
17400                        }, n.prototype.getTilePixelRatio = function (t) {
17401                            return this.ju && void 0 !== this.Cc ? t : 1
17402                        }, n.prototype.Jc = function () {
17403                            var t = 0, n = [];
17404                            for (var i in this.gc) n[t++] = i + "-" + this.gc[i];
17405                            return n.join("/")
17406                        }, n.prototype.updateParams = function (t) {
17407                            E(this.gc, t), this.Ac(), this.setKey(this.Jc())
17408                        }, n.prototype.Ac = function () {
17409                            var t = this.gc.VERSION || Bb;
17410                            this.Ec = Hi(t, "1.3") >= 0
17411                        }, n.prototype.tileUrlFunction = function (t, n, i) {
17412                            var r = this.getTileGrid();
17413                            if (r || (r = this.getTileGridForProjection(i)), !(r.getResolutions().length <= t[0])) {
17414                                1 == n || this.ju && void 0 !== this.Cc || (n = 1);
17415                                var e = r.getResolution(t[0]), o = r.getTileCoordExtent(t, this.Eo),
17416                                    s = ou(r.getTileSize(t[0]), this.tmpSize), a = this.Ts;
17417                                0 !== a && (s = iu(s, a, this.tmpSize), o = jn(o, e * a, o)), 1 != n && (s = eu(s, n, this.tmpSize));
17418                                var u = {
17419                                    SERVICE: "WMS",
17420                                    VERSION: Bb,
17421                                    REQUEST: "GetMap",
17422                                    FORMAT: "image/png",
17423                                    TRANSPARENT: !0
17424                                };
17425                                return E(u, this.gc), this.kc(t, s, o, n, i, u)
17426                            }
17427                        }, n
17428                    }
17428(md), sx = function () {
17429                        var t = function (n, i) {
17430                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17431                                t.__proto__ = n
17432                            } || function (t, n) {
17433                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17434                            })(n, i)
17435                        };
17436                        return function (n, i) {
17437                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17438
17439                            function r() {
17440                                this.constructor = n
17441                            }
17442
17443                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17444                        }
17445                    }(), ax = function (t) {
17446                        function n(n, i, r, e, o, s) {
17447                            var a = t.call(this, n, i) || this;
17448                            return a.Pt = r, a.st = e, a.$c = o, a.Qc = null, a.th = null, a.B = null, a.nh = s, a
17449                        }
17450
17451                        return sx(n, t), n.prototype.getImage = function () {
17452                            return null
17453                        }, n.prototype.getData = function (t) {
17454                            if (!this.Qc || !this.th) return null;
17455                            var n = (t[0] - this.st[0]) / (this.st[2] - this.st[0]),
17456                                i = (t[1] - this.st[1]) / (this.st[3] - this.st[1]),
17457                                r = this.Qc[Math.floor((1 - i) * this.Qc.length)];
17458                            if ("string" != typeof r) return null;
17459                            var e = r.charCodeAt(Math.floor(n * r.length));
17460                            e >= 93 && e--, e >= 35 && e--;
17461                            var o = null;
17462                            if ((e -= 32) in this.th) {
17463                                var s = this.th[e];
17464                                o = this.B && s in this.B ? this.B[s] : s
17465                            }
17466                            return o
17467                        }, n.prototype.forDataAtCoordinate = function (t, n, i) {
17468                            this.state == yt && !0 === i ? (this.state = lt, Z(this, N, (function (i) {
17469                                n(this.getData(t))
17470                            }), this), this.ih()) : !0 === i ? setTimeout(function () {
17471                                n(this.getData(t))
17472                            }.bind(this), 0) : n(this.getData(t))
17473                        }, n.prototype.getKey = function () {
17474                            return this.Pt
17475                        }, n.prototype.Pc = function () {
17476                            this.state = pt, this.changed()
17477                        }, n.prototype.qt = function (t) {
17478                            this.Qc = t.grid, this.th = t.keys, this.B = t.data, this.state = dt, this.changed()
17479                        }, n.prototype.ih = function () {
17480                            if (this.state == lt) if (this.state = vt, this.nh) dh(this.Pt, this.qt.bind(this), this.Pc.bind(this)); else {
17481                                var t = new XMLHttpRequest;
17482                                t.addEventListener("load", this.Yc.bind(this)), t.addEventListener("error", this.Zc.bind(this)), t.open("GET", this.Pt), t.send()
17483                            }
17484                        }, n.prototype.Yc = function (t) {
17485                            var n = t.target;
17486                            if (!n.status || n.status >= 200 && n.status < 300) {
17487                                var i = void 0;
17488                                try {
17489                                    i = JSON.parse(n.responseText)
17490                                } catch (t) {
17491                                    return void this.Pc()
17492                                }
17493                                this.qt(i)
17494                            } else this.Pc()
17495                        }, n.prototype.Zc = function (t) {
17496                            this.Pc()
17497                        }, n.prototype.load = function () {
17498                            this.$c ? this.ih() : this.setState(yt)
17499                        }, n
17500                    }(jt), ux = function (t) {
17501                        function n(n) {
17502                            var i = t.call(this, {
17503                                projection: br("EPSG:3857"),
17504                                state: ds,
17505                                zDirection: n.zDirection
17506                            }) || this;
17507                            if (i.$c = void 0 === n.preemptive || n.preemptive, i.rh = rf, i.eh = void 0, i.nh = n.jsonp || !1, n.url) if (i.nh) dh(n.url, i.handleTileJSONResponse.bind(i), i.handleTileJSONError.bind(i)); else {
17508                                var r = new XMLHttpRequest;
17509                                r.addEventListener("load", i.Yc.bind(i)), r.addEventListener("error", i.Zc.bind(i)), r.open("GET", n.url), r.send()
17510                            } else n.tileJSON ? i.handleTileJSONResponse(n.tileJSON) : Mt(!1, 51);
17511                            return i
17512                        }
17513
17514                        return sx(n, t), n.prototype.Yc = function (t) {
17515                            var n = t.target;
17516                            if (!n.status || n.status >= 200 && n.status < 300) {
17517                                var i = void 0;
17518                                try {
17519                                    i = JSON.parse(n.responseText)
17520                                } catch (t) {
17521                                    return void this.handleTileJSONError()
17522                                }
17523                                this.handleTileJSONResponse(i)
17524                            } else this.handleTileJSONError()
17525                        }, n.prototype.Zc = function (t) {
17526                            this.handleTileJSONError()
17527                        }, n.prototype.getTemplate = function () {
17528                            return this.eh
17529                        }, n.prototype.forDataAtCoordinateAndResolution = function (t, n, i, r) {
17530                            if (this.tileGrid) {
17531                                var e = this.tileGrid.getZForResolution(n, this.zDirection),
17532                                    o = this.tileGrid.getTileCoordForCoordAndZ(t, e);
17533                                this.getTile(o[0], o[1], o[2], 1, this.getProjection()).forDataAtCoordinate(t, i, r)
17534                            } else !0 === r ? setTimeout((function () {
17535                                i(null)
17536                            }), 0) : i(null)
17537                        }, n.prototype.handleTileJSONError = function () {
17538                            this.setState(ys)
17539                        }, n.prototype.handleTileJSONResponse = function (t) {
17540                            var n, i = br("EPSG:4326"), r = this.getProjection();
17541                            if (void 0 !== t.bounds) {
17542                                var e = Tr(i, r);
17543                                n = oi(t.bounds, e)
17544                            }
17545                            var o = $h(r), s = t.minzoom || 0, a = Kh({extent: o, maxZoom: t.maxzoom || 22, minZoom: s});
17546                            this.tileGrid = a, this.eh = t.template;
17547                            var u = t.grids;
17548                            if (u) {
17549                                if (this.rh = tf(u, a), void 0 !== t.attribution) {
17550                                    var c = void 0 !== n ? n : o;
17551                                    this.setAttributions((function (n) {
17552                                        return ti(c, n.extent) ? [t.attribution] : null
17553                                    }))
17554                                }
17555                                this.setState(ps)
17556                            } else this.setState(ys)
17557                        }, n.prototype.getTile = function (t, n, i, r, e) {
17558                            var o = qc(t, n, i);
17559                            if (this.tileCache.containsKey(o)) return this.tileCache.get(o);
17560                            var s = [t, n, i], a = this.getTileCoordForTileUrlFunction(s, e), u = this.rh(a, r, e),
17561                                c = new ax(s, void 0 !== u ? lt : yt, void 0 !== u ? u : "", this.tileGrid.getTileCoordExtent(s), this.$c, this.nh);
17562                            return this.tileCache.set(o, c), c
17563                        }, n.prototype.useTile = function (t, n, i) {
17564                            var r = qc(t, n, i);
17565                            this.tileCache.containsKey(r) && this.tileCache.get(r)
17566                        }, n
17567                    }(ld), cx = "KVP", hx = "REST", fx = function () {
17568                        var t = function (n, i) {
17569                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17570                                t.__proto__ = n
17571                            } || function (t, n) {
17572                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17573                            })(n, i)
17574                        };
17575                        return function (n, i) {
17576                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17577
17578                            function r() {
17579                                this.constructor = n
17580                            }
17581
17582                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17583                        }
17584                    }(), lx = function (t) {
17585                        function n(n) {
17586                            var i = this, r = void 0 === n.imageSmoothing || n.imageSmoothing;
17587                            void 0 !== n.interpolate && (r = n.interpolate);
17588                            var e = void 0 !== n.requestEncoding ? n.requestEncoding : cx, o = n.tileGrid, s = n.urls;
17589                            return void 0 === s && void 0 !== n.url && (s = ef(n.url)), (i = t.call(this, {
17590                                attributions: n.attributions,
17591                                attributionsCollapsible: n.attributionsCollapsible,
17592                                cacheSize: n.cacheSize,
17593                                crossOrigin: n.crossOrigin,
17594                                interpolate: r,
17595                                projection: n.projection,
17596                                reprojectionErrorThreshold: n.reprojectionErrorThreshold,
17597                                tileClass: n.tileClass,
17598                                tileGrid: o,
17599                                tileLoadFunction: n.tileLoadFunction,
17600                                tilePixelRatio: n.tilePixelRatio,
17601                                urls: s,
17602                                wrapX: void 0 !== n.wrapX && n.wrapX,
17603                                transition: n.transition,
17604                                zDirection: n.zDirection
17605                            }) || this).oh = void 0 !== n.version ? n.version : "1.0.0", i.ze = void 0 !== n.format ? n.format : "image/jpeg", i.sh = void 0 !== n.dimensions ? n.dimensions : {}, i.qs = n.layer, i.ah = n.matrixSet, i.K = n.style, i.uh = e, i.setKey(i.hh()), s && s.length > 0 && (i.tileUrlFunction = nf(s.map(i.createFromWMTSTemplate.bind(i)))), i
17606                        }
17607
17608                        return fx(n, t), n.prototype.setUrls = function (t) {
17609                            this.urls = t;
17610                            var n = t.join("\n");
17611                            this.setTileUrlFunction(nf(t.map(this.createFromWMTSTemplate.bind(this))), n)
17612                        }, n.prototype.getDimensions = function () {
17613                            return this.sh
17614                        }, n.prototype.getFormat = function () {
17615                            return this.ze
17616                        }, n.prototype.getLayer = function () {
17617                            return this.qs
17618                        }, n.prototype.getMatrixSet = function () {
17619                            return this.ah
17620                        }, n.prototype.getRequestEncoding = function () {
17621                            return this.uh
17622                        }, n.prototype.getStyle = function () {
17623                            return this.K
17624                        }, n.prototype.getVersion = function () {
17625                            return this.oh
17626                        }, n.prototype.hh = function () {
17627                            var t = 0, n = [];
17628                            for (var i in this.sh) n[t++] = i + "-" + this.sh[i];
17629                            return n.join("/")
17630                        }, n.prototype.updateDimensions = function (t) {
17631                            E(this.sh, t), this.setKey(this.hh())
17632                        }, n.prototype.createFromWMTSTemplate = function (t) {
17633                            var n = this.uh, i = {layer: this.qs, style: this.K, tilematrixset: this.ah};
17634                            n == cx && E(i, {
17635                                Service: "WMTS",
17636                                Request: "GetTile",
17637                                Version: this.oh,
17638                                Format: this.ze
17639                            }), t = n == cx ? of(t, i) : t.replace(/\{(\w+?)\}/g, (function (t, n) {
17640                                return n.toLowerCase() in i ? i[n.toLowerCase()] : t
17641                            }));
17642                            var r = this.tileGrid, e = this.sh;
17643                            return function (i, o, s) {
17644                                if (i) {
17645                                    var a = {TileMatrix: r.getMatrixId(i[0]), TileCol: i[1], TileRow: i[2]};
17646                                    E(a, e);
17647                                    var u = t;
17648                                    return u = n == cx ? of(u, a) : u.replace(/\{(\w+?)\}/g, (function (t, n) {
17649                                        return a[n]
17650                                    }))
17651                                }
17652                            }
17653                        }, n
17654                    }(md);
17655                var vx = function () {
17656                    var t = function (n, i) {
17657                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17658                            t.__proto__ = n
17659                        } || function (t, n) {
17660                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17661                        })(n, i)
17662                    };
17663                    return function (n, i) {
17664                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17665
17666                        function r() {
17667                            this.constructor = n
17668                        }
17669
17670                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17671                    }
17672                }(), dx = "renderOrder", px = function (t) {
17673                    function n(n) {
17674                        var i = this, r = n || {}, e = E({}, r);
17675                        return delete e.style, delete e.renderBuffer, delete e.updateWhileAnimating, delete e.updateWhileInteracting, (i = t.call(this, e) || this).fh = void 0 !== r.declutter && r.declutter, i.lh = void 0 !== r.renderBuffer ? r.renderBuffer : 100, i.K = null, i.tt = void 0, i.setStyle(r.style), i.dh = void 0 !== r.updateWhileAnimating && r.updateWhileAnimating, i.ph = void 0 !== r.updateWhileInteracting && r.updateWhileInteracting, i
17676                    }
17677
17678                    return vx(n, t), n.prototype.getDeclutter = function () {
17679                        return this.fh
17680                    }, n.prototype.getFeatures = function (n) {
17681                        return t.prototype.getFeatures.call(this, n)
17682                    }, n.prototype.getRenderBuffer = function () {
17683                        return this.lh
17684                    }, n.prototype.getRenderOrder = function () {
17685                        return this.get(dx)
17686                    }, n.prototype.getStyle = function () {
17687                        return this.K
17688                    }, n.prototype.getStyleFunction = function () {
17689                        return this.tt
17690                    }, n.prototype.getUpdateWhileAnimating = function () {
17691                        return this.dh
17692                    }, n.prototype.getUpdateWhileInteracting = function () {
17693                        return this.ph
17694                    }, n.prototype.renderDeclutter = function (t) {
17695                        t.declutterTree || (t.declutterTree = new nd(9)), this.getRenderer().renderDeclutter(t)
17696                    }, n.prototype.setRenderOrder = function (t) {
17697                        this.set(dx, t)
17698                    }, n.prototype.setStyle = function (t) {
17699                        this.K = void 0 !== t ? t : Hv, this.tt = null === t ? void 0 : Vv(this.K), this.changed()
17700                    }, n
17701                }(bs);
17702                var yx = function () {
17703                        var t = function (n, i) {
17704                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17705                                t.__proto__ = n
17706                            } || function (t, n) {
17707                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17708                            })(n, i)
17709                        };
17710                        return function (n, i) {
17711                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17712
17713                            function r() {
17714                                this.constructor = n
17715                            }
17716
17717                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17718                        }
17719                    }(), mx = function (t) {
17720                        function n(n, i) {
17721                            var r = this, e = i.uniforms || {}, s = [1, 0, 0, 1, 0, 0];
17722                            e[Kf] = s, (r = t.call(this, n, {
17723                                uniforms: e,
17724                                postProcesses: i.postProcesses
17725                            }) || this).ready = !1, r.yh = -1, r.mh = new qf(af, hf), r.wh = new qf(af, hf), r.bh = new qf(uf, hf), r.Qs = i.vertexShader, r.ta = i.fragmentShader, r.$s, r.gh = !(!i.hitFragmentShader || !i.hitVertexShader), r.xh = i.hitVertexShader, r.jh = i.hitFragmentShader, r.Sh;
17726                            var a = i.attributes ? i.attributes.map((function (t) {
17727                                return {name: "a_" + t.name, size: 1, type: nl.FLOAT}
17728                            })) : [];
17729                            r.attributes = [{name: "a_position", size: 2, type: nl.FLOAT}, {
17730                                name: "a_index",
17731                                size: 1,
17732                                type: nl.FLOAT
17733                            }].concat(a), r.hitDetectionAttributes = [{
17734                                name: "a_position",
17735                                size: 2,
17736                                type: nl.FLOAT
17737                            }, {name: "a_index", size: 1, type: nl.FLOAT}, {
17738                                name: "a_hitColor",
17739                                size: 4,
17740                                type: nl.FLOAT
17741                            }, {
17742                                name: "a_featureUid",
17743                                size: 1,
17744                                type: nl.FLOAT
17745                            }].concat(a), r.customAttributes = i.attributes ? i.attributes : [], r.Ji = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r.kh = s, r.Mh = [1, 0, 0, 1, 0, 0], r._h = [1, 0, 0, 1, 0, 0], r.Oh = new Float32Array(0), r.Th = new Float32Array(0), r.Eh, r.Ah = 0, r.Ch = function () {
17746                                var t = 'var e="function"==typeof Object.assign?Object.assign:function(e,n){if(null==e)throw new TypeError("Cannot convert undefined or null to object");for(var t=Object(e),r=1,o=arguments.length;r<o;++r){var i=arguments[r];if(null!=i)for(var f in i)i.hasOwnProperty(f)&&(t[f]=i[f])}return t},n="GENERATE_BUFFERS",t=[],r={vertexPosition:0,indexPosition:0};function o(e,n,t,r,o){e[n+0]=t,e[n+1]=r,e[n+2]=o}function i(e,n,i,f,s,a){var u=3+s,l=e[n+0],v=e[n+1],c=t;c.length=s;for(var g=0;g<c.length;g++)c[g]=e[n+2+g];var b=a?a.vertexPosition:0,h=a?a.indexPosition:0,d=b/u;return o(i,b,l,v,0),c.length&&i.set(c,b+3),o(i,b+=u,l,v,1),c.length&&i.set(c,b+3),o(i,b+=u,l,v,2),c.length&&i.set(c,b+3),o(i,b+=u,l,v,3),c.length&&i.set(c,b+3),b+=u,f[h++]=d,f[h++]=d+1,f[h++]=d+3,f[h++]=d+1,f[h++]=d+2,f[h++]=d+3,r.vertexPosition=b,r.indexPosition=h,r}var f=self;f.onmessage=function(t){var r=t.data;if(r.type===n){for(var o,s=r.customAttributesCount,a=2+s,u=new Float32Array(r.renderInstructions),l=u.length/a,v=4*l*(s+3),c=new Uint32Array(6*l),g=new Float32Array(v),b=0;b<u.length;b+=a)o=i(u,b,g,c,s,o);var h=e({vertexBuffer:g.buffer,indexBuffer:c.buffer,renderInstructions:u.buffer},r);f.postMessage(h,[g.buffer,c.buffer,u.buffer])}};';
17747                                return new Worker("undefined" == typeof Blob ? "data:application/javascript;
17747base64," + Buffer.from(t, "binary").toString("base64") : URL.createObjectURL(new Blob([t], {type: "application/javascript"})))
17748                            }(), r.Ch.addEventListener("message", function (t) {
17749                                var n = t.data;
17750                                if (n.type === Sl) {
17751                                    var i = n.projectionTransform;
17752                                    n.hitDetection ? (this.wh.fromArrayBuffer(n.vertexBuffer), this.helper.flushBufferData(this.wh)) : (this.mh.fromArrayBuffer(n.vertexBuffer), this.helper.flushBufferData(this.mh)), this.bh.fromArrayBuffer(n.indexBuffer), this.helper.flushBufferData(this.bh), this.Mh = i, un(this._h, this.Mh), n.hitDetection ? this.Th = new Float32Array(t.data.renderInstructions) : (this.Oh = new Float32Array(t.data.renderInstructions), n.generateBuffersRun === this.Ah && (this.ready = !0)), this.getLayer().changed()
17753                                }
17754                            }.bind(r)), r.Rh = {}, r.Ph = 0;
17755                            var u = r.getLayer().getSource();
17756                            return r.Ih = [Y(u, Md, r.Nh, r), Y(u, _d, r.zh, r), Y(u, Td, r.Fh, r), Y(u, Od, r.Lh, r)], u.forEachFeature(function (t) {
17757                                this.Rh[o(t)] = {
17758                                    feature: t,
17759                                    properties: t.getProperties(),
17760                                    geometry: t.getGeometry()
17761                                }, this.Ph++
17762                            }.bind(r)), r
17763                        }
17764
17765                        return yx(n, t), n.prototype.afterHelperCreated = function () {
17766                            this.$s = this.helper.getProgram(this.ta, this.Qs), this.gh && (this.Sh = this.helper.getProgram(this.jh, this.xh), this.Eh = new hl(this.helper))
17767                        }, n.prototype.Nh = function (t) {
17768                            var n = t.feature;
17769                            this.Rh[o(n)] = {
17770                                feature: n,
17771                                properties: n.getProperties(),
17772                                geometry: n.getGeometry()
17773                            }, this.Ph++
17774                        }, n.prototype.zh = function (t) {
17775                            var n = t.feature;
17776                            this.Rh[o(n)] = {feature: n, properties: n.getProperties(), geometry: n.getGeometry()}
17777                        }, n.prototype.Fh = function (t) {
17778                            var n = t.feature;
17779                            delete this.Rh[o(n)], this.Ph--
17780                        }, n.prototype.Lh = function () {
17781                            this.Rh = {}, this.Ph = 0
17782                        }, n.prototype.renderFrame = function (t) {
17783                            var n = this.helper.getGL();
17784                            this.preRender(n, t);
17785                            var i = this.bh.getSize();
17786                            this.helper.drawElements(0, i), this.helper.finalizeDraw(t, this.dispatchPreComposeEvent, this.dispatchPostComposeEvent);
17787                            var r = this.helper.getCanvas();
17788                            return this.gh && (this.renderHitDetection(t), this.Eh.clearCachedData()), this.postRender(n, t), r
17789                        }, n.prototype.prepareFrameInternal = function (t) {
17790                            var n = this.getLayer(), i = n.getSource(), r = t.viewState,
17791                                e = !t.viewHints[Pa] && !t.viewHints[Ia], o = !In(this.Ji, t.extent),
17792                                s = this.yh < i.getRevision();
17793                            if (s && (this.yh = i.getRevision()), e && (o || s)) {
17794                                var a = r.projection, u = r.resolution, c = n instanceof px ? n.getRenderBuffer() : 0,
17795                                    h = jn(t.extent, c * u);
17796                                i.loadFeatures(h, u, a), this.Gh(t), this.Ji = t.extent.slice()
17797                            }
17798                            return this.helper.makeProjectionTransform(t, this.kh), $t(this.kh, this._h), this.helper.useProgram(this.$s), this.helper.prepareDraw(t), this.helper.bindBuffer(this.mh), this.helper.bindBuffer(this.bh), this.helper.enableAttributes(this.attributes), !0
17799                        }, n.prototype.Gh = function (t) {
17800                            var n = [1, 0, 0, 1, 0, 0];
17801                            this.helper.makeProjectionTransform(t, n);
17802                            var i, r, e = (2 + this.customAttributes.length) * this.Ph;
17803                            if (this.Oh && this.Oh.length === e || (this.Oh = new Float32Array(e)), this.gh) {
17804                                var o = (7 + this.customAttributes.length) * this.Ph;
17805                                this.Th && this.Th.length === o || (this.Th = new Float32Array(o))
17806                            }
17807                            var s, a = [], u = [], c = 0, h = 0;
vendor: 3,188 bytes, lines 17808-17844
17808                            for (var f in this.Rh) if ((r = (i = this.Rh[f]).geometry) && r.getType() === Pt.POINT) {
17809                                a[0] = r.getFlatCoordinates()[0], a[1] = r.getFlatCoordinates()[1], nn(n, a), s = Tl(h + 6, u), this.Oh[c++] = a[0], this.Oh[c++] = a[1], this.gh && (this.Th[h++] = a[0], this.Th[h++] = a[1], this.Th[h++] = s[0], this.Th[h++] = s[1], this.Th[h++] = s[2], this.Th[h++] = s[3], this.Th[h++] = Number(f));
17810                                for (var l = void 0, v = 0; v < this.customAttributes.length; v++) l = this.customAttributes[v].callback(i.feature, i.properties), this.Oh[c++] = l, this.gh && (this.Th[h++] = l)
17811                            }
17812                            var d = {
17813                                type: Sl,
17814                                renderInstructions: this.Oh.buffer,
17815                                customAttributesCount: this.customAttributes.length
17816                            };
17817                            if (d.projectionTransform = n, d.generateBuffersRun = ++this.Ah, this.ready = !1, this.Ch.postMessage(d, [this.Oh.buffer]), this.Oh = null, this.gh) {
17818                                var p = {
17819                                    type: Sl,
17820                                    renderInstructions: this.Th.buffer,
17821                                    customAttributesCount: 5 + this.customAttributes.length
17822                                };
17823                                p.projectionTransform = n, p.hitDetection = !0, this.Ch.postMessage(p, [this.Th.buffer]), this.Th = null
17824                            }
17825                        }, n.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e) {
17826                            if (Mt(this.gh, 66), this.Th) {
17827                                var o = nn(n.coordinateToPixelTransform, t.slice()),
17828                                    s = this.Eh.readPixel(o[0] / 2, o[1] / 2),
17829                                    a = El([s[0] / 255, s[1] / 255, s[2] / 255, s[3] / 255]), u = this.Th[a],
17830                                    c = Math.floor(u).toString(), h = this.getLayer().getSource().getFeatureByUid(c);
17831                                return h ? r(h, this.getLayer(), null) : void 0
17832                            }
17833                        }, n.prototype.renderHitDetection = function (t) {
17834                            if (this.wh.getSize()) {
17835                                this.Eh.setSize([Math.floor(t.size[0] / 2), Math.floor(t.size[1] / 2)]), this.helper.useProgram(this.Sh), this.helper.prepareDrawToRenderTarget(t, this.Eh, !0), this.helper.bindBuffer(this.wh), this.helper.bindBuffer(this.bh), this.helper.enableAttributes(this.hitDetectionAttributes);
17836                                var n = this.bh.getSize();
17837                                this.helper.drawElements(0, n)
17838                            }
17839                        }, n.prototype.disposeInternal = function () {
17840                            this.Ch.terminate(), this.qs = null, this.Ih.forEach((function (t) {
17841                                $(t)
17842                            })), this.Ih = null, t.prototype.disposeInternal.call(this)
17843                        }, n
17844                    }
17844(Al), wx = {
17845                        BEGIN_GEOMETRY: 0,
17846                        BEGIN_PATH: 1,
17847                        CIRCLE: 2,
17848                        CLOSE_PATH: 3,
17849                        CUSTOM: 4,
17850                        DRAW_CHARS: 5,
17851                        DRAW_IMAGE: 6,
17852                        END_GEOMETRY: 7,
17853                        FILL: 8,
17854                        MOVE_TO_LINE_TO: 9,
17855                        SET_FILL_STYLE: 10,
17856                        SET_STROKE_STYLE: 11,
17857                        STROKE: 12
17858                    }, bx = [wx.FILL], gx = [wx.STROKE], xx = [wx.BEGIN_PATH], jx = [wx.CLOSE_PATH], Sx = wx,
17859                    kx = function () {
17860                        var t = function (n, i) {
17861                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17862                                t.__proto__ = n
17863                            } || function (t, n) {
17864                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17865                            })(n, i)
17866                        };
17867                        return function (n, i) {
17868                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
17869
17870                            function r() {
17871                                this.constructor = n
17872                            }
17873
17874                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
17875                        }
17876                    }(), Mx = function (t) {
17877                        function n(n, i, r, e) {
17878                            var o = t.call(this) || this;
17879                            return o.tolerance = n, o.maxExtent = i, o.pixelRatio = e, o.maxLineWidth = 0, o.resolution = r, o.Dh = null, o.Uh = null, o.qh = null, o.instructions = [], o.coordinates = [], o.Bh = [], o.hitDetectionInstructions = [], o.state = {}, o
17880                        }
17881
17882                        return kx(n, t), n.prototype.applyPixelRatio = function (t) {
17883                            var n = this.pixelRatio;
17884                            return 1 == n ? t : t.map((function (t) {
17885                                return t * n
17886                            }))
17887                        }, n.prototype.appendFlatPointCoordinates = function (t, n) {
17888                            for (var i = this.getBufferedMaxExtent(), r = this.Bh, e = this.coordinates, o = e.length, s = 0, a = t.length; s < a; s += n) r[0] = t[s], r[1] = t[s + 1], Mn(i, r) && (e[o++] = r[0], e[o++] = r[1]);
17889                            return o
17890                        }, n.prototype.appendFlatLineCoordinates = function (t, n, i, r, e, o) {
17891                            var s = this.coordinates, a = s.length, u = this.getBufferedMaxExtent();
17892                            o && (n += r);
17893                            var c, h, f, l = t[n], v = t[n + 1], d = this.Bh, p = !0;
17894                            for (c = n + r; c < i; c += r) d[0] = t[c], d[1] = t[c + 1], (f = Tn(u, d)) !== h ? (p && (s[a++] = l, s[a++] = v, p = !1), s[a++] = d[0], s[a++] = d[1]) : f === yn ? (s[a++] = d[0], s[a++] = d[1], p = !1) : p = !0, l = d[0], v = d[1], h = f;
17895                            return (e && p || c === n + r) && (s[a++] = l, s[a++] = v), a
17896                        }, n.prototype.Wh = function (t, n, i, r, e) {
17897                            for (var o = 0, s = i.length; o < s; ++o) {
17898                                var a = i[o], u = this.appendFlatLineCoordinates(t, n, a, r, !1, !1);
17899                                e.push(u), n = a
17900                            }
17901                            return n
17902                        }, n.prototype.drawCustom = function (t, n, i, r) {
17903                            this.beginGeometry(t, n);
17904                            var e, o, s, a, u, c = t.getType(), h = t.getStride(), f = this.coordinates.length;
17905                            switch (c) {
17906                                case Pt.MULTI_POLYGON:
17907                                    e = t.getOrientedFlatCoordinates(), a = [];
17908                                    var l = t.getEndss();
17909                                    u = 0;
17910                                    for (var v = 0, d = l.length; v < d; ++v) {
17911                                        var p = [];
17912                                        u = this.Wh(e, u, l[v], h, p), a.push(p)
17913                                    }
17914                                    this.instructions.push([Sx.CUSTOM, f, a, t, i, ge]), this.hitDetectionInstructions.push([Sx.CUSTOM, f, a, t, r || i, ge]);
17915                                    break;
17916                                case Pt.POLYGON:
17917                                case Pt.MULTI_LINE_STRING:
17918                                    s = [], e = c == Pt.POLYGON ? t.getOrientedFlatCoordinates() : t.getFlatCoordinates(), u = this.Wh(e, 0, t.getEnds(), h, s), this.instructions.push([Sx.CUSTOM, f, s, t, i, be]), this.hitDetectionInstructions.push([Sx.CUSTOM, f, s, t, r || i, be]);
17919                                    break;
17920                                case Pt.LINE_STRING:
17921                                case Pt.CIRCLE:
17922                                    e = t.getFlatCoordinates(), o = this.appendFlatLineCoordinates(e, 0, e.length, h, !1, !1), this.instructions.push([Sx.CUSTOM, f, o, t, i, we]), this.hitDetectionInstructions.push([Sx.CUSTOM, f, o, t, r || i, we]);
17923                                    break;
17924                                case Pt.MULTI_POINT:
17925                                    e = t.getFlatCoordinates(), (o = this.appendFlatPointCoordinates(e, h)) > f && (this.instructions.push([Sx.CUSTOM, f, o, t, i, we]), this.hitDetectionInstructions.push([Sx.CUSTOM, f, o, t, r || i, we]));
17926                                    break;
17927                                case Pt.POINT:
17928                                    e = t.getFlatCoordinates(), this.coordinates.push(e[0], e[1]), o = this.coordinates.length, this.instructions.push([Sx.CUSTOM, f, o, t, i]), this.hitDetectionInstructions.push([Sx.CUSTOM, f, o, t, r || i])
17929                            }
17930                            this.endGeometry(n)
17931                        }, n.prototype.beginGeometry = function (t, n) {
vendor: 27,490 bytes, lines 17932-18271
17932                            this.Dh = [Sx.BEGIN_GEOMETRY, n, 0, t], this.instructions.push(this.Dh), this.Uh = [Sx.BEGIN_GEOMETRY, n, 0, t], this.hitDetectionInstructions.push(this.Uh)
17933                        }, n.prototype.finish = function () {
17934                            return {
17935                                instructions: this.instructions,
17936                                hitDetectionInstructions: this.hitDetectionInstructions,
17937                                coordinates: this.coordinates
17938                            }
17939                        }, n.prototype.reverseHitDetectionInstructions = function () {
17940                            var t, n = this.hitDetectionInstructions;
17941                            n.reverse();
17942                            var i, r, e = n.length, o = -1;
17943                            for (t = 0; t < e; ++t) (r = (i = n[t])[0]) == Sx.END_GEOMETRY ? o = t : r == Sx.BEGIN_GEOMETRY && (i[2] = t, w(this.hitDetectionInstructions, o, t), o = -1)
17944                        }, n.prototype.setFillStrokeStyle = function (t, n) {
17945                            var i = this.state;
17946                            if (t) {
17947                                var r = t.getColor();
17948                                i.fillStyle = eh(r || zs)
17949                            } else i.fillStyle = void 0;
17950                            if (n) {
17951                                var e = n.getColor();
17952                                i.strokeStyle = eh(e || Us);
17953                                var o = n.getLineCap();
17954                                i.lineCap = void 0 !== o ? o : Fs;
17955                                var s = n.getLineDash();
17956                                i.lineDash = s ? s.slice() : Ls;
17957                                var a = n.getLineDashOffset();
17958                                i.lineDashOffset = a || 0;
17959                                var u = n.getLineJoin();
17960                                i.lineJoin = void 0 !== u ? u : Gs;
17961                                var c = n.getWidth();
17962                                i.lineWidth = void 0 !== c ? c : 1;
17963                                var h = n.getMiterLimit();
17964                                i.miterLimit = void 0 !== h ? h : Ds, i.lineWidth > this.maxLineWidth && (this.maxLineWidth = i.lineWidth, this.qh = null)
17965                            } else i.strokeStyle = void 0, i.lineCap = void 0, i.lineDash = null, i.lineDashOffset = void 0, i.lineJoin = void 0, i.lineWidth = void 0, i.miterLimit = void 0
17966                        }, n.prototype.createFill = function (t) {
17967                            var n = t.fillStyle, i = [Sx.SET_FILL_STYLE, n];
17968                            return "string" != typeof n && i.push(!0), i
17969                        }, n.prototype.applyStroke = function (t) {
17970                            this.instructions.push(this.createStroke(t))
17971                        }, n.prototype.createStroke = function (t) {
17972                            return [Sx.SET_STROKE_STYLE, t.strokeStyle, t.lineWidth * this.pixelRatio, t.lineCap, t.lineJoin, t.miterLimit, this.applyPixelRatio(t.lineDash), t.lineDashOffset * this.pixelRatio]
17973                        }, n.prototype.updateFillStyle = function (t, n) {
17974                            var i = t.fillStyle;
17975                            "string" == typeof i && t.currentFillStyle == i || (void 0 !== i && this.instructions.push(n.call(this, t)), t.currentFillStyle = i)
17976                        }, n.prototype.updateStrokeStyle = function (t, n) {
17977                            var i = t.strokeStyle, r = t.lineCap, e = t.lineDash, o = t.lineDashOffset, s = t.lineJoin,
17978                                a = t.lineWidth, u = t.miterLimit;
17979                            (t.currentStrokeStyle != i || t.currentLineCap != r || e != t.currentLineDash && !x(t.currentLineDash, e) || t.currentLineDashOffset != o || t.currentLineJoin != s || t.currentLineWidth != a || t.currentMiterLimit != u) && (void 0 !== i && n.call(this, t), t.currentStrokeStyle = i, t.currentLineCap = r, t.currentLineDash = e, t.currentLineDashOffset = o, t.currentLineJoin = s, t.currentLineWidth = a, t.currentMiterLimit = u)
17980                        }, n.prototype.endGeometry = function (t) {
17981                            this.Dh[2] = this.instructions.length, this.Dh = null, this.Uh[2] = this.hitDetectionInstructions.length, this.Uh = null;
17982                            var n = [Sx.END_GEOMETRY, t];
17983                            this.instructions.push(n), this.hitDetectionInstructions.push(n)
17984                        }, n.prototype.getBufferedMaxExtent = function () {
17985                            if (!this.qh && (this.qh = Sn(this.maxExtent), this.maxLineWidth > 0)) {
17986                                var t = this.resolution * (this.maxLineWidth + 1) / 2;
17987                                jn(this.qh, t, this.qh)
17988                            }
17989                            return this.qh
17990                        }, n
17991                    }(gh), _x = function () {
17992                        var t = function (n, i) {
17993                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
17994                                t.__proto__ = n
17995                            } || function (t, n) {
17996                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
17997                            })(n, i)
17998                        };
17999                        return function (n, i) {
18000                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18001
18002                            function r() {
18003                                this.constructor = n
18004                            }
18005
18006                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18007                        }
18008                    }(), Ox = function (t) {
18009                        function n(n, i, r, e) {
18010                            var o = t.call(this, n, i, r, e) || this;
18011                            return o.ka = null, o.Nt = null, o.Vh = void 0, o.Xh = void 0, o.Hh = void 0, o.Jh = void 0, o.aa = void 0, o.Kh = void 0, o.Yh = void 0, o.ua = void 0, o.Gr = void 0, o.ca = void 0, o.Ba = void 0, o.Zh = void 0, o
18012                        }
18013
18014                        return _x(n, t), n.prototype.drawPoint = function (t, n) {
18015                            if (this.Nt) {
18016                                this.beginGeometry(t, n);
18017                                var i = t.getFlatCoordinates(), r = t.getStride(), e = this.coordinates.length,
18018                                    o = this.appendFlatPointCoordinates(i, r);
18019                                this.instructions.push([Sx.DRAW_IMAGE, e, o, this.Nt, this.Xh * this.Vh, this.Hh * this.Vh, Math.ceil(this.Jh * this.Vh), this.aa, this.Kh, this.Yh, this.ua, this.Gr, [this.ca[0] * this.pixelRatio / this.Vh, this.ca[1] * this.pixelRatio / this.Vh], Math.ceil(this.Ba * this.Vh), this.Zh]), this.hitDetectionInstructions.push([Sx.DRAW_IMAGE, e, o, this.ka, this.Xh, this.Hh, this.Jh, this.aa, this.Kh, this.Yh, this.ua, this.Gr, this.ca, this.Ba, this.Zh]), this.endGeometry(n)
18020                            }
18021                        }, n.prototype.drawMultiPoint = function (t, n) {
18022                            if (this.Nt) {
18023                                this.beginGeometry(t, n);
18024                                var i = t.getFlatCoordinates(), r = t.getStride(), e = this.coordinates.length,
18025                                    o = this.appendFlatPointCoordinates(i, r);
18026                                this.instructions.push([Sx.DRAW_IMAGE, e, o, this.Nt, this.Xh * this.Vh, this.Hh * this.Vh, Math.ceil(this.Jh * this.Vh), this.aa, this.Kh, this.Yh, this.ua, this.Gr, [this.ca[0] * this.pixelRatio / this.Vh, this.ca[1] * this.pixelRatio / this.Vh], Math.ceil(this.Ba * this.Vh), this.Zh]), this.hitDetectionInstructions.push([Sx.DRAW_IMAGE, e, o, this.ka, this.Xh, this.Hh, this.Jh, this.aa, this.Kh, this.Yh, this.ua, this.Gr, this.ca, this.Ba, this.Zh]), this.endGeometry(n)
18027                            }
18028                        }, n.prototype.finish = function () {
18029                            return this.reverseHitDetectionInstructions(), this.Xh = void 0, this.Hh = void 0, this.ka = null, this.Nt = null, this.Vh = void 0, this.Jh = void 0, this.ca = void 0, this.aa = void 0, this.Kh = void 0, this.Yh = void 0, this.ua = void 0, this.Gr = void 0, this.Ba = void 0, t.prototype.finish.call(this)
18030                        }, n.prototype.setImageStyle = function (t, n) {
18031                            var i = t.getAnchor(), r = t.getSize(), e = t.getHitDetectionImage(),
18032                                o = t.getImage(this.pixelRatio), s = t.getOrigin();
18033                            this.Vh = t.getPixelRatio(this.pixelRatio), this.Xh = i[0], this.Hh = i[1], this.ka = e, this.Nt = o, this.Jh = r[1], this.aa = t.getOpacity(), this.Kh = s[0] * this.Vh, this.Yh = s[1] * this.Vh, this.ua = t.getRotateWithView(), this.Gr = t.getRotation(), this.ca = t.getScaleArray(), this.Ba = r[0], this.Zh = n
18034                        }, n
18035                    }(Mx), Tx = function () {
18036                        var t = function (n, i) {
18037                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18038                                t.__proto__ = n
18039                            } || function (t, n) {
18040                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18041                            })(n, i)
18042                        };
18043                        return function (n, i) {
18044                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18045
18046                            function r() {
18047                                this.constructor = n
18048                            }
18049
18050                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18051                        }
18052                    }(), Ex = function (t) {
18053                        function n(n, i, r, e) {
18054                            return t.call(this, n, i, r, e) || this
18055                        }
18056
18057                        return Tx(n, t), n.prototype.$h = function (t, n, i, r) {
18058                            var e = this.coordinates.length, o = this.appendFlatLineCoordinates(t, n, i, r, !1, !1),
18059                                s = [Sx.MOVE_TO_LINE_TO, e, o];
18060                            return this.instructions.push(s), this.hitDetectionInstructions.push(s), i
18061                        }, n.prototype.drawLineString = function (t, n) {
18062                            var i = this.state, r = i.strokeStyle, e = i.lineWidth;
18063                            if (void 0 !== r && void 0 !== e) {
18064                                this.updateStrokeStyle(i, this.applyStroke), this.beginGeometry(t, n), this.hitDetectionInstructions.push([Sx.SET_STROKE_STYLE, i.strokeStyle, i.lineWidth, i.lineCap, i.lineJoin, i.miterLimit, Ls, 0], xx);
18065                                var o = t.getFlatCoordinates(), s = t.getStride();
18066                                this.$h(o, 0, o.length, s), this.hitDetectionInstructions.push(gx), this.endGeometry(n)
18067                            }
18068                        }, n.prototype.drawMultiLineString = function (t, n) {
18069                            var i = this.state, r = i.strokeStyle, e = i.lineWidth;
18070                            if (void 0 !== r && void 0 !== e) {
18071                                this.updateStrokeStyle(i, this.applyStroke), this.beginGeometry(t, n), this.hitDetectionInstructions.push([Sx.SET_STROKE_STYLE, i.strokeStyle, i.lineWidth, i.lineCap, i.lineJoin, i.miterLimit, i.lineDash, i.lineDashOffset], xx);
18072                                for (var o = t.getEnds(), s = t.getFlatCoordinates(), a = t.getStride(), u = 0, c = 0, h = o.length; c < h; ++c) u = this.$h(s, u, o[c], a);
18073                                this.hitDetectionInstructions.push(gx), this.endGeometry(n)
18074                            }
18075                        }, n.prototype.finish = function () {
18076                            var n = this.state;
18077                            return null != n.lastStroke && n.lastStroke != this.coordinates.length && this.instructions.push(gx), this.reverseHitDetectionInstructions(), this.state = null, t.prototype.finish.call(this)
18078                        }, n.prototype.applyStroke = function (n) {
18079                            null != n.lastStroke && n.lastStroke != this.coordinates.length && (this.instructions.push(gx), n.lastStroke = this.coordinates.length), n.lastStroke = 0, t.prototype.applyStroke.call(this, n), this.instructions.push(xx)
18080                        }, n
18081                    }(Mx), Ax = function () {
18082                        var t = function (n, i) {
18083                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18084                                t.__proto__ = n
18085                            } || function (t, n) {
18086                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18087                            })(n, i)
18088                        };
18089                        return function (n, i) {
18090                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18091
18092                            function r() {
18093                                this.constructor = n
18094                            }
18095
18096                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18097                        }
18098                    }(), Cx = function (t) {
18099                        function n(n, i, r, e) {
18100                            return t.call(this, n, i, r, e) || this
18101                        }
18102
18103                        return Ax(n, t), n.prototype.Qh = function (t, n, i, r) {
18104                            var e = this.state, o = void 0 !== e.fillStyle, s = void 0 !== e.strokeStyle, a = i.length;
18105                            this.instructions.push(xx), this.hitDetectionInstructions.push(xx);
18106                            for (var u = 0; u < a; ++u) {
18107                                var c = i[u], h = this.coordinates.length,
18108                                    f = this.appendFlatLineCoordinates(t, n, c, r, !0, !s), l = [Sx.MOVE_TO_LINE_TO, h, f];
18109                                this.instructions.push(l), this.hitDetectionInstructions.push(l), s && (this.instructions.push(jx), this.hitDetectionInstructions.push(jx)), n = c
18110                            }
18111                            return o && (this.instructions.push(bx), this.hitDetectionInstructions.push(bx)), s && (this.instructions.push(gx), this.hitDetectionInstructions.push(gx)), n
18112                        }, n.prototype.drawCircle = function (t, n) {
18113                            var i = this.state, r = i.fillStyle, e = i.strokeStyle;
18114                            if (void 0 !== r || void 0 !== e) {
18115                                this.tf(), this.beginGeometry(t, n), void 0 !== i.fillStyle && this.hitDetectionInstructions.push([Sx.SET_FILL_STYLE, zs]), void 0 !== i.strokeStyle && this.hitDetectionInstructions.push([Sx.SET_STROKE_STYLE, i.strokeStyle, i.lineWidth, i.lineCap, i.lineJoin, i.miterLimit, i.lineDash, i.lineDashOffset]);
18116                                var o = t.getFlatCoordinates(), s = t.getStride(), a = this.coordinates.length;
18117                                this.appendFlatLineCoordinates(o, 0, o.length, s, !1, !1);
18118                                var u = [Sx.CIRCLE, a];
18119                                this.instructions.push(xx, u), this.hitDetectionInstructions.push(xx, u), void 0 !== i.fillStyle && (this.instructions.push(bx), this.hitDetectionInstructions.push(bx)), void 0 !== i.strokeStyle && (this.instructions.push(gx), this.hitDetectionInstructions.push(gx)), this.endGeometry(n)
18120                            }
18121                        }, n.prototype.drawPolygon = function (t, n) {
18122                            var i = this.state, r = i.fillStyle, e = i.strokeStyle;
18123                            if (void 0 !== r || void 0 !== e) {
18124                                this.tf(), this.beginGeometry(t, n), void 0 !== i.fillStyle && this.hitDetectionInstructions.push([Sx.SET_FILL_STYLE, zs]), void 0 !== i.strokeStyle && this.hitDetectionInstructions.push([Sx.SET_STROKE_STYLE, i.strokeStyle, i.lineWidth, i.lineCap, i.lineJoin, i.miterLimit, i.lineDash, i.lineDashOffset]);
18125                                var o = t.getEnds(), s = t.getOrientedFlatCoordinates(), a = t.getStride();
18126                                this.Qh(s, 0, o, a), this.endGeometry(n)
18127                            }
18128                        }, n.prototype.drawMultiPolygon = function (t, n) {
18129                            var i = this.state, r = i.fillStyle, e = i.strokeStyle;
18130                            if (void 0 !== r || void 0 !== e) {
18131                                this.tf(), this.beginGeometry(t, n), void 0 !== i.fillStyle && this.hitDetectionInstructions.push([Sx.SET_FILL_STYLE, zs]), void 0 !== i.strokeStyle && this.hitDetectionInstructions.push([Sx.SET_STROKE_STYLE, i.strokeStyle, i.lineWidth, i.lineCap, i.lineJoin, i.miterLimit, i.lineDash, i.lineDashOffset]);
18132                                for (var o = t.getEndss(), s = t.getOrientedFlatCoordinates(), a = t.getStride(), u = 0, c = 0, h = o.length; c < h; ++c) u = this.Qh(s, u, o[c], a);
18133                                this.endGeometry(n)
18134                            }
18135                        }, n.prototype.finish = function () {
18136                            this.reverseHitDetectionInstructions(), this.state = null;
18137                            var n = this.tolerance;
18138                            if (0 !== n) for (var i = this.coordinates, r = 0, e = i.length; r < e; ++r) i[r] = de(i[r], n);
18139                            return t.prototype.finish.call(this)
18140                        }, n.prototype.tf = function () {
18141                            var t = this.state;
18142                            void 0 !== t.fillStyle && this.updateFillStyle(t, this.createFill), void 0 !== t.strokeStyle && this.updateStrokeStyle(t, this.applyStroke)
18143                        }, n
18144                    }(Mx);
18145
18146                function Rx(t, n, i, r, e) {
18147                    var o, s, a, u, c, h, f, l, v, d = i, p = i, y = 0, m = 0, w = i;
18148                    for (o = i; o < r; o += e) {
18149                        var b = n[o], g = n[o + 1];
18150                        void 0 !== u && (l = b - u, v = g - c, a = Math.sqrt(l * l + v * v), void 0 !== h && (m += s, Math.acos((h * l + f * v) / (s * a)) > t && (m > y && (y = m, d = w, p = o), m = 0, w = o - e)), s = a, h = l, f = v), u = b, c = g
18151                    }
18152                    return (m += a) > y ? [w, o] : [d, p]
18153                }
18154
18155                var Px = function () {
18156                        var t = function (n, i) {
18157                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18158                                t.__proto__ = n
18159                            } || function (t, n) {
18160                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18161                            })(n, i)
18162                        };
18163                        return function (n, i) {
18164                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18165
18166                            function r() {
18167                                this.constructor = n
18168                            }
18169
18170                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18171                        }
18172                    }(), Ix = {
18173                        left: 0,
18174                        end: 0,
18175                        center: .5,
18176                        right: 1,
18177                        start: 1,
18178                        top: 0,
18179                        middle: .5,
18180                        hanging: .2,
18181                        alphabetic: .8,
18182                        ideographic: .8,
18183                        bottom: 1
18184                    }, Nx = function (t) {
18185                        function n(n, i, r, e) {
18186                            var o = t.call(this, n, i, r, e) || this;
18187                            return o.nf = null, o.eo = "", o.oo = 0, o.so = 0, o.ao = void 0, o.uo = 0, o.ho = null, o.fillStates = {}, o.fo = null, o.strokeStates = {}, o.lo = {}, o.textStates = {}, o.if = "", o.rf = "", o.ef = "", o.Zh = void 0, o
18188                        }
18189
18190                        return Px(n, t), n.prototype.finish = function () {
18191                            var n = t.prototype.finish.call(this);
18192                            return n.textStates = this.textStates, n.fillStates = this.fillStates, n.strokeStates = this.strokeStates, n
18193                        }, n.prototype.drawText = function (t, n) {
18194                            var i = this.ho, r = this.fo, e = this.lo;
18195                            if ("" !== this.eo && e && (i || r)) {
18196                                var o = this.coordinates, s = o.length, a = t.getType(), u = null, c = t.getStride();
18197                                if (e.placement !== $v || a != Pt.LINE_STRING && a != Pt.MULTI_LINE_STRING && a != Pt.POLYGON && a != Pt.MULTI_POLYGON) {
18198                                    var h = e.overflow ? null : [];
18199                                    switch (a) {
18200                                        case Pt.POINT:
18201                                        case Pt.MULTI_POINT:
18202                                            u = t.getFlatCoordinates();
18203                                            break;
18204                                        case Pt.LINE_STRING:
18205                                            u = t.getFlatMidpoint();
18206                                            break;
18207                                        case Pt.CIRCLE:
18208                                            u = t.getCenter();
18209                                            break;
18210                                        case Pt.MULTI_LINE_STRING:
18211                                            u = t.getFlatMidpoints(), c = 2;
18212                                            break;
18213                                        case Pt.POLYGON:
18214                                            u = t.getFlatInteriorPoint(), e.overflow || h.push(u[2] / this.resolution), c = 3;
18215                                            break;
18216                                        case Pt.MULTI_POLYGON:
18217                                            var f = t.getFlatInteriorPoints();
18218                                            u = [];
18219                                            for (j = 0, S = f.length; j < S; j += 3) e.overflow || h.push(f[j + 2] / this.resolution), u.push(f[j], f[j + 1]);
18220                                            if (0 === u.length) return;
18221                                            c = 2
18222                                    }
18223                                    if ((A = this.appendFlatPointCoordinates(u, c)) === s) return;
18224                                    if (h && (A - s) / 2 != u.length / c) {
18225                                        var l = s / 2;
18226                                        h = h.filter((function (t, n) {
18227                                            var i = o[2 * (l + n)] === u[n * c] && o[2 * (l + n) + 1] === u[n * c + 1];
18228                                            return i || --l, i
18229                                        }))
18230                                    }
18231                                    this.af(), (e.backgroundFill || e.backgroundStroke) && (this.setFillStrokeStyle(e.backgroundFill, e.backgroundStroke), e.backgroundFill && (this.updateFillStyle(this.state, this.createFill), this.hitDetectionInstructions.push(this.createFill(this.state))), e.backgroundStroke && (this.updateStrokeStyle(this.state, this.applyStroke), this.hitDetectionInstructions.push(this.createStroke(this.state)))), this.beginGeometry(t, n);
18232                                    var v = e.padding;
18233                                    if (v != Ws && (e.scale[0] < 0 || e.scale[1] < 0)) {
18234                                        var d = e.padding[0], p = e.padding[1], y = e.padding[2], m = e.padding[3];
18235                                        e.scale[0] < 0 && (p = -p, m = -m), e.scale[1] < 0 && (d = -d, y = -y), v = [d, p, y, m]
18236                                    }
18237                                    var w = this.pixelRatio;
18238                                    this.instructions.push([Sx.DRAW_IMAGE, s, A, null, NaN, NaN, NaN, 1, 0, 0, this.ao, this.uo, [1, 1], NaN, this.Zh, v == Ws ? Ws : v.map((function (t) {
18239                                        return t * w
18240                                    })), !!e.backgroundFill, !!e.backgroundStroke, this.eo, this.if, this.ef, this.rf, this.oo, this.so, h]);
18241                                    var b = 1 / w;
18242                                    this.hitDetectionInstructions.push([Sx.DRAW_IMAGE, s, A, null, NaN, NaN, NaN, 1, 0, 0, this.ao, this.uo, [b, b], NaN, this.Zh, v, !!e.backgroundFill, !!e.backgroundStroke, this.eo, this.if, this.ef, this.rf, this.oo, this.so, h]), this.endGeometry(n)
18243                                } else {
18244                                    if (!ti(this.getBufferedMaxExtent(), t.getExtent())) return;
18245                                    var g = void 0;
18246                                    if (u = t.getFlatCoordinates(), a == Pt.LINE_STRING) g = [u.length]; else if (a == Pt.MULTI_LINE_STRING) g = t.getEnds(); else if (a == Pt.POLYGON) g = t.getEnds().slice(0, 1); else if (a == Pt.MULTI_POLYGON) {
18247                                        var x = t.getEndss();
18248                                        g = [];
18249                                        for (var j = 0, S = x.length; j < S; ++j) g.push(x[j][0])
18250                                    }
18251                                    this.beginGeometry(t, n);
18252                                    for (var k = e.textAlign, M = 0, _ = void 0, O = 0, T = g.length; O < T; ++O) {
18253                                        if (null == k) {
18254                                            var E = Rx(e.maxAngle, u, M, g[O], c);
18255                                            M = E[0], _ = E[1]
18256                                        } else _ = g[O];
18257                                        for (var j = M; j < _; j += c) o.push(u[j], u[j + 1]);
18258                                        var A = o.length;
18259                                        M = g[O], this.uf(s, A), s = A
18260                                    }
18261                                    this.endGeometry(n)
18262                                }
18263                            }
18264                        }, n.prototype.af = function () {
18265                            var t = this.fo, n = this.lo, i = this.ho, r = this.ef;
18266                            t && (r in this.strokeStates || (this.strokeStates[r] = {
18267                                strokeStyle: t.strokeStyle,
18268                                lineCap: t.lineCap,
18269                                lineDashOffset: t.lineDashOffset,
18270                                lineWidth: t.lineWidth,
18271                                lineJoin: t.lineJoin,
18272                                miterLimit: t.miterLimit,
18273                                lineDash: t.lineDash
18274                            }));
18275                            var e = this.if;
18276                            e in this.textStates || (this.textStates[e] = {
18277                                font: n.font,
18278                                textAlign: n.textAlign || qs,
18279                                textBaseline: n.textBaseline || Bs,
18280                                scale: n.scale
18281                            });
18282                            var o = this.rf;
18283                            i && (o in this.fillStates || (this.fillStates[o] = {fillStyle: i.fillStyle}))
18284                        }, n.prototype.uf = function (t, n) {
18285                            var i = this.fo, r = this.lo, e = this.ef, o = this.if, s = this.rf;
18286                            this.af();
18287                            var a = this.pixelRatio, u = Ix[r.textBaseline], c = this.so * a, h = this.eo,
18288                                f = i ? i.lineWidth * Math.abs(r.scale[0]) / 2 : 0;
18289                            this.instructions.push([Sx.DRAW_CHARS, t, n, u, r.overflow, s, r.maxAngle, a, c, e, f * a, h, o, 1]), this.hitDetectionInstructions.push([Sx.DRAW_CHARS, t, n, u, r.overflow, s, r.maxAngle, 1, c, e, f, h, o, 1 / a])
18290                        }, n.prototype.setTextStyle = function (t, n) {
18291                            var i, r, e;
18292                            if (t) {
18293                                var s = t.getFill();
18294                                s ? ((r = this.ho) || (r = {}, this.ho = r), r.fillStyle = eh(s.getColor() || zs)) : (r = null, this.ho = r);
18295                                var a = t.getStroke();
18296                                if (a) {
18297                                    (e = this.fo) || (e = {}, this.fo = e);
18298                                    var u = a.getLineDash(), c = a.getLineDashOffset(), h = a.getWidth(),
18299                                        f = a.getMiterLimit();
18300                                    e.lineCap = a.getLineCap() || Fs, e.lineDash = u ? u.slice() : Ls, e.lineDashOffset = void 0 === c ? 0 : c, e.lineJoin = a.getLineJoin() || Gs, e.lineWidth = void 0 === h ? 1 : h, e.miterLimit = void 0 === f ? Ds : f, e.strokeStyle = eh(a.getColor() || Us)
18301                                } else e = null, this.fo = e;
18302                                i = this.lo;
18303                                var l = t.getFont() || Ns;
18304                                Zs(l);
18305                                var v = t.getScaleArray();
18306                                i.overflow = t.getOverflow(), i.font = l, i.maxAngle = t.getMaxAngle(), i.placement = t.getPlacement(), i.textAlign = t.getTextAlign(), i.textBaseline = t.getTextBaseline() || Bs, i.backgroundFill = t.getBackgroundFill(), i.backgroundStroke = t.getBackgroundStroke(), i.padding = t.getPadding() || Ws, i.scale = void 0 === v ? [1, 1] : v;
18307                                var d = t.getOffsetX(), p = t.getOffsetY(), y = t.getRotateWithView(), m = t.getRotation();
18308                                this.eo = t.getText() || "", this.oo = void 0 === d ? 0 : d, this.so = void 0 === p ? 0 : p, this.ao = void 0 !== y && y, this.uo = void 0 === m ? 0 : m, this.ef = e ? ("string" == typeof e.strokeStyle ? e.strokeStyle : o(e.strokeStyle)) + e.lineCap + e.lineDashOffset + "|" + e.lineWidth + e.lineJoin + e.miterLimit + "[" + e.lineDash.join() + "]" : "", this.if = i.font + i.scale + (i.textAlign || "?") + (i.textBaseline || "?"), this.rf = r ? "string" == typeof r.fillStyle ? r.fillStyle : "|" + o(r.fillStyle) : ""
18309                            } else this.eo = "";
18310                            this.Zh = n
18311                        }, n
18312                    }(Mx), zx = {Circle: Cx, Default: Mx, Image: Ox, LineString: Ex, Polygon: Cx, Text: Nx},
18313                    Fx = function () {
18314                        function t(t, n, i, r) {
18315                            this.cf = t, this.hf = n, this.Rt = r, this.ff = i, this.lf = {}
18316                        }
18317
18318                        return t.prototype.finish = function () {
18319                            var t = {};
18320                            for (var n in this.lf) {
18321                                t[n] = t[n] || {};
18322                                var i = this.lf[n];
18323                                for (var r in i) {
18324                                    var e = i[r].finish();
18325                                    t[n][r] = e
18326                                }
18327                            }
18328                            return t
18329                        }, t.prototype.getBuilder = function (t, n) {
18330                            var i = void 0 !== t ? t.toString() : "0", r = this.lf[i];
18331                            void 0 === r && (r = {}, this.lf[i] = r);
18332                            var e = r[n];
18333                            void 0 === e && (e = new (0, zx[n])(this.cf, this.hf, this.ff, this.Rt), r[n] = e);
18334                            return e
18335                        }, t
18336                    }();
18337
18338                function Lx(t, n, i, r, e, o, s, a, u, c, h, f) {
18339                    var l = t[n], v = t[n + 1], d = 0, p = 0, y = 0, m = 0;
18340
18341                    function w() {
18342                        d = l, p = v, l = t[n += r], v = t[n + 1], m += y, y = Math.sqrt((l - d) * (l - d) + (v - p) * (v - p))
18343                    }
18344
18345                    do {
18346                        w()
18347                    } while (n < i - r && m + y < o);
18348                    for (var b = 0 === y ? 0 : (o - m) / y, g = mi(d, l, b), x = mi(p, v, b), j = n - r, S = m, k = o + a * u(c, e, h); n < i - r && m + y < k;) w();
18349                    var M, _ = mi(d, l, b = 0 === y ? 0 : (k - m) / y), O = mi(p, v, b);
18350                    if (f) {
18351                        var T = [g, x, _, O];
18352                        Wr(T, 0, 4, 2, f, T, T), M = T[0] > T[2]
18353                    } else M = g > _;
18354                    var E, A = Math.PI, C = [], R = j + r === n;
18355                    if (y = 0, m = S, l = t[n = j], v = t[n + 1], R) {
18356                        w(), E = Math.atan2(v - p, l - d), M && (E += E > 0 ? -A : A);
18357                        var P = (_ + g) / 2, I = (O + x) / 2;
18358                        return C[0] = [P, I, (k - o) / 2, E, e], C
18359                    }
18360                    for (var N = 0, z = e.length; N < z;) {
18361                        w();
18362                        var F = Math.atan2(v - p, l - d);
18363                        if (M && (F += F > 0 ? -A : A), void 0 !== E) {
18364                            var L = F - E;
18365                            if (L += L > A ? -2 * A : L < -A ? 2 * A : 0, Math.abs(L) > s) return null
18366                        }
18367                        E = F;
18368                        for (var G = N, D = 0; N < z; ++N) {
18369                            var U = a * u(c, e[M ? z - N - 1 : N], h);
18370                            if (n + r < i && m + y < o + D + U / 2) break;
18371                            D += U
18372                        }
18373                        if (N !== G) {
18374                            var q = M ? e.substring(z - G, z - N) : e.substring(G, N);
18375                            P = mi(d, l, b = 0 === y ? 0 : (o + D / 2 - m) / y), I = mi(p, v, b);
18376                            C.push([P, I, D / 2, F, q]), o += D
18377                        }
18378                    }
18379                    return C
18380                }
18381
18382                function Gx(t, n, i, r) {
18383                    for (var e = t[n], o = t[n + 1], s = 0, a = n + r; a < i; a += r) {
18384                        var u = t[a], c = t[a + 1];
18385                        s += Math.sqrt((u - e) * (u - e) + (c - o) * (c - o)), e = u, o = c
18386                    }
18387                    return s
18388                }
18389
18390                var Dx = [1 / 0, 1 / 0, -1 / 0, -1 / 0], Ux = [], qx = [], Bx = [], Wx = [];
18391
18392                function Vx(t) {
18393                    return t[3].declutterBox
18394                }
18395
18396                var Xx = new RegExp("[" + String.fromCharCode(1425) + "-" + String.fromCharCode(2303) + String.fromCharCode(64285) + "-" + String.fromCharCode(65023) + String.fromCharCode(65136) + "-" + String.fromCharCode(65276) + String.fromCharCode(67584) + "-" + String.fromCharCode(69631) + String.fromCharCode(124928) + "-" + String.fromCharCode(126975) + "]");
18397
18398                function Hx(t, n) {
18399                    return "start" !== n && "end" !== n || Xx.test(t) || (n = "start" === n ? "left" : "right"), Ix[n]
18400                }
18401
18402                function Jx(t, n, i) {
18403                    return i > 0 && t.push("\n", ""), t.push(n, ""), t
18404                }
18405
18406                var Kx = function () {
18407                    function t(t, n, i, r) {
18408                        this.overlaps = i, this.pixelRatio = n, this.resolution = t, this.vf, this.instructions = r.instructions, this.coordinates = r.coordinates, this.df = {}, this.pf = [1, 0, 0, 1, 0, 0], this.hitDetectionInstructions = r.hitDetectionInstructions, this.vo = null, this.Ge = 0, this.fillStates = r.fillStates || {}, this.strokeStates = r.strokeStates || {}, this.textStates = r.textStates || {}, this.yf = {}, this.nf = {}
18409                    }
18410
18411                    return t.prototype.createLabel = function (t, n, i, r) {
18412                        var e = t + n + i + r;
18413                        if (this.nf[e]) return this.nf[e];
18414                        var o = r ? this.strokeStates[r] : null, s = i ? this.fillStates[i] : null,
18415                            a = this.textStates[n], u = this.pixelRatio, c = [a.scale[0] * u, a.scale[1] * u],
18416                            h = Array.isArray(t), f = Hx(h ? t[0] : t, a.textAlign || qs),
18417                            l = r && o.lineWidth ? o.lineWidth : 0, v = h ? t : t.split("\n").reduce(Jx, []),
18418                            d = ia(a, v), p = d.width, y = d.height, m = d.widths, w = d.heights, b = d.lineWidths,
18419                            g = p + l, x = [], j = (g + 2) * c[0], S = (y + l) * c[1], k = {
18420                                width: j < 0 ? Math.floor(j) : Math.ceil(j),
18421                                height: S < 0 ? Math.floor(S) : Math.ceil(S),
18422                                contextInstructions: x
18423                            };
18424                        (1 == c[0] && 1 == c[1] || x.push("scale", c), r) && (x.push("strokeStyle", o.strokeStyle), x.push("lineWidth", l), x.push("lineCap", o.lineCap), x.push("lineJoin", o.lineJoin), x.push("miterLimit", o.miterLimit), (Xt ? OffscreenCanvasRenderingContext2D : CanvasRenderingContext2D).prototype.setLineDash && (x.push("set
18424LineDash", [o.lineDash]), x.push("lineDashOffset", o.lineDashOffset)));
18425                        i && x.push("fillStyle", s.fillStyle), x.push("textBaseline", "middle"), x.push("textAlign", "center");
18426                        for (var M, _ = .5 - f, O = f * g + _ * l, T = [], E = [], A = 0, C = 0, R = 0, P = 0, I = 0, N = v.length; I < N; I += 2) {
18427                            var z = v[I];
18428                            if ("\n" !== z) {
18429                                var F = v[I + 1] || a.font;
18430                                F !== M && (r && T.push("font", F), i && E.push("font", F), M = F), A = Math.max(A, w[R]);
18431                                var L = [z, O + _ * m[R] + f * (m[R] - b[P]), .5 * (l + A) + C];
18432                                O += m[R], r && T.push("strokeText", L), i && E.push("fillText", L), ++R
18433                            } else C += A, A = 0, O = f * g + _ * l, ++P
18434                        }
18435                        return Array.prototype.push.apply(x, T), Array.prototype.push.apply(x, E), this.nf[e] = k, k
18436                    }, t.prototype.mf = function (t, n, i, r, e, o, s) {
18437                        t.beginPath(), t.moveTo.apply(t, n), t.lineTo.apply(t, i), t.lineTo.apply(t, r), t.lineTo.apply(t, e), t.lineTo.apply(t, n), o && (this.vf = o[2], this.va(t)), s && (this.wf(t, s), t.stroke())
18438                    }, t.prototype.bf = function (t, n, i, r, e, o, s, a, u, c, h, f, l, v, d, p) {
18439                        var y, m = i - (s *= f[0]), w = r - (a *= f[1]), b = e + u > t ? t - u : e,
18440                            g = o + c > n ? n - c : o, x = v[3] + b * f[0] + v[1], j = v[0] + g * f[1] + v[2],
18441                            S = m - v[3], k = w - v[0];
18442                        return (d || 0 !== h) && (Ux[0] = S, Wx[0] = S, Ux[1] = k, qx[1] = k, qx[0] = S + x, Bx[0] = qx[0], Bx[1] = k + j, Wx[1] = Bx[1]), 0 !== h ? (nn(y = an([1, 0, 0, 1, 0, 0], i, r, 1, 1, h, -i, -r), Ux), nn(y, qx), nn(y, Bx), nn(y, Wx), An(Math.min(Ux[0], qx[0], Bx[0], Wx[0]), Math.min(Ux[1], qx[1], Bx[1], Wx[1]), Math.max(Ux[0], qx[0], Bx[0], Wx[0]), Math.max(Ux[1], qx[1], Bx[1], Wx[1]), Dx)) : An(Math.min(S, S + x), Math.min(k, k + j), Math.max(S, S + x), Math.max(k, k + j), Dx), l && (m = Math.round(m), w = Math.round(w)), {
18443                            drawImageX: m,
18444                            drawImageY: w,
18445                            drawImageW: b,
18446                            drawImageH: g,
18447                            originX: u,
18448                            originY: c,
18449                            declutterBox: {minX: Dx[0], minY: Dx[1], maxX: Dx[2], maxY: Dx[3], value: p},
18450                            canvasTransform: y,
18451                            scale: f
18452                        }
18453                    }, t.prototype.gf = function (t, n, i, r, e, o, s) {
18454                        var a = !(!o && !s), u = r.declutterBox, c = t.canvas, h = s ? s[2] * r.scale[0] / 2 : 0;
18455                        return u.minX - h <= c.width / n && u.maxX + h >= 0 && u.minY - h <= c.height / n && u.maxY + h >= 0 && (a && this.mf(t, Ux, qx, Bx, Wx, o, s), ra(t, r.canvasTransform, e, i, r.originX, r.originY, r.drawImageW, r.drawImageH, r.drawImageX, r.drawImageY, r.scale)), !0
18456                    }, t.prototype.va = function (t) {
18457                        if (this.vf) {
18458                            var n = nn(this.pf, [0, 0]), i = 512 * this.pixelRatio;
18459                            t.save(), t.translate(n[0] % i, n[1] % i), t.rotate(this.Ge)
18460                        }
18461                        t.fill(), this.vf && t.restore()
18462                    }, t.prototype.wf = function (t, n) {
18463                        t.strokeStyle = n[1], t.lineWidth = n[2], t.lineCap = n[3], t.lineJoin = n[4], t.miterLimit = n[5], t.setLineDash && (t.lineDashOffset = n[7], t.setLineDash(n[6]))
18464                    }, t.prototype.xf = function (t, n, i, r) {
18465                        var e = this.textStates[n], o = this.createLabel(t, n, r, i), s = this.strokeStates[i],
18466                            a = this.pixelRatio, u = Hx(Array.isArray(t) ? t[0] : t, e.textAlign || qs),
18467                            c = Ix[e.textBaseline || Bs], h = s && s.lineWidth ? s.lineWidth : 0;
18468                        return {
18469                            label: o,
18470                            anchorX: u * (o.width / a - 2 * e.scale[0]) + 2 * (.5 - u) * h,
18471                            anchorY: c * o.height / a + 2 * (.5 - c) * h
18472                        }
18473                    }, t.prototype.jf = function (t, n, i, r, e, o, s, a) {
18474                        var u;
18475                        this.vo && x(i, this.pf) ? u = this.vo : (this.vo || (this.vo = []), u = Br(this.coordinates, 0, this.coordinates.length, 2, i, this.vo), tn(this.pf, i));
18476                        for (var c, h, f, l, v, d, p, y, m, w, b, g, j, S, k, M, _ = 0, O = r.length, T = 0, E = 0, A = 0, C = null, R = null, P = this.df, I = this.Ge, N = Math.round(1e12 * Math.atan2(-i[1], i[0])) / 1e12, z = {
18477                            context: t,
18478                            pixelRatio: this.pixelRatio,
18479                            resolution: this.resolution,
18480                            rotation: I
18481                        }, F = this.instructions != r || this.overlaps ? 0 : 200; _ < O;) {
18482                            var L = r[_];
18483                            switch (L[0]) {
18484                                case Sx.BEGIN_GEOMETRY:
18485                                    j = L[1], M = L[3], j.getGeometry() ? void 0 === s || ti(s, M.getExtent()) ? ++_ : _ = L[2] + 1 : _ = L[2];
18486                                    break;
18487                                case Sx.BEGIN_PATH:
18488                                    E > F && (this.va(t), E = 0), A > F && (t.stroke(), A = 0), E || A || (t.beginPath(), l = NaN, v = NaN), ++_;
18489                                    break;
18490                                case Sx.CIRCLE:
18491                                    var G = u[T = L[1]], D = u[T + 1], U = u[T + 2] - G, q = u[T + 3] - D,
18492                                        B = Math.sqrt(U * U + q * q);
18493                                    t.moveTo(G + B, D), t.arc(G, D, B, 0, 2 * Math.PI, !0), ++_;
18494                                    break;
18495                                case Sx.CLOSE_PATH:
18496                                    t.closePath(), ++_;
18497                                    break;
18498                                case Sx.CUSTOM:
18499                                    T = L[1], c = L[2];
18500                                    var W = L[3], V = L[4], X = 6 == L.length ? L[5] : void 0;
18501                                    z.geometry = W, z.feature = j, _ in P || (P[_] = []);
18502                                    var H = P[_];
18503                                    X ? X(u, T, c, 2, H) : (H[0] = u[T], H[1] = u[T + 1], H.length = 2), V(H, z), ++_;
18504                                    break;
18505                                case Sx.DRAW_IMAGE:
18506                                    T = L[1], c = L[2], y = L[3], h = L[4], f = L[5];
18507                                    var J = L[6], K = L[7], Y = L[8], Z = L[9], $ = L[10], Q = L[11], tt = L[12],
18508                                        nt = L[13], it = L[14];
18509                                    if (!y && L.length >= 19) {
18510                                        m = L[18], w = L[19], b = L[20], g = L[21];
18511                                        var rt = this.xf(m, w, b, g);
18512                                        y = rt.label, L[3] = y;
18513                                        var et = L[22];
18514                                        h = (rt.anchorX - et) * this.pixelRatio, L[4] = h;
18515                                        var ot = L[23];
18516                                        f = (rt.anchorY - ot) * this.pixelRatio, L[5] = f, J = y.height, L[6] = J, nt = y.width, L[13] = nt
18517                                    }
18518                                    var st = void 0;
18519                                    L.length > 24 && (st = L[24]);
18520                                    var at = void 0, ut = void 0, ct = void 0;
18521                                    L.length > 16 ? (at = L[15], ut = L[16], ct = L[17]) : (at = Ws, ut = !1, ct = !1), $ && N ? Q += I : $ || N || (Q -= I);
18522                                    for (var ht = 0; T < c; T += 2) if (!(st && st[ht++] < nt / this.pixelRatio)) {
18523                                        var ft = [t, n, y, Lt = this.bf(y.width, y.height, u[T], u[T + 1], nt, J, h, f, Y, Z, Q, tt, e, at, ut || ct, j), K, ut ? C : null, ct ? R : null],
18524                                            lt = void 0, vt = void 0;
18525                                        if (a && it) {
18526                                            var dt = c - T;
18527                                            if (!it[dt]) {
18528                                                it[dt] = ft;
18529                                                continue
18530                                            }
18531                                            if (lt = it[dt], delete it[dt], vt = Vx(lt), a.collides(vt)) continue
18532                                        }
18533                                        a && a.collides(Lt.declutterBox) || (lt && (a && a.insert(vt), this.gf.apply(this, lt)), a && a.insert(Lt.declutterBox), this.gf.apply(this, ft))
18534                                    }
18535                                    ++_;
18536                                    break;
18537                                case Sx.DRAW_CHARS:
18538                                    var pt = L[1], yt = L[2], mt = L[3], wt = L[4];
18539                                    g = L[5];
18540                                    var bt = L[6], gt = L[7], xt = L[8];
18541                                    b = L[9];
18542                                    var jt = L[10];
18543                                    m = L[11], w = L[12];
18544                                    var St = [L[13], L[13]], kt = this.textStates[w], Mt = kt.font,
18545                                        _t = [kt.scale[0] * gt, kt.scale[1] * gt], Ot = void 0;
18546                                    Mt in this.yf ? Ot = this.yf[Mt] : (Ot = {}, this.yf[Mt] = Ot);
18547                                    var Tt = Gx(u, pt, yt, 2), Et = Math.abs(_t[0]) * na(Mt, m, Ot);
18548                                    if (wt || Et <= Tt) {
18549                                        var At = this.textStates[w].textAlign,
18550                                            Ct = Lx(u, pt, yt, 2, m, (Tt - Et) * Ix[At], bt, Math.abs(_t[0]), na, Mt, Ot, N ? 0 : this.Ge);
18551                                        t:if (Ct) {
18552                                            var Rt = [], Pt = void 0, It = void 0, Nt = void 0, zt = void 0,
18553                                                Ft = void 0;
18554                                            if (b) for (Pt = 0, It = Ct.length; Pt < It; ++Pt) {
18555                                                Nt = (Ft = Ct[Pt])[4], zt = this.createLabel(Nt, w, "", b), h = Ft[2] + (_t[0] < 0 ? -jt : jt), f = mt * zt.height + 2 * (.5 - mt) * jt * _t[1] / _t[0] - xt;
18556                                                var Lt = this.bf(zt.width, zt.height, Ft[0], Ft[1], zt.width, zt.height, h, f, 0, 0, Ft[3], St, 
18556!1, Ws, !1, j);
18557                                                if (a && a.collides(Lt.declutterBox)) break t;
18558                                                Rt.push([t, n, zt, Lt, 1, null, null])
18559                                            }
18560                                            if (g) for (Pt = 0, It = Ct.length; Pt < It; ++Pt) {
18561                                                Nt = (Ft = Ct[Pt])[4], zt = this.createLabel(Nt, w, g, ""), h = Ft[2], f = mt * zt.height - xt;
18562                                                Lt = this.bf(zt.width, zt.height, Ft[0], Ft[1], zt.width, zt.height, h, f, 0, 0, Ft[3], St, !1, Ws, !1, j);
18563                                                if (a && a.collides(Lt.declutterBox)) break t;
18564                                                Rt.push([t, n, zt, Lt, 1, null, null])
18565                                            }
18566                                            a && a.load(Rt.map(Vx));
18567                                            for (var Gt = 0, Dt = Rt.length; Gt < Dt; ++Gt) this.gf.apply(this, Rt[Gt])
18568                                        }
18569                                    }
18570                                    ++_;
18571                                    break;
18572                                case Sx.END_GEOMETRY:
18573                                    if (void 0 !== o) {
18574                                        var Ut = o(j = L[1], M);
18575                                        if (Ut) return Ut
18576                                    }
18577                                    ++_;
18578                                    break;
18579                                case Sx.FILL:
18580                                    F ? E++ : this.va(t), ++_;
18581                                    break;
18582                                case Sx.MOVE_TO_LINE_TO:
18583                                    for (T = L[1], c = L[2], S = u[T], p = (k = u[T + 1]) + .5 | 0, (d = S + .5 | 0) === l && p === v || (t.moveTo(S, k), l = d, v = p), T += 2; T < c; T += 2) d = (S = u[T]) + .5 | 0, p = (k = u[T + 1]) + .5 | 0, T != c - 2 && d === l && p === v || (t.lineTo(S, k), l = d, v = p);
18584                                    ++_;
18585                                    break;
18586                                case Sx.SET_FILL_STYLE:
18587                                    C = L, this.vf = L[2], E && (this.va(t), E = 0, A && (t.stroke(), A = 0)), t.fillStyle = L[1], ++_;
18588                                    break;
18589                                case Sx.SET_STROKE_STYLE:
18590                                    R = L, A && (t.stroke(), A = 0), this.wf(t, L), ++_;
18591                                    break;
18592                                case Sx.STROKE:
18593                                    F ? A++ : t.stroke(), ++_;
18594                                    break;
18595                                default:
18596                                    ++_
18597                            }
18598                        }
18599                        E && this.va(t), A && t.stroke()
18600                    }, t.prototype.execute = function (t, n, i, r, e, o) {
18601                        this.Ge = r, this.jf(t, n, i, this.instructions, e, void 0, void 0, o)
18602                    }, t.prototype.executeHitDetection = function (t, n, i, r, e) {
18603                        return this.Ge = i, this.jf(t, 1, n, this.hitDetectionInstructions, !0, r, e)
18604                    }, t
18605                }(), Yx = [Oh, Sh, _h, Mh, Th, kh], Zx = function () {
18606                    function t(t, n, i, r, e, o) {
18607                        this.hf = t, this.Nu = r, this.Rt = i, this.ff = n, this.lh = o, this.Sf = {}, this.kf = null, this.Mf = [1, 0, 0, 1, 0, 0], this._f(e)
18608                    }
18609
18610                    return t.prototype.clip = function (t, n) {
18611                        var i = this.getClipCoords(n);
18612                        t.beginPath(), t.moveTo(i[0], i[1]), t.lineTo(i[2], i[3]), t.lineTo(i[4], i[5]), t.lineTo(i[6], i[7]), t.clip()
18613                    }, t.prototype._f = function (t) {
18614                        for (var n in t) {
18615                            var i = this.Sf[n];
18616                            void 0 === i && (i = {}, this.Sf[n] = i);
18617                            var r = t[n];
18618                            for (var e in r) {
18619                                var o = r[e];
18620                                i[e] = new Kx(this.ff, this.Rt, this.Nu, o)
18621                            }
18622                        }
18623                    }, t.prototype.hasExecutors = function (t) {
18624                        for (var n in this.Sf) for (var i = this.Sf[n], r = 0, e = t.length; r < e; ++r) if (t[r] in i) return !0;
18625                        return !1
18626                    }, t.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e, o) {
18627                        var s = 2 * (r = Math.round(r)) + 1,
18628                            a = an(this.Mf, r + .5, r + .5, 1 / n, -1 / 
18628n, -i, -t[0], -t[1]), u = !this.kf;
18629                        u && (this.kf = _o(s, s));
18630                        var c, h = this.kf;
18631                        h.canvas.width !== s || h.canvas.height !== s ? (h.canvas.width = s, h.canvas.height = s) : u || h.clearRect(0, 0, s, s), void 0 !== this.lh && (Fn(c = [1 / 0, 1 / 0, -1 / 0, -1 / 0], t), jn(c, n * (this.lh + r), c));
18632                        var f, l = Qx(r);
18633
18634                        function v(t, n) {
18635                            for (var i = h.getImageData(0, 0, s, s).data, a = 0, u = l.length; a < u; a++) if (i[l[a]] > 0) {
18636                                if (!o || f !== Mh && f !== Th || -1 !== o.indexOf(t)) {
18637                                    var c = (l[a] - 3) / 4, v = r - c % s, d = r - (c / s | 0),
18638                                        p = e(t, n, v * v + d * d);
18639                                    if (p) return p
18640                                }
18641                                h.clearRect(0, 0, s, s);
18642                                break
18643                            }
18644                        }
18645
18646                        var d, y, m, w, b, g = Object.keys(this.Sf).map(Number);
18647                        for (g.sort(p), d = g.length - 1; d >= 0; --d) {
18648                            var x = g[d].toString();
18649                            for (m = this.Sf[x], y = Yx.length - 1; y >= 0; --y) if (void 0 !== (w = m[f = Yx[y]]) && (b = w.executeHitDetection(h, a, i, v, c))) return b
18650                        }
18651                    }, t.prototype.getClipCoords = function (t) {
18652                        var n = this.hf;
18653                        if (!n) return null;
18654                        var i = n[0], r = n[1], e = n[2], o = n[3], s = [i, r, i, o, e, o, e, r];
18655                        return Br(s, 0, 8, 2, t, s), s
18656                    }, t.prototype.isEmpty = function () {
18657                        return R(this.Sf)
18658                    }, t.prototype.execute = function (t, n, i, r, e, o, s) {
18659                        var a = Object.keys(this.Sf).map(Number);
18660                        a.sort(p), this.hf && (t.save(), this.clip(t, i));
18661                        var u, c, h, f, l, v, d = o || Yx;
18662                        for (s && a.reverse(), u = 0, c = a.length; u < c; ++u) {
18663                            var y = a[u].toString();
18664                            for (l = this.Sf[y], h = 0, f = d.length; h < f; ++h) {
18665                                void 0 !== (v = l[d[h]]) && v.execute(t, n, i, r, e, s)
18666                            }
18667                        }
18668                        this.hf && t.restore()
18669                    }, t
18670                }(), $x = {};
18671
18672                function Qx(t) {
18673                    if (void 0 !== $x[t]) return $x[t];
18674                    for (var n = 2 * t + 1, i = t * t, r = new Array(i + 1), e = 0; e <= t; ++e) for (var o = 0; o <= t; ++o) {
18675                        var s = e * e + o * o;
18676                        if (s > i) break;
18677                        var a = r[s];
18678                        a || (a = [], r[s] = a), a.push(4 * ((t + e) * n + (t + o)) + 3), e > 0 && a.push(4 * ((t - e) * n + (t + o)) + 3), o > 0 && (a.push(4 * ((t + e) * n + (t - o)) + 3), e > 0 && a.push(4 * ((t - e) * n + (t - o)) + 3))
18679                    }
18680                    for (var u = [], c = (e = 0, r.length); e < c; ++e) r[e] && u.push.apply(u, r[e]);
18681                    return $x[t] = u, u
18682                }
18683
18684                var tj = Zx, nj = .5;
18685
18686                function ij(t, n, i, r, e, o, s) {
18687                    var a = _o(t[0] * nj, t[1] * nj);
18688                    a.imageSmoothingEnabled = !1;
18689                    for (var u = a.canvas, c = new jh(a, nj, e, null, s), h = i.length, f = Math.floor(16777215 / h), l = {}, v = 1; v <= h; ++v) {
18690                        var d = i[v - 1], y = d.getStyleFunction() || r;
18691                        if (r) {
18692                            var m = y(d, o);
18693                            if (m) {
18694                                Array.isArray(m) || (m = [m]);
18695                                for (var w = "#" + ("000000" + (v * f).toString(16)).slice(-6), b = 0, g = m.length; b < g; ++b) {
18696                                    var x = m[b], j = x.getGeometryFunction()(d);
18697                                    if (j && ti(e, j.getExtent())) {
18698                                        var S = x.clone(), k = S.getFill();
18699                                        k && k.setColor(w);
18700                                        var M = S.getStroke();
18701                                        M && (M.setColor(w), M.setLineDash(null)), S.setText(void 0);
18702                                        var _ = x.getImage();
18703                                        if (_ && 0 !== _.getOpacity()) {
18704                                            var O = _.getImageSize();
18705                                            if (!O) continue;
18706                                            var T = _o(O[0], O[1], void 0, {alpha: !1}), E = T.canvas;
18707                                            T.fillStyle = w, T.fillRect(0, 0, E.width, E.height), S.setImage(new Uv({
18708                                                img: E,
18709                                                imgSize: O,
18710                                                anchor: _.getAnchor(),
18711                                                anchorXUnits: Av,
18712                                                anchorYUnits: Av,
18713                                                offset: _.getOrigin(),
18714                                                opacity: 1,
18715                                                size: _.getSize(),
18716                                                scale: _.getScale(),
18717                                                rotation: _.getRotation(),
18718                                                rotateWithView: _.getRotateWithView()
18719                                            }))
18720                                        }
18721                                        var A = S.getZIndex() || 0;
18722                                        (P = l[A]) || (P = {}
18722, l[A] = P, P[Pt.POLYGON] = [], P[Pt.CIRCLE] = [], P[Pt.LINE_STRING] = [], P[Pt.POINT] = []), P[j.getType().replace("Multi", "")].push(j, S)
18723                                    }
18724                                }
18725                            }
18726                        }
18727                    }
18728                    for (var C = Object.keys(l).map(Number).sort(p), R = (v = 0, C.length); v < R; ++v) {
18729                        var P = l[C[v]];
18730                        for (var I in P) {
18731                            var N = P[I];
18732                            for (b = 0, g = N.length; b < g; b += 2) {
18733                                c.setStyle(N[b + 1]);
18734                                for (var z = 0, F = n.length; z < F; ++z) c.setTransform(n[z]), c.drawGeometry(N[b])
18735                            }
18736                        }
18737                    }
18738                    return a.getImageData(0, 0, u.width, u.height)
18739                }
18740
18741                function rj(t, n, i) {
18742                    var r = [];
18743                    if (i) {
18744                        var e = Math.floor(Math.round(t[0]) * nj), o = Math.floor(Math.round(t[1]) * nj),
18745                            s = 4 * (ui(e, 0, i.width - 1) + ui(o, 0, i.height - 1) * i.width), a = i.data[s],
18746                            u = i.data[s + 1], c = i.data[s + 2] + 256 * (u + 256 * a),
18747                            h = Math.floor(16777215 / n.length);
18748                        c && c % h == 0 && r.push(n[c / h - 1])
18749                    }
18750                    return r
18751                }
18752
18753                var ej = function () {
18754                        var t = function (n, i) {
18755                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18756                                t.__proto__ = n
18757                            } || function (t, n) {
18758                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18759                            })(n, i)
18760                        };
18761                        return function (n, i) {
18762                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18763
18764                            function r() {
18765                                this.constructor = n
18766                            }
18767
18768                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18769                        }
18770                    }(), oj = function (t) {
18771                        function n(n) {
18772                            var i = t.call(this, n) || this;
18773                            return i.Of = i.Tf.bind(i), i.Ef, i.Af = !1, i.Cf = null, i.Rf = null, i.jc = -1, i.Pf = NaN, i.Nc = [1 / 0, 1 / 0, -1 / 0, -1 / 0], i.If = [1 / 0, 1 / 0, -1 / 0, -1 / 0], i.Nf, i.zf = null, i.Ff = null, i.Lf = null, i.Gf = null, i.replayGroupChanged = !0, i.declutterExecutorGroup = null, i.clipping = !0, i
18774                        }
18775
18776                        return ej(n, t), n.prototype.renderWorlds = function (t, n, i) {
18777                            var r = n.extent, e = n.viewState, o = e.center, s = e.resolution, a = e.projection,
18778                                u = e.rotation, c = a.getExtent(), h = this.getLayer().getSource(), f = n.pixelRatio,
18779                                l = n.viewHints, v = !(l[Pa] || l[Ia]), d = this.context, p = Math.round(n.size[0] * f),
18780                                y = Math.round(n.size[1] * f), m = h.getWrapX() && a.canWrapX(), w = m ? Qn(c) : null,
18781                                b = m ? Math.ceil((r[2] - c[2]) / w) + 1 : 1, g = m ? Math.floor((r[0] - c[0]) / w) : 0;
18782                            do {
18783                                var x = this.getRenderTransform(o, s, u, f, p, y, g * w);
18784                                t.execute(d, 1, x, u, v, void 0, i)
18785                            } while (++g < b)
18786                        }, n.prototype.renderDeclutter = function (t) {
18787                            this.declutterExecutorGroup && this.renderWorlds(this.declutterExecutorGroup, t, t.declutterTree)
18788                        }, n.prototype.renderFrame = function (t, n) {
18789                            var i = t.pixelRatio, r = t.layerStatesArray[t.layerIndex];
18790                            on(this.pixelTransform, 1 / i, 1 / i), un(this.inversePixelTransform, this.pixelTransform);
18791                            var e = hn(this.pixelTransform);
18792                            this.useContainer(n, e, r.opacity, this.getBackgroun
18792d(t));
18793                            var o = this.context, s = o.canvas, a = this.Gf, u = this.declutterExecutorGroup;
18794                            if ((!a || a.isEmpty()) && (!u || u.isEmpty())) return null;
18795                            var c = Math.round(t.size[0] * i), h = Math.round(t.size[1] * i);
18796                            s.width != c || s.height != h ? (s.width = c, s.height = h, s.style.transform !== e && (s.style.transform = e)) : this.containerReused || o.clearRect(0, 0, c, h), this.preRender(o, t);
18797                            var f = t.viewState, l = f.projection, v = !1, d = !0;
18798                            if (r.extent && this.clipping) {
18799                                var p = Lr(r.extent, l);
18800                                (v = (d = ti(p, t.extent)) && !_n(p, t.extent)) && this.clipUnrotated(o, t, p)
18801                            }
18802                            d && this.renderWorlds(a, t), v && o.restore(), this.postRender(o, t);
18803                            var y = Is(r.opacity), m = this.container;
18804                            return y !== m.style.opacity && (m.style.opacity = y), this.Nf !== f.rotation && (this.Nf = f.rotation, this.Cf = null), this.container
18805                        }, n.prototype.getFeatures = function (t) {
18806                            return new Promise(function (n) {
18807                                if (!this.Cf && !this.Ef) {
18808                                    var i = [this.context.canvas.width, this.context.canvas.height];
18809                                    nn(this.pixelTransform, i);
18810                                    var r = this.zf, e = this.Pf, o = this.Nf, s = this.Ff, a = this.If,
18811                                        u = this.getLayer(), c = [], h = i[0] * nj, f = i[1] * nj;
18812                                    c.push(this.getRenderTransform(r, e, o, nj, h, f, 0).slice());
18813                                    var l = u.getSource(), v = s.getExtent();
18814                                    if (l.getWrapX() && s.canWrapX() && !_n(v, a)) {
18815                                        for (var d = a[0], p = Qn(v), y = 0, m = void 0; d < v[0];) m = p * --y, c.push(this.getRenderTransform(r, e, o, nj, h, f, m).slice()), d += p;
18816                                        for (y = 0, d = a[2]; d > v[2];) m = p * ++y, c.push(this.getRenderTransform(r, e, o, nj, h, f, m).slice()), d -= p
18817                                    }
18818                                    this.Cf = ij(i, c, this.Rf, u.getStyleFunction(), a, e, o)
18819                                }
18820                                n(rj(t, this.Rf, this.Cf))
18821                            }.bind(this))
18822                        }, n.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e) {
18823                            var s = this;
18824                            if (this.Gf) {
18825                                var a, u = n.viewState.resolution, c = n.viewState.rotation, h = this.getLayer(), f = {},
18826                                    l = function (t, n, i) {
18827                                        var s = o(t), a = f[s];
18828                                        if (a) {
18829                                            if (!0 !== a && i < a.distanceSq) {
18830                                                if (0 === i) return f[s] = !0, e.splice(e.lastIndexOf(a), 1), r(t, h, n);
18831                                                a.geometry = n, a.distanceSq = i
18832                                            }
18833                                        } else {
18834                                            if (0 === i) return f[s] = !0, r(t, h, n);
18835                                            e.push(f[s] = {feature: t, layer: h, geometry: n, distanceSq: i, callback: r})
18836                                        }
18837                                    }, v = [this.Gf];
18838                                return this.declutterExecutorGroup && v.push(this.declutterExecutorGroup), v.some((function (r) {
18839                                    return a = r.forEachFeatureAtCoordinate(t, u, c, i, l, r === s.declutterExecutorGroup && n.declutterTree ? n.declutterTree.all().map((function (t) {
18840                                        return t.value
18841                                    })) : null)
18842                                })), a
18843                            }
18844                        }, n.prototype.handleFontsChanged = function () {
18845                            var t = this.getLayer();
18846                            t.getVisible() && this.Gf && t.changed()
18847                        }, n.prototype.Tf = function (t) {
18848                            this.renderIfReadyAndVisible()
18849                        }, n.prototype.prepareFrame = function (t) {
18850                            var n = this.getLayer(), i = n.getSource();
18851                            if (!i) return !1;
18852                            var r = t.viewHints[Pa], e = t.viewHints[Ia], o = n.getUpd
18852ateWhileAnimating(),
18853                                s = n.getUpdateWhileInteracting();
18854                            if (!this.Af && !o && r || !s && e) return this.Ef = !0, !0;
18855                            this.Ef = !1;
18856                            var a = t.extent, u = t.viewState, c = u.projection, h = u.resolution, f = t.pixelRatio,
18857                                l = n.getRevision(), v = n.getRenderBuffer(), d = n.getRenderOrder();
18858                            void 0 === d && (d = Ah);
18859                            var p = u.center.slice(), y = jn(a, v * h), m = y.slice(), w = [y.slice()], b = c.getExtent();
18860                            if (i.getWrapX() && c.canWrapX() && !_n(b, t.extent)) {
18861                                var g = Qn(b), j = Math.max(Qn(y) / 2, g);
18862                                y[0] = b[0] - j, y[2] = b[2] + j, sr(p, c);
18863                                var S = si(w[0], c);
18864                                S[0] < b[0] && S[2] < b[2] ? w.push([S[0] + g, S[1], S[2] + g, S[3]]) : S[0] > b[0] && S[2] > b[2] && w.push([S[0] - g, S[1], S[2] - g, S[3]])
18865                            }
18866                            if (!this.Af && this.Pf == h && this.jc == l && this.Lf == d && _n(this.If, y)) return x(this.Nc, m) || (this.Cf = null, this.Nc = m), this.zf = p, this.replayGroupChanged = !1, !0;
18867                            this.Gf = null, this.Af = !1;
18868                            var k, M = new Fx(Rh(h, f), y, h, f);
18869                            this.getLayer().getDeclutter() && (k = new Fx(Rh(h, f), y, h, f));
18870                            var _, O = Ir();
18871                            if (O) {
18872                                for (var T = 0, E = w.length; T < E; ++T) {
18873                                    var A = Fr(w[T], c);
18874                                    i.loadFeatures(A, Gr(h, c), O)
18875                                }
18876                                _ = Tr(O, c)
18877                            } else for (T = 0, E = w.length; T < E; ++T) i.loadFeatures(w[T], h, c);
18878                            var C = Ch(h, f), R = function (t) {
18879                                var i, r = t.getStyleFunction() || n.getStyleFunction();
18880                                if (r && (i = r(t, h)), i) {
18881                                    var e = this.renderFeature(t, C, i, M, _, k);
18882                                    this.Af = this.Af || e
18883                                }
18884                            }.bind(this), P = Fr(y, c), I = i.getFeaturesInExtent(P);
18885                            d && I.sort(d);
18886                            for (T = 0, E = I.length; T < E; ++T) R(I[T]);
18887                            this.Rf = I;
18888                            var N = M.finish(), z = new tj(y, h, f, i.getOverlaps(), N, n.getRenderBuffer());
18889                            return k && (this.declutterExecutorGroup = new tj(y, h, f, i.getOverlaps(), k.finish(), n.getRenderBuffer())), this.Pf = h, this.jc = l, this.Lf = d, this.Nc = m, this.If = y, this.zf = p, this.Ff = c, this.Gf = z, this.Cf = null, this.replayGroupChanged = !0, !0
18890                        }, n.prototype.renderFeature = function (t, n, i, r, e, o) {
18891                            if (!i) return !1;
18892                            var s = !1;
18893                            if (Array.isArray(i)) for (var a = 0, u = i.length; a < u; ++a) s = Ph(r, t, i[a], n, this.Of, e, o) || s; else s = Ph(r, t, i, n, this.Of, e, o);
18894                            return s
18895                        }, n
18896                    }(wg), sj = function () {
18897                        var t = function (n, i) {
18898                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18899                                t.__proto__ = n
18900                            } || function (t, n) {
18901                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18902                            })(n, i)
18903                        };
18904                        return function (n, i) {
18905                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18906
18907                            function r() {
18908                                this.constructor = n
18909                            }
18910
18911                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18912                        }
18913                    }(), aj = function (t) {
18914                        function n(n) {
18915                            var i = t.call(this, n) || this;
18916                            return i.Df = new oj(n), i.Uf = n.getImageRatio(), i.qf = [1, 0, 0, 1, 0, 0], i.Bf = null, i
18917                        }
18918
18919                        return sj(n, t), n.prototype.disposeInternal = function () {
18920                            this.Df.dispose(), t.prototype.disposeInternal.call(this)
18921                        }, n.prototype.getFeatures = function (t) {
18922                            if (!this.Df) return new Promise((function (t) {
18923                                return t([])
18924                            }));
18925                            var n = nn(this.qf, nn(this.Bf, t.slice()));
18926                            return this.Df.getFeatures(n)
18927                        }, n.prototype.handleFontsChanged = function () {
18928                            this.Df.handleFontsChanged()
18929                        }, n.prototype.prepareFrame = function (t) {
18930                            var n = t.pixelRatio, i = t.viewState, r = i.resolution, e = t.viewHints, o = this.Df,
18931                                s = t.extent;
18932                            1 !== this.Uf && ri(s = s.slice(0), this.Uf);
18933                            var a = Qn(s) / r, u = Kn(s) / r;
18934                            if (!e[Pa] && !e[Ia] && !ni(s)) {
18935                                o.useContainer(null, null, 1);
18936                                var c = o.context, h = E({}, t, {
18937                                    declutterTree: new nd(9),
18938                                    extent: s,
18939                                    size: [a, u],
18940                                    viewState: E({}, t.viewState, {rotation: 0})
18941                                }), f = !0, l = new Mo(s, r, n, c.canvas, (function (t) {
18942                                    o.prepareFrame(h) && o.replayGroupChanged && (o.clipping = !1, o.renderFrame(h, null) && (o.renderDeclutter(h), f = !1), t())
18943                                }));
18944                                l.addEventListener(N, function () {
18945                                    if (l.getState() === wo) {
18946                                        this.Nt = f ? null : l;
18947                                        var t = l.getResolution(), r = l.getPixelRatio(), e = t * n / r;
18948                                        this.renderedResolution = e, this.qf = an(this.qf, a / 2, u / 2, 1 / e, -1 / e, 0, -i.center[0], -i.center[1])
18949                                    }
18950                                }.bind(this)), l.load()
18951                            }
18952                            return this.Nt && (this.Bf = t.pixelToCoordinateTransform.slice()), !!this.Nt
18953                        }, n.prototype.preRender = function () {
18954                        }, n.prototype.postRender = function () {
18955                        }, n.prototype.renderDeclutter = function () {
18956                        }, n.prototype.forEachFeatureAtCoordinate = function (n, i, r, e, o) {
18957                            return this.Df ? this.Df.forEachFeatureAtCoordinate(n, i, r, e, o) : t.prototype.forEachFeatureAtCoordinate.call(this, n, i, r, e, o)
18958                        }, n
18959                    }(gg), uj = "image", cj = "hybrid", hj = "vector", fj = function () {
18960                        var t = function (n, i) {
18961                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
18962                                t.__proto__ = n
18963                            } || function (t, n) {
18964                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
18965                            })(n, i)
18966                        };
18967                        return function (n, i) {
18968                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
18969
18970                            function r() {
18971                                this.constructor = n
18972                            }
18973
18974                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
18975                        }
18976                    }(), lj = {image: [Oh, Sh, _h, Mh, Th], hybrid: [Oh, _h], vector: []},
18977                    vj = {hybrid: [Mh, Th, kh], vector: [Oh, Sh, _h, Mh, Th, kh]}, dj = function (t) {
18978                        function n(n) {
18979                            var i = t.call(this, n) || this;
18980                            return i.Of = i.Tf.bind(i), i.Af = !1, i.Wf, i.Bf = null, i.Nf, i.Vf = [1, 0, 0, 1, 0, 0], i
18981                        }
18982
18983                        return fj(n, t), n.prototype.prepareTile = function (t, n, i) {
18984                            var r, e = t.getState();
18985                            return e !== dt && e !== pt || (this.Xf(t, n, i), this.Hf(t) && (r = !0)), r
18986                        }, n.prototype.getTile = function (n, i, r, e) {
18987                            var o = e.pixelRatio, s = e.viewState, a = s.resolution, u = s.projection, c = this.getLayer(),
18988                                h = c.getSource().getTile(n, i, r, o, u), f = e.viewHints, l = !(f[Pa] || f[Ia]);
18989                            return !l && h.wantedResolution || (h.wantedResolution = a), this.prepareTile(h, o, u) && (l || Date.now() - e.time < 8) && c.getRenderMode() !== hj && this.Jf(h, e), t.prototype.getTile.call(this, n, i, r, e)
18990                        }, n.prototype.isDrawableTile = function (n) {
18991                            var i = this.getLayer();
18992                            return t.prototype.isDrawableTile.call(this, n) && (i.getRenderMode() === hj ? o(i) in n.executorGroups : n.hasContext(i))
18993                        }, n.prototype.getTileImage = function (t) {
18994                            return t.getImage(this.getLayer())
18995                        }, n.prototype.prepareFrame = function (n) {
18996                            var i = this.getLayer().getRevision();
18997                            return this.Wf != i && (this.renderedTiles.length = 0), this.Wf = i, t.prototype.prepareFrame.call(this, n)
18998                        }, n.prototype.Xf = function (t, n, i) {
18999                            var r = this.getLayer(), e = r.getRevision(), s = r.getRenderOrder() || null,
19000                                a = t.wantedResolution, u = t.getReplayState(r);
19001                            if (u.dirty || u.renderedResolution !== a || u.renderedRevision != e || u.renderedRenderOrder != s) {
19002                                var c = r.getSource(), h = r.getDeclutter(), f = c.getTileGrid(),
19003                                    l = c.getTileGridForProjection(i).getTileCoordExtent(t.wrappedTileCoord),
19004                                    v = c.getSourceTiles(n, i, t), d = o(r);
19005                                delete t.hitDetectionImageData[d], t.executorGroups[d] = [], h && (t.declutterExecutorGroups[d] = []);
19006                                for (var p = function (i, e) {
19007                                    var o = v[i];
19008                                    if (o.getState() != dt) return "continue";
19009                                    var p = o.tileCoord, m = f.getTileCoordExtent(p), w = Yn(l, m),
19010                                        b = jn(w, r.getRenderBuffer() * a, y.tmpExtent), g = In(m, w) ? null : b;
19011                                    u.dirty = !1;
19012                                    var x = new Fx(0, b, a, n), j = h ? new Fx(0, w, a, n) : void 0, S = Ch(a, n),
19013                                        k = function (t) {
19014                                            var n, i = t.getStyleFunction() || r.getStyleFunction();
19015                                            if (i && (n = i(t, a)), n) {
19016                                                var e = this.renderFeature(t, S, n, x, j);
19017                                                this.Af = this.Af || e, u.dirty = u.dirty || e
19018                                            }
19019                                        }, M = o.getFeatures();
19020                                    s && s !== u.renderedRenderOrder && M.sort(s);
19021                                    for (var _ = 0, O = M.length; _ < O; ++_) {
19022                                        var T = M[_];
19023                                        g && !ti(g, T.getGeometry().getExtent()) || k.call(y, T)
19024                                    }
19025                                    var E = x.finish(), A = r.getRenderMode() !== hj && h && 1 === v.length ? null : w,
19026                                        C = new tj(A, a, n, c.getOverlaps(), E, r.getRenderBuffer());
19027                                    if (t.executorGroups[d].push(C), j) {
19028                                        var R = new tj(null, a, n, c.getOverlaps(), j.finish(), r.getRenderBuffer());
19029                                        t.declutterExecutorGroups[d].push(R)
19030                                    }
19031                                }, y = this, m = 0, w = v.length; m < w; ++m) p(m);
19032                                u.renderedRevision = e, u.renderedRenderOrder = s, u.renderedResolution = a
19033                            }
19034                        }, n.prototype.forEachFeatureAtCoordinate = function (t, n, i, r, e) {
19035                            var s = n.viewState.resolution, a = n.viewState.rotation;
19036                            i = null == i ? 0 : i;
19037                            var u = this.getLayer(), c = u.getSource().getTileGridForProjection(n.viewState.projection),
19038                                h = xn([t]);
19039                            jn(h, s * i, h);
19040                            for (var f, l = {}, v = function (t, n, i) {
19041                                var s = t.getId();
19042                                void 0 === s && (s = o(t));
19043                                var a = l[s];
19044                                if (a) {
19045                                    if (!0 !== a && i < a.distanceSq) {
19046                                        if (0 === i) return l[s] = !0, e.splice(e.lastIndexOf(a), 1), r(t, u, n);
19047                                        a.geometry = n, a.distanceSq = i
19048                                    }
19049                                } else {
19050                                    if (0 === i) return l[s] = !0, r(t, u, n);
19051                                    e.push(l[s] = {feature: t, layer: u, geometry: n, distanceSq: i, callback: r})
19052                                }
19053                            }, d = this.renderedTiles, p = function (r, e) {
19054                                var l = d[r];
19055                                if (!ti(c.getTileCoordExtent(l.wrappedTileCoord), h)) return "continue";
19056                                var p = o(u), y = [l.executorGroups[p]], m = l.declutterExecutorGroups[p];
19057                                m && y.push(m), y.some((function (r) {
19058                                    for (var e = r === m ? n.declutterTree.all().map((function (t) {
19059                                        return t.value
19060                                    })) : null, o = 0, u = r.length; o < u; ++o) {
19061                                        var c = r[o];
19062                                        if (f = c.forEachFeatureAtCoordinate(t, s, a, i, v, e)) return !0
19063                                    }
19064                                }))
19065                            }, y = 0, m = d.length; !f && y < m; ++y) p(y);
19066                            return f
19067                        }, n.prototype.getFeatures = function (t) {
19068                            return new Promise(function (n, i) {
19069                                for (var r, e = this.getLayer(), s = o(e), a = e.getSource(), u = this.renderedProjection, c = u.getExtent(), h = this.renderedResolution, f = a.getTileGridForProjection(u), l = nn(this.Bf, t.slice()), v = f.getTileCoordForCoordAndResolution(l, h), d = 0, p = this.renderedTiles.length; d < p; ++d) if (v.toString() === this.renderedTiles[d].tileCoord.toString()) {
19070                                    if ((r = this.renderedTiles[d]).getState() === dt) {
19071                                        var y = f.getTileCoordExtent(r.tileCoord);
19072                                        a.getWrapX() && u.canWrapX() && !_n(c, y) && sr(l, u);
19073                                        break
19074                                    }
19075                                    r = void 0
19076                                }
19077                                if (!r || r.loadingSourceTiles > 0) n([]); else {
19078                                    var m = Zn(f.getTileCoordExtent(r.wrappedTileCoord)),
19079                                        w = [(l[0] - m[0]) / h, (m[1] - l[1]) / h],
19080                                        b = r.getSourceTiles().reduce((function (t, n) {
19081                                            return t.concat(n.getFeatures())
19082                                        }), []), g = r.hitDetectionImageData[s];
19083                                    if (!g && !this.Ef) {
19084                                        var x = ou(f.getTileSize(f.getZForResolution(h))), j = this.Nf;
19085                                        g = ij(x, [this.getRenderTransform(f.getTileCoordCenter(r.wrappedTileCoord), h, 0, nj, x[0] * nj, x[1] * nj, 0)], b, e.getStyleFunction(), f.getTileCoordExtent(r.wrappedTileCoord), r.getReplayState(e).renderedResolution, j), r.hitDetectionImageData[s] = g
19086                                    }
19087                                    n(rj(w, b, g))
19088                                }
19089                            }.bind(this))
19090                        }, n.prototype.handleFontsChanged = function () {
19091                            var t = this.getLayer();
19092                            t.getVisible() && void 0 !== this.Wf && t.changed()
19093                        }, n.prototype.Tf = function (t) {
19094                            this.renderIfReadyAndVisible()
19095                        }, n.prototype.renderDeclutter = function (t) {
19096                            var n = this.context, i = n.globalAlpha;
19097                            n.globalAlpha = this.getLayer().getOpacity();
19098                            for (var r = t.viewHints, e = !(r[Pa] || r[Ia]), s = this.renderedTiles, a = 0, u = s.length; a < u; ++a) {
19099                                var c = s[a], h = c.declutterExecutorGroups[o(this.getLayer())];
19100                                if (h) for (var f = h.length - 1; f >= 0; --f) h[f].execute(this.context, 1, this.getTileRenderTransform(c, t), t.viewState.rotation, e, void 0, t.declutterTree)
19101                            }
19102                            n.globalAlpha = i
19103                        }, n.prototype.getTileRenderTransform = function (t, n) {
19104                            var i = n.pixelRatio, r = n.viewState, e = r.center, o = r.resolution, s = r.rotation,
19105                                a = n.size, u = Math.round(a[0] * i), c = Math.round(a[1] * i),
19106                                h = this.getLayer().getSource().getTileGridForProjection(n.viewState.projection),
19107                                f = t.tileCoord, l = h.getTileCoordExtent(t.wrappedTileCoord),
19108                                v = h.getTileCoordExtent(f, this.tmpExtent)[0] - l[0];
19109                            return $t(en(this.inversePixelTransform.slice(), 1 / i, 1 / i), this.getRenderTransform(e, o, s, i, u, c, v))
19110                        }, n.prototype.renderFrame = function (n, i) {
19111                            var r = n.viewHints, e = !(r[Pa] || r[Ia]);
19112                            t.prototype.renderFrame.call(this, n, i), this.Bf = n.pixelToCoordinateTransform.slice(), this.Nf = n.viewState.rotation;
19113                            var s = this.getLayer(), a = s.getRenderMode(), u = this.context, c = u.globalAlpha;
19114                            u.globalAlpha = s.getOpacity();
19115                            for (var h = vj[a], f = n.viewState, l = f.rotation, v = s.getSource(), d = v.getTileGridForProjection(f.projection).getZForResolution(f.resolution, v.zDirection), p = this.renderedTiles, y = [], m = [], w = p.length - 1; w >= 0; --w) {
19116                                var b = p[w], g = b.executorGroups[o(s)].filter((function (t) {
19117                                    return t.hasExecutors(h)
19118                                }));
19119                                if (0 !== g.length) {
19120                                    for (var x = this.getTileRenderTransform(b, n), j = b.tileCoord[0], S = !1, k = g[0].getClipCoords(x), M = 0, _ = y.length; M < _; ++M) if (d !== j && j < m[M]) {
19121                                        var O = y[M];
19122                                        ti([k[0], k[3], k[4], k[7]], [O[0], O[3], O[4], O[7]]) && (S || (u.save(), S = !0), u.beginPath(), u.moveTo(k[0], k[1]), u.lineTo(k[2], k[3]), u.lineTo(k[4], k[5]), u.lineTo(k[6], k[7]), u.moveTo(O[6], O[7]), u.lineTo(O[4], O[5]), u.lineTo(O[2], O[3]), u.lineTo(O[0], O[1]), u.clip())
19123                                    }
19124                                    y.push(k), m.push(j);
19125                                    for (var T = 0, E = g.length; T < E; ++T) {
19126                                        g[T].execute(u, 1, x, l, e, h)
19127                                    }
19128                                    S && u.restore()
19129                                }
19130                            }
19131                            return u.globalAlpha = c, this.container
19132                        }, n.prototype.renderFeature = function (t, n, i, r, e) {
19133                            if (!i) return !1;
19134                            var o = !1;
19135                            if (Array.isArray(i)) for (var s = 0, a = i.length; s < a; ++s) o = Ph(r, t, i[s], n, this.Of, void 0, e) || o; else o = Ph(r, t, i, n, this.Of, void 0, e);
19136                            return o
19137                        }, n.prototype.Hf = function (t) {
19138                            var n = this.getLayer();
19139                            if (n.getRenderMode() === hj) return !1;
19140                            var i = t.getReplayState(n), r = n.getRevision(), e = t.wantedResolution;
19141                            return i.renderedTileResolution !== e || i.renderedTileRevision !== r
19142                        }, n.prototype.Jf = function (t, n) {
19143                            var i = this.getLayer(), r = t.getReplayState(i), e = i.getRevision(),
19144                                s = t.executorGroups[o(i)];
19145                            r.renderedTileRevision = e;
19146                            var a = t.wrappedTileCoord, u = a[0], c = i.getSource(), h = n.pixelRatio,
19147                                f = n.viewState.projection, l = c.getTileGridForProjection(f),
19148                                v = l.getResolution(t.tileCoord[0]), d = n.pixelRatio / t.wantedResolution * v,
19149                                p = l.getResolution(u), y = t.getContext(i);
19150                            h = Math.round(Math.max(h, d / h));
19151                            var m = c.getTilePixelSize(u, h, f);
19152                            y.canvas.width = m[0], y.canvas.height = m[1];
19153                            var w = h / d;
19154                            if (1 !== w) {
19155                                var b = Zt(this.Vf);
19156                                en(b, w, w), y.setTransform.apply(y, b)
19157                            }
19158                            var g = l.getTileCoordExtent(a, this.tmpExtent), x = d / p, j = Zt(this.Vf);
19159                            en(j, x, -x), sn(j, -g[0], -g[3]);
19160                            for (var S = 0, k = s.length; S < k; ++S) {
19161                                s[S].execute(y, w, j, 0, !0, lj[i.getRenderMode()])
19162                            }
19163                            r.renderedTileResolution = t.wantedResolution
19164                        }, n
19165                    }(Tg), pj = function () {
19166                        var t = function (n, i) {
19167                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19168                                t.__proto__ = n
19169                            } || function (t, n) {
19170                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19171                            })(n, i)
19172                        };
19173                        return function (n, i) {
19174                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19175
19176                            function r() {
19177                                this.constructor = n
19178                            }
19179
19180                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19181                        }
19182                    }(), yj = function (t) {
19183                        function n(n, i) {
19184                            var r = t.call(this) || this;
19185                            return i && !Array.isArray(n[0]) ? r.setFlatCoordinates(i, n) : r.setCoordinates(n, i), r
19186                        }
19187
19188                        return pj(n, t), n.prototype.appendPoint = function (t) {
19189                            this.flatCoordinates ? b(this.flatCoordinates, t.getFlatCoordinates()) : this.flatCoordinates = t.getFlatCoordinates().slice(), this.changed()
19190                        }, n.prototype.clone = function () {
19191                            var t = new n(this.flatCoordinates.slice(), this.layout);
19192                            return t.applyProperties(this), t
19193                        }, n.prototype.closestPointXY = function (t, n, i, r) {
19194                            if (r < kn(this.getExtent(), t, n)) return r;
19195                            for (var e = this.flatCoordinates, o = this.stride, s = 0, a = e.length; s < a; s += o) {
19196                                var u = li(t, n, e[s], e[s + 1]);
19197                                if (u < r) {
19198                                    r = u;
19199                                    for (var c = 0; c < o; ++c) i[c] = e[s + c];
19200                                    i.length = o
19201                                }
19202                            }
19203                            return r
19204                        }, n.prototype.getCoordinates = function () {
19205                            return we(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride)
19206                        }, n.prototype.getPoint = function (t) {
19207                            var n = this.flatCoordinates ? this.flatCoordinates.length / this.stride : 0;
19208                            return t < 0 || n <= t ? null : new Oe(this.flatCoordinates.slice(t * this.stride, (t + 1) * this.stride), this.layout)
19209                        }, n.prototype.getPoints = function () {
19210                            for (var t = this.flatCoordinates, n = this.layout, i = this.stride, r = [], e = 0, o = t.length; e < o; e += i) {
19211                                var s = new Oe(t.slice(e, e + i), n);
19212                                r.push(s)
19213                            }
19214                            return r
19215                        }, n.prototype.getType = function () {
19216                            return Pt.MULTI_POINT
19217                        }, n.prototype.intersectsExtent = function (t) {
19218                            for (var n = this.flatCoordinates, i = this.stride, r = 0, e = n.length; r < e; r += i) {
19219                                if (On(t, n[r], n[r + 1])) return !0
19220                            }
19221                            return !1
19222                        }, n.prototype.setCoordinates = function (t, n) {
19223                            this.setLayout(n, t, 1), this.flatCoordinates || (this.flatCoordinates = []), this.flatCoordinates.length = ue(this.flatCoordinates, 0, t, this.stride), this.changed()
19224                        }, n
19225                    }(Qr);
19226
19227                function mj(t, n, i, r, e, o, s) {
19228                    var a, u, c = (i - n) / r;
19229                    if (1 === c) a = n; else if (2 === c) a = n, u = e; else if (0 !== c) {
19230                        for (var h = t[n], f = t[n + 1], l = 0, v = [0], p = n + r; p < i; p += r) {
19231                            var y = t[p], m = t[p + 1];
19232                            l += Math.sqrt((y - h) * (y - h) + (m - f) * (m - f)), v.push(l), h = y, f = m
19233                        }
19234                        var w = e * l, b = d(v, w);
19235                        b < 0 ? (u = (w - v[-b - 2]) / (v[-b - 1] - v[-b - 2]), a = n + (-b - 2) * r) : a = n + b * r
19236                    }
19237                    var g = s > 1 ? s : 2, x = o || new Array(g);
19238                    for (p = 0; p < g; ++p) x[p] = void 0 === a ? NaN : void 0 === u ? t[a + p] : mi(t[a + p], t[a + r + p], u);
19239                    return x
19240                }
19241
19242                function wj(t, n, i, r, e, o) {
19243                    if (i == n) return null;
19244                    var s;
19245                    if (e < t[n + r - 1]) return o ? ((s = t.slice(n, n + r))[r - 1] = e, s) : null;
19246                    if (t[i - 1] < e) return o ? ((s = t.slice(i - r, i))[r - 1] = e, s) : null;
19247                    if (e == t[n + r - 1]) return t.slice(n, n + r);
19248                    for (var a = n / r, u = i / r; a < u;) {
19249                        var c = a + u >> 1;
19250                        e < t[(c + 1) * r - 1] ? u = c : a = c + 1
19251                    }
19252                    var h = t[a * r - 1];
19253                    if (e == h) return t.slice((a - 1) * r, (a - 1) * r + r);
19254                    var f = (e - h) / (t[(a + 1) * r - 1] - h);
19255                    s = [];
19256                    for (var l = 0; l < r - 1;
19256 ++l) s.push(mi(t[(a - 1) * r + l], t[a * r + l], f));
19257                    return s.push(e), s
19258                }
19259
19260                function bj(t, n, i, r, e, o, s) {
19261                    if (s) return wj(t, n, i[i.length - 1], r, e, o);
19262                    var a;
19263                    if (e < t[r - 1]) return o ? ((a = t.slice(0, r))[r - 1] = e, a) : null;
19264                    if (t[t.length - 1] < e) return o ? ((a = t.slice(t.length - r))[r - 1] = e, a) : null;
19265                    for (var u = 0, c = i.length; u < c; ++u) {
19266                        var h = i[u];
19267                        if (n != h) {
19268                            if (e < t[n + r - 1]) return null;
19269                            if (e <= t[h - 1]) return wj(t, n, h, r, e, !1);
19270                            n = h
19271                        }
19272                    }
19273                    return null
19274                }
19275
19276                var gj = function () {
19277                    var t = function (n, i) {
19278                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19279                            t.__proto__ = n
19280                        } || function (t, n) {
19281                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19282                        })(n, i)
19283                    };
19284                    return function (n, i) {
19285                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19286
19287                        function r() {
19288                            this.constructor = n
19289                        }
19290
19291                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19292                    }
19293                }(), xj = function (t) {
19294                    function n(n, i) {
19295                        var r = t.call(this) || this;
19296                        return r.Kf = null, r.Yf = -1, r.wt = -1, r.bt = -1, void 0 === i || Array.isArray(n[0]) ? r.setCoordinates(n, i) : r.setFlatCoordinates(i, n), r
19297                    }
19298
19299                    return gj(n, t), n.prototype.appendCoordinate = function (t) {
19300                        this.flatCoordinates ? b(this.flatCoordinates, t) : this.flatCoordinates = t.slice(), this.changed()
19301                    }, n.prototype.clone = function () {
19302                        var t = new n(this.flatCoordinates.slice(), this.layout);
19303                        return t.applyProperties(this), t
19304                    }, n.prototype.closestPointXY = function (t, n, i, r) {
19305                        return r < kn(this.getExtent(), t, n) ? r : (this.bt != this.getRevision() && (this.wt = Math.sqrt(ne(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, 0)), this.bt = this.getRevision()), ee(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, this.wt, !1, t, n, i, r))
19306                    }, n.prototype.forEachSegment = function (t) {
19307                        return Ie(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t)
19308                    }, n.prototype.getCoordinateAtM = function (t, n) {
19309                        if (this.layout != Ct && this.layout != Rt) return null;
19310                        var i = void 0 !== n && n;
19311                        return wj(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t, i)
19312                    }, n.prototype.getCoordinates = function () {
19313                        return we(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride)
19314                    }, n.prototype.getCoordinateAt = function (t, n) {
19315                        return mj(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t, n, this.stride)
19316                    }, n.prototype.getLength = function () {
19317                        return Gx(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride)
19318                    }, n.prototype.getFlatMidpoint = function () {
19319                        return this.Yf != this.getRevision() && (this.Kf = this.getCoordinateAt(.5, this.Kf), this.Yf = this.getRevision()), this.Kf
19320                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
19321                        var i = [];
19322                        return i.length = fe(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t, i, 0), new n(i, Et)
19323                    }, n.prototype.getType = function () {
19324                        return Pt.LINE_STRING
19325                    }, n.prototype.intersectsExtent = function (t) {
19326                        return Ne(this.flatCoordinates, 0, this.flatCoordinates.length, this.stride, t)
19327                    }, n.prototype.setCoordinates = function (t, n) {
19328                        this.setLayout(n, t, 1), this.flatCoordinates || (this.flatCoordinates = []), this.flatCoordinates.length = ue(this.flatCoordinates, 0, t, this.stride), this.changed()
19329                    }, n
19330                }(Qr), jj = function () {
19331                    var t = function (n, i) {
19332                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19333                            t.__proto__ = n
19334                        } || function (t, n) {
19335                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19336                        })(n, i)
19337                    };
19338                    return function (n, i) {
19339                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19340
19341                        function r() {
19342                            this.constructor = n
19343                        }
19344
19345                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19346                    }
19347                }(), Sj = function (t) {
19348                    function n(n, i, r) {
19349                        var e = t.call(this) || this;
19350                        if (e.gt = [], e.wt = -1, e.bt = -1, Array.isArray(n[0])) e.setCoordinates(n, i); else if (void 0 !== i && r) e.setFlatCoordinates(i, n), e.gt = r; else {
19351                            for (var o = e.getLayout(), s = n, a = [], u = [], c = 0, h = s.length; c < h; ++c) {
19352                                var f = s[c];
19353                                0 === c && (o = f.getLayout()), b(a, f.getFlatCoordinates()), u.push(a.length)
19354                            }
19355                            e.setFlatCoordinates(o, a), e.gt = u
19356                        }
19357                        return e
19358                    }
19359
19360                    return jj(n, t), n.prototype.appendLineString = function (t) {
19361                        this.flatCoordinates ? b(this.flatCoordinates, t.getFlatCoordinates().slice()) : this.flatCoordinates = t.getFlatCoordinates().slice(), this.gt.push(this.flatCoordinates.length), this.changed()
19362                    }, n.prototype.clone = function () {
19363                        var t = new n(this.flatCoordinates.slice(), this.layout, this.gt.slice());
19364                        return t.applyProperties(this), t
19365                    }, n.prototype.closestPointXY = function (t, n, i, r) {
19366                        return r < kn(this.getExtent(), t, n) ? r : (this.bt != this.getRevision() && (this.wt = Math.sqrt(ie(this.flatCoordinates, 0, this.gt, this.stride, 0)), this.bt = this.getRevision()), oe(this.flatCoordinates, 0, this.gt, this.stride, this.wt, !1, t, n, i, r))
19367                    }, n.prototype.getCoordinateAtM = function (t, n, i) {
19368                        if (this.layout != Ct && this.layout != Rt || 0 === this.flatCoordinates.length) return null;
19369                        var r = void 0 !== n && n, e = void 0 !== i && i;
19370                        return bj(this.flatCoordinates, 0, this.gt, this.stride, t, r, e)
19371                    }, n.prototype.getCoordinates = function () {
19372                        return be(this.flatCoordinates, 0, this.gt, this.stride)
19373                    }, n.prototype.getEnds = function () {
19374                        return this.gt
19375                    }, n.prototype.getLineString = function (t) {
19376                        return t < 0 || this.gt.length <= t ? null : new xj(this.flatCoordinates.slice(0 === t ? 0 : this.gt[t - 1], this.gt[t]), this.layout)
19377                    }, n.prototype.getLineStrings = function () {
19378                        for (var t = this.flatCoordinates, n = this.gt, i = this.layout, r = [], e = 0, o = 0, s = n.length; o < s; ++o) {
19379                            var a = n[o], u = new xj(t.slice(e, a), i);
19380                            r.push(u), e = a
19381                        }
19382                        return r
19383                    }, n.prototype.getFlatMidpoints = function () {
19384                        for (var t = [], n = this.flatCoordinates, i = 0, r = this.gt, e = this.stride, o = 0, s = r.length; o < s; ++o) {
19385                            var a = r[o];
19386                            b(t, mj(n, i, a, e, .5)), i = a
19387                        }
19388                        return t
19389                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
19390                        var i = [], r = [];
19391                        return i.length = le(this.flatCoordinates, 0, this.gt, this.stride, t, i, 0, r), new n(i, Et, r)
19392                    }, n.prototype.getType = function () {
19393                        return Pt.MULTI_LINE_STRING
19394                    }, n.prototype.intersectsExtent = function (t) {
19395                        return ze(this.flatCoordinates, 0, this.gt, this.stride, t)
19396                    }, n.prototype.setCoordinates = function (t, n) {
19397                        this.setLayout(n, t, 2), this.flatCoordinates || (this.flatCoordinates = []);
19398                        var i = ce(this.flatCoordinates, 0, t, this.stride, this.gt);
19399                        this.flatCoordinates.length = 0 === i.length ? 0 : i[i.length - 1], this.changed()
19400                    }, n
19401                }(Qr);
19402
19403                function kj(t, n, i, r) {
19404                    for (var e = [], o = [1 / 0, 1 / 0, -1 / 0, -1 / 0], s = 0, a = i.length; s < a; ++s) {
19405                        var u = i[s];
19406                        o = Pn(t, n, u[0], r), e.push((o[0] + o[2]) / 2, (o[1] + o[3]) / 2), n = u[u.length - 1]
19407                    }
19408                    return e
19409                }
19410
19411                var Mj = function () {
19412                    var t = function (n, i) {
19413                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19414                            t.__proto__ = n
19415                        } || function (t, n) {
19416                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19417                        })(n, i)
19418                    };
19419                    return function (n, i) {
19420                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19421
19422                        function r() {
19423                            this.constructor = n
19424                        }
19425
19426                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19427                    }
19428                }(), _j = function (t) {
19429                    function n(n, i, r) {
19430                        var e = t.call(this) || this;
19431                        if (e.Zf = [], e.$f = -1, e.Qf = null, e.wt = -1, e.bt = -1, e.St = -1, e.kt = null, !r && !Array.isArray(n[0])) {
19432                            for (var o = e.getLayout(), s = n, a = [], u = [], c = 0, h = s.length; c < h; ++c) {
19433                                var f = s[c];
19434                                0 === c && (o = f.getLayout());
19435                                for (var l = a.length, v = f.getEnds(), d = 0, p = v.length; d < p; ++d) v[d] += l;
19436                                b(a, f.getFlatCoordinates()), u.push(v)
19437                            }
19438                            i = o, n = a, r = u
19439                        }
19440                        return void 0 !== i && r ? (e.setFlatCoordinates(i, n), e.Zf = r) : e.setCoordinates(n, i), e
19441                    }
19442
19443                    return Mj(n, t), n.prototype.appendPolygon = function (t) {
19444                        var n;
19445                        if (this.flatCoordinates) {
19446                            var i = this.flatCoordinates.length;
19447                            b(this.flatCoordinates, t.getFlatCoordinates());
19448                            for (var r = 0, e = (n = t.getEnds().slice()).length; r < e; ++r) n[r] += i
19449                        } else this.flatCoordinates = t.getFlatCoordinates().slice(), n = t.getEnds().slice(), this.Zf.push();
19450                        this.Zf.push(n), this.changed()
19451                    }, n.prototype.clone = function () {
19452                        for (var t = this.Zf.length, i = new Array(t), r = 0; r < t; ++r) i[r] = this.Zf[r].slice();
19453                        var e = new n(this.flatCoordinates.slice(), this.layout, i);
19454                        return e.applyProperties(this), e
19455                    }, n.prototype.closestPointXY = function (t, n, i, r) {
19456                        return r < kn(this.getExtent(), t, n) ? r : (this.bt != this.getRevision() && (this.wt = Math.sqrt(re(this.flatCoordinates, 0, this.Zf, this.stride, 0)), this.bt = this.getRevision()), se(this.getOrientedFlatCoordinates(), 0, this.Zf, this.stride, this.wt, !0, t, n, i, r))
19457                    }, n.prototype.containsXY = function (t, n) {
19458                        return Ce(this.getOrientedFlatCoordinates(), 0, this.Zf, this.stride, t, n)
19459                    }, n.prototype.getArea = function () {
19460                        return Se(this.getOrientedFlatCoordinates(), 0, this.Zf, this.stride)
19461                    }, n.prototype.getCoordinates = function (t) {
19462                        var n;
19463                        return void 0 !== t ? Ve(n = this.getOrientedFlatCoordinates().slice(), 0, this.Zf, this.stride, t) : n = this.flatCoordinates, ge(n, 0, this.Zf, this.stride)
19464                    }, n.prototype.getEndss = function () {
19465                        return this.Zf
19466                    }, n.prototype.getFlatInteriorPoints = function () {
19467                        if (this.$f != this.getRevision()) {
19468                            var t = kj(this.flatCoordinates, 0, this.Zf, this.stride);
19469                            this.Qf = Pe(this.getOrientedFlatCoordinates(), 0, this.Zf, this.stride, t), this.$f = this.getRevision()
19470                        }
19471                        return this.Qf
19472                    }, n.prototype.getInteriorPoints = function () {
19473                        return new yj(this.getFlatInteriorPoints().slice(), Ct)
19474                    }, n.prototype.getOrientedFlatCoordinates = function () {
19475                        if (this.St != this.getRevision()) {
19476                            var t = this.flatCoordinates;
19477                            Be(t, 0, this.Zf, this.stride) ? this.kt = t : (this.kt = t.slice(), this.kt.length = Ve(this.kt, 0, this.Zf, this.stride)), this.St = this.getRevision()
19478                        }
19479                        return this.kt
19480                    }, n.prototype.getSimplifiedGeometryInternal = function (t) {
19481                        var i = [], r = [];
19482                        return i.length = me(this.flatCoordinates, 0, this.Zf, this.stride, Math.sqrt(t), i, 0, r), new n(i, Et, r)
19483                    }, n.prototype.getPolygon = function (t) {
19484                        if (t < 0 || this.Zf.length <= t) return null;
19485                        var n;
19486                        if (0 === t) n = 0; else {
19487                            var i = this.Zf[t - 1];
19488                            n = i[i.length - 1]
19489                        }
19490                        var r = this.Zf[t].slice(), e = r[r.length - 1];
19491                        if (0 !== n) for (var o = 0, s = r.length; o < s; ++o) r[o] -= n;
19492                        return new Ke(this.flatCoordinates.slice(n, e), this.layout, r)
19493                    }, n.prototype.getPolygons = function () {
19494                        for (var t = this.layout, n = this.flatCoordinates, i = this.Zf, r = [], e = 0, o = 0, s = i.length; o < s; ++o) {
19495                            var a = i[o].slice(), u = a[a.length - 1];
19496                            if (0 !== e) for (var c = 
194960, h = a.length; c < h; ++c) a[c] -= e;
19497                            var f = new Ke(n.slice(e, u), t, a);
19498                            r.push(f), e = u
19499                        }
19500                        return r
19501                    }, n.prototype.getType = function () {
19502                        return Pt.MULTI_POLYGON
19503                    }, n.prototype.intersectsExtent = function (t) {
19504                        return Ge(this.getOrientedFlatCoordinates(), 0, this.Zf, this.stride, t)
19505                    }, n.prototype.setCoordinates = function (t, n) {
19506                        this.setLayout(n, t, 3), this.flatCoordinates || (this.flatCoordinates = []);
19507                        var i = he(this.flatCoordinates, 0, t, this.stride, this.Zf);
19508                        if (0 === i.length) this.flatCoordinates.length = 0; else {
19509                            var r = i[i.length - 1];
19510                            this.flatCoordinates.length = 0 === r.length ? 0 : r[r.length - 1]
19511                        }
19512                        this.changed()
19513                    }, n
19514                }(Qr), Oj = [1, 0, 0, 1, 0, 0], Tj = function () {
19515                    function t(t, n, i, r, e) {
19516                        this.styleFunction, this.st, this.V = e, this.tl = t, this.nl = n, this.Qf = null, this.il = null, this.gt = i, this.rl = r
19517                    }
19518
19519                    return t.prototype.get = function (t) {
19520                        return this.rl[t]
19521                    }, t.prototype.getExtent = function () {
19522                        return this.st || (this.st = this.tl === Pt.POINT ? Rn(this.nl) : Pn(this.nl, 0, this.nl.length, 2)), this.st
19523                    }, t.prototype.getFlatInteriorPoint = function () {
19524                        if (!this.Qf) {
19525                            var t = Xn(this.getExtent());
19526                            this.Qf = Re(this.nl, 0, this.gt, 2, t, 0)
19527                        }
19528                        return this.Qf
19529                    }, t.prototype.getFlatInteriorPoints = function () {
19530                        if (!this.Qf) {
19531                            var t = kj(this.nl, 0, this.gt, 2);
19532                            this.Qf = Pe(this.nl, 0, this.gt, 2, t)
19533                        }
19534                        return this.Qf
19535                    }, t.prototype.getFlatMidpoint = function () {
19536                        return this.il || (this.il = mj(this.nl, 0, this.nl.length, 2, .5)), this.il
19537                    }, t.prototype.getFlatMidpoints = function () {
19538                        if (!this.il) {
19539                            this.il = [];
19540                            for (var t = this.nl, n = 0, i = this.gt, r = 0, e = i.length; r < e; ++r) {
19541                                var o = i[r], s = mj(t, n, o, 2, .5);
19542                                b(this.il, s), n = o
19543                            }
19544                        }
19545                        return this.il
19546                    }, t.prototype.getId = function () {
19547                        return this.V
19548                    }, t.prototype.getOrientedFlatCoordinates = function () {
19549                        return this.nl
19550                    }, t.prototype.getGeometry = function () {
19551                        return this
19552                    }, t.prototype.getSimplifiedGeometry = function (t) {
19553                        return this
19554                    }, t.prototype.simplifyTransformed = function (t, n) {
19555                        return this
19556                    }, t.prototype.getProperties = function () {
19557                        return this.rl
19558                    }, t.prototype.getStride = function () {
19559                        return 2
19560                    }, t.prototype.getStyleFunction = function () {
19561                        return this.styleFunction
19562                    }, t.prototype.getType = function () {
19563                        return this.tl
19564                    }, t.prototype.transform = function (t) {
19565                        var n = (t = br(t)).getExtent(), i = t.getWorldExtent();
19566                        if (n && i) {
19567                            var r = Kn(i) / Kn(n);
19568                            an(Oj, i[0], i[3], r, -r, 0, 0, 0), Br(this.nl, 0, this.nl.length, 2, Oj, this.nl)
19569                        }
19570                    }, t.prototype.getEnds = function () {
19571                        return this.gt
19572                    }, t
19573                }();
19574
19575                function Ej(t) {
19576                    var n = t.getType();
19577                    switch (n) {
19578                        case Pt.POINT:
19579                            return new Oe(t.getFlatCoordinates());
19580                        case Pt.MULTI_POINT:
19581                            return new yj(t.getFlatCoordinates(), Et);
19582                        case Pt.LINE_STRING:
19583                            return new xj(t.getFlatCoordinates(), Et);
19584                        case Pt.MULTI_LINE_STRING:
19585                            return new Sj(t.getFlatCoordinates(), Et, t.getEnds());
19586                        case Pt.POLYGON:
19587                            var i = t.getFlatCoordinates(), r = t.getEnds(), e = Xe(i, r);
19588                            return e.length > 1 ? new _j(i, Et, e) : new Ke(i, Et, r);
19589                        default:
19590                            throw new Error("Invalid geometry type:" + n)
19591                    }
19592                }
19593
19594                Tj.prototype.getEndss = Tj.prototype.getEnds, Tj.prototype.getFlatCoordinates = Tj.prototype.getOrientedFlatCoordinates;
19595                var Aj = Tj;
19596                var Cj = function () {
19597                    var t = function (n, i) {
19598                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19599                            t.__proto__ = n
19600                        } || function (t, n) {
19601                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19602                        })(n, i)
19603                    };
19604                    return function (n, i) {
19605                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19606
19607                        function r() {
19608                            this.constructor = n
19609                        }
19610
19611                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19612                    }
19613                }(), Rj = function (t) {
19614                    function n(n) {
19615                        return t.call(this, n) || this
19616                    }
19617
19618                    return Cj(n, t), n.prototype.createRenderer = function () {
19619                        return new oj(this)
19620                    }, n
19621                }(px);
19622
19623                function Pj(t, n, i) {
19624                    for (var r, e, o, s, a, u, c = [], h = t(0), f = t(1), l = n(h), v = n(f), d = [f, h], p = [v, l], y = [1, 0], m = {}, w = 1e5; --w > 0 && y.length > 0;) o = y.pop(), h = d.pop(), l = p.pop(), (u = o.toString()) in m || (c.push(l[0], l[1]), m[u] = !0), s = y.pop(), f = d.pop(), v = p.pop(), fi((e = n(r = t(a = (o + s) / 2)))[0], e[1], l[0], l[1], v[0], v[1]) < i ? (c.push(v[0], v[1]), m[u = s.toString()] = !0) : (y.push(s, a, a, o), p.push(v, e, e, l), d.push(f, r, r, h));
19625                    return c
19626                }
19627
19628                function Ij(t, n, i, r, e) {
19629                    return Pj((function (r) {
19630                        return [t, n + (i - n) * r]
19631                    }), Er(br("EPSG:4326"), r), e)
19632                }
19633
19634                function Nj(t, n, i, r, e) {
19635                    return Pj((function (r) {
19636                        return [n + (i - n) * r, t]
19637                    }), Er(br("EPSG:4326"), r), e)
19638                }
19639
19640                var zj = function () {
19641                        var t = function (n, i) {
19642                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19643                                t.__proto__ = n
19644                            } || function (t, n) {
19645                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19646                            })(n, i)
19647                        };
19648                        return function (n, i) {
19649                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19650
19651                            function r() {
19652                                this.constructor = n
19653                            }
19654
19655                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19656                        }
19657                    }
19657(), Fj = new qv({color: "rgba(0,0,0,0.2)"}),
19658                    Lj = [90, 45, 30, 20, 10, 5, 2, 1, .5, .2, .1, .05, .01, .005, .002, .001], Gj = function (t) {
19659                        function n(n) {
19660                            var i = this, r = n || {},
19661                                e = E({updateWhileAnimating: !0, updateWhileInteracting: !0, renderBuffer: 0}, r);
19662                            return delete e.maxLines, delete e.strokeStyle, delete e.targetSize, delete e.showLabels, delete e.lonLabelFormatter, delete e.latLabelFormatter, delete e.lonLabelPosition, delete e.latLabelPosition, delete e.lonLabelStyle, delete e.latLabelStyle, delete e.intervals, (i = t.call(this, e) || this).di = null, i.el = 1 / 0, i.sl = 1 / 0, i.al = -1 / 0, i.ul = -1 / 0, i.cl = 1 / 0, i.hl = 1 / 0, i.fl = -1 / 0, i.ll = -1 / 0, i.vl = void 0 !== r.targetSize ? r.targetSize : 100, i.dl = void 0 !== r.maxLines ? r.maxLines : 100, i.pl = [], i.yl = [], i.ml = void 0 !== r.strokeStyle ? r.strokeStyle : Fj, i.wl = void 0, i.bl = void 0, i.gl = null, i.xl = null, i.jl = null, i.Sl = null, i.kl = null, i.Ml = null, i._l = null, r.showLabels && (i.Ol = null == r.lonLabelFormatter ? Zi.bind(i, "EW") : r.lonLabelFormatter, i.Tl = null == r.latLabelFormatter ? Zi.bind(i, "NS") : r.latLabelFormatter, i.El = null == r.lonLabelPosition ? 0 : r.lonLabelPosition, i.Al = null == r.latLabelPosition ? 1 : r.latLabelPosition, i.Cl = new Yv({
19663                                text: void 0 !== r.lonLabelStyle ? r.lonLabelStyle.clone() : new Qv({
19664                                    font: "12px Calibri,sans-serif",
19665                                    textBaseline: "bottom",
19666                                    fill: new Tv({color: "rgba(0,0,0,1)"}),
19667                                    stroke: new qv({color: "rgba(255,255,255,1)", width: 3})
19668                                })
19669                            }), i.Rl = function (t) {
19670                                var n = t.get("graticule_label");
19671                                return this.Cl.getText().setText(n), this.Cl
19672                            }.bind(i), i.Pl = new Yv({
19673                                text: void 0 !== r.latLabelStyle ? r.latLabelStyle.clone() : new Qv({
19674                                    font: "12px Calibri,sans-serif",
19675                                    textAlign: "right",
19676                                    fill: new Tv({color: "rgba(0,0,0,1)"}),
19677                                    stroke: new qv({color: "rgba(255,255,255,1)", width: 3})
19678                                })
19679                            }), i.Il = function (t) {
19680                                var n = t.get("graticule_label");
19681                                return this.Pl.getText().setText(n), this.Pl
19682                            }.bind(i), i.Ml = [], i._l = [], i.addEventListener(cs, i.Nl.bind(i))), i.zl = void 0 !== r.intervals ? r.intervals : Lj, i.setSource(new Id({
19683                                loader: i.loaderFunction.bind(i),
19684                                strategy: i.strategyFunction.bind(i),
19685                                features: new ft,
19686                                overlaps: !1,
19687                                useSpatialIndex: !1,
19688                                wrapX: r.wrapX
19689                            })), i.Fl = [], i.Ll = new Yv({stroke: i.ml}), i.Gl = null, i.Nc = null, i.Pf = null, i.setRenderOrder(null), i
19690                        }
19691
19692                        return zj(n, t), n.prototype.strategyFunction = function (t, n) {
19693                            var i = t.slice();
19694                            return this.di && this.getSource().getWrapX() && si(i, this.di), this.Gl && (Nn(this.Gl, i, n) ? i = this.Gl.slice() : this.getSource().removeLoadedExtent(this.Gl)), [i]
19695                        }, n.prototype.loaderFunction = function (t, n, i) {
19696                            this.Gl = t;
19697                            var r = this.getSource(), e = Yn(this.getExtent() || [-1 / 0, -1 / 0, 1 / 0, 1 / 0], t);
19698                            if (!(this.Nc && In(this.Nc, e) && this.Pf === n || (this.Nc = e, this.Pf = n, ni(e)))) {
19699                                var o = Xn(e), s = n * n / 4;
19700                                (!this.di || !Or(this.di, i)) && this.Dl(i), this.Ul(e, o, n, s);
19701                                var a, u = this.pl.length + this.yl.length;
19702                                for (this.Ml && (u += this.pl.length), this._l && (u += this.yl.length); u > this.Fl.length;) a = new Tt, this.Fl.push(a);
19703                                var c = r.getFeaturesCollection();
19704                                c.clear();
19705                                var h, f, l = 0;
19706                                for (h = 0, f = this.pl.length; h < f; ++h) (a = this.Fl[l++]).setGeometry(this.pl[h]), a.setStyle(this.Ll), c.push(a);
19707                                for (h = 0, f = this.yl.length; h < f; ++h) (a = this.Fl[l++]).setGeometry(this.yl[h]), a.setStyle(this.Ll), c.push(a)
19708                            }
19709                        }, n.prototype.ql = function (t, n, i, r, e, o) {
19710                            var s = this.Bl(t, n, i, r, o);
19711                            if (ti(s.getExtent(), e)) {
19712                                if (this.Ml) {
19713                                    var a = this.Ol(t);
19714                                    o in this.Ml ? this.Ml[o].text = a : this.Ml[o] = {geom: new Oe([]), text: a}
19715                                }
19716                                this.pl[o++] = s
19717                            }
19718                            return o
19719                        }, n.prototype.Wl = function (t, n, i, r, e, o) {
19720                            var s = this.Vl(t, n, i, r, o);
19721                            if (ti(s.getExtent(), e)) {
19722                                if (this._l) {
19723                                    var a = this.Tl(t);
19724                                    o in this._l ? this._l[o].text = a : this._l[o] = {geom: new Oe([]), text: a}
19725                                }
19726                                this.yl[o++] = s
19727                            }
19728                            return o
19729                        }, n.prototype.Nl = function (t) {
19730                            var n = t.frameState.viewState.rotation, i = t.frameState.viewState.resolution,
19731                                r = t.frameState.size, e = t.frameState.extent, o = Xn(e), s = e;
19732                            if (n) {
19733                                var a = r[0] * i, u = r[1] * i;
19734                                s = [o[0] - a / 2, o[1] - u / 2, o[0] + a / 2, o[1] + u / 2]
19735                            }
19736                            var c = 0, h = 0, f = this.Al < .5, l = this.di.getExtent(), v = Qn(l);
vendor: 1,842 bytes, lines 19737-19755
19737                            this.getSource().getWrapX() && this.di.canWrapX() && !_n(l, e) && (c = Math.floor((e[0] - l[0]) / v), h = Math.ceil((e[2] - l[2]) / v), f = f !== Math.abs(n) > Math.PI / 2);
19738                            for (var d = Nh(t), p = c; p <= h; ++p) {
19739                                var y = this.pl.length + this.yl.length, m = void 0, w = void 0, b = void 0, g = void 0;
19740                                if (this.Ml) for (w = 0, b = this.Ml.length; w < b; ++w) {
19741                                    var x = this.pl[w];
19742                                    if (n || 0 !== p) (j = x.clone()).translate(p * v, 0), j.rotate(-n, o), (g = this.Xl(j, s, w)).rotate(n, o); else g = this.Xl(x, e, w);
19743                                    (m = this.Fl[y++]).setGeometry(g), m.set("graticule_label", this.Ml[w].text), d.drawFeature(m, this.Rl(m))
19744                                }
19745                                if (this._l && (p === c && f || p === h && !f)) for (w = 0, b = this.yl.length; w < b; ++w) {
19746                                    var j;
19747                                    x = this.yl[w];
19748                                    if (n || 0 !== p) (j = x.clone()).translate(p * v, 0), j.rotate(-n, o), (g = this.Hl(j, s, w)).rotate(n, o); else g = this.Hl(x, e, w);
19749                                    (m = this.Fl[y++]).setGeometry(g), m.set("graticule_label", this._l[w].text), d.drawFeature(m, this.Il(m))
19750                                }
19751                            }
19752                        }, n.prototype.Ul = function (t, n, i, r) {
19753                            var e = this.Jl(i);
19754                            if (-1 == e) return this.pl.length = 0, this.yl.length = 0, this.Ml && (this.Ml.length = 0), void (this._l && (this._l.length = 0));
19755                            var o = !1, s = this.di.getExtent(), a = Qn(s);
19756                            this.getSource().getWrapX() && this.di.canWrapX() && !_n(s, t) && (Qn(t) >= a ? (t[0] = s[0], t[2] = s[2]) : o = !0);
19757                            var u = [ui(n[0], this.fl, this.cl), ui(n[1], this.ll, this.hl)], c = this.bl(u);
19758                            isNaN(c[1]) && (c[1] = Math.abs(this.el) >= Math.abs(this.al) ? this.el : this.al);
19759                            var h, f, l, v, d = ui(c[0], this.ul, this.sl), p = ui(c[1], this.al, this.el), y = this.dl,
19760                                m = t;
19761                            o || (m = [ui(t[0], this.fl, this.cl), ui(t[1], this.ll, this.hl), ui(t[2], this.fl, this.cl), ui(t[3], this.ll, this.hl)]);
19762                            var w = oi(m, this.bl, void 0, 8), b = w[3], g = w[2], x = w[1], j = w[0];
19763                            if (o || (Mn(m, this.xl) && (j = this.ul, x = this.al), Mn(m, this.jl) && (g = this.sl, x = this.al), Mn(m, this.Sl) && (j = this.ul, b = this.el), Mn(m, this.kl) && (g = this.sl, b = this.el), b = ui(b, p, this.el), g = ui(g, d, this.sl), x = ui(x, this.al, p), j = ui(j, this.ul, d)), v = ui(d = Math.floor(d / e) * e, this.ul, this.sl), f = this.ql(v, x, b, r, t, 0), h = 0, o) for (; (v -= e) >= j && h++ < y;) f = this.ql(v, x, b, r, t, f); else for (; v != this.ul && h++ < y;) v = Math.max(v - e, this.ul), f = this.ql(v, x, b, r, t, f);
19764                            if (v = ui(d, this.ul, this.sl), h = 0, o) for (; (v += e) <= g && h++ < y;) f = this.ql(v, x, b, r, t, f); else for (; v != this.sl && h++ < y;) v = Math.min(v + e, this.sl), f = this.ql(v, x, b, r, t, f);
19765                            for (this.pl.length = f, this.Ml && (this.Ml.length = f), l = ui(p = Math.floor(p / e) * e, this.al, this.el), f = this.Wl(l, j, g, r, t, 0), h = 0; l != this.al && h++ < y;) l = Math.max(l - e, this.al), f = this.Wl(l, j, g, r, t, f);
19766                            for (l = ui(p, this.al, this.el), h = 0; l != this.el && h++ < y;) l = Math.min(l + e, this.el), f = this.Wl(l, j, g, r, t, f);
19767                            this.yl.length = f, this._l && (this._l.length = f)
19768                        }, n.prototype.Jl = function (t) {
19769                            for (var n = this.gl[0], i = this.gl[1], r = -1, e = Math.pow(this.vl * t, 2), o = [], s = [], a = 0, u = this.zl.length; a < u; ++a) {
19770                                var c = ui(this.zl[a] / 2, 0, 90), h = ui(i, -90 + c, 90 - c);
19771                                if (o[0] = n - c, o[1] = h - c, s[0] = n + c, s[1] = h + c, this.wl(o, o), this.wl(s, s), Math.pow(s[0] - o[0], 2) + Math.pow(s[1] - o[1], 2) <= e) break;
19772                                r = this.zl[a]
19773                            }
19774                            return r
19775                        }, n.prototype.Bl = function (t, n, i, r, e) {
19776                            var o = Ij(t, n, i, this.di, r), s = this.pl[e];
19777                            return s ? (s.setFlatCoordinates(Et, o), s.changed()) : (s = new xj(o, Et), this.pl[e] = s), s
19778                        }, n.prototype.Xl = function (t, n, i) {
19779                            var r = t.getFlatCoordinates(), e = 1, o = r.length - 1;
19780                            r[e] > r[o] && (e = o, o = 1);
19781                            var s = Math.max(n[1], r[e]), a = Math.min(n[3], r[o]),
19782                                u = ui(n[1] + Math.abs(n[1] - n[3]) * this.El, s, a),
19783                                c = [r[e - 1] + (r[o - 1] - r[e - 1]) * (u - r[e]) / (r[o] - r[e]), u], h = this.Ml[i].geom;
19784                            return h.setCoordinates(c), h
19785                        }, n.prototype.getMeridians = function () {
19786                            return this.pl
19787                        }, n.prototype.Vl = function (t, n, i, r, e) {
19788                            var o = Nj(t, n, i, this.di, r), s = this.yl[e];
19789                            return s ? (s.setFlatCoordinates(Et, o), s.changed()) : s = new xj(o, Et), s
19790                        }, n.prototype.Hl = function (t, n, i) {
19791                            var r = t.getFlatCoordinates(), e = 0, o = r.length - 2;
19792                            r[e] > r[o] && (e = o, o = 0);
19793                            var s = Math.max(n[0], r[e]), a = Math.min(n[2], r[o]),
19794                                u = ui(n[0] + Math.abs(n[0] - n[2]) * this.Al, s, a),
19795                                c = [u, r[e + 1] + (r[o + 1] - r[e + 1]) * (u - r[e]) / (r[o] - r[e])], h = this._l[i].geom;
19796                            return h.setCoordinates(c), h
19797                        }, n.prototype.getParallels = function () {
19798                            return this.yl
19799                        }, n.prototype.Dl = function (t) {
19800                            var n = br("EPSG:4326"), i = t.getWorldExtent();
19801                            this.el = i[3], this.sl = i[2], this.al = i[1], this.ul = i[0];
19802                            var r = Er(t, n);
19803                            if (this.ul < this.sl) this.bl = r; else {
19804                                var e = this.ul + this.sl / 2;
19805                                this.sl += 360, this.bl = function (t, n, i) {
19806                                    for (var o = i || 2, s = r(t, n, o), a = 0, u = s.length; a < u; a += o) s[a] < e && (s[a] += 360);
19807                                    return s
19808                                }
19809                            }
19810                            this.wl = Er(n, t);
19811                            var o = oi([this.ul, this.al, this.sl, this.el], this.wl, void 0, 8);
19812                            this.fl = o[0], this.cl = o[2], this.ll = o[1], this.hl = o[3], this.xl = this.wl([this.ul, this.al]), this.jl = this.wl([this.sl, this.al]), this.Sl = this.wl([this.ul, this.el]), this.kl = this.wl([this.sl, this.el]), this.gl = this.bl(Xn(t.getExtent())), isNaN(this.gl[1]) && (this.gl[1] = Math.abs(this.el) >= Math.abs(this.al) ? this.el : this.al), this.di = t
19813                        }, n
19814                    }(Rj), Dj = function () {
19815                        var t = function (n, i) {
19816                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19817                                t.__proto__ = n
19818                            } || function (t, n) {
19819                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19820                            })(n, i)
19821                        };
19822                        return function (n, i) {
19823                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19824
19825                            function r() {
19826                                this.constructor = n
19827                            }
19828
19829                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19830                        }
19831                    }(), Uj = "blur", qj = "gradient", Bj = "radius", Wj = ["#00f", "#0ff", "#0f0", "#ff0", "#f00"];
19832                var Vj = function (t) {
19833                    function n(n) {
19834                        var i = this, r = n || {}, e = E({}, r);
19835                        delete e.gradient, delete e.radius, delete e.blur, delete e.weight, (i = t.call(this, e) || this).Kl = null, i.addChangeListener(qj, i.Yl), i.setGradient(r.gradient ? r.gradient : Wj), i.setBlur(void 0 !== r.blur ? r.blur : 15), i.setRadius(void 0 !== r.radiu
19835s ? r.radius : 8);
19836                        var o = r.weight ? r.weight : "weight";
19837                        return i.Zl = "string" == typeof o ? function (t) {
19838                            return t.get(o)
19839                        } : o, i.setRenderOrder(null), i
19840                    }
19841
19842                    return Dj(n, t), n.prototype.getBlur = function () {
19843                        return this.get(Uj)
19844                    }, n.prototype.getGradient = function () {
19845                        return this.get(qj)
19846                    }, n.prototype.getRadius = function () {
19847                        return this.get(Bj)
19848                    }, n.prototype.Yl = function () {
19849                        this.Kl = function (t) {
19850                            for (var n = 1, i = 256, r = _o(n, i), e = r.createLinearGradient(0, 0, n, i), o = 1 / (t.length - 1), s = 0, a = t.length; s < a; ++s) e.addColorStop(s * o, t[s]);
19851                            return r.fillStyle = e, r.fillRect(0, 0, n, i), r.canvas
19852                        }(this.getGradient())
19853                    }, n.prototype.setBlur = function (t) {
19854                        this.set(Uj, t)
19855                    }, n.prototype.setGradient = function (t) {
19856                        this.set(qj, t)
19857                    }, n.prototype.setRadius = function (t) {
19858                        this.set(Bj, t)
19859                    }, n.prototype.createRenderer = function () {
19860                        return new mx(this, {
19861                            className: this.getClassName(),
19862                            attributes: [{
19863                                name: "weight", callback: function (t) {
19864                                    var n = this.Zl(t);
19865                                    return void 0 !== n ? ui(n, 0, 1) : 1
19866                                }.bind(this)
19867                            }],
19868                            vertexShader: "\n        precision mediump float;\n        uniform mat4 u_projectionMatrix;\n        uniform mat4 u_offsetScaleMatrix;\n        uniform float u_size;\n        attribute vec2 a_position;\n        attribute float a_index;\n        attribute float a_weight;\n\n        varying vec2 v_texCoord;\n        varying float v_weight;\n\n        void main(void) {\n          mat4 offsetMatrix = u_offsetScaleMatrix;\n          float offsetX = a_index == 0.0 || a_index == 3.0 ? -u_size / 2.0 : u_size / 2.0;\n          float offsetY = a_index == 0.0 || a_index == 1.0 ? -u_size / 2.0 : u_size / 2.0;\n          vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);\n          gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n          float u = a_index == 0.0 || a_index == 3.0 ? 0.0 : 1.0;\n          float v = a_index == 0.0 || a_index == 1.0 ? 0.0 : 1.0;\n          v_texCoord = vec2(u, v);\n          v_weight = a_weight;\n        }",
19869                            fragmentShader: "\n        precision mediump float;\n        uniform float u_blurSlope;\n\n        varying vec2 v_texCoord;\n        varying float v_weight;\n\n        void main(void) {\n          vec2 texCoord = v_texCoord * 2.0 - vec2(1.0, 1.0);\n          float sqRadius = texCoord.x * texCoord.x + texCoord.y * texCoord.y;\n          float value = (1.0 - sqrt(sqRadius)) * u_blurSlope;\n          float alpha = smoothstep(0.0, 1.0, value) * v_weight;
19869\n          gl_FragColor = vec4(alpha, alpha, alpha, alpha);\n        }",
19870                            hitVertexShader: "\n        precision mediump float;\n        uniform mat4 u_projectionMatrix;\n        uniform mat4 u_offsetScaleMatrix;\n        uniform float u_size;\n        attribute vec2 a_position;\n        attribute float a_index;\n        attribute float a_weight;\n        attribute vec4 a_hitColor;\n\n        varying vec2 v_texCoord;\n        varying float v_weight;\n        varying vec4 v_hitColor;\n\n        void main(void) {\n          mat4 offsetMatrix = u_offsetScaleMatrix;\n          float offsetX = a_index == 0.0 || a_index == 3.0 ? -u_size / 2.0 : u_size / 2.0;\n          float offsetY = a_index == 0.0 || a_index == 1.0 ? -u_size / 2.0 : u_size / 2.0;\n          vec4 offsets = offsetMatrix * vec4(offsetX, offsetY, 0.0, 0.0);\n          gl_Position = u_projectionMatrix * vec4(a_position, 0.0, 1.0) + offsets;\n          float u = a_index == 0.0 || a_index == 3.0 ? 0.0 : 1.0;\n          float v = a_index == 0.0 || a_index == 1.0 ? 0.0 : 1.0;\n          v_texCoord = vec2(u, v);\n          v_hitColor = a_hitColor;\n          v_weight = a_weight;\n        }",
19871                            hitFragmentShader: "\n        precision mediump float;\n        uniform float u_blurSlope;\n\n        varying vec2 v_texCoord;\n        varying float v_weight;\n        varying vec4 v_hitColor;\n\n        void main(void) {\n          vec2 texCoord = v_texCoord * 2.0 - vec2(1.0, 1.0);\n          float sqRadius = texCoord.x * texCoord.x + texCoord.y * texCoord.y;\n          float value = (1.0 - sqrt(sqRadius)) * u_blurSlope;\n          float alpha = smoothstep(0.0, 1.0, value) * v_weight;\n          if (alpha < 0.05) {\n            discard;\n          }\n\n          gl_FragColor = v_hitColor;\n        }",
19872                            uniforms: {
19873                                u_size: function () {
19874                                    return 2 * (this.get(Bj) + this.get(Uj))
19875                                }.bind(this), u_blurSlope: function () {
19876                                    return this.get(Bj) / Math.max(1, this.get(Uj))
19877                                }.bind(this)
19878                            },
19879                            postProcesses: [{
19880                                fragmentShader: "\n            precision mediump float;\n\n            uniform sampler2D u_image;\n            uniform sampler2D u_gradientTexture;\n            uniform float u_opacity;\n\n            varying vec2 v_texCoord;\n\n            void main() {\n              vec4 color = texture2D(u_image, v_texCoord);\n              gl_FragColor.a = color.a * u_opacity;\n              gl_FragColor.rgb = texture2D(u_gradientTexture, vec2(0.5, color.a)).rgb;\n              gl_FragColor.rgb *= gl_FragColor.a;\n            }",
19881                                uniforms: {
19882                                    u_gradientTexture: function () {
19883                                        return this.Kl
19884                                    }.bind(this), u_opacity: function () {
19885                                        return this.getOpacity()
19886                                    }.bind(this)
19887                                }
19888                            }]
19889                        })
19890                    }, n.prototype.renderDeclutter = function () {
19891                    }, n
19892                }(px), Xj = function () {
19893                    function t() {
19894                        this.dataProjection = void 0, this.defaultFeatureProjection = void 0, this.supportedMediaTypes = null
19895                    }
19896
19897                    return t.prototype.getReadOptions = function (t, n) {
19898                        var i;
19899                        if (n) {
19900                            var r = n.dataProjection ? br(n.dataProjection) : this.readProjection(t);
19901                            n.extent && r && r.getUnits() === Gt.TILE_PIXELS && (r = br(r)).setWorldExtent(n.extent), i = {
19902                                dataProjection: r,
19903                                featureProjection: n.featureProjection
19904                            }
19905                        }
19906                        return this.adaptOptions(i)
19907                    }, t.prototype.adaptOptions = function (t) {
19908                        return E({
19909                            dataProjection: this.dataProjection,
19910                            featureProjection: this.defaultFeatureProjection
19911                        }, t)
19912                    }, t.prototype.getType = function () {
19913                        return r()
19914                    }, t.prototype.readFeature = function (t, n) {
19915                        return r()
19916                    }, t.prototype.readFeatures = function (t, n) {
19917                        return r()
19918                    }, t.prototype.readGeometry = function (t, n) {
19919                        return r()
19920                    }, t.prototype.readProjection = function (t) {
19921                        return r()
19922                    }, t.prototype.writeFeature = function (t, n) {
19923                        return r()
19924                    }, t.prototype.writeFeatures = function (t, n) {
19925                        return r()
19926                    }, t.prototype.writeGeometry = function (t, n) {
19927                        return r()
19928                    }, t
19929                }();
19930
19931                function Hj(t, n, i) {
19932                    var r, e = i ? br(i.featureProjection) : null, o = i ? br(i.dataProjection) : null;
19933                    if (r = e && o && !Or(e, o) ? (n ? t.clone() : t).transform(n ? e : o, n ? o : e) : t, n && i && void 0 !== i.decimals) {
19934                        var s = Math.pow(10, i.decimals);
19935                        r === t && (r = t.clone()), r.applyTransform((function (t) {
19936                            for (var n = 0, i = t.length; n < i; ++n) t[n] = Math.round(t[n] * s) / s;
19937                            return t
19938                        }))
19939                    }
19940                    return r
19941                }
19942
19943                function Jj(t, n) {
19944                    var i = n ? br(n.featureProjection) : null, r = n ? br(n.dataProjection) : null;
19945                    return i && r && !Or(i, r) ? Cr(t, r, i) : t
19946                }
19947
19948                var Kj = i(98), Yj = function () {
19949                    var t = function (n, i) {
19950                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
19951                            t.__proto__ = n
19952                        } || function (t, n) {
19953                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
19954                        })(n, i)
19955                    };
19956                    return function (n, i) {
19957                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
19958
19959                        function r() {
19960                            this.constructor = n
19961                        }
19962
19963                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
19964                    }
19965                }();
19966
19967                function Zj(t, n, i) {
19968                    if (3 === t) {
19969                        var r = {keys: [], values: [], features: []}, e = i.readVarint() + i.pos;
19970                        i.readFields($j, r, e), r.length = r.features.length, r.length && (n[r.name] = r)
19971                    }
19972                }
19973
19974                function $j(t, n, i) {
19975                    if (15 === t) n.version = i.readVarint(); else if (1 === t) n.name = i.readString(); else if (5 === t) n.extent = i.readVarint(); else if (2 === t) n.features.push(i.pos); else if (3 === t) n.keys.push(i.readString()); else if (4 === t) {
19976                        for (var r = null, e = i.readVarint() + i.pos; i.pos < e;) r = 1 === (t = i.readVarint() >> 3) ? i.readString() : 2 === t ? i.readFloat() : 3 === t ? i.readDouble() : 4 === t ? i.readVarint64() : 5 === t ? i.readVarint() : 6 === t ? i.readSVarint() : 7 === t ? i.readBoolean() : null;
19977                        n.values.push(r)
19978                    }
19979                }
19980
19981                function Qj(t, n, i) {
19982                    if (1 == t) n.id = i.readVarint(); else if (2 == t) for (var r = i.readVarint() + i.pos; i.pos < r;) {
19983                        var e = n.layer.keys[i.readVarint()], o = n.layer.values[i.readVarint()];
19984                        n.properties[e] = o
19985                    } else 3 == t ? n.type = i.readVarint() : 4 == t && (n.geometry = i.pos)
19986                }
19987
19988                function tS(t, n, i) {
19989                    t.pos = n.features[i];
19990                    var r = t.readVarint() + t.pos, e = {layer: n, type: 0, properties: {}};
19991                    return t.readFields(Qj, e, r), e
19992                }
19993
19994                var nS = function (t) {
19995                    function n(n) {
19996                        var i = t.call(this) || this, r = n || {};
19997                        return i.dataProjection = new ai({
19998                            code: "",
19999                            units: Gt.TILE_PIXELS
20000                        }), i.$l = r.featureClass ? r.featureClass : Aj, i.H = r.geometryName, i.Ql = r.layerName ? r.layerName : "layer", i.Uc = r.layers ? r.layers : null, i.tv = r.idProperty, i.supportedMediaTypes = ["application/vnd.mapbox-vector-tile", "application/x-protobuf"], i
20001                    }
20002
20003                    return Yj(n, t), n.prototype.nv = function (t, n, i, r) {
20004                        t.pos = n.geometry;
20005                        for (var e = t.readVarint() + t.pos, o = 1, s = 0, a = 0, u = 0, c = 0, h = 0; t.pos < e;) {
20006                            if (!s) {
20007                                var f = t.readVarint();
20008                                o = 7 & f, s = f >> 3
20009                            }
20010                            s--, 1 === o || 2 === o ? (a += t.readSVarint(), u += t.readSVarint(), 1 === o && c > h && (r.push(c), h = c), i.push(a, u), c += 2) : 7 === o ? c > h && (i.push(i[h], i[h + 1]), c += 2) : Mt(!1, 59)
20011                        }
20012                        c > h && (r.push(c), h = c)
20013                    }, n.prototype.iv = function (t, n, i) {
20014                        var r, e = n.type;
20015                        if (0 === e) return null;
20016                        var o, s = n.properties;
20017                        this.tv ? (o = s[this.tv], delete s[this.tv]) : o = n.id, s[this.Ql] = n.layer.name;
20018                        var a = [], u = [];
20019                        this.nv(t, n, a, u);
20020                        var c = function (t, n) {
20021                            var i;
20022                            1 === t ? i = 1 === n ? Pt.POINT : Pt.MULTI_POINT : 2 === t ? i = 1 === n ? Pt.LINE_STRING : Pt.MULTI_LINE_STRING : 3 === t && (i = Pt.POLYGON);
20023                            return i
20024                        }(e, u.length);
20025                        if (this.$l === Aj) (r = new this.$l(c, a, u, s, o)).transform(i.dataProjection); else {
20026                            var h = void 0;
20027                            if (c == Pt.POLYGON) {
20028                                var f = Xe(a, u);
20029                                h = f.length > 1 ? new _j(a, Et, f) : new Ke(a, Et, u)
20030                            } else h = c === Pt.POINT ? new Oe(a, Et) : c === Pt.LINE_STRING ? new xj(a, Et) : c === Pt.POLYGON ? new Ke(a, Et, u) : c === Pt.MULTI_POINT ? new yj(a, Et) : c === Pt.MULTI_LINE_STRING ? new Sj(a, Et, u) : null;
20031                            r = new (0, this.$l), this.H && r.setGeometryName(this.H);
20032                            var l = Hj(h, !1, i);
20033                            r.setGeometry(l), void 0 !== o && r.setId(o), r.setProperties(s, !0)
20034                        }
20035                        return r
20036                    }, n.prototype.getType = function () {
20037                        return oh
20038                    }, n.prototype.readFeatures = function (t, n) {
20039                        var i = this.Uc, r = this.adaptOptions(n), e = br(r.dataProjection);
20040                        e.setWorldExtent(r.extent), r.dataProjection = e;
20041                        var o = new Kj(t), s = o.readFields(Zj, {}), a = [];
20042                        for (var u in s) if (!i || -1 != i.indexOf(u)) {
20043                            var c = s[u], h = c ? [0, 0, c.extent, c.extent] : null;
20044                            e.setExtent(h);
20045                            for (var f = 0, l = c.length; f < l; ++f) {
20046                                var v = tS(o, c, f), d = this.iv(o, v, r);
20047                                null !== d && a.push(d)
20048                            }
20049                        }
20050                        return a
20051                    }, n.prototype.readProjection = function (t) {
20052                        return this.dataProjection
20053                    }, n.prototype.setLayers = function (t) {
20054                        this.Uc = t
20055                    }, n
20056                }(Xj), iS = function () {
20057                    var t = function (n, i) {
20058                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
20059                            t.__proto__ = n
20060                        } || function (t, n) {
20061                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
20062                        })(n, i)
20063                    };
20064                    return function (n, i) {
20065                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
20066
20067                        function r() {
20068                            this.constructor = n
20069                        }
20070
20071                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
20072                    }
20073                }(), rS = function (t) {
20074                    function n(n) {
20075                        var i = this, r = n || {}, e = E({}, r);
20076                        delete e.preload, delete e.useInterimTilesOnError, (i = t.call(this, e) || this).on, i.once, i.un, r.renderMode === uj && (console.warn('renderMode: "image" is deprecated. Option ignored.'), r.renderMode = void 0);
20077                        var o = r.renderMode || cj;
20078                        return Mt(o == cj || o == hj, 28), i.rv = o, i.setPreload(r.preload ? r.preload : 0), i.setUseInterimTilesOnError(void 0 === r.useInterimTilesOnError || r.useInterimTilesOnError), i.getBackgroun
20078d, i.setBackground, i
20079                    }
20080
20081                    return iS(n, t), n.prototype.createRenderer = function () {
20082                        return new dj(this)
20083                    }, n.prototype.getFeatures = function (n) {
20084                        return t.prototype.getFeatures.call(this, n)
20085                    }, n.prototype.getRenderMode = function () {
20086                        return this.rv
20087                    }, n.prototype.getPreload = function () {
20088                        return this.get(Sg)
20089                    }, n.prototype.getUseInterimTilesOnError = function () {
20090                        return this.get(kg)
20091                    }, n.prototype.setPreload = function (t) {
20092                        this.set(Sg, t)
20093                    }, n.prototype.setUseInterimTilesOnError = function (t) {
20094                        this.set(kg, t)
20095                    }, n
20096                }(px), eS = function () {
20097                    var t = function (n, i) {
20098                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
20099                            t.__proto__ = n
20100                        } || function (t, n) {
20101                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
20102                        })(n, i)
20103                    };
20104                    return function (n, i) {
20105                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
20106
20107                        function r() {
20108                            this.constructor = n
20109                        }
20110
20111                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
20112                    }
20113                }();
20114
20115                function oS(t) {
20116                    for (var n = [], i = 0, r = t.length; i < r; ++i) n.push(t[i].clone());
20117                    return n
20118                }
20119
20120                var sS = function (t) {
20121                    function n(n) {
20122                        var i = t.call(this) || this;
20123                        return i.ev = n || null, i.ov = [], i.sv(), i
20124                    }
20125
20126                    return eS(n, t), n.prototype.av = function () {
20127                        this.ov.forEach($), this.ov.length = 0
20128                    }, n.prototype.sv = function () {
20129                        if (this.ev) for (var t = 0, n = this.ev.length; t < n; ++t) this.ov.push(Y(this.ev[t], N, this.changed, this))
20130                    }, n.prototype.clone = function () {
20131                        var t = new n(null);
20132                        return t.setGeometries(this.ev), t.applyProperties(this), t
20133                    }, n.prototype.closestPointXY = function (t, n, i, r) {
20134                        if (r < kn(this.getExtent(), t, n)) return r;
20135                        for (var e = this.ev, o = 0, s = e.length; o < s; ++o) r = e[o].closestPointXY(t, n, i, r);
20136                        return r
20137                    }, n.prototype.containsXY = function (t, n) {
20138                        for (var i = this.ev, r = 0, e = i.length; r < e; ++r) if (i[r].containsXY(t, n)) return !0;
20139                        return !1
20140                    }, n.prototype.computeExtent = function (t) {
20141                        Cn(t);
20142                        for (var n = this.ev, i = 0, r = n.length; i < r; ++i) zn(t, n[i].getExtent());
20143                        return t
20144                    }, n.prototype.getGeometries = function () {
20145                        return oS(this.ev)
20146                    }, n.prototype.getGeometriesArray = function () {
20147                        return this.ev
20148                    }, n.prototype.getGeometriesArrayRecursive = function () {
20149                        for (var t = [], n = this.ev, i = 0, r = n.length; i < r; ++i) n[i].getType() === this.getType() ? t = t.concat(n[i].getGeometriesArrayRecursive()) : t.push(n[i]);
20150                        return t
20151                    }, n.prototype.getSimplifiedGeometry = function (t) {
20152                        if (this.simplifiedGeometryRevision !== this.getRevision() && (this.simplifiedGeometryMaxMinSquaredTolerance = 0, this.simplifiedGeometryRevision = this.getRevision()), t 
20152< 0 || 0 !== this.simplifiedGeometryMaxMinSquaredTolerance && t < this.simplifiedGeometryMaxMinSquaredTolerance) return this;
20153                        for (var i = [], r = this.ev, e = !1, o = 0, s = r.length; o < s; ++o) {
20154                            var a = r[o], u = a.getSimplifiedGeometry(t);
20155                            i.push(u), u !== a && (e = !0)
20156                        }
20157                        if (e) {
20158                            var c = new n(null);
20159                            return c.setGeometriesArray(i), c
20160                        }
20161                        return this.simplifiedGeometryMaxMinSquaredTolerance = t, this
20162                    }, n.prototype.getType = function () {
20163                        return Pt.GEOMETRY_COLLECTION
20164                    }, n.prototype.intersectsExtent = function (t) {
20165                        for (var n = this.ev, i = 0, r = n.length; i < r; ++i) if (n[i].intersectsExtent(t)) return !0;
20166                        return !1
20167                    }, n.prototype.isEmpty = function () {
20168                        return 0 === this.ev.length
20169                    }, n.prototype.rotate = function (t, n) {
20170                        for (var i = this.ev, r = 0, e = i.length; r < e; ++r) i[r].rotate(t, n);
20171                        this.changed()
20172                    }, n.prototype.scale = function (t, n, i) {
20173                        var r = i;
20174                        r || (r = Xn(this.getExtent()));
20175                        for (var e = this.ev, o = 0, s = e.length; o < s; ++o) e[o].scale(t, n, r);
20176                        this.changed()
20177                    }, n.prototype.setGeometries = function (t) {
20178                        this.setGeometriesArray(oS(t))
20179                    }, n.prototype.setGeometriesArray = function (t) {
20180                        this.av(), this.ev = t, this.sv(), this.changed()
20181                    }, n.prototype.applyTransform = function (t) {
20182                        for (var n = this.ev, i = 0, r = n.length; i < r; ++i) n[i].applyTransform(t);
20183                        this.changed()
20184                    }, n.prototype.translate = function (t, n) {
20185                        for (var i = this.ev, r = 0, e = i.length; r < e; ++r) i[r].translate(t, n);
20186                        this.changed()
20187                    }, n.prototype.disposeInternal = function () {
20188                        this.av(), t.prototype.disposeInternal.call(this)
20189                    }, n
20190                }(Kr), aS = function () {
20191                    var t = function (n, i) {
20192                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
20193                            t.__proto__ = n
20194                        } || function (t, n) {
20195                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
20196                        })(n, i)
20197                    };
20198                    return function (n, i) {
20199                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
20200
20201                        function r() {
20202                            this.constructor = n
20203                        }
20204
20205                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
20206                    }
20207                }();
20208
20209                function uS(t) {
20210                    if ("string" == typeof t) {
20211                        var n = JSON.parse(t);
20212                        return n || null
20213                    }
20214                    return null !== t ? t : null
20215                }
20216
20217                var cS = function (t) {
20218                    function n() {
20219                        return t.call(this) || this
20220                    }
20221
20222                    return aS(n, t), n.prototype.getType = function () {
20223                        return sh
20224                    }, n.prototype.readFeature = function (t, n) {
20225                        return this.readFeatureFromObject(uS(t), this.getReadOptions(t, n))
20226                    }, n.prototype.readFeatures = function (t, n) {
20227                        return this.readFeaturesFromObject(uS(t), this.getReadOptions(t, n))
20228                    }, n.prototype.readFeatureFromObject = function (t, n) {
20229                        return r()
20230                    }, n.prototype.readFeaturesFromObject = function (t, n) {
20231                        return r()
20232                    }, n.prototype.readGeometry = function (t, n) {
20233                        return this.readGeometryFromObject(uS(t), this.getReadOptions(t, n))
20234                    }, n.prototype.readGeometryFromObject = function (t, n) {
20235                        return r()
20236                    }, n.prototype.readProjection = function (t) {
20237                        return this.readProjectionFromObject(uS(t))
20238                    }, n.prototype.readProjectionFromObject = function (t) {
20239                        return r()
20240                    }, n.prototype.writeFeature = function (t, n) {
20241                        return JSON.stringify(this.writeFeatureObject(t, n))
20242                    }, n.prototype.writeFeatureObject = function (t, n) {
20243                        return r()
20244                    }, n.prototype.writeFeatures = function (t, n) {
20245                        return JSON.stringify(this.writeFeaturesObject(t, n))
20246                    }, n.prototype.writeFeaturesObject = function (t, n) {
20247                        return r()
20248                    }, n.prototype.writeGeometry = function (t, n) {
20249                        return JSON.stringify(this.writeGeometryObject(t, n))
20250                    }, n.prototype.writeGeometryObject = function (t, n) {
20251                        return r()
20252                    }, n
20253                }(Xj), hS = function () {
20254                    var t = function (n, i) {
20255                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
20256                            t.__proto__ = n
20257                        } || function (t, n) {
20258                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
20259                        })(n, i)
20260                    };
20261                    return function (n, i) {
20262                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
20263
20264                        function r() {
20265                            this.constructor = n
20266                        }
20267
20268                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
20269                    }
20270                }();
20271
20272                function fS(t, n) {
20273                    if (!t) return null;
20274                    var i;
20275                    switch (t.type) {
20276                        case Pt.POINT:
20277                            i = function (t) {
20278                                return new Oe(t.coordinates)
20279                            }(t);
20280                            break;
20281                        case Pt.LINE_STRING:
20282                            i = function (t) {
20283                                return new xj(t.coordinates)
20284                            }(t);
20285                            break;
20286                        case Pt.POLYGON:
20287                            i = function (t) {
20288                                return new Ke(t.coordinates)
20289                            }(t);
20290                            break;
20291                        case Pt.MULTI_POINT:
20292                            i = function (t) {
20293                                return new yj(t.coordinates)
20294                            }(t);
20295                            break;
20296                        case Pt.MULTI_LINE_STRING:
20297                            i = function (t) {
20298                                return new Sj(t.coordinates)
20299                            }(t);
20300                            break;
20301                        case Pt.MULTI_POLYGON:
20302                            i = function (t) {
20303                                return new _j(t.coordinates)
20304                            }(t);
20305                            break;
20306                        case Pt.GEOMETRY_COLLECTION:
20307                            i = function (t, n) {
20308                                var i = t.geometries.map((function (t) {
20309                                    return fS(t, n)
20310                                }));
20311                                return new sS(i)
20312                            }(t);
20313                            break;
20314                        default:
20315                            throw new Error("Unsupported GeoJSON type: " + t.type)
20316                    }
20317                    return Hj(i, !1, n)
20318                }
20319
20320                function lS(t, n) {
20321                    var i, r = (t = Hj(t, !0, n)).getType();
20322                    switch (r) {
20323                        case Pt.POINT:
20324                            i = function (t, n) {
20325                                return {type: "Point", coordinates: t.getCoordinates()}
20326                            }(t);
20327                            break;
20328                        case Pt.LINE_STRING:
20329                            i = function (t, n) {
20330                                return {type: "LineString", coordinates: t.getCoordinates()}
20331                            }(t);
20332                            break;
20333                        case Pt.POLYGON:
20334                            i = function (t, n) {
20335                                var i;
20336                                n && (i = n.rightHanded);
20337                                return {type: "Polygon", coordinates: t.getCoordinates(i)}
20338                            }(t, n);
20339                            break;
20340                        case Pt.MULTI_POINT:
20341                            i = function (t, n) {
20342                                return {type: "MultiPoint", coordinates: t.getCoordinates()}
20343                            }(t);
20344                            break;
20345                        case Pt.MULTI_LINE_STRING:
20346                            i = function (t, n) {
20347                                return {type: "MultiLineString", coordinates: t.getCoordinates()}
20348                            }(t);
20349                            break;
20350                        case Pt.MULTI_POLYGON:
20351                            i = function (t, n) {
20352                                var i;
20353                                n && (i = n.rightHanded);
20354                                return {type: "MultiPolygon", coordinates: t.getCoordinates(i)}
20355                            }(t, n);
20356                            break;
20357                        case Pt.GEOMETRY_COLLECTION:
20358                            i = function (t, n) {
20359                                return {
20360                                    type: "GeometryCollection",
20361                                    geometries: t.getGeometriesArray().map((function (t) {
20362                                        var i = E({}, n);
20363                                        return delete i.featureProjection, lS(t, i)
20364                                    }))
20365                                }
20366                            }(t, n);
20367                            break;
20368                        case Pt.CIRCLE:
20369                            i = {type: "GeometryCollection", geometries: []};
20370                            break;
20371                        default:
20372                            throw new Error("Unsupported geometry type: " + r)
20373                    }
20374                    return i
20375                }
20376
20377                var vS = function (t) {
20378                    function n(n) {
20379                        var i = this, r = n || {};
20380                        return (i = t.call(this) || this).dataProjection = br(r.dataProjection ? r.dataProjection : "EPSG:4326"), r.featureProjection && (i.defaultFeatureProjection = br(r.featureProjection)), i.H = r.geometryName, i.uv = r.extractGeometryName, i.supportedMediaTypes = ["application/geo+json", "application/vnd.geo+json"], i
20381                    }
20382
20383                    return hS(n, t), n.prototype.readFeatureFromObject = function (t, n) {
20384                        var i = null, r = fS((i = "Feature" === t.type ? t : {
20385                            type: "Feature",
20386                            geometry: t,
20387                            properties: null
20388                        }).geometry, n), e = new Tt;
20389                        return this.H ? e.setGeometryName(this.H) : this.uv && "geometry_name" in 
20389i !== void 0 && e.setGeometryName(i.geometry_name), e.setGeometry(r), "id" in i && e.setId(i.id), i.properties && e.setProperties(i.properties, !0), e
20390                    }, n.prototype.readFeaturesFromObject = function (t, n) {
20391                        var i = null;
20392                        if ("FeatureCollection" === t.type) {
20393                            i = [];
20394                            for (var r = t.features, e = 0, o = r.length; e < o; ++e) i.push(this.readFeatureFromObject(r[e], n))
20395                        } else i = [this.readFeatureFromObject(t, n)];
20396                        return i
20397                    }, n.prototype.readGeometryFromObject = function (t, n) {
20398                        return fS(t, n)
20399                    }, n.prototype.readProjectionFromObject = function (t) {
20400                        var n, i = t.crs;
20401                        return i ? "name" == i.type ? n = br(i.properties.name) : "EPSG" === i.type ? n = br("EPSG:" + i.properties.code) : Mt(!1, 36) : n = this.dataProjection, n
20402                    }, n.prototype.writeFeatureObject = function (t, n) {
20403                        n = this.adaptOptions(n);
20404                        var i = {type: "Feature", geometry: null, properties: null}, r = t.getId();
20405                        if (void 0 !== r && (i.id = r), !t.hasProperties()) return i;
20406                        var e = t.getProperties(), o = t.getGeometry();
20407                        return o && (i.geometry = lS(o, n), delete e[t.getGeometryName()]), R(e) || (i.properties = e), i
20408                    }, n.prototype.writeFeaturesObject = function (t, n) {
20409                        n = this.adaptOptions(n);
20410                        for (var i = [], r = 0, e = t.length; r < e; ++r) i.push(this.writeFeatureObject(t[r], n));
20411                        return {type: "FeatureCollection", features: i}
20412                    }, n.prototype.writeGeometryObject = function (t, n) {
20413                        return lS(t, this.adaptOptions(n))
20414                    }, n
20415                }(cS), dS = i(63);
20416
20417                function pS(t) {
20418                    return function (t) {
20419                        if (Array.isArray(t)) return CS(t)
20420                    }(t) || yS(t) || AS(t) || function () {
20421                        throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
20422                    }()
20423                }
20424
20425                function yS(t) {
20426                    if ("undefined" != typeof Symbol && null != t[Symbol.iterator] || null != t["@@iterator"]) return Array.from(t)
20427                }
20428
20429                function mS(t, n) {
20430                    return bS(t) || function (t, n) {
20431                        var i = null == t ? null : "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
20432                        if (null == i) return;
20433                        var r, e, o = [], s = !0, a = !1;
20434                        try {
20435                            for (i = i.call(t); !(s = (r = i.next()).done) && (o.push(r.value), !n || o.length !== n); s = !0) ;
20436                        } catch (t) {
20437                            a = !0, e = t
20438                        } finally {
20439                            try {
20440                                s || null == i.return || i.return()
20441                            } finally {
20442                                if (a) throw e
20443                            }
20444                        }
20445                        return o
20446                    }(t, n) || AS(t, n) || wS()
20447                }
20448
20449                function wS() {
20450                    throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
20451                }
20452
20453                function bS(t) {
20454                    if (Array.isArray(t)) return t
20455                }
20456
20457                function gS(t, n) {
20458                    for (var i = 0; i < n.length; i++) {
20459                        var r = n[i];
20460                        r.enumerable = r.enumerable || !1, r.configurable = !0, "value" in r && (r.writable = !0), Object.defineProperty(t, r.key, r)
20461                    }
20462                }
20463
20464                function xS(t, n, i) {
20465                    return n && gS(t.prototype, n), i && gS(t, i), Object.defineProperty(t, "prototype", {writable: !1}), t
20466                }
20467
20468                function jS(t, n) {
20469                    if (!(t instanceof n)) throw new TypeError("Cannot call a class as a function")
20470                }
20471
20472                function SS(t, n) {
20473                    if (n && ("object" === RS(n) || "function" == typeof n)) return n;
20474                    if (void 0 !== n) throw new TypeError("Derived constructors may only return object or undefined");
20475                    return function (t) {
20476                        if (void 0 === t) throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
20477                        return t
20478                    }(t)
20479                }
20480
20481                function kS(t) {
20482                    var n = "function" == typeof Map ? new Map : void 0;
20483                    return (kS = function (t) {
20484                        if (null === t || (i = t, -1 === Function.toString.call(i).indexOf("[native code]"))) return t;
20485                        var i;
20486                        if ("function" != typeof t) throw new TypeError("Super expression must either be null or a function");
20487                        if (void 0 !== n) {
20488                            if (n.has(t)) return n.get(t);
20489                            n.set(t, r)
20490                        }
20491
20492                        function r() {
20493                            return MS(t, arguments, TS(this).constructor)
20494                        }
20495
20496                        return r.prototype = Object.create(t.prototype, {
20497                            constructor: {
20498                                value: r,
20499                                enumerable: !1,
20500                                writable: !0,
20501                                configurable: !0
20502                            }
20503                        }), OS(r, t)
20504                    })(t)
20505                }
20506
20507                function MS(t, n, i) {
20508                    return (MS = _S() ? Reflect.construct : function (t, n, i) {
20509                        var r = [null];
20510                        r.push.apply(r, n);
20511                        var e = new (Function.bind.apply(t, r));
20512                        return i && OS(e, i.prototype), e
20513                    }).apply(null, arguments)
20514                }
20515
20516                function _S() {
20517                    if ("undefined" == typeof Reflect || !Reflect.construct) return !1;
20518                    if (Reflect.construct.sham) return !1;
20519                    if ("function" == typeof Proxy) return !0;
20520                    try {
20521                        return Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], (function () {
20522                        }))), !0
20523                    } catch (t) {
20524                        return !1
20525                    }
20526                }
20527
20528                function OS(t, n) {
20529                    return (OS = Object.setPrototypeOf || function (t, n) {
20530                        return t.__proto__ = n, t
20531                    })(t, n)
20532                }
20533
20534                function TS(t) {
20535                    return (TS = Object.setPrototypeOf ? Object.getPrototypeOf : function (t) {
20536                        return t.__proto__ || Object.getPrototypeOf(t)
20537                    })(t)
20538                }
20539
20540                function ES(t, n) {
20541                    var i = "undefined" != typeof Symbol && t[Symbol.iterator] || t["@@iterator"];
20542                    if (!i) {
20543                        if (Array.isArray(t) || (i = AS(t)) || n && t && "number" == typeof t.length) {
20544                            i && (t = i);
20545                            var r = 0, e = function () {
20546                            };
20547                            return {
20548                                s: e, n: function () {
20549                                    return r >= t.length ? {done: !0} : {done: !1, value: t[r++]}
20550                                }, e: function (t) {
20551                                    throw t
20552                                }, f: e
20553                            }
20554                        }
20555                        throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")
20556                    }
20557                    var o, s = !0, a = !1;
20558                    return {
20559                        s: function () {
20560                            i = i.call(t)
20561                        }, n: function () {
20562                            var t = i.next();
20563                            return s = t.done, t
20564                        }, e: function (t) {
20565                            a = !0, o = t
20566                        }, f: function () {
20567                            try {
20568                                s || null == i.return || i.return()
20569                            } finally {
20570                                if (a) throw o
20571                            }
20572                        }
20573                    }
20574                }
20575
20576                function AS(t, n) {
20577                    if (t) {
20578                        if ("string" == typeof t) return CS(t, n);
20579                        var i = Object.prototype.toString.call(t).slice(8, -1);
20580                        return "Object" === i && t.constructor && (i = t.constructor.name), "Map" === i || "Set" === i ? Array.from(t) : "Arguments" === i || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i) ? CS(t, n) : void 0
20581                    }
20582                }
20583
20584                function CS(t, n) {
20585                    (null == n || n > t.length) && (n = t.length);
20586                    for (var i = 0, r = new Array(n); i < n; i++) r[i] = t[i];
20587                    return r
20588                }
20589
20590                function RS(t) {
20591                    return (RS = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
20592                        return typeof t
20593                    } : function (t) {
20594                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
20595                    })(t)
20596                }
20597
20598                var PS = {
20599                    $version: 8,
20600                    $root: {
20601                        version: {
20602                            required: !0,
20603                            type: "enum",
20604                            values: [8],
20605                            doc: "Style specification version number. Must be 8.",
20606                            example: 8
20607                        },
20608                        name: {type: "string", doc: "A human-readable name for the style.", example: "Bright"},
20609                        metadata: {
20610                            type: "*",
20611                            doc: "Arbitrary properties useful to track with the stylesheet, but do not influence rendering. Properties should be prefixed to avoid collisions, like 'mapbox:'."
20612                        },
20613                        center: {
20614                            type: "array",
20615                            value: "number",
20616                            doc: "Default map center in longitude and latitude.  The style center will be used only if the map has not been positioned by other means (e.g. map options or user interaction).",
20617                            example: [-73.9749, 40.7736]
20618                        },
20619                        zoom: {
20620                            type: "number",
20621                            doc: "Default zoom level.  The style zoom will be used only if the map has not been positioned by other means (e.g. map options or user interaction).",
20622                            example: 12.5
20623                        },
20624                        bearing: {
20625                            type: "number",
20626                            default: 0,
20627                            period: 360,
20628                            units: "degrees",
20629                            doc: 'Default bearing, in degrees. The bearing is the compass direction that is "up"; for example, a bearing of 90° orients the map so that east is up. This value will be used only if the map has not been positioned by other means (e.g. map options or user interaction).',
20630                            example: 29
20631                        },
20632                        pitch: {
20633                            type: "number",
20634                            default: 0,
20635                            units: "degrees",
20636                            doc: "Default pitch, in degrees. Zero is perpendicular to the surface, for a look straight down at the map, while a greater value like 60 looks ahead towards the horizon. The style pitch will be used only if the map has not been positioned by other means (e.g. map options or user interaction).",
20637                            example: 50
20638                        },
20639                        light: {
20640                            type: "light",
20641                            doc: "The global light source.",
20642                            example: {anchor: "viewport", color: "white", intensity: .4}
20643                        },
20644                        terrain: {
20645                            type: "terrain",
20646                            doc: "A global modifier that elevates layers and markers based on a DEM data source."
20647                        },
20648                        fog: {
20649                            type: "fog",
20650                            doc: "A global effect that fades layers and markers based on their distance to the camera. The fog can be used to approximate the effect of atmosphere on distant objects and enhance the depth perception of the map when used with terrain or 3D features."
20651                        },
20652                        sources: {
20653                            required: !0,
20654                            type: "sources",
20655                            doc: "Data source specifications.",
20656                            example: {"mapbox-streets": {type: "vector", url: "mapbox://mapbox.mapbox-streets-v6"}}
20657                        },
20658                        sprite: {
20659                            type: "string",
20660                            doc: "A base URL for retrieving the sprite image and metadata. The extensions `.png`, `.json` and scale factor `@2x.png` will be automatically appended. This property is required if any layer uses the `background-pattern`, `fill-pattern`, `line-pattern`, `fill-extrusion-pattern`, or `icon-image` properties. The URL must be absolute, containing the [scheme, authority and path components](https://en.wikipedia.org/wiki/URL#Syntax).",
20661                            example: "mapbox://sprites/mapbox/bright-v8"
20662                        },
20663                        glyphs: {
20664                            type: "string",
20665                            doc: "A URL template for loading signed-distance-field glyph sets in PBF format. The URL must include `{fontstack}` and `{range}` tokens. This property is required if any layer uses the `text-field` layout property. The URL must be absolute, containing the [scheme, authority and path components](https://en.wikipedia.org/wiki/URL#Syntax).",
20666                            example: "mapbox://fonts/mapbox/{fontstack}/{range}.pbf"
20667                        },
20668                        transition: {
20669                            type: "transition",
20670                            doc: "A global transition definition to use as a default across properties, to be used for timing transitions between one value and the next when no property-specific transition is set. Collision-based symbol fading is controlled independently of the style's `transition` property.",
20671                            example: {duration: 300, delay: 0}
20672                        },
20673                        layers: {
20674                            required: !0,
20675                            type: "array",
20676                            value: "layer",
20677                            doc: "Layers will be drawn in the order of this array.",
20678                            example: [{
20679                                id: "water",
20680                                source: "mapbox-streets",
20681                                "source-layer": "water"
vendor: 91,965 bytes, lines 20681-22180
20681,
20682                                type: "fill",
20683                                paint: {"fill-color": "#00ffff"}
20684                            }]
20685                        }
20686                    },
20687                    sources: {
20688                        "*": {
20689                            type: "source",
20690                            doc: "Specification of a data source. For vector and raster sources, either TileJSON or a URL to a TileJSON must be provided. For image and video sources, a URL must be provided. For GeoJSON sources, a URL or inline GeoJSON must be provided."
20691                        }
20692                    },
20693                    source: ["source_vector", "source_raster", "source_raster_dem", "source_geojson", "source_video", "source_image"],
20694                    source_vector: {
20695                        type: {
20696                            required: !0,
20697                            type: "enum",
20698                            values: {vector: {doc: "A vector tile source."}},
20699                            doc: "The type of the source."
20700                        },
20701                        url: {
20702                            type: "string",
20703                            doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
20704                        },
20705                        tiles: {
20706                            type: "array",
20707                            value: "string",
20708                            doc: "An array of one or more tile source URLs, as in the TileJSON spec."
20709                        },
20710                        bounds: {
20711                            type: "array",
20712                            value: "number",
20713                            length: 4,
20714                            default: [-180, -85.051129, 180, 85.051129],
20715                            doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`. When this property is included in a source, no tiles outside of the given bounds are requested by Mapbox GL."
20716                        },
20717                        scheme: {
20718                            type: "enum",
20719                            values: {xyz: {doc: "Slippy map tilenames scheme."}, tms: {doc: "OSGeo spec scheme."}},
20720                            default: "xyz",
20721                            doc: "Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed."
20722                        },
20723                        minzoom: {
20724                            type: "number",
20725                            default: 0,
20726                            doc: "Minimum zoom level for which tiles are available, as in the TileJSON spec."
20727                        },
20728                        maxzoom: {
20729                            type: "number",
20730                            default: 22,
20731                            doc: "Maximum zoom level for which tiles are available, as in the TileJSON spec. Data from tiles at the maxzoom are used when displaying the map at higher zoom levels."
20732                        },
20733                        attribution: {
20734                            type: "string",
20735                            doc: "Contains an attribution to be displayed when the map is shown to a user."
20736                        },
20737                        promoteId: {
20738                            type: "promoteId",
20739                            doc: "A property to use as a feature id (for feature state). Either a property name, or an object of the form `{<sourceLayer>: <propertyName>}`. If specified as a string for a vector tile source, the same property is used across all its source layers."
20740                        },
20741                        volatile: {
20742                            type: "boolean",
20743                            default: !1,
20744                            doc: "A setting to determine whether a source's tiles are cached locally.",
20745                            "sdk-support": {"basic functionality": {android: "9.3.0", ios: "5.10.0"}}
20746                        },
20747                        "*": {type: "*", doc: "Other keys to configure the data source."}
20748                    },
20749                    source_raster: {
20750                        type: {
20751                            required: !0,
20752                            type: "enum",
20753                            values: {raster: {doc: "A raster tile source."}},
20754                            doc: "The type of the source."
20755                        },
20756                        url: {
20757                            type: "string",
20758                            doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
20759                        },
20760                        tiles: {
20761                            type: "array",
20762                            value: "string",
20763                            doc: "An array of one or more tile source URLs, as in the TileJSON spec."
20764                        },
20765                        bounds: {
20766                            type: "array",
20767                            value: "number",
20768                            length: 4,
20769                            default: [-180, -85.051129, 180, 85.051129],
20770                            doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`. When this property is included in a source, no tiles outside of the given bounds are requested by Mapbox GL."
20771                        },
20772                        minzoom: {
20773                            type: "number",
20774                            default: 0,
20775                            doc: "Minimum zoom level for which tiles are available, as in the TileJSON spec."
20776                        },
20777                        maxzoom: {
20778                            type: "number",
20779                            default: 22,
20780                            doc: "Maximum zoom level for which tiles are available, as in the TileJSON spec. Data from tiles at the maxzoom are used when displaying the map at higher zoom levels."
20781                        },
20782                        tileSize: {
20783                            type: "number",
20784                            default: 512,
20785                            units: "pixels",
20786                            doc: "The minimum visual size to display tiles for this layer. Only configurable for raster layers."
20787                        },
20788                        scheme: {
20789                            type: "enum",
20790                            values: {xyz: {doc: "Slippy map tilenames scheme."}, tms: {doc: "OSGeo spec scheme."}},
20791                            default: "xyz",
20792                            doc: "Influences the y direction of the tile coordinates. The global-mercator (aka Spherical Mercator) profile is assumed."
20793                        },
20794                        attribution: {
20795                            type: "string",
20796                            doc: "Contains an attribution to be displayed when the map is shown to a user."
20797                        },
20798                        volatile: {
20799                            type: "boolean",
20800                            default: !1,
20801                            doc: "A setting to determine whether a source's tiles are cached locally.",
20802                            "sdk-support": {"basic functionality": {android: "9.3.0", ios: "5.10.0"}}
20803                        },
20804                        "*": {type: "*", doc: "Other keys to configure the data source."}
20805                    },
20806                    source_raster_dem: {
20807                        type: {
20808                            required: !0,
20809                            type: "enum",
20810                            values: {"raster-dem": {doc: "A RGB-encoded raster DEM source"}},
20811                            doc: "The type of the source."
20812                        },
20813                        url: {
20814                            type: "string",
20815                            doc: "A URL to a TileJSON resource. Supported protocols are `http:`, `https:`, and `mapbox://<Tileset ID>`."
20816                        },
20817                        tiles: {
20818                            type: "array",
20819                            value: "string",
20820                            doc: "An array of one or more tile source URLs, as in the TileJSON spec."
20821                        },
20822                        bounds: {
20823                            type: "array",
20824                            value: "number",
20825                            length: 4,
20826                            default: [-180, -85.051129, 180, 85.051129],
20827                            doc: "An array containing the longitude and latitude of the southwest and northeast corners of the source's bounding box in the following order: `[sw.lng, sw.lat, ne.lng, ne.lat]`. When this property is included in a source, no tiles outside of the given bounds are requested by Mapbox GL."
20828                        },
20829                        minzoom: {
20830                            type: "number",
20831                            default: 0,
20832                            doc: "Minimum zoom level for which tiles are available, as in the TileJSON spec."
20833                        },
20834                        maxzoom: {
20835                            type: "number",
20836                            default: 22,
20837                            doc: "Maximum zoom level for which tiles are available, as in the TileJSON spec. Data from tiles at the maxzoom are used when displaying the map at higher zoom levels."
20838                        },
20839                        tileSize: {
20840                            type: "number",
20841                            default: 512,
20842                            units: "pixels",
20843                            doc: "The minimum visual size to display tiles for this layer. Only configurable for raster layers."
20844                        },
20845                        attribution: {
20846                            type: "string",
20847                            doc: "Contains an attribution to be displayed when the map is shown to a user."
20848                        },
20849                        encoding: {
20850                            type: "enum",
20851                            values: {
20852                                terrarium: {doc: "Terrarium format PNG tiles. See https://aws.amazon.com/es/public-datasets/terrain/ for more info."},
20853                                mapbox: {doc: "Mapbox Terrain RGB tiles. See https://www.mapbox.com/help/access-elevation-data/#mapbox-terrain-rgb for more info."}
20854                            },
20855                            default: "mapbox",
20856                            doc: "The encoding used by this source. Mapbox Terrain RGB is used by default"
20857                        },
20858                        volatile: {
20859                            type: "boolean",
20860                            default: !1,
20861                            doc: "A setting to determine whether a source's tiles are cached locally.",
20862                            "sdk-support": {"basic functionality": {android: "9.3.0", ios: "5.10.0"}}
20863                        },
20864                        "*": {type: "*", doc: "Other keys to configure the data source."}
20865                    },
20866                    source_geojson: {
20867                        type: {
20868                            required: !0,
20869                            type: "enum",
20870                            values: {geojson: {doc: "A GeoJSON data source."}},
20871                            doc: "The data type of the GeoJSON source."
20872                        },
20873                        data: {type: "*", doc: "A URL to a GeoJSON file, or inline GeoJSON."},
20874                        maxzoom: {
20875                            type: "number",
20876                            default: 18,
20877                            doc: "Maximum zoom level at which to create vector tiles (higher means greater detail at high zoom levels)."
20878                        },
20879                        attribution: {
20880                            type: "string",
20881                            doc: "Contains an attribution to be displayed when the map is shown to a user."
20882                        },
20883                        buffer: {
20884                            type: "number",
20885                            default: 128,
20886                            maximum: 512,
20887                            minimum: 0,
20888                            doc: "Size of the tile buffer on each side. A value of 0 produces no buffer. A value of 512 produces a buffer as wide as the tile itself. Larger values produce fewer rendering artifacts near tile edges and slower performance."
20889                        },
20890                        filter: {
20891                            type: "*",
20892                            doc: "An expression for filtering features prior to processing them for rendering."
20893                        },
20894                        tolerance: {
20895                            type: "number",
20896                            default: .375,
20897                            doc: "Douglas-Peucker simplification tolerance (higher means simpler geometries and faster performance)."
20898                        },
20899                        cluster: {
20900                            type: "boolean",
20901                            default: !1,
20902                            doc: "If the data is a collection of point features, setting this to true clusters the points by radius into groups. Cluster groups become new `Point` features in the source with additional properties:\n * `cluster` Is `true` if the point is a cluster \n * `cluster_id` A unqiue id for the cluster to be used in conjunction with the [cluster inspection methods](https://www.mapbox.com/mapbox-gl-js/api/#geojsonsource#getclusterexpansionzoom)\n * `point_count` Number of original points grouped into this cluster\n * `point_count_abbreviated` An abbreviated point count"
20903                        },
20904                        clusterRadius: {
20905                            type: "number",
20906                            default: 50,
20907                            minimum: 0,
20908                            doc: "Radius of each cluster if clustering is enabled. A value of 512 indicates a radius equal to the width of a tile."
20909                        },
20910                        clusterMaxZoom: {
20911                            type: "number",
20912                            doc: "Max zoom on which to cluster points if clustering is enabled. Defaults to one zoom less than maxzoom (so that last zoom features are not clustered). Clusters are re-evaluated at integer zoom levels so setting clusterMaxZoom to 14 means the clusters will be displayed until z15."
20913                        },
20914                        clusterMinPoints: {
20915                            type: "number",
20916                            doc: "Minimum number of points necessary to form a cluster if clustering is enabled. Defaults to `2`."
20917                        },
20918                        clusterProperties: {
20919                            type: "*",
20920                            doc: 'An object defining custom properties on the generated clusters if clustering is enabled, aggregating values from clustered points. Has the form `{"property_name": [operator, map_expression]}`. `operator` is any expression function that accepts at least 2 operands (e.g. `"+"` or `"max"`) — it accumulates the property value from clusters/points the cluster contains; `map_expression` produces the value of a single point.\n\nExample: `{"sum": ["+", ["get", "scalerank"]]}`.\n\nFor more advanced use cases, in place of `operator`, you can use a custom reduce expression that references a special `["accumulated"]` value, e.g.:\n`{"sum": [["+", ["accumulated"], ["get", "sum"]], ["get", "scalerank"]]}`'
20921                        },
20922                        lineMetrics: {
20923                            type: "boolean",
20924                            default: !1,
20925                            doc: "Whether to calculate line distance metrics. This is required for line layers that specify `line-gradient` values."
20926                        },
20927                        generateId: {
20928                            type: "boolean",
20929                            default: !1,
20930                            doc: "Whether to generate ids for the geojson features. When enabled, the `feature.id` property will be auto assigned based on its index in the `features` array, over-writing any previous values."
20931                        },
20932                        promoteId: {
20933                            type: "promoteId",
20934                            doc: "A property to use as a feature id (for feature state). Either a property name, or an object of the form `{<sourceLayer>: <propertyName>}`."
20935                        }
20936                    },
20937                    source_video: {
20938                        type: {
20939                            required: !0,
20940                            type: "enum",
20941                            values: {video: {doc: "A video data source."}},
20942                            doc: "The data type of the video source."
20943                        },
20944                        urls: {
20945                            required: !0,
20946                            type: "array",
20947                            value: "string",
20948                            doc: "URLs to video content in order of preferred format."
20949                        },
20950                        coordinates: {
20951                            required: !0,
20952                            doc: "Corners of video specified in longitude, latitude pairs.",
20953                            type: "array",
20954                            length: 4,
20955                            value: {
20956                                type: "array",
20957                                length: 2,
20958                                value: "number",
20959                                doc: "A single longitude, latitude pair."
20960                            }
20961                        }
20962                    },
20963                    source_image: {
20964                        type: {
20965                            required: !0,
20966                            type: "enum",
20967                            values: {image: {doc: "An image data source."}},
20968                            doc: "The data type of the image source."
20969                        },
20970                        url: {required: !0, type: "string", doc: "URL that points to an image."},
20971                        coordinates: {
20972                            required: !0,
20973                            doc: "Corners of image specified in longitude, latitude pairs.",
20974                            type: "array",
20975                            length: 4,
20976                            value: {
20977                                type: "array",
20978                                length: 2,
20979                                value: "number",
20980                                doc: "A single longitude, latitude pair."
20981                            }
20982                        }
20983                    },
20984                    layer: {
20985                        id: {type: "string", doc: "Unique layer name.", required: !0},
20986                        type: {
20987                            type: "enum", values: {
20988                                fill: {
20989                                    doc: "A filled polygon with an optional stroked border.",
20990                                    "sdk-support": {
20991                                        "basic functionality": {
20992                                            js: "0.10.0",
20993                                            android: "2.0.1",
20994                                            ios: "2.0.0",
20995                                            macos: "0.1.0"
20996                                        }
20997                                    }
20998                                },
20999                                line: {
21000                                    doc: "A stroked line.",
21001                                    "sdk-support": {
21002                                        "basic functionality": {
21003                                            js: "0.10.0",
21004                                            android: "2.0.1",
21005                                            ios: "2.0.0",
21006                                            macos: "0.1.0"
21007                                        }
21008                                    }
21009                                },
21010                                symbol: {
21011                                    doc: "An icon or a text label.",
21012                                    "sdk-support": {
21013                                        "basic functionality": {
21014                                            js: "0.10.0",
21015                                            android: "2.0.1",
21016                                            ios: "2.0.0",
21017                                            macos: "0.1.0"
21018                                        }
21019                                    }
21020                                },
21021                                circle: {
21022                                    doc: "A filled circle.",
21023                                    "sdk-support": {
21024                                        "basic functionality": {
21025                                            js: "0.10.0",
21026                                            android: "2.0.1",
21027                                            ios: "2.0.0",
21028                                            macos: "0.1.0"
21029                                        }
21030                                    }
21031                                },
21032                                heatmap: {
21033                                    doc: "A heatmap.",
21034                                    "sdk-support": {
21035                                        "basic functionality": {
21036                                            js: "0.41.0",
21037                                            android: "6.0.0",
21038                                            ios: "4.0.0",
21039                                            macos: "0.7.0"
21040                                        }
21041                                    }
21042                                },
21043                                "fill-extrusion": {
21044                                    doc: "An extruded (3D) polygon.",
21045                                    "sdk-support": {
21046                                        "basic functionality": {
21047                                            js: "0.27.0",
21048                                            android: "5.1.0",
21049                                            ios: "3.6.0",
21050                                            macos: "0.5.0"
21051                                        }
21052                                    }
21053                                },
21054                                raster: {
21055                                    doc: "Raster map textures such as satellite imagery.",
21056                                    "sdk-support": {
21057                                        "basic functionality": {
21058                                            js: "0.10.0",
21059                                            android: "2.0.1",
21060                                            ios: "2.0.0",
21061                                            macos: "0.1.0"
21062                                        }
21063                                    }
21064                                },
21065                                hillshade: {
21066                                    doc: "Client-side hillshading visualization based on DEM data. Currently, the implementation only supports Mapbox Terrain RGB and Mapzen Terrarium tiles.",
21067                                    "sdk-support": {
21068                                        "basic functionality": {
21069                                            js: "0.43.0",
21070                                            android: "6.0.0",
21071                                            ios: "4.0.0",
21072                                            macos: "0.7.0"
21073                                        }
21074                                    }
21075                                },
21076                                background: {
21077                                    doc: "The background color or pattern of the map.",
21078                                    "sdk-support": {
21079                                        "basic functionality": {
21080                                            js: "0.10.0",
21081                                            android: "2.0.1",
21082                                            ios: "2.0.0",
21083                                            macos: "0.1.0"
21084                                        }
21085                                    }
21086                                },
21087                                sky: {
21088                                    doc: "A spherical dome around the map that is always rendered behind all other layers.",
21089                                    "sdk-support": {"basic functionality": {js: "2.0.0"}}
21090                                }
21091                            }, doc: "Rendering type of this layer.", required: !0
21092                        },
21093                        metadata: {
21094                            type: "*",
21095                            doc: "Arbitrary properties useful to track with the layer, but do not influence rendering. Properties should be prefixed to avoid collisions, like 'mapbox:'."
21096                        },
21097                        source: {
21098                            type: "string",
21099                            doc: "Name of a source description to be used for this layer. Required for all layer types except `background`."
21100                        },
21101                        "source-layer": {
21102                            type: "string",
21103                            doc: "Layer to use from a vector tile source. Required for vector tile sources; prohibited for all other source types, including GeoJSON sources."
21104                        },
21105                        minzoom: {
21106                            type: "number",
21107                            minimum: 0,
21108                            maximum: 24,
21109                            doc: "The minimum zoom level for the layer. At zoom levels less than the minzoom, the layer will be hidden."
21110                        },
21111                        maxzoom: {
21112                            type: "number",
21113                            minimum: 0,
21114                            maximum: 24,
21115                            doc: "The maximum zoom level for the layer. At zoom levels equal to or greater than the maxzoom, the layer will be hidden."
21116                        },
21117                        filter: {
21118                            type: "filter",
21119                            doc: "A expression specifying conditions on source features. Only features that match the filter are displayed. Zoom expressions in filters are only evaluated at integer zoom levels. The `feature-state` expression is not supported in filter expressions."
21120                        },
21121                        layout: {type: "layout", doc: "Layout properties for the layer."},
21122                        paint: {type: "paint", doc: "Default paint properties for this layer."}
21123                    },
21124                    layout: ["layout_fill", "layout_line", "layout_circle", "layout_heatmap", "layout_fill-extrusion", "layout_symbol", "layout_raster", "layout_hillshade", "layout_background", "layout_sky"],
21125                    layout_background: {
21126                        visibility: {
21127                            type: "enum",
21128                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21129                            default: "visible",
21130                            doc: "Whether this layer is displayed.",
21131                            "sdk-support": {
21132                                "basic functionality": {
21133                                    js: "0.10.0",
21134                                    android: "2.0.1",
21135                                    ios: "2.0.0",
21136                                    macos: "0.1.0"
21137                                }
21138                            },
21139                            "property-type": "constant"
21140                        }
21141                    },
21142                    layout_sky: {
21143                        visibility: {
21144                            type: "enum",
21145                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21146                            default: "visible",
21147                            doc: "Whether this layer is displayed.",
21148                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
21149                            "property-type": "constant"
21150                        }
21151                    },
21152                    layout_fill: {
21153                        "fill-sort-key": {
21154                            type: "number",
21155                            doc: "Sorts features in ascending order based on this value. Features with a higher sort key will appear above features with a lower sort key.",
21156                            "sdk-support": {
21157                                "basic functionality": {
21158                                    js: "1.2.0",
21159                                    android: "9.1.0",
21160                                    ios: "5.8.0",
21161                                    macos: "0.15.0"
21162                                }, "data-driven styling": {js: "1.2.0", android: "9.1.0", ios: "5.8.0", macos: "0.15.0"}
21163                            },
21164                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21165                            "property-type": "data-driven"
21166                        },
21167                        visibility: {
21168                            type: "enum",
21169                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21170                            default: "visible",
21171                            doc: "Whether this layer is displayed.",
21172                            "sdk-support": {
21173                                "basic functionality": {
21174                                    js: "0.10.0",
21175                                    android: "2.0.1",
21176                                    ios: "2.0.0",
21177                                    macos: "0.1.0"
21178                                }
21179                            },
21180                            "property-type": "constant"
21181                        }
21182                    },
21183                    layout_circle: {
21184                        "circle-sort-key": {
21185                            type: "number",
21186                            doc: "Sorts features in ascending order based on this value. Features with a higher sort key will appear above features with a lower sort key.",
21187                            "sdk-support": {
21188                                "basic functionality": {
21189                                    js: "1.2.0",
21190                                    android: "9.2.0",
21191                                    ios: "5.9.0",
21192                                    macos: "0.16.0"
21193                                }, "data-driven styling": {js: "1.2.0", android: "9.2.0", ios: "5.9.0", macos: "0.16.0"}
21194                            },
21195                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21196                            "property-type": "data-driven"
21197                        },
21198                        visibility: {
21199                            type: "enum",
21200                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21201                            default: "visible",
21202                            doc: "Whether this layer is displayed.",
21203                            "sdk-support": {
21204                                "basic functionality": {
21205                                    js: "0.10.0",
21206                                    android: "2.0.1",
21207                                    ios: "2.0.0",
21208                                    macos: "0.1.0"
21209                                }
21210                            },
21211                            "property-type": "constant"
21212                        }
21213                    },
21214                    layout_heatmap: {
21215                        visibility: {
21216                            type: "enum",
21217                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21218                            default: "visible",
21219                            doc: "Whether this layer is displayed.",
21220                            "sdk-support": {
21221                                "basic functionality": {
21222                                    js: "0.41.0",
21223                                    android: "6.0.0",
21224                                    ios: "4.0.0",
21225                                    macos: "0.7.0"
21226                                }
21227                            },
21228                            "property-type": "constant"
21229                        }
21230                    },
21231                    "layout_fill-extrusion": {
21232                        visibility: {
21233                            type: "enum",
21234                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21235                            default: "visible",
21236                            doc: "Whether this layer is displayed.",
21237                            "sdk-support": {
21238                                "basic functionality": {
21239                                    js: "0.27.0",
21240                                    android: "5.1.0",
21241                                    ios: "3.6.0",
21242                                    macos: "0.5.0"
21243                                }
21244                            },
21245                            "property-type": "constant"
21246                        }
21247                    },
21248                    layout_line: {
21249                        "line-cap": {
21250                            type: "enum",
21251                            values: {
21252                                butt: {doc: "A cap with a squared-off end which is drawn to the exact endpoint of the line."},
21253                                round: {doc: "A cap with a rounded end which is drawn beyond the endpoint of the line at a radius of one-half of the line's width and centered on the endpoint of the line."},
21254                                square: {doc: "A cap with a squared-off end which is drawn beyond the endpoint of the line at a distance of one-half of the line's width."}
21255                            },
21256                            default: "butt",
21257                            doc: "The display of line endings.",
21258                            "sdk-support": {
21259                                "basic functionality": {
21260                                    js: "0.10.0",
21261                                    android: "2.0.1",
21262                                    ios: "2.0.0",
21263                                    macos: "0.1.0"
21264                                }, "data-driven styling": {js: "2.3.0"}
21265                            },
21266                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21267                            "property-type": "data-driven"
21268                        },
21269                        "line-join": {
21270                            type: "enum",
21271                            values: {
21272                                bevel: {doc: "A join with a squared-off end which is drawn beyond the endpoint of the line at a distance of one-half of the line's width."},
21273                                round: {doc: "A join with a rounded end which is drawn beyond the endpoint of the line at a radius of one-half of the line's width and centered on the endpoint of the line."},
21274                                miter: {doc: "A join with a sharp, angled corner which is drawn with the outer sides beyond the endpoint of the path until they meet."}
21275                            },
21276                            default: "miter",
21277                            doc: "The display of lines when joining.",
21278                            "sdk-support": {
21279                                "basic functionality": {
21280                                    js: "0.10.0",
21281                                    android: "2.0.1",
21282                                    ios: "2.0.0",
21283                                    macos: "0.1.0"
21284                                }, "data-driven styling": {js: "0.40.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
21285                            },
21286                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21287                            "property-type": "data-driven"
21288                        },
21289                        "line-miter-limit": {
21290                            type: "number",
21291                            default: 2,
21292                            doc: "Used to automatically convert miter joins to bevel joins for sharp angles.",
21293                            requires: [{"line-join": "miter"}],
21294                            "sdk-support": {
21295                                "basic functionality": {
21296                                    js: "0.10.0",
21297                                    android: "2.0.1",
21298                                    ios: "2.0.0",
21299                                    macos: "0.1.0"
21300                                }
21301                            },
21302                            expression: {interpolated: !0, parameters: ["zoom"]},
21303                            "property-type": "data-constant"
21304                        },
21305                        "line-round-limit": {
21306                            type: "number",
21307                            default: 1.05,
21308                            doc: "Used to automatically convert round joins to miter joins for shallow angles.",
21309                            requires: [{"line-join": "round"}],
21310                            "sdk-support": {
21311                                "basic functionality": {
21312                                    js: "0.10.0",
21313                                    android: "2.0.1",
21314                                    ios: "2.0.0",
21315                                    macos: "0.1.0"
21316                                }
21317                            },
21318                            expression: {interpolated: !0, parameters: ["zoom"]},
21319                            "property-type": "data-constant"
21320                        },
21321                        "line-sort-key": {
21322                            type: "number",
21323                            doc: "Sorts features in ascending order based on this value. Features with a higher sort key will appear above features with a lower sort key.",
21324                            "sdk-support": {
21325                                "basic functionality": {
21326                                    js: "1.2.0",
21327                                    android: "9.1.0",
21328                                    ios: "5.8.0",
21329                                    macos: "0.15.0"
21330                                }, "data-driven styling": {js: "1.2.0", android: "9.1.0", ios: "5.8.0", macos: "0.15.0"}
21331                            },
21332                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21333                            "property-type": "data-driven"
21334                        },
21335                        visibility: {
21336                            type: "enum",
21337                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
21338                            default: "visible",
21339                            doc: "Whether this layer is displayed.",
21340                            "sdk-support": {
21341                                "basic functionality": {
21342                                    js: "0.10.0",
21343                                    android: "2.0.1",
21344                                    ios: "2.0.0",
21345                                    macos: "0.1.0"
21346                                }
21347                            },
21348                            "property-type": "constant"
21349                        }
21350                    },
21351                    layout_symbol: {
21352                        "symbol-placement": {
21353                            type: "enum",
21354                            values: {
21355                                point: {doc: "The label is placed at the point where the geometry is located."},
21356                                line: {doc: "The label is placed along the line of the geometry. Can only be used on `LineString` and `Polygon` geometries."},
21357                                "line-center": {doc: "The label is placed at the center of the line of the geometry. Can only be used on `LineString` and `Polygon` geometries. Note that a single feature in a vector tile may contain multiple line geometries."}
21358                            },
21359                            default: "point",
21360                            doc: "Label placement relative to its geometry.",
21361                            "sdk-support": {
21362                                "basic functionality": {
21363                                    js: "0.10.0",
21364                                    android: "2.0.1",
21365                                    ios: "2.0.0",
21366                                    macos: "0.1.0"
21367                                },
21368                                "`line-center` value": {js: "0.47.0", android: "6.4.0", ios: "4.3.0", macos: "0.10.0"}
21369                            },
21370                            expression: {interpolated: !1, parameters: ["zoom"]},
21371                            "property-type": "data-constant"
21372                        },
21373                        "symbol-spacing": {
21374                            type: "number",
21375                            default: 250,
21376                            minimum: 1,
21377                            units: "pixels",
21378                            doc: "Distance between two symbol anchors.",
21379                            requires: [{"symbol-placement": "line"}],
21380                            "sdk-support": {
21381                                "basic functionality": {
21382                                    js: "0.10.0",
21383                                    android: "2.0.1",
21384                                    ios: "2.0.0",
21385                                    macos: "0.1.0"
21386                                }
21387                            },
21388                            expression: {interpolated: !0, parameters: ["zoom"]},
21389                            "property-type": "data-constant"
21390                        },
21391                        "symbol-avoid-edges": {
21392                            type: "boolean",
21393                            default: !1,
21394                            doc: "If true, the symbols will not cross tile edges to avoid mutual collisions. Recommended in layers that don't have enough padding in the vector tile to prevent collisions, or if it is a point symbol layer placed after a line symbol layer. When using a client that supports global collision detection, like Mapbox GL JS version 0.42.0 or greater, enabling this property is not needed to prevent clipped labels at tile boundaries.",
21395                            "sdk-support": {
21396                                "basic functionality": {
21397                                    js: "0.10.0",
21398                                    android: "2.0.1",
21399                                    ios: "2.0.0",
21400                                    macos: "0.1.0"
21401                                }
21402                            },
21403                            expression: {interpolated: !1, parameters: ["zoom"]},
21404                            "property-type": "data-constant"
21405                        },
21406                        "symbol-sort-key": {
21407                            type: "number",
21408                            doc: "Sorts features in ascending order based on this value. Features with lower sort keys are drawn and placed first.  When `icon-allow-overlap` or `text-allow-overlap` is `false`, features with a lower sort key will have priority during placement. When `icon-allow-overlap` or `text-allow-overlap` is set to `true`, features with a higher sort key will overlap over features with a lower sort key.",
21409                            "sdk-support": {
21410                                "basic functionality": {
21411                                    js: "0.53.0",
21412                                    android: "7.4.0",
21413                                    ios: "4.11.0",
21414                                    macos: "0.14.0"
21415                                },
21416                                "data-driven styling": {js: "0.53.0", android: "7.4.0", ios: "4.11.0", macos: "0.14.0"}
21417                            },
21418                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21419                            "property-type": "data-driven"
21420                        },
21421                        "symbol-z-order": {
21422                            type: "enum",
21423                            values: {
21424                                auto: {doc: "Sorts symbols by `symbol-sort-key` if set. Otherwise, sorts symbols by their y-position relative to the viewport if `icon-allow-overlap` or `text-allow-overlap` is set to `true` or `icon-ignore-placement` or `text-ignore-placement` is `false`."},
21425                                "viewport-y": {doc: "Sorts symbols by their y-position relative to the viewport if `icon-allow-overlap` or `text-allow-overlap` is set to `true` or `icon-ignore-placement` or `text-ignore-placement` is `false`."},
21426                                source: {doc: "Sorts symbols by `symbol-sort-key` if set. Otherwise, no sorting is applied; symbols are rendered in the same order as the source data."}
21427                            },
21428                            default: "auto",
21429                            doc: "Determines whether overlapping symbols in the same layer are rendered in the order that they appear in the data source or by their y-position relative to the viewport. To control the order and prioritization of symbols otherwise, use `symbol-sort-key`.",
21430                            "sdk-support": {
21431                                "basic functionality": {
21432                                    js: "0.49.0",
21433                                    android: "6.6.0",
21434                                    ios: "4.5.0",
21435                                    macos: "0.12.0"
21436                                }
21437                            },
21438                            expression: {interpolated: !1, parameters: ["zoom"]},
21439                            "property-type": "data-constant"
21440                        },
21441                        "icon-allow-overlap": {
21442                            type: "boolean",
21443                            default: !1,
21444                            doc: "If true, the icon will be visible even if it collides with other previously drawn symbols.",
21445                            requires: ["icon-image"],
21446                            "sdk-support": {
21447                                "basic functionality": {
21448                                    js: "0.10.0",
21449                                    android: "2.0.1",
21450                                    ios: "2.0.0",
21451                                    macos: "0.1.0"
21452                                }
21453                            },
21454                            expression: {interpolated: !1, parameters: ["zoom"]},
21455                            "property-type": "data-constant"
21456                        },
21457                        "icon-ignore-placement": {
21458                            type: "boolean",
21459                            default: !1,
21460                            doc: "If true, other symbols can be visible even if they collide with the icon.",
21461                            requires: ["icon-image"],
21462                            "sdk-support": {
21463                                "basic functionality": {
21464                                    js: "0.10.0",
21465                                    android: "2.0.1",
21466                                    ios: "2.0.0",
21467                                    macos: "0.1.0"
21468                                }
21469                            },
21470                            expression: {interpolated: !1, parameters: ["zoom"]},
21471                            "property-type": "data-constant"
21472                        },
21473                        "icon-optional": {
21474                            type: "boolean",
21475                            default: !1,
21476                            doc: "If true, text will display without their corresponding icons when the icon collides with other symbols and the text does not.",
21477                            requires: ["icon-image", "text-field"],
21478                            "sdk-support": {
21479                                "basic functionality": {
21480                                    js: "0.10.0",
21481                                    android: "2.0.1",
21482                                    ios: "2.0.0",
21483                                    macos: "0.1.0"
21484                                }
21485                            },
21486                            expression: {interpolated: !1, parameters: ["zoom"]},
21487                            "property-type": "data-constant"
21488                        },
21489                        "icon-rotation-alignment": {
21490                            type: "enum",
21491                            values: {
21492                                map: {doc: "When `symbol-placement` is set to `point`, aligns icons east-west. When `symbol-placement` is set to `line` or `line-center`, aligns icon x-axes with the line."},
21493                                viewport: {doc: "Produces icons whose x-axes are aligned with the x-axis of the viewport, regardless of the value of `symbol-placement`."},
21494                                auto: {doc: "When `symbol-placement` is set to `point`, this is equivalent to `viewport`. When `symbol-placement` is set to `line` or `line-center`, this is equivalent to `map`."}
21495                            },
21496                            default: "auto",
21497                            doc: "In combination with `symbol-placement`, determines the rotation behavior of icons.",
21498                            requires: ["icon-image"],
21499                            "sdk-support": {
21500                                "basic functionality": {
21501                                    js: "0.10.0",
21502                                    android: "2.0.1",
21503                                    ios: "2.0.0",
21504                                    macos: "0.1.0"
21505                                }, "`auto` value": {js: "0.25.0", android: "4.2.0", ios: "3.4.0", macos: "0.3.0"}
21506                            },
21507                            expression: {interpolated: !1, parameters: ["zoom"]},
21508                            "property-type": "data-constant"
21509                        },
21510                        "icon-size": {
21511                            type: "number",
21512                            default: 1,
21513                            minimum: 0,
21514                            units: "factor of the original icon size",
21515                            doc: "Scales the original size of the icon by the provided factor. The new pixel size of the image will be the original pixel size multiplied by `icon-size`. 1 is the original size; 3 triples the size of the image.",
21516                            requires: ["icon-image"],
21517                            "sdk-support": {
21518                                "basic functionality": {
21519                                    js: "0.10.0",
21520                                    android: "2.0.1",
21521                                    ios: "2.0.0",
21522                                    macos: "0.1.0"
21523                                }, "data-driven styling": {js: "0.35.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
21524                            },
21525                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21526                            "property-type": "data-driven"
21527                        },
21528                        "icon-text-fit": {
21529                            type: "enum",
21530                            values: {
21531                                none: {doc: "The icon is displayed at its intrinsic aspect ratio."},
21532                                width: {doc: "The icon is scaled in the x-dimension to fit the width of the text."},
21533                                height: {doc: "The icon is scaled in the y-dimension to fit the height of the text."},
21534                                both: {doc: "The icon is scaled in both x- and y-dimensions."}
21535                            },
21536                            default: "none",
21537                            doc: "Scales the icon to fit around the associated text.",
21538                            requires: ["icon-image", "text-field"],
21539                            "sdk-support": {
21540                                "basic functionality": {
21541                                    js: "0.21.0",
21542                                    android: "4.2.0",
21543                                    ios: "3.4.0",
21544                                    macos: "0.2.1"
21545                                }, "stretchable icons": {js: "1.6.0", android: "9.2.0", ios: "5.8.0", macos: "0.15.0"}
21546                            },
21547                            expression: {interpolated: !1, parameters: ["zoom"]},
21548                            "property-type": "data-constant"
21549                        },
21550                        "icon-text-fit-padding": {
21551                            type: "array",
21552                            value: "number",
21553                            length: 4,
21554                            default: [0, 0, 0, 0],
21555                            units: "pixels",
21556                            doc: "Size of the additional area added to dimensions determined by `icon-text-fit`, in clockwise order: top, right, bottom, left.",
21557                            requires: ["icon-image", "text-field", {"icon-text-fit": ["both", "width", "height"]}],
21558                            "sdk-support": {
21559                                "basic functionality": {
21560                                    js: "0.21.0",
21561                                    android: "4.2.0",
21562                                    ios: "3.4.0",
21563                                    macos: "0.2.1"
21564                                }
21565                            },
21566                            expression: {interpolated: !0, parameters: ["zoom"]},
21567                            "property-type": "data-constant"
21568                        },
21569                        "icon-image": {
21570                            type: "resolvedImage",
21571                            doc: "Name of image in sprite to use for drawing an image background.",
21572                            tokens: !0,
21573                            "sdk-support": {
21574                                "basic functionality": {
21575                                    js: "0.10.0",
21576                                    android: "2.0.1",
21577                                    ios: "2.0.0",
21578                                    macos: "0.1.0"
21579                                }, "data-driven styling": {js: "0.35.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
21580                            },
21581                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21582                            "property-type": "data-driven"
21583                        },
21584                        "icon-rotate": {
21585                            type: "number",
21586                            default: 0,
21587                            period: 360,
21588                            units: "degrees",
21589                            doc: "Rotates the icon clockwise.",
21590                            requires: ["icon-image"],
21591                            "sdk-support": {
21592                                "basic functionality": {
21593                                    js: "0.10.0",
21594                                    android: "2.0.1",
21595                                    ios: "2.0.0",
21596                                    macos: "0.1.0"
21597                                }, "data-driven styling": {js: "0.21.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
21598                            },
21599                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21600                            "property-type": "data-driven"
21601                        },
21602                        "icon-padding": {
21603                            type: "number",
21604                            default: 2,
21605                            minimum: 0,
21606                            units: "pixels",
21607                            doc: "Size of the additional area around the icon bounding box used for detecting symbol collisions.",
21608                            requires: ["icon-image"],
21609                            "sdk-support": {
21610                                "basic functionality": {
21611                                    js: "0.10.0",
21612                                    android: "2.0.1",
21613                                    ios: "2.0.0",
21614                                    macos: "0.1.0"
21615                                }
21616                            },
21617                            expression: {interpolated: !0, parameters: ["zoom"]},
21618                            "property-type": "data-constant"
21619                        },
21620                        "icon-keep-upright": {
21621                            type: "boolean",
21622                            default: !1,
21623                            doc: "If true, the icon may be flipped to prevent it from being rendered upside-down.",
21624                            requires: ["icon-image", {"icon-rotation-alignment": "map"}, {"symbol-placement": ["line", "line-center"]}],
21625                            "sdk-support": {
21626                                "basic functionality": {
21627                                    js: "0.10.0",
21628                                    android: "2.0.1",
21629                                    ios: "2.0.0",
21630                                    macos: "0.1.0"
21631                                }
21632                            },
21633                            expression: {interpolated: !1, parameters: ["zoom"]},
21634                            "property-type": "data-constant"
21635                        },
21636                        "icon-offset": {
21637                            type: "array",
21638                            value: "number",
21639                            length: 2,
21640                            default: [0, 0],
21641                            doc: "Offset distance of icon from its anchor. Positive values indicate right and down, while negative values indicate left and up. Each component is multiplied by the value of `icon-size` to obtain the final offset in pixels. When combined with `icon-rotate` the offset will be as if the rotated direction was up.",
21642                            requires: ["icon-image"],
21643                            "sdk-support": {
21644                                "basic functionality": {
21645                                    js: "0.10.0",
21646                                    android: "2.0.1",
21647                                    ios: "2.0.0",
21648                                    macos: "0.1.0"
21649                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
21650                            },
21651                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21652                            "property-type": "data-driven"
21653                        },
21654                        "icon-anchor": {
21655                            type: "enum",
21656                            values: {
21657                                center: {doc: "The center of the icon is placed closest to the anchor."},
21658                                left: {doc: "The left side of the icon is placed closest to the anchor."},
21659                                right: {doc: "The right side of the icon is placed closest to the anchor."},
21660                                top: {doc: "The top of the icon is placed closest to the anchor."},
21661                                bottom: {doc: "The bottom of the icon is placed closest to the anchor."},
21662                                "top-left": {doc: "The top left corner of the icon is placed closest to the anchor."},
21663                                "top-right": {doc: "The top right corner of the icon is placed closest to the anchor."},
21664                                "bottom-left": {doc: "The bottom left corner of the icon is placed closest to the anchor."},
21665                                "bottom-right": {doc: "The bottom right corner of the icon is placed closest to the anchor."}
21666                            },
21667                            default: "center",
21668                            doc: "Part of the icon placed closest to the anchor.",
21669                            requires: ["icon-image"],
21670                            "sdk-support": {
21671                                "basic functionality": {
21672                                    js: "0.40.0",
21673                                    android: "5.2.0",
21674                                    ios: "3.7.0",
21675                                    macos: "0.6.0"
21676                                }, "data-driven styling": {js: "0.40.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
21677                            },
21678                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21679                            "property-type": "data-driven"
21680                        },
21681                        "icon-pitch-alignment": {
21682                            type: "enum",
21683                            values: {
21684                                map: {doc: "The icon is aligned to the plane of the map."},
21685                                viewport: {doc: "The icon is aligned to the plane of the viewport."},
21686                                auto: {doc: "Automatically matches the value of `icon-rotation-alignment`."}
21687                            },
21688                            default: "auto",
21689                            doc: "Orientation of icon when map is pitched.",
21690                            requires: ["icon-image"],
21691                            "sdk-support": {
21692                                "basic functionality": {
21693                                    js: "0.39.0",
21694                                    android: "5.2.0",
21695                                    ios: "3.7.0",
21696                                    macos: "0.6.0"
21697                                }
21698                            },
21699                            expression: {interpolated: !1, parameters: ["zoom"]},
21700                            "property-type": "data-constant"
21701                        },
21702                        "text-pitch-alignment": {
21703                            type: "enum",
21704                            values: {
21705                                map: {doc: "The text is aligned to the plane of the map."},
21706                                viewport: {doc: "The text is aligned to the plane of the viewport."},
21707                                auto: {doc: "Automatically matches the value of `text-rotation-alignment`."}
21708                            },
21709                            default: "auto",
21710                            doc: "Orientation of text when map is pitched.",
21711                            requires: ["text-field"],
21712                            "sdk-support": {
21713                                "basic functionality": {
21714                                    js: "0.21.0",
21715                                    android: "4.2.0",
21716                                    ios: "3.4.0",
21717                                    macos: "0.2.1"
21718                                }, "`auto` value": {js: "0.25.0", android: "4.2.0", ios: "3.4.0", macos: "0.3.0"}
21719                            },
21720                            expression: {interpolated: !1, parameters: ["zoom"]},
21721                            "property-type": "data-constant"
21722                        },
21723                        "text-rotation-alignment": {
21724                            type: "enum",
21725                            values: {
21726                                map: {doc: "When `symbol-placement` is set to `point`, aligns text east-west. When `symbol-placement` is set to `line` or `line-center`, aligns text x-axes with the line."},
21727                                viewport: {doc: "Produces glyphs whose x-axes are aligned with the x-axis of the viewport, regardless of the value of `symbol-placement`."},
21728                                auto: {doc: "When `symbol-placement` is set to `point`, this is equivalent to `viewport`. When `symbol-placement` is set to `line` or `line-center`, this is equivalent to `map`."}
21729                            },
21730                            default: "auto",
21731                            doc: "In combination with `symbol-placement`, determines the rotation behavior of the individual glyphs forming the text.",
21732                            requires: ["text-field"],
21733                            "sdk-support": {
21734                                "basic functionality": {
21735                                    js: "0.10.0",
21736                                    android: "2.0.1",
21737                                    ios: "2.0.0",
21738                                    macos: "0.1.0"
21739                                }, "`auto` value": {js: "0.25.0", android: "4.2.0", ios: "3.4.0", macos: "0.3.0"}
21740                            },
21741                            expression: {interpolated: !1, parameters: ["zoom"]},
21742                            "property-type": "data-constant"
21743                        },
21744                        "text-field": {
21745                            type: "formatted",
21746                            default: "",
21747                            tokens: !0,
21748                            doc: "Value to use for a text label. If a plain `string` is provided, it will be treated as a `formatted` with default/inherited formatting options.",
21749                            "sdk-support": {
21750                                "basic functionality": {
21751                                    js: "0.10.0",
21752                                    android: "2.0.1",
21753                                    ios: "2.0.0",
21754                                    macos: "0.1.0"
21755                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
21756                            },
21757                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21758                            "property-type": "data-driven"
21759                        },
21760                        "text-font": {
21761                            type: "array",
21762                            value: "string",
21763                            default: ["Open Sans Regular", "Arial Unicode MS Regular"],
21764                            doc: "Font stack to use for displaying text.",
21765                            requires: ["text-field"],
21766                            "sdk-support": {
21767                                "basic functionality": {
21768                                    js: "0.10.0",
21769                                    android: "2.0.1",
21770                                    ios: "2.0.0",
21771                                    macos: "0.1.0"
21772                                }, "data-driven styling": {js: "0.43.0", android: "6.0.0", ios: "4.0.0", macos: "0.7.0"}
21773                            },
21774                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21775                            "property-type": "data-driven"
21776                        },
21777                        "text-size": {
21778                            type: "number",
21779                            default: 16,
21780                            minimum: 0,
21781                            units: "pixels",
21782                            doc: "Font size.",
21783                            requires: ["text-field"],
21784                            "sdk-support": {
21785                                "basic functionality": {
21786                                    js: "0.10.0",
21787                                    android: "2.0.1",
21788                                    ios: "2.0.0",
21789                                    macos: "0.1.0"
21790                                }, "data-driven styling": {js: "0.35.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
21791                            },
21792                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21793                            "property-type": "data-driven"
21794                        },
21795                        "text-max-width": {
21796                            type: "number",
21797                            default: 10,
21798                            minimum: 0,
21799                            units: "ems",
21800                            doc: "The maximum line width for text wrapping.",
21801                            requires: ["text-field"],
21802                            "sdk-support": {
21803                                "basic functionality": {
21804                                    js: "0.10.0",
21805                                    android: "2.0.1",
21806                                    ios: "2.0.0",
21807                                    macos: "0.1.0"
21808                                }, "data-driven styling": {js: "0.40.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
21809                            },
21810                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21811                            "property-type": "data-driven"
21812                        },
21813                        "text-line-height": {
21814                            type: "number",
21815                            default: 1.2,
21816                            units: "ems",
21817                            doc: "Text leading value for multi-line text.",
21818                            requires: ["text-field"],
21819                            "sdk-support": {
21820                                "basic functionality": {
21821                                    js: "0.10.0",
21822                                    android: "2.0.1",
21823                                    ios: "2.0.0",
21824                                    macos: "0.1.0"
21825                                }, "data-driven styling": {js: "2.3.0"}
21826                            },
21827                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21828                            "property-type": "data-driven"
21829                        },
21830                        "text-letter-spacing": {
21831                            type: "number",
21832                            default: 0,
21833                            units: "ems",
21834                            doc: "Text tracking amount.",
21835                            requires: ["text-field"],
21836                            "sdk-support": {
21837                                "basic functionality": {
21838                                    js: "0.10.0",
21839                                    android: "2.0.1",
21840                                    ios: "2.0.0",
21841                                    macos: "0.1.0"
21842                                }, "data-driven styling": {js: "0.40.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
21843                            },
21844                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21845                            "property-type": "data-driven"
21846                        },
21847                        "text-justify": {
21848                            type: "enum",
21849                            values: {
21850                                auto: {doc: "The text is aligned towards the anchor position."},
21851                                left: {doc: "The text is aligned to the left."},
21852                                center: {doc: "The text is centered."},
21853                                right: {doc: "The text is aligned to the right."}
21854                            },
21855                            default: "center",
21856                            doc: "Text justification options.",
21857                            requires: ["text-field"],
21858                            "sdk-support": {
21859                                "basic functionality": {
21860                                    js: "0.10.0",
21861                                    android: "2.0.1",
21862                                    ios: "2.0.0",
21863                                    macos: "0.1.0"
21864                                },
21865                                "data-driven styling": {js: "0.39.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"},
21866                                auto: {js: "0.54.0", android: "7.4.0", ios: "4.10.0", macos: "0.14.0"}
21867                            },
21868                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21869                            "property-type": "data-driven"
21870                        },
21871                        "text-radial-offset": {
21872                            type: "number",
21873                            units: "ems",
21874                            default: 0,
21875                            doc: "Radial offset of text, in the direction of the symbol's anchor. Useful in combination with `text-variable-anchor`, which defaults to using the two-dimensional `text-offset` if present.",
21876                            "sdk-support": {
21877                                "basic functionality": {
21878                                    js: "0.54.0",
21879                                    android: "7.4.0",
21880                                    ios: "4.10.0",
21881                                    macos: "0.14.0"
21882                                },
21883                                "data-driven styling": {js: "0.54.0", android: "7.4.0", ios: "4.10.0", macos: "0.14.0"}
21884                            },
21885                            requires: ["text-field"],
21886                            "property-type": "data-driven",
21887                            expression: {interpolated: !0, parameters: ["zoom", "feature"]}
21888                        },
21889                        "text-variable-anchor": {
21890                            type: "array",
21891                            value: "enum",
21892                            values: {
21893                                center: {doc: "The center of the text is placed closest to the anchor."},
21894                                left: {doc: "The left side of the text is placed closest to the anchor."},
21895                                right: {doc: "The right side of the text is placed closest to the anchor."},
21896                                top: {doc: "The top of the text is placed closest to the anchor."},
21897                                bottom: {doc: "The bottom of the text is placed closest to the anchor."},
21898                                "top-left": {doc: "The top left corner of the text is placed closest to the anchor."},
21899                                "top-right": {doc: "The top right corner of the text is placed closest to the anchor."},
21900                                "bottom-left": {doc: "The bottom left corner of the text is placed closest to the anchor."},
21901                                "bottom-right": {doc: "The bottom right corner of the text is placed closest to the anchor."}
21902                            },
21903                            requires: ["text-field", {"symbol-placement": ["point"]}],
21904                            doc: "To increase the chance of placing high-priority labels on the map, you can provide an array of `text-anchor` locations: the renderer will attempt to place the label at each location, in order, before moving onto the next label. Use `text-justify: auto` to choose justification based on anchor position. To apply an offset, use the `text-radial-offset` or the two-dimensional `text-offset`.",
21905                            "sdk-support": {
21906                                "basic functionality": {
21907                                    js: "0.54.0",
21908                                    android: "7.4.0",
21909                                    ios: "4.10.0",
21910                                    macos: "0.14.0"
21911                                }
21912                            },
21913                            expression: {interpolated: !1, parameters: ["zoom"]},
21914                            "property-type": "data-constant"
21915                        },
21916                        "text-anchor": {
21917                            type: "enum",
21918                            values: {
21919                                center: {doc: "The center of the text is placed closest to the anchor."},
21920                                left: {doc: "The left side of the text is placed closest to the anchor."},
21921                                right: {doc: "The right side of the text is placed closest to the anchor."},
21922                                top: {doc: "The top of the text is placed closest to the anchor."},
21923                                bottom: {doc: "The bottom of the text is placed closest to the anchor."},
21924                                "top-left": {doc: "The top left corner of the text is placed closest to the anchor."},
21925                                "top-right": {doc: "The top right corner of the text is placed closest to the anchor."},
21926                                "bottom-left": {doc: "The bottom left corner of the text is placed closest to the anchor."},
21927                                "bottom-right": {doc: "The bottom right corner of the text is placed closest to the anchor."}
21928                            },
21929                            default: "center",
21930                            doc: "Part of the text placed closest to the anchor.",
21931                            requires: ["text-field", {"!": "text-variable-anchor"}],
21932                            "sdk-support": {
21933                                "basic functionality": {
21934                                    js: "0.10.0",
21935                                    android: "2.0.1",
21936                                    ios: "2.0.0",
21937                                    macos: "0.1.0"
21938                                }, "data-driven styling": {js: "0.39.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
21939                            },
21940                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
21941                            "property-type": "data-driven"
21942                        },
21943                        "text-max-angle": {
21944                            type: "number",
21945                            default: 45,
21946                            units: "degrees",
21947                            doc: "Maximum angle change between adjacent characters.",
21948                            requires: ["text-field", {"symbol-placement": ["line", "line-center"]}],
21949                            "sdk-support": {
21950                                "basic functionality": {
21951                                    js: "0.10.0",
21952                                    android: "2.0.1",
21953                                    ios: "2.0.0",
21954                                    macos: "0.1.0"
21955                                }
21956                            },
21957                            expression: {interpolated: !0, parameters: ["zoom"]},
21958                            "property-type": "data-constant"
21959                        },
21960                        "text-writing-mode": {
21961                            type: "array",
21962                            value: "enum",
21963                            values: {
21964                                horizontal: {doc: "If a text's language supports horizontal writing mode, symbols with point placement would be laid out horizontally."},
21965                                vertical: {doc: "If a text's language supports vertical writing mode, symbols with point placement would be laid out vertically."}
21966                            },
21967                            doc: "The property allows control over a symbol's orientation. Note that the property values act as a hint, so that a symbol whose language doesn’t support the provided orientation will be laid out in its natural orientation. Example: English point symbol will be rendered horizontally even if array value contains single 'vertical' enum value. The order of elements in an array define priority order for the placement of an orientation variant.",
21968                            requires: ["text-field", {"symbol-placement": ["point"]}],
21969                            "sdk-support": {
21970                                "basic functionality": {
21971                                    js: "1.3.0",
21972                                    android: "8.3.0",
21973                                    ios: "5.3.0",
21974                                    macos: "0.15.0"
21975                                }
21976                            },
21977                            expression: {interpolated: !1, parameters: ["zoom"]},
21978                            "property-type": "data-constant"
21979                        },
21980                        "text-rotate": {
21981                            type: "number",
21982                            default: 0,
21983                            period: 360,
21984                            units: "degrees",
21985                            doc: "Rotates the text clockwise.",
21986                            requires: ["text-field"],
21987                            "sdk-support": {
21988                                "basic functionality": {
21989                                    js: "0.10.0",
21990                                    android: "2.0.1",
21991                                    ios: "2.0.0",
21992                                    macos: "0.1.0"
21993                                }, "data-driven styling": {js: "0.35.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
21994                            },
21995                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
21996                            "property-type": "data-driven"
21997                        },
21998                        "text-padding": {
21999                            type: "number",
22000                            default: 2,
22001                            minimum: 0,
22002                            units: "pixels",
22003                            doc: "Size of the additional area around the text bounding box used for detecting symbol collisions.",
22004                            requires: ["text-field"],
22005                            "sdk-support": {
22006                                "basic functionality": {
22007                                    js: "0.10.0",
22008                                    android: "2.0.1",
22009                                    ios: "2.0.0",
22010                                    macos: "0.1.0"
22011                                }
22012                            },
22013                            expression: {interpolated: !0, parameters: ["zoom"]},
22014                            "property-type": "data-constant"
22015                        },
22016                        "text-keep-upright": {
22017                            type: "boolean",
22018                            default: !0,
22019                            doc: "If true, the text may be flipped vertically to prevent it from being rendered upside-down.",
22020                            requires: ["text-field", {"text-rotation-alignment": "map"}, {"symbol-placement": ["line", "line-center"]}],
22021                            "sdk-support": {
22022                                "basic functionality": {
22023                                    js: "0.10.0",
22024                                    android: "2.0.1",
22025                                    ios: "2.0.0",
22026                                    macos: "0.1.0"
22027                                }
22028                            },
22029                            expression: {interpolated: !1, parameters: ["zoom"]},
22030                            "property-type": "data-constant"
22031                        },
22032                        "text-transform": {
22033                            type: "enum",
22034                            values: {
22035                                none: {doc: "The text is not altered."},
22036                                uppercase: {doc: "Forces all letters to be displayed in uppercase."},
22037                                lowercase: {doc: "Forces all letters to be displayed in lowercase."}
22038                            },
22039                            default: "none",
22040                            doc: "Specifies how to capitalize text, similar to the CSS `text-transform` property.",
22041                            requires: ["text-field"],
22042                            "sdk-support": {
22043                                "basic functionality": {
22044                                    js: "0.10.0",
22045                                    android: "2.0.1",
22046                                    ios: "2.0.0",
22047                                    macos: "0.1.0"
22048                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
22049                            },
22050                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
22051                            "property-type": "data-driven"
22052                        },
22053                        "text-offset": {
22054                            type: "array",
22055                            doc: "Offset distance of text from its anchor. Positive values indicate right and down, while negative values indicate left and up. If used with text-variable-anchor, input values will be taken as absolute values. Offsets along the x- and y-axis will be applied automatically based on the anchor position.",
22056                            value: "number",
22057                            units: "ems",
22058                            length: 2,
22059                            default: [0, 0],
22060                            requires: ["text-field", {"!": "text-radial-offset"}],
22061                            "sdk-support": {
22062                                "basic functionality": {
22063                                    js: "0.10.0",
22064                                    android: "2.0.1",
22065                                    ios: "2.0.0",
22066                                    macos: "0.1.0"
22067                                }, "data-driven styling": {js: "0.35.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
22068                            },
22069                            expression: {interpolated: !0, parameters: ["zoom", "feature"]},
22070                            "property-type": "data-driven"
22071                        },
22072                        "text-allow-overlap": {
22073                            type: "boolean",
22074                            default: !1,
22075                            doc: "If true, the text will be visible even if it collides with other previously drawn symbols.",
22076                            requires: ["text-field"],
22077                            "sdk-support": {
22078                                "basic functionality": {
22079                                    js: "0.10.0",
22080                                    android: "2.0.1",
22081                                    ios: "2.0.0",
22082                                    macos: "0.1.0"
22083                                }
22084                            },
22085                            expression: {interpolated: !1, parameters: ["zoom"]},
22086                            "property-type": "data-constant"
22087                        },
22088                        "text-ignore-placement": {
22089                            type: "boolean",
22090                            default: !1,
22091                            doc: "If true, other symbols can be visible even if they collide with the text.",
22092                            requires: ["text-field"],
22093                            "sdk-support": {
22094                                "basic functionality": {
22095                                    js: "0.10.0",
22096                                    android: "2.0.1",
22097                                    ios: "2.0.0",
22098                                    macos: "0.1.0"
22099                                }
22100                            },
22101                            expression: {interpolated: !1, parameters: ["zoom"]},
22102                            "property-type": "data-constant"
22103                        },
22104                        "text-optional": {
22105                            type: "boolean",
22106                            default: !1,
22107                            doc: "If true, icons will display without their corresponding text when the text collides with other symbols and the icon does not.",
22108                            requires: ["text-field", "icon-image"],
22109                            "sdk-support": {
22110                                "basic functionality": {
22111                                    js: "0.10.0",
22112                                    android: "2.0.1",
22113                                    ios: "2.0.0",
22114                                    macos: "0.1.0"
22115                                }
22116                            },
22117                            expression: {interpolated: !1, parameters: ["zoom"]},
22118                            "property-type": "data-constant"
22119                        },
22120                        visibility: {
22121                            type: "enum",
22122                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
22123                            default: "visible",
22124                            doc: "Whether this layer is displayed.",
22125                            "sdk-support": {
22126                                "basic functionality": {
22127                                    js: "0.10.0",
22128                                    android: "2.0.1",
22129                                    ios: "2.0.0",
22130                                    macos: "0.1.0"
22131                                }
22132                            },
22133                            "property-type": "constant"
22134                        }
22135                    },
22136                    layout_raster: {
22137                        visibility: {
22138                            type: "enum",
22139                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
22140                            default: "visible",
22141                            doc: "Whether this layer is displayed.",
22142                            "sdk-support": {
22143                                "basic functionality": {
22144                                    js: "0.10.0",
22145                                    android: "2.0.1",
22146                                    ios: "2.0.0",
22147                                    macos: "0.1.0"
22148                                }
22149                            },
22150                            "property-type": "constant"
22151                        }
22152                    },
22153                    layout_hillshade: {
22154                        visibility: {
22155                            type: "enum",
22156                            values: {visible: {doc: "The layer is shown."}, none: {doc: "The layer is not shown."}},
22157                            default: "visible",
22158                            doc: "Whether this layer is displayed.",
22159                            "sdk-support": {
22160                                "basic functionality": {
22161                                    js: "0.43.0",
22162                                    android: "6.0.0",
22163                                    ios: "4.0.0",
22164                                    macos: "0.7.0"
22165                                }
22166                            },
22167                            "property-type": "constant"
22168                        }
22169                    },
22170                    filter: {type: "array", value: "*", doc: "A filter selects specific features from a layer."},
22171                    filter_operator: {
22172                        type: "enum",
22173                        values: {
22174                            "==": {doc: '`["==", key, value]` equality: `feature[key] = value`'},
22175                            "!=": {doc: '`["!=", key, value]` inequality: `feature[key] ≠ value`'},
22176                            ">": {doc: '`[">", key, value]` greater than: `feature[key] > value`'},
22177                            ">=": {doc: '`[">=", key, value]` greater than or equal: `feature[key] ≥ value`'},
22178                            "<": {doc: '`["<", key, value]` less than: `feature[key] < value`'},
22179                            "<=": {doc: '`["<=", key, value]` less than or equal: `feature[key] ≤ value`'},
22180                            in: {doc: '`["in", key, v0, ..., vn]` set inclusion: `feature[key] ∈ {v0, ..., vn}`'},
22181                            "!in": {doc: '`["!in", key, v0, ..., vn]` set exclusion: `feature[key] ∉ {v0, ..., vn}`'},
22182                            all: {doc: '`["all", f0, ..., fn]` logical `AND`: `f0 ∧ ... ∧ fn`'},
22183                            any: {doc: '`["any", f0, ..., fn]` logical `OR`: `f0 ∨ ... ∨ fn`'},
22184                            none: {doc: '`["none", f0, ..., fn]` logical `NOR`: `¬f0 ∧ ... ∧ ¬fn`'},
22185                            has: {doc: '`["has", key]` `feature[key]` exists'},
22186                            "!has": {doc: '`["!has", key]` `feature[key]` does not exist'},
22187                            within: {doc: '`["within", object]` feature geometry is within object geometry'}
22188                        },
22189                        doc: "The filter operator."
22190                    },
22191                    geometry_type: {
22192                        type: "enum",
22193                        values: {
22194                            Point: {doc: "Filter to point geometries."},
22195                            LineString: {doc: "Filter to line geometries."},
22196                            Polygon: {doc: "Filter to polygon geometries."}
22197                        },
22198                        doc: "The geometry type for the filter to select."
22199                    },
22200                    function: {
22201                        expression: {type: "expression", doc: "An expression."},
22202                        stops: {type: "array", doc: "An array of stops.", value: "function_stop"},
22203                        base: {
22204                            type: "number",
22205                            default: 1,
22206                            minimum: 0,
22207                            doc: "The exponential base of the interpolation curve. It controls the rate at which the result increases. Higher values make the result increase more towards the high end of the range. With `1` the stops are interpolated linearly."
22208                        },
22209                        property: {
22210                            type: "string",
22211                            doc: "The name of a feature property to use as the function input.",
22212                            default: "$zoom"
22213                        },
22214                        type: {
22215                            type: "enum",
22216                            values: {
22217                                identity: {doc: "Return the input value as the output value."},
22218                                exponential: {doc: "Generate an output by interpolating between stops just less than and just greater than the function input."},
22219                                interval: {doc: "Return the output value of the stop just less than the function input."},
22220                                categorical: {doc: "Return the output value of the stop equal to the function input."}
22221                            },
22222                            doc: "The interpolation strategy to use in function evaluation.",
22223                            default: "exponential"
22224                        },
22225                        colorSpace: {
22226                            type: "enum",
22227                            values: {
22228                                rgb: {doc: "Use the RGB color space to interpolate color values"},
22229                                lab: {doc: "Use the LAB color space to interpolate color values."},
22230                                hcl: {doc: "Use the HCL color space to interpolate color values, interpolating the Hue, Chroma, and Luminance channels individually."}
22231                            },
22232                            doc: "The color space in which colors interpolated. Interpolating colors in perceptual color spaces like LAB and HCL tend to produce color ramps that look more consistent and produce colors that can be differentiated more easily than those interpolated in RGB space.",
22233                            default: "rgb"
22234                        },
22235                        default: {
22236                            type: "*",
22237                            required: !1,
22238                            doc: "A value to serve as a fallback function result when a value isn't otherwise available. It is used in the following circumstances:\n* In categorical functions, when the feature value does not match any of the stop domain values.\
22238n* In property and zoom-and-property functions, when a feature does not contain a value for the specified property.\n* In identity functions, when the feature value is not valid for the style property (for example, if the function is being used for a `circle-color` property but the feature property value is not a string or not a valid color).\n* In interval or exponential property and zoom-and-property functions, when the feature value is not numeric.\nIf no default is provided, the style property's default is used in these circumstances."
22239                        }
22240                    },
22241                    function_stop: {
22242                        type: "array",
22243                        minimum: 0,
22244                        maximum: 24,
22245                        value: ["number", "color"],
22246                        length: 2,
22247                        doc: "Zoom level and value pair."
22248                    },
22249                    expression: {
22250                        type: "array",
22251                        value: "*",
22252                        minimum: 1,
22253                        doc: "An expression defines a function that can be used for data-driven style properties or feature filters."
22254                    },
22255                    expression_name: {
22256                        doc: "", type: "enum", values: {
22257                            let: {
22258                                doc: 'Binds expressions to named variables, which can then be referenced in the result expression using ["var", "variable_name"].',
22259                                group: "Variable binding",
22260                                "sdk-support": {
22261                                    "basic functionality": {
22262                                        js: "0.41.0",
22263                                        android: "6.0.0",
22264                                        ios: "4.0.0",
22265                                        macos: "0.7.0"
22266                                    }
22267                                }
22268                            },
22269                            var: {
22270                                doc: 'References variable bound using "let".',
22271                                group: "Variable binding",
22272                                "sdk-support": {
22273                                    "basic functionality": {
22274                                        js: "0.41.0",
22275                                        android: "6.0.0",
22276                                        ios: "4.0.0",
22277                                        macos: "0.7.0"
22278                                    }
22279                                }
22280                            },
22281                            literal: {
22282                                doc: "Provides a literal array or object value.",
22283                                group: "Types",
22284                                "sdk-support": {
22285                                    "basic functionality": {
22286                                        js: "0.41.0",
22287                                        android: "6.0.0",
22288                                        ios: "4.0.0",
22289                                        macos: "0.7.0"
22290                                    }
22291                                }
22292                            },
22293                            array: {
22294                                doc: "Asserts that the input is an array (optionally with a specific item type and length).  If, when the input expression is evaluated, it is not of the asserted type, then this assertion will cause the whole expression to be aborted.",
22295                                group: "Types",
22296                                "sdk-support": {
22297                                    "basic functionality": {
22298                                        js: "0.41.0",
22299                                        android: "6.0.0",
22300                                        ios: "4.0.0",
22301                                        macos: "0.7.0"
22302                                    }
22303                                }
22304                            },
22305                            at: {
22306                                doc: "Retrieves an item from an array.",
22307                                group: "Lookup",
22308                                "sdk-support": {
22309                                    "basic functionality": {
22310                                        js: "0.41.0",
22311                                        android: "6.0.0",
22312                                        ios: "4.0.0",
22313                                        macos: "0.7.0"
22314                                    }
22315                                }
22316                            },
22317                            in: {
22318                                doc: "Determines whether an item exists in an array or a substring exists in a string.",
22319                                group: "Lookup",
22320                                "sdk-support": {
22321                                    "basic functionality": {
22322                                        js: "1.6.0",
22323                                        android: "9.1.0",
22324                                        ios: "5.8.0",
22325                                        macos: "0.15.0"
22326                                    }
22327                                }
22328                            },
22329                            "index-of": {
22330                                doc: "Returns the first position at which an item can be found in an array or a substring can be found in a string, or `-1` if the input cannot be found. Accepts an optional index from where to begin the search.",
22331                                group: "Lookup",
22332                                "sdk-support": {"basic functionality": {js: "1.10.0"}}
22333                            },
22334                            slice: {
22335                                doc: "Returns an item from an array or a substring from a string from a specified start index, or between a start index and an end index if set. The return value is inclusive of the start index but not of the end index.",
22336                                group: "Lookup",
22337                                "sdk-support": {"basic functionality": {js: "1.10.0"}}
22338                            },
22339                            case: {
22340                                doc: "Selects the first output whose corresponding test condition evaluates to true, or the fallback value otherwise.",
22341                                group: "Decision",
22342                                "sdk-support": {
22343                                    "basic functionality": {
22344                                        js: "0.41.0",
22345                                        android: "6.0.0",
22346                                        ios: "4.0.0",
22347                                        macos: "0.7.0"
22348                                    }
22349                                }
22350                            },
22351                            match: {
22352                                doc: 'Selects the output for which the label value matches the input value, or the fallback value if no match is found. The input can be any expression (for example, `["get", "building_type"]`). Each label must be unique, and must be either:\n - a single literal value; or\n - an array of literal values, the values of which must be all strings or all numbers (for example `[100, 101]` or `["c", "b"]`).\n\nThe input matches if any of the values in the array matches using strict equality, similar to the `"in"` operator.\nIf the input type does not match the type of the labels, the result will be the fallback value.',
22353                                group: "Decision",
22354                                "sdk-support": {
22355                                    "basic functionality": {
22356                                        js: "0.41.0",
22357                                        android: "6.0.0",
22358                                        ios: "4.0.0",
22359                                        macos: "0.7.0"
22360                                    }
22361                                }
22362                            },
22363                            coalesce: {
22364                                doc: "Evaluates each expression in turn until the first non-null value is obtained, and returns that value.",
22365                                group: "Decision",
22366                                "sdk-support": {
22367                                    "basic functionality": {
22368                                        js: "0.41.0",
22369                                        android: "6.0.0",
22370                                        ios: "4.0.0",
22371                                        macos: "0.7.0"
22372                                    }
22373                                }
22374                            },
22375                            step: {
22376                                doc: 'Produces discrete, stepped results by evaluating a piecewise-constant function defined by pairs of input and output values ("stops"). The `input` may be any numeric expression (e.g., `["get", "population"]`). Stop input
22376s must be numeric literals in strictly ascending order. Returns the output value of the stop just less than the input, or the first output if the input is less than the first stop.',
22377                                group: "Ramps, scales, curves",
22378                                "sdk-support": {
22379                                    "basic functionality": {
22380                                        js: "0.42.0",
22381                                        android: "6.0.0",
22382                                        ios: "4.0.0",
22383                                        macos: "0.7.0"
22384                                    }
22385                                }
22386                            },
22387                            interpolate: {
22388                                doc: 'Produces continuous, smooth results by interpolating between pairs of input and output values ("stops"). The `input` may be any numeric expression (e.g., `["get", "population"]`). Stop inputs must be numeric literals in strictly ascending order. The output type must be `number`, `array<number>`, or `color`.\n\nInterpolation types:\n- `["linear"]`: Interpolates linearly between the pair of stops just less than and just greater than the input.\n- `["exponential", base]`: Interpolates exponentially between the stops just less than and just greater than the input. `base` controls the rate at which the output increases: higher values make the output increase more towards the high end of the range. With values close to 1 the output increases linearly.\n- `["cubic-bezier", x1, y1, x2, y2]`: Interpolates using the cubic bezier curve defined by the given control points.',
22389                                group: "Ramps, scales, curves",
22390                                "sdk-support": {
22391                                    "basic functionality": {
22392                                        js: "0.42.0",
22393                                        android: "6.0.0",
22394                                        ios: "4.0.0",
22395                                        macos: "0.7.0"
22396                                    }
22397                                }
22398                            },
22399                            "interpolate-hcl": {
22400                                doc: 'Produces continuous, smooth results by interpolating between pairs of input and output values ("stops"). Works like `interpolate`, but the output type must be `color`, and the interpolation is performed in the Hue-Chroma-Luminance color space.',
22401                                group: "Ramps, scales, curves",
22402                                "sdk-support": {"basic functionality": {js: "0.49.0"}}
22403                            },
22404                            "interpolate-lab": {
22405                                doc: 'Produces continuous, smooth results by interpolating between pairs of input and output values ("stops"). Works like `interpolate`, but the output type must be `color`, and the interpolation is performed in the CIELAB color space.',
22406                                group: "Ramps, scales, curves",
22407                                "sdk-support": {"basic functionality": {js: "0.49.0"}}
22408                            },
22409                            ln2: {
22410                                doc: "Returns mathematical constant ln(2).",
22411                                group: "Math",
22412                                "sdk-support": {
22413                                    "basic functionality": {
22414                                        js: "0.41.0",
22415                                        android: "6.0.0",
22416                                        ios: "4.0.0",
22417                                        macos: "0.7.0"
22418                                    }
22419                                }
22420                            },
22421                            pi: {
22422                                doc: "Returns the mathematical constant pi.",
22423                                group: "Math",
22424                                "sdk-support": {
22425                                    "basic functionality": {
22426                                        js: "0.41.0",
22427                                        android: "6.0.0",
22428                                        ios: "4.0.0",
22429                                        macos: "0.7.0"
22430                                    }
22431                                }
22432                            },
22433                            e: {
22434                                doc: "Returns the mathematical constant e.",
22435                                group: "Math",
22436                                "sdk-support": {
22437                                    "basic functionality": {
22438                                        js: "0.41.0",
22439                                        android: "6.0.0",
22440                                        ios: "4.0.0",
22441                                        macos: "0.7.0"
22442                                    }
22443                                }
22444                            },
22445                            typeof: {
22446                                doc: "Returns a string describing the type of the given value.",
22447                                group: "Types",
22448                                "sdk-support": {
22449                                    "basic functionality": {
22450                                        js: "0.41.0",
22451                                        android: "6.0.0",
22452                                        ios: "4.0.0",
22453                                        macos: "0.7.0"
22454                                    }
22455                                }
22456                            },
22457                            string: {
22458                                doc: "Asserts that the input value is a string. If multiple values are provided, each one is evaluated in order until a string is obtained. If none of the inputs are strings, the expression is an error.",
22459                                group: "Types",
22460                                "sdk-support": {
22461                                    "basic functionality": {
22462                                        js: "0.41.0",
22463                                        android: "6.0.0",
22464                                        ios: "4.0.0",
22465                                        macos: "0.7.0"
22466                                    }
22467                                }
22468                            },
22469                            number: {
22470                                doc: "Asserts that the input value is a number. If multiple values are provided, each one is evaluated in order until a number is obtained. If none of the inputs are numbers, the expression is an error.",
22471                                group: "Types",
22472                                "sdk-support": {
22473                                    "basic functionality": {
22474                                        js: "0.41.0",
22475                                        android: "6.0.0",
22476                                        ios: "4.0.0",
22477                                        macos: "0.7.0"
22478                                    }
22479                                }
22480                            },
22481                            boolean: {
22482                                doc: "Asserts that the input value is a boolean. If multiple values are provided, each one is evaluated in order until a boolean is obtained. If none of the inputs are booleans, the expression is an error.",
22483                                group: "Types",
22484                                "sdk-support": {
22485                                    "basic functionality": {
22486                                        js: "0.41.0",
22487                                        android: "6.0.0",
22488                                        ios: "4.0.0",
22489                                        macos: "0.7.0"
22490                                    }
22491                                }
22492                            },
22493                            object: {
22494                                doc: "Asserts that the input value is an object. If multiple values are provided, each one is evaluated in order until an object is obtained. If none of the inputs are objects, the expression is an error.",
22495                                group: "Types",
22496                                "sdk-support": {
22497                                    "basic functionality": {
22498                                        js: "0.41.0",
22499                                        android: "6.0.0",
22500                                        ios: "4.0.0",
22501                                        macos: "0.7.0"
22502                                    }
22503                                }
22504                            },
22505                            collator: {
22506                                doc: "Returns a `collator` for use in locale-dependent comparison operations. The `case-sensitive` and `diacritic-sensitive` options default to `false`. The `locale` argument specifies the IETF language tag of the locale to use. If none is provided, the default locale is used. If the requested locale is not available, the `collator` will use a system-defined fallback locale. Use `resolved-locale` to test the results of locale fallback behavior.",
22507                                group: "Types",
22508                                "sdk-support": {
22509                                    "basic functionality": {
22510                                        js: "0.45.0",
22511                                        android: "6.5.0",
22512                                        ios: "4.2.0",
22513                                        macos: "0.9.0"
22514                                    }
22515                                }
22516                            },
22517                            format: {
22518                                doc: 'Returns a `formatted` string for displaying mixed-format text in the `text-field` property. The input may contain a string literal or expression, including an [`\'image\'`](#types-image) expression. Strings may be followed by a style override object that supports the following properties:\n- `"text-font"`: Overrides the font stack specified by the root layout property.\n- `"text-color"`: Overrides the color specified by the root paint property.\n- `"font-scale"`: Applies a scaling factor on `text-size` as specified by the root layout property.',
22519                                group: "Types",
22520                                "sdk-support": {
22521                                    "basic functionality": {
22522                                        js: "0.48.0",
22523                                        android: "6.7.0",
22524                                        ios: "4.6.0",
22525                                        macos: "0.12.0"
22526                                    },
22527                                    "text-font": {js: "0.48.0", android: "6.7.0", ios: "4.6.0", macos: "0.12.0"},
22528                                    "font-scale": {js: "0.48.0", android: "6.7.0", ios: "4.6.0", macos: "0.12.0"},
22529                                    "text-color": {js: "1.3.0", android: "7.3.0", ios: "4.10.0", macos: "0.14.0"},
22530                                    image: {js: "1.6.0", android: "8.6.0", ios: "5.7.0", macos: "0.15.0"}
22531                                }
22532                            },
22533                            image: {
22534                                doc: "Returns an `image` type for use in `icon-image`, `*-pattern` entries and as a section in the `format` expression. If set, the `image` argument will check that the requested image exists in the style and will return either the resolved 
22534image name or `null`, depending on whether or not the image is currently in the style. This validation process is synchronous and requires the image to have been added to the style before requesting it in the `image` argument.",
22535                                group: "Types",
22536                                "sdk-support": {
22537                                    "basic functionality": {
22538                                        js: "1.4.0",
22539                                        android: "8.6.0",
22540                                        ios: "5.7.0",
22541                                        macos: "0.15.0"
22542                                    }
22543                                }
22544                            },
22545                            "number-format": {
22546                                doc: "Converts the input number into a string representation using the providing formatting rules. If set, the `locale` argument specifies the locale to use, as a BCP 47 language tag. If set, the `currency` argument specifies an ISO 4217 code to use for currency-style formatting. If set, the `min-fraction-digits` and `max-fraction-digits` arguments specify the minimum and maximum number of fractional digits to include.",
22547                                group: "Types",
22548                                "sdk-support": {"basic functionality": {js: "0.54.0"}}
22549                            },
22550                            "to-string": {
22551                                doc: 'Converts the input value to a string. If the input is `null`, the result is `""`. If the input is a boolean, the result is `"true"` or `"false"`. If the input is a number, it is converted to a string as specified by the ["NumberToString" algorithm](https://tc39.github.io/ecma262/#sec-tostring-applied-to-the-number-type) of the ECMAScript Language Specification. If the input is a color, it is converted to a string of the form `"rgba(r,g,b,a)"`, where `r`, `g`, and `b` are numerals ranging from 0 to 255, and `a` ranges from 0 to 1. Otherwise, the input is converted to a string in the format specified by the [`JSON.stringify`](https://tc39.github.io/ecma262/#sec-json.stringify) function of the ECMAScript Language Specification.',
22552                                group: "Types",
22553                                "sdk-support": {
22554                                    "basic functionality": {
22555                                        js: "0.41.0",
22556                                        android: "6.0.0",
22557                                        ios: "4.0.0",
22558                                        macos: "0.7.0"
22559                                    }
22560                                }
22561                            },
22562                            "to-number": {
22563                                doc: 'Converts the input value to a number, if possible. If the input is `null` or `false`, the result is 0. If the input is `true`, the result is 1. If the input is a string, it is converted to a number as specified by the ["ToNumber Applied to the String Type" algorithm](https://tc39.github.io/ecma262/#sec-tonumber-applied-to-the-string-type) of the ECMAScript Language Specification. If multiple values are provided, each one is evaluated in order until the first successful conversion is obtained. If none of the inputs can be converted, the expression is an error.',
22564                                group: "Types",
22565                                "sdk-support": {
22566                                    "basic functionality": {
22567                                        js: "0.41.0",
22568                                        android: "6.0.0",
22569                                        ios: "4.0.0",
22570                                        macos: "0.7.0"
22571                                    }
22572                                }
22573                            },
22574                            "to-boolean": {
22575                                doc: "Converts the input value to a boolean. The result is `false` when then input is an empty string, 0, `false`, `null`, or `NaN`; otherwise it is `true`.",
22576                                group: "Types",
22577                                "sdk-support": {
22578                                    "basic functionality": {
22579                                        js: "0.41.0",
22580                                        android: "6.0.0",
22581                                        ios: "4.0.0",
22582                                        macos: "0.7.0"
22583                                    }
22584                                }
22585                            },
22586                            "to-rgba": {
22587                                doc: "Returns a four-element array containing the input color's red, green, blue, and alpha components, in that order.",
22588                                group: "Color",
22589                                "sdk-support": {
22590                                    "basic functionality": {
22591                                        js: "0.41.0",
22592                                        android: "6.0.0",
22593                                        ios: "4.0.0",
22594                                        macos: "0.7.0"
22595                                    }
22596                                }
22597                            },
22598                            "to-color": {
22599                                doc: "Converts the input value to a color. If multiple values are provided, each one is evaluated in order until the first successful conversion is obtained. If none of the inputs can be converted, the expression is an error.",
22600                                group: "Types",
22601                                "sdk-support": {
22602                                    "basic functionality": {
22603                                        js: "0.41.0",
22604                                        android: "6.0.0",
22605                                        ios: "4.0.0",
22606                                        macos: "0.7.0"
22607                                    }
22608                                }
22609                            },
22610                            rgb: {
22611                                doc: "Creates a color value from red, green, and blue components, which must range between 0 and 255, and an alpha component of 1. If any component is out of range, the expression is an error.",
22612                                group: "Color",
22613                                "sdk-support": {
22614                                    "basic functionality": {
22615                                        js: "0.41.0",
22616                                        android: "6.0.0",
22617                                        ios: "4.0.0",
22618                                        macos: "0.7.0"
22619                                    }
22620                                }
22621                            },
22622                            rgba: {
22623                                doc: "Creates a color value from red, green, blue components, which must range between 0 and 255, and an alpha component which must range between 0 and 1. If any component is out of range, the expression is an error.",
22624                                group: "Color",
22625                                "sdk-support": {
22626                                    "basic functionality": {
22627                                        js: "0.41.0",
22628                                        android: "6.0.0",
22629                                        ios: "4.0.0",
22630                                        macos: "0.7.0"
22631                                    }
22632                                }
22633                            },
22634                            get: {
22635                                doc: "Retrieves a property value from the current feature's properties, or from another object if a second argument is provided. Returns null if the requested property is missing.",
22636                                group: "Lookup",
22637                                "sdk-support": {
22638                                    "basic functionality": {
22639                                        js: "0.41.0",
22640                                        android: "6.0.0",
22641                                        ios: "4.0.0",
22642                                        macos: "0.7.0"
22643                                    }
22644                                }
22645                            },
22646                            has: {
22647                                doc: "Tests for the presence of an property value in the current feature's properties, or from another object if a second argument is provided.",
22648                                group: "Lookup",
22649                                "sdk-support": {
22650                                    "basic functionality": {
22651                                        js: "0.41.0",
22652                                        android: "6.0.0",
22653                                        ios: "4.0.0",
22654                                        macos: "0.7.0"
22655                                    }
22656                                }
22657                            },
22658                            length: {
22659                                doc: "Gets the length of an array or string.",
22660                                group: "Lookup",
22661                                "sdk-support": {
22662                                    "basic functionality": {
22663                                        js: "0.41.0",
22664                                        android: "6.0.0",
22665                                        ios: "4.0.0",
22666                                        macos: "0.7.0"
22667                                    }
22668                                }
22669                            },
22670                            properties: {
22671                                doc: 'Gets the feature properties object.  Note that in some cases, it may be more efficient to use ["get", "property_name"] directly.',
22672                                group: "Feature data",
22673                                "sdk-support": {
22674                                    "basic functionality": {
22675                                        js: "0.41.0",
22676                                        android: "6.0.0",
22677                                        ios: "4.0.0",
22678                                        macos: "0.7.0"
22679                                    }
22680                                }
22681                            },
22682                            "feature-state": {
22683                                doc: "Retrieves a property value from the current feature's state. Returns null if the requested property is not present on the feature's state. A feature's state is not part of the GeoJSON or vector tile data, and must be set programmatically on each feature. Features are identified by their `id` attribute, which must be an integer or a string that can be cast to an integer. Note that [\"feature-state\"] can only be used with paint properties that support data-driven styling.",
22684                                group: "Feature data",
22685                                "sdk-support": {"basic functionality": {js: "0.46.0"}}
22686                            },
22687                            "geometry-type": {
22688                                doc: "Gets the feature's geometry type: `Point`, `MultiPoint`, `LineString`, `MultiLineString`, `Polygon`, `MultiPolygon`.",
22689                                group: "Feature data",
22690                                "sdk-support": {
22691                                    "basic functionality": {
22692                                        js: "0.41.0",
22693                                        android: "6.0.0",
22694                                        ios: "4.0.0",
22695                                        macos: "0.7.0"
22696                                    }
22697                                }
22698                            },
22699                            id: {
22700                                doc: "Gets the feature's id, if it has one.",
22701                                group: "Feature data",
22702                                "sdk-support": {
22703                                    "basic functionality": {
22704                                        js: "0.41.0",
22705                                        android: "6.0.0",
22706                                        ios: "4.0.0",
22707                                        macos: "0.7.0"
22708                                    }
22709                                }
22710                            },
22711                            zoom: {
22712                                doc: 'Gets the current zoom level.  Note that in style layout and paint properties, ["zoom"] may only appear as the input to a top-level "step" or "interpolate" expression.',
22713                                group: "Zoom",
22714                                "sdk-support": {
22715                                    "basic functionality": {
22716                                        js: "0.41.0",
22717                                        android: "6.0.0",
22718                                        ios: "4.0.0",
22719                                        macos: "0.7.0"
22720                                    }
22721                                }
22722                            },
22723                            "heatmap-density": {
22724                                doc: "Gets the kernel density estimation of a pixel in a heatmap layer, which is a relative measure of how many data points are crowded around a particular pixel. Can only be used in the `heatmap-color` property.",
22725                                group: "Heatmap",
22726                                "sdk-support": {
22727                                    "basic functionality": {
22728                                        js: "0.41.0",
22729                                        android: "6.0.0",
22730                                        ios: "4.0.0",
22731                                        macos: "0.7.0"
22732                                    }
22733                                }
22734                            },
22735                            "line-progress": {
22736                                doc: "Gets the progress along a gradient line. Can only be used in the `line-gradient` property.",
22737                                group: "Feature data",
22738                                "sdk-support": {
22739                                    "basic functionality": {
22740                                        js: "0.45.0",
22741                                        android: "6.5.0",
22742                                        ios: "4.6.0",
22743                                        macos: "0.12.0"
22744                                    }
22745                                }
22746                            },
22747                            "sky-radial-progress": {
22748                                doc: "Gets the distance of a point on the sky from the sun position. Returns 0 at sun position and 1 when the distance reaches `sky-gradient-radius`. C
22748an only be used in the `sky-gradient` property.",
22749                                group: "sky",
22750                                "sdk-support": {"basic functionality": {js: "2.0.0"}}
22751                            },
22752                            accumulated: {
22753                                doc: "Gets the value of a cluster property accumulated so far. Can only be used in the `clusterProperties` option of a clustered GeoJSON source.",
22754                                group: "Feature data",
22755                                "sdk-support": {"basic functionality": {js: "0.53.0"}}
22756                            },
22757                            "+": {
22758                                doc: "Returns the sum of the inputs.",
22759                                group: "Math",
22760                                "sdk-support": {
22761                                    "basic functionality": {
22762                                        js: "0.41.0",
22763                                        android: "6.0.0",
22764                                        ios: "4.0.0",
22765                                        macos: "0.7.0"
22766                                    }
22767                                }
22768                            },
22769                            "*": {
22770                                doc: "Returns the product of the inputs.",
22771                                group: "Math",
22772                                "sdk-support": {
22773                                    "basic functionality": {
22774                                        js: "0.41.0",
22775                                        android: "6.0.0",
22776                                        ios: "4.0.0",
22777                                        macos: "0.7.0"
22778                                    }
22779                                }
22780                            },
22781                            "-": {
22782                                doc: "For two inputs, returns the result of subtracting the second input from the first. For a single input, returns the result of subtracting it from 0.",
22783                                group: "Math",
22784                                "sdk-support": {
22785                                    "basic functionality": {
22786                                        js: "0.41.0",
22787                                        android: "6.0.0",
22788                                        ios: "4.0.0",
22789                                        macos: "0.7.0"
22790                                    }
22791                                }
22792                            },
22793                            "/": {
22794                                doc: "Returns the result of floating point division of the first input by the second.",
22795                                group: "Math",
22796                                "sdk-support": {
22797                                    "basic functionality": {
22798                                        js: "0.41.0",
22799                                        android: "6.0.0",
22800                                        ios: "4.0.0",
22801                                        macos: "0.7.0"
22802                                    }
22803                                }
22804                            },
22805                            "%": {
22806                                doc: "Returns the remainder after integer division of the first input by the second.",
22807                                group: "Math",
22808                                "sdk-support": {
22809                                    "basic functionality": {
22810                                        js: "0.41.0",
22811                                        android: "6.0.0",
22812                                        ios: "4.0.0",
22813                                        macos: "0.7.0"
22814                                    }
22815                                }
22816                            },
22817                            "^": {
22818                                doc: "Returns the result of raising the first input to the power specified by the second.",
22819                                group: "Math",
22820                                "sdk-support": {
22821                                    "basic functionality": {
22822                                        js: "0.41.0",
22823                                        android: "6.0.0",
22824                                        ios: "4.0.0",
22825                                        macos: "0.7.0"
22826                                    }
22827                                }
22828                            },
22829                            sqrt: {
22830                                doc: "Returns the square root of the input.",
22831                                group: "Math",
22832                                "sdk-support": {
22833                                    "basic functionality": {
22834                                        js: "0.42.0",
22835                                        android: "6.0.0",
22836                                        ios: "4.0.0",
22837                                        macos: "0.7.0"
22838                                    }
22839                                }
22840                            },
22841                            log10: {
22842                                doc: "Returns the base-ten logarithm of the input.",
22843                                group: "Math",
22844                                "sdk-support": {
22845                                    "basic functionality": {
22846                                        js: "0.41.0",
22847                                        android: "6.0.0",
22848                                        ios: "4.0.0",
22849                                        macos: "0.7.0"
22850                                    }
22851                                }
22852                            },
22853                            ln: {
22854                                doc: "Returns the natural logarithm of the input.",
22855                                group: "Math",
22856                                "sdk-support": {
22857                                    "basic functionality": {
22858                                        js: "0.41.0",
22859                                        android: "6.0.0",
22860                                        ios: "4.0.0",
22861                                        macos: "0.7.0"
22862                                    }
22863                                }
22864                            },
22865                            log2: {
22866                                doc: "Returns the base-two logarithm of the input.",
22867                                group: "Math",
22868                                "sdk-support": {
22869                                    "basic functionality": {
22870                                        js: "0.41.0",
22871                                        android: "6.0.0",
22872                                        ios: "4.0.0",
22873                                        macos: "0.7.0"
22874                                    }
22875                                }
22876                            },
22877                            sin: {
22878                                doc: "Returns the sine of the input.",
22879                                group: "Math",
22880                                "sdk-support": {
22881                                    "basic functionality": {
22882                                        js: "0.41.0",
22883                                        android: "6.0.0",
22884                                        ios: "4.0.0",
22885                                        macos: "0.7.0"
22886                                    }
22887                                }
22888                            },
22889                            cos: {
22890                                doc: "Returns the cosine of the input.",
22891                                group: "Math",
22892                                "sdk-support": {
22893                                    "basic functionality": {
22894                                        js: "0.41.0",
22895                                        android: "6.0.0",
22896                                        ios: "4.0.0",
22897                                        macos: "0.7.0"
22898                                    }
22899                                }
22900                            },
22901                            tan: {
22902                                doc: "Returns the tangent of the input.",
22903                                group: "Math",
22904                                "sdk-support": {
22905                                    "basic functionality": {
22906                                        js: "0.41.0",
22907                                        android: "6.0.0",
22908                                        ios: "4.0.0",
22909                                        macos: "0.7.0"
22910                                    }
22911                                }
22912                            },
22913                            asin: {
22914                                doc: "Returns the arcsine of the input.",
22915                                group: "Math",
22916                                "sdk-support": {
22917                                    "basic functionality": {
22918                                        js: "0.41.0",
22919                                        android: "6.0.0",
22920                                        ios: "4.0.0",
22921                                        macos: "0.7.0"
22922                                    }
22923                                }
22924                            },
22925                            acos: {
22926                                doc: "Returns the arccosine of the input.",
22927                                group: "Math",
22928                                "sdk-support": {
22929                                    "basic functionality": {
22930                                        js: "0.41.0",
22931                                        android: "6.0.0",
22932                                        ios: "4.0.0",
22933                                        macos: "0.7.0"
22934                                    }
22935                                }
22936                            },
22937                            atan: {
22938                                doc: "Returns the arctangent of the input.",
22939                                group: "Math",
22940                                "sdk-support": {
22941                                    "basic functionality": {
22942                                        js: "0.41.0",
22943                                        android: "6.0.0",
22944                                        ios: "4.0.0",
22945                                        macos: "0.7.0"
22946                                    }
22947                                }
22948                            },
22949                            min: {
22950                                doc: "Returns the minimum value of the inputs.",
22951                                group: "Math",
22952                                "sdk-support": {
22953                                    "basic functionality": {
22954                                        js: "0.41.0",
22955                                        android: "6.0.0",
22956                                        ios: "4.0.0",
22957                                        macos: "0.7.0"
22958                                    }
22959                                }
22960                            },
22961                            max: {
22962                                doc: "Returns the maximum value of the inputs.",
22963                                group: "Math",
22964                                "sdk-support": {
22965                                    "basic functionality": {
22966                                        js: "0.41.0",
22967                                        android: "6.0.0",
22968                                        ios: "4.0.0",
22969                                        macos: "0.7.0"
22970                                    }
22971                                }
22972                            },
22973                            round: {
22974                                doc: 'Rounds the input to the nearest integer. Half
22974way values are rounded away from zero. For example, `["round", -1.5]` evaluates to -2.',
22975                                group: "Math",
22976                                "sdk-support": {
22977                                    "basic functionality": {
22978                                        js: "0.45.0",
22979                                        android: "6.0.0",
22980                                        ios: "4.0.0",
22981                                        macos: "0.7.0"
22982                                    }
22983                                }
22984                            },
22985                            abs: {
22986                                doc: "Returns the absolute value of the input.",
22987                                group: "Math",
22988                                "sdk-support": {
22989                                    "basic functionality": {
22990                                        js: "0.45.0",
22991                                        android: "6.0.0",
22992                                        ios: "4.0.0",
22993                                        macos: "0.7.0"
22994                                    }
22995                                }
22996                            },
22997                            ceil: {
22998                                doc: "Returns the smallest integer that is greater than or equal to the input.",
22999                                group: "Math",
23000                                "sdk-support": {
23001                                    "basic functionality": {
23002                                        js: "0.45.0",
23003                                        android: "6.0.0",
23004                                        ios: "4.0.0",
23005                                        macos: "0.7.0"
23006                                    }
23007                                }
23008                            },
23009                            floor: {
23010                                doc: "Returns the largest integer that is less than or equal to the input.",
23011                                group: "Math",
23012                                "sdk-support": {
23013                                    "basic functionality": {
23014                                        js: "0.45.0",
23015                                        android: "6.0.0",
23016                                        ios: "4.0.0",
23017                                        macos: "0.7.0"
23018                                    }
23019                                }
23020                            },
23021                            distance: {
23022                                doc: "Returns the shortest distance in meters between the evaluated feature and the input geometry. The input value can be a valid GeoJSON of type `Point`, `MultiPoint`, `LineString`, `MultiLineString`, `Polygon`, `MultiPolygon`, `Feature`, or `FeatureCollection`. Distance values returned may vary in precision due to loss in precision from encoding geometries, particularly below zoom level 13.",
23023                                group: "Math",
23024                                "sdk-support": {
23025                                    "basic functionality": {
23026                                        android: "9.2.0",
23027                                        ios: "5.9.0",
23028                                        macos: "0.16.0"
23029                                    }
23030                                }
23031                            },
23032                            "==": {
23033                                doc: "Returns `true` if the input values are equal, `false` otherwise. The comparison is strictly typed: values of different runtime types are always considered unequal. Cases where the types are known to be different at parse time are considered invali
vendor: 99,966 bytes, lines 23033-24725
23033d and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23034                                group: "Decision",
23035                                "sdk-support": {
23036                                    "basic functionality": {
23037                                        js: "0.41.0",
23038                                        android: "6.0.0",
23039                                        ios: "4.0.0",
23040                                        macos: "0.7.0"
23041                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23042                                }
23043                            },
23044                            "!=": {
23045                                doc: "Returns `true` if the input values are not equal, `false` otherwise. The comparison is strictly typed: values of different runtime types are always considered unequal. Cases where the types are known to be different at parse time are considered invalid and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23046                                group: "Decision",
23047                                "sdk-support": {
23048                                    "basic functionality": {
23049                                        js: "0.41.0",
23050                                        android: "6.0.0",
23051                                        ios: "4.0.0",
23052                                        macos: "0.7.0"
23053                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23054                                }
23055                            },
23056                            ">": {
23057                                doc: "Returns `true` if the first input is strictly greater than the second, `false` otherwise. The arguments are required to be either both strings or both numbers; if during evaluation they are not, expression evaluation produces an error. Cases where this constraint is known not to hold at parse time are considered in valid and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23058                                group: "Decision",
23059                                "sdk-support": {
23060                                    "basic functionality": {
23061                                        js: "0.41.0",
23062                                        android: "6.0.0",
23063                                        ios: "4.0.0",
23064                                        macos: "0.7.0"
23065                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23066                                }
23067                            },
23068                            "<": {
23069                                doc: "Returns `true` if the first input is strictly less than the second, `false` otherwise. The arguments are required to be either both strings or both numbers; if during evaluation they are not, expression evaluation produces an error. Cases where this constraint is known not to hold at parse time are considered in valid and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23070                                group: "Decision",
23071                                "sdk-support": {
23072                                    "basic functionality": {
23073                                        js: "0.41.0",
23074                                        android: "6.0.0",
23075                                        ios: "4.0.0",
23076                                        macos: "0.7.0"
23077                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23078                                }
23079                            },
23080                            ">=": {
23081                                doc: "Returns `true` if the first input is greater than or equal to the second, `false` otherwise. The arguments are required to be either both strings or both numbers; if during evaluation they are not, expression evaluation produces an error. Cases where this constraint is known not to hold at parse time are considered in valid and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23082                                group: "Decision",
23083                                "sdk-support": {
23084                                    "basic functionality": {
23085                                        js: "0.41.0",
23086                                        android: "6.0.0",
23087                                        ios: "4.0.0",
23088                                        macos: "0.7.0"
23089                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23090                                }
23091                            },
23092                            "<=": {
23093                                doc: "Returns `true` if the first input is less than or equal to the second, `false` otherwise. The arguments are required to be either both strings or both numbers; if during evaluation they are not, expression evaluation produces an error. Cases where this constraint is known not to hold at parse time are considered in valid and will produce a parse error. Accepts an optional `collator` argument to control locale-dependent string comparisons.",
23094                                group: "Decision",
23095                                "sdk-support": {
23096                                    "basic functionality": {
23097                                        js: "0.41.0",
23098                                        android: "6.0.0",
23099                                        ios: "4.0.0",
23100                                        macos: "0.7.0"
23101                                    }, collator: {js: "0.45.0", android: "6.5.0", ios: "4.2.0", macos: "0.9.0"}
23102                                }
23103                            },
23104                            all: {
23105                                doc: "Returns `true` if all the inputs are `true`, `false` otherwise. The inputs are evaluated in order, and evaluation is short-circuiting: once an input expression evaluates to `false`, the result is `false` and no further input expressions are evaluated.",
23106                                group: "Decision",
23107                                "sdk-support": {
23108                                    "basic functionality": {
23109                                        js: "0.41.0",
23110                                        android: "6.0.0",
23111                                        ios: "4.0.0",
23112                                        macos: "0.7.0"
23113                                    }
23114                                }
23115                            },
23116                            any: {
23117                                doc: "Returns `true` if any of the inputs are `true`, `false` otherwise. The inputs are evaluated in order, and evaluation is short-circuiting: once an input expression evaluates to `true`, the result is `true` and no further input expressions are evaluated.",
23118                                group: "Decision",
23119                                "sdk-support": {
23120                                    "basic functionality": {
23121                                        js: "0.41.0",
23122                                        android: "6.0.0",
23123                                        ios: "4.0.0",
23124                                        macos: "0.7.0"
23125                                    }
23126                                }
23127                            },
23128                            "!": {
23129                                doc: "Logical negation. Returns `true` if the input is `false`, and `false` if the input is `true`.",
23130                                group: "Decision",
23131                                "sdk-support": {
23132                                    "basic functionality": {
23133                                        js: "0.41.0",
23134                                        android: "6.0.0",
23135                                        ios: "4.0.0",
23136                                        macos: "0.7.0"
23137                                    }
23138                                }
23139                            },
23140                            within: {
23141                                doc: "Returns `true` if the evaluated feature is fully contained inside a boundary of the input geometry, `false` otherwise. The input value can be a valid GeoJSON of type `Polygon`, `MultiPolygon`, `Feature`, or `FeatureCollection`. Supported features for evaluation:\n- `Point`: Returns `false` if a point is on the boundary or falls outside the boundary.\n- `LineString`: Returns `false` if any part of a line falls outside the boundary, the line intersects the boundary, or a line's endpoint is on the boundary.",
23142                                group: "Decision",
23143                                "sdk-support": {
23144                                    "basic functionality": {
23145                                        js: "1.9.0",
23146                                        android: "9.1.0",
23147                                        ios: "5.8.0",
23148                                        macos: "0.15.0"
23149                                    }
23150                                }
23151                            },
23152                            "is-supported-script": {
23153                                doc: "Returns `true` if the input string is expected to render legibly. Returns `false` if the input string contains sections that cannot be rendered without potential loss of meaning (e.g. Indic scripts that require complex text shaping, or right-to-left scripts if the the `mapbox-gl-rtl-text` plugin is not in use in Mapbox GL JS).",
23154                                group: "String",
23155                                "sdk-support": {"basic functionality": {js: "0.45.0", android: "6.6.0"}}
23156                            },
23157                            upcase: {
23158                                doc: "Returns the input string converted to uppercase. Follows the Unicode Default Case Conversion algorithm and the locale-insensitive case mappings in the Unicode Character Database.",
23159                                group: "String",
23160                                "sdk-support": {
23161                                    "basic functionality": {
23162                                        js: "0.41.0",
23163                                        android: "6.0.0",
23164                                        ios: "4.0.0",
23165                                        macos: "0.7.0"
23166                                    }
23167                                }
23168                            },
23169                            downcase: {
23170                                doc: "Returns the input string converted to lowercase. Follows the Unicode Default Case Conversion algorithm and the locale-insensitive case mappings in the Unicode Character Database.",
23171                                group: "String",
23172                                "sdk-support": {
23173                                    "basic functionality": {
23174                                        js: "0.41.0",
23175                                        android: "6.0.0",
23176                                        ios: "4.0.0",
23177                                        macos: "0.7.0"
23178                                    }
23179                                }
23180                            },
23181                            concat: {
23182                                doc: "Returns a `string` consisting of the concatenation of the inputs. Each input is converted to a string as if by `to-string`.",
23183                                group: "String",
23184                                "sdk-support": {
23185                                    "basic functionality": {
23186                                        js: "0.41.0",
23187                                        android: "6.0.0",
23188                                        ios: "4.0.0",
23189                                        macos: "0.7.0"
23190                                    }
23191                                }
23192                            },
23193                            "resolved-locale": {
23194                                doc: "Returns the IETF language tag of the locale being used by the provided `collator`. This can be used to determine the default system locale, or to determine if a requested locale was successfully loaded.",
23195                                group: "String",
23196                                "sdk-support": {
23197                                    "basic functionality": {
23198                                        js: "0.45.0",
23199                                        android: "6.5.0",
23200                                        ios: "4.2.0",
23201                                        macos: "0.9.0"
23202                                    }
23203                                }
23204                            }
23205                        }
23206                    },
23207                    fog: {
23208                        range: {
23209                            type: "array",
23210                            default: [.5, 10],
23211                            minimum: -20,
23212                            maximum: 20,
23213                            length: 2,
23214                            value: "number",
23215                            "property-type": "data-constant",
23216                            transition: !0,
23217                            expression: {interpolated: !0, parameters: ["zoom"]},
23218                            doc: "The start and end distance range in which fog fades from fully transparent to fully opaque. The distance to the point at the center of the map is defined as zero, so that negative range values are closer to the camera, and positive values are farther away.",
23219                            example: [.5, 10],
23220                            "sdk-support": {"basic functionality": {js: "2.3.0"}}
23221                        },
23222                        color: {
23223                            type: "color",
23224                            "property-type": "data-constant",
23225                            default: "#ffffff",
23226                            expression: {interpolated: !0, parameters: ["zoom"]},
23227                            transition: !0,
23228                            doc: "The color of the fog. Using opacity is recommended only for smoothly transitioning fog on/off as anything less than 100% opacity results in more tiles loaded and drawn.",
23229                            "sdk-support": {"basic functionality": {js: "2.3.0"}}
23230                        },
23231                        "horizon-blend": {
23232                            type: "number",
23233                            "property-type": "data-constant",
23234                            default: .1,
23235                            minimum: 0,
23236                            maximum: 1,
23237                            expression: {interpolated: !0, parameters: ["zoom"]},
23238                            transition: !0,
23239                            doc: "Horizon blend applies a smooth fade from the color of the fog to the color of the sky. A value of zero leaves a sharp transition from fog to sky. Increasing the value blends the color of fog into increasingly high angles of the sky.",
23240                            "sdk-support": {"basic functionality": {js: "2.3.0"}}
23241                        }
23242                    },
23243                    light: {
23244                        anchor: {
23245                            type: "enum",
23246                            default: "viewport",
23247                            values: {
23248                                map: {doc: "The position of the light source is aligned to the rotation of the map."},
23249                                viewport: {doc: "The position of the light source is aligned to the rotation of the viewport."}
23250                            },
23251                            "property-type": "data-constant",
23252                            transition: !1,
23253                            expression: {interpolated: !1, parameters: ["zoom"]},
23254                            doc: "Whether extruded geometries are lit relative to the map or viewport.",
23255                            example: "map",
23256                            "sdk-support": {
23257                                "basic functionality": {
23258                                    js: "0.27.0",
23259                                    android: "5.1.0",
23260                                    ios: "3.6.0",
23261                                    macos: "0.5.0"
23262                                }
23263                            }
23264                        },
23265                        position: {
23266                            type: "array",
23267                            default: [1.15, 210, 30],
23268                            length: 3,
23269                            value: "number",
23270                            "property-type": "data-constant",
23271                            transition: !0,
23272                            expression: {interpolated: !0, parameters: ["zoom"]},
23273                            doc: "Position of the light source relative to lit (extruded) geometries, in [r radial coordinate, a azimuthal angle, p polar angle] where r indicates the distance from the center of the base of an object to its light, a indicates the position of the light relative to 0° (0° when `light.anchor` is set to `viewport` corresponds to the top of the viewport, or 0° when `light.anchor` is set to `map` corresponds to due north, and degrees proceed clockwise), and p indicates the height of the light (from 0°, directly above, to 180°, directly below).",
23274                            example: [1.5, 90, 80],
23275                            "sdk-support": {
23276                                "basic functionality": {
23277                                    js: "0.27.0",
23278                                    android: "5.1.0",
23279                                    ios: "3.6.0",
23280                                    macos: "0.5.0"
23281                                }
23282                            }
23283                        },
23284                        color: {
23285                            type: "color",
23286                            "property-type": "data-constant",
23287                            default: "#ffffff",
23288                            expression: {interpolated: !0, parameters: ["zoom"]},
23289                            transition: !0,
23290                            doc: "Color tint for lighting extruded geometries.",
23291                            "sdk-support": {
23292                                "basic functionality": {
23293                                    js: "0.27.0",
23294                                    android: "5.1.0",
23295                                    ios: "3.6.0",
23296                                    macos: "0.5.0"
23297                                }
23298                            }
23299                        },
23300                        intensity: {
23301                            type: "number",
23302                            "property-type": "data-constant",
23303                            default: .5,
23304                            minimum: 0,
23305                            maximum: 1,
23306                            expression: {interpolated: !0, parameters: ["zoom"]},
23307                            transition: !0,
23308                            doc: "Intensity of lighting (on a scale from 0 to 1). Higher numbers will present as more extreme contrast.",
23309                            "sdk-support": {
23310                                "basic functionality": {
23311                                    js: "0.27.0",
23312                                    android: "5.1.0",
23313                                    ios: "3.6.0",
23314                                    macos: "0.5.0"
23315                                }
23316                            }
23317                        }
23318                    },
23319                    terrain: {
23320                        source: {
23321                            type: "string",
23322                            doc: "Name of a source of `raster_dem` type to be used for terrain elevation.",
23323                            required: !0,
23324                            "sdk-support": {"basic functionality": {js: "2.0.0"}}
23325                        },
23326                        exaggeration: {
23327                            type: "number",
23328                            "property-type": "data-constant",
23329                            default: 1,
23330                            minimum: 0,
23331                            maximum: 1e3,
23332                            expression: {interpolated: !0, parameters: ["zoom"]},
23333                            transition: !0,
23334                            doc: "Exaggerates the elevation of the terrain by multiplying the data from the DEM with this value.",
23335                            "sdk-support": {"basic functionality": {js: "2.0.0"}}
23336                        }
23337                    },
23338                    paint: ["paint_fill", "paint_line", "paint_circle", "paint_heatmap", "paint_fill-extrusion", "paint_symbol", "paint_raster", "paint_hillshade", "paint_background", "paint_sky"],
23339                    paint_fill: {
23340                        "fill-antialias": {
23341                            type: "boolean",
23342                            default: !0,
23343                            doc: "Whether or not the fill should be antialiased.",
23344                            "sdk-support": {
23345                                "basic functionality": {
23346                                    js: "0.10.0",
23347                                    android: "2.0.1",
23348                                    ios: "2.0.0",
23349                                    macos: "0.1.0"
23350                                }
23351                            },
23352                            expression: {interpolated: !1, parameters: ["zoom"]},
23353                            "property-type": "data-constant"
23354                        },
23355                        "fill-opacity": {
23356                            type: "number",
23357                            default: 1,
23358                            minimum: 0,
23359                            maximum: 1,
23360                            doc: "The opacity of the entire fill layer. In contrast to the `fill-color`, this value will also affect the 1px stroke around the fill, if the stroke is used.",
23361                            transition: !0,
23362                            "sdk-support": {
23363                                "basic functionality": {
23364                                    js: "0.10.0",
23365                                    android: "2.0.1",
23366                                    ios: "2.0.0",
23367                                    macos: "0.1.0"
23368                                }, "data-driven styling": {js: "0.21.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23369                            },
23370                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23371                            "property-type": "data-driven"
23372                        },
23373                        "fill-color": {
23374                            type: "color",
23375                            default: "#000000",
23376                            doc: "The color of the filled part of this layer. This color can be specified as `rgba` with an alpha component and the color's opacity will not affect the opacity of the 1px stroke, if it is used.",
23377                            transition: !0,
23378                            requires: [{"!": "fill-pattern"}],
23379                            "sdk-support": {
23380                                "basic functionality": {
23381                                    js: "0.10.0",
23382                                    android: "2.0.1",
23383                                    ios: "2.0.0",
23384                                    macos: "0.1.0"
23385                                }, "data-driven styling": {js: "0.19.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23386                            },
23387                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23388                            "property-type": "data-driven"
23389                        },
23390                        "fill-outline-color": {
23391                            type: "color",
23392                            doc: "The outline color of the fill. Matches the value of `fill-color` if unspecified.",
23393                            transition: !0,
23394                            requires: [{"!": "fill-pattern"}, {"fill-antialias": !0}],
23395                            "sdk-support": {
23396                                "basic functionality": {
23397                                    js: "0.10.0",
23398                                    android: "2.0.1",
23399                                    ios: "2.0.0",
23400                                    macos: "0.1.0"
23401                                }, "data-driven styling": {js: "0.19.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23402                            },
23403                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23404                            "property-type": "data-driven"
23405                        },
23406                        "fill-translate": {
23407                            type: "array",
23408                            value: "number",
23409                            length: 2,
23410                            default: [0, 0],
23411                            transition: !0,
23412                            units: "pixels",
23413                            doc: "The geometry's offset. Values are [x, y] where negatives indicate left and up, respectively.",
23414                            "sdk-support": {
23415                                "basic functionality": {
23416                                    js: "0.10.0",
23417                                    android: "2.0.1",
23418                                    ios: "2.0.0",
23419                                    macos: "0.1.0"
23420                                }
23421                            },
23422                            expression: {interpolated: !0, parameters: ["zoom"]},
23423                            "property-type": "data-constant"
23424                        },
23425                        "fill-translate-anchor": {
23426                            type: "enum",
23427                            values: {
23428                                map: {doc: "The fill is translated relative to the map."},
23429                                viewport: {doc: "The fill is translated relative to the viewport."}
23430                            },
23431                            doc: "Controls the frame of reference for `fill-translate`.",
23432                            default: "map",
23433                            requires: ["fill-translate"],
23434                            "sdk-support": {
23435                                "basic functionality": {
23436                                    js: "0.10.0",
23437                                    android: "2.0.1",
23438                                    ios: "2.0.0",
23439                                    macos: "0.1.0"
23440                                }
23441                            },
23442                            expression: {interpolated: !1, parameters: ["zoom"]},
23443                            "property-type": "data-constant"
23444                        },
23445                        "fill-pattern": {
23446                            type: "resolvedImage",
23447                            transition: !0,
23448                            doc: "Name of image in sprite to use for drawing image fills. For seamless patterns, image width and height must be a factor of two (2, 4, 8, ..., 512). Note that zoom-dependent expressions will be evaluated only at integer zoom levels.",
23449                            "sdk-support": {
23450                                "basic functionality": {
23451                                    js: "0.10.0",
23452                                    android: "2.0.1",
23453                                    ios: "2.0.0",
23454                                    macos: "0.1.0"
23455                                },
23456                                "data-driven styling": {js: "0.49.0", android: "6.5.0", macos: "0.11.0", ios: "4.4.0"}
23457                            },
23458                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
23459                            "property-type": "cross-faded-data-driven"
23460                        }
23461                    },
23462                    "paint_fill-extrusion": {
23463                        "fill-extrusion-opacity": {
23464                            type: "number",
23465                            default: 1,
23466                            minimum: 0,
23467                            maximum: 1,
23468                            doc: "The opacity of the entire fill extrusion layer. This is rendered on a per-layer, not per-feature, basis, and data-driven styling is not available.",
23469                            transition: !0,
23470                            "sdk-support": {
23471                                "basic functionality": {
23472                                    js: "0.27.0",
23473                                    android: "5.1.0",
23474                                    ios: "3.6.0",
23475                                    macos: "0.5.0"
23476                                }
23477                            },
23478                            expression: {interpolated: !0, parameters: ["zoom"]},
23479                            "property-type": "data-constant"
23480                        },
23481                        "fill-extrusion-color": {
23482                            type: "color",
23483                            default: "#000000",
23484                            doc: "The base color of the extruded fill. The extrusion's surfaces will be shaded differently based on this color in combination with the root `light` settings. If this color is specified as `rgba` with an alpha component, the alpha component will be ignored; use `fill-extrusion-opacity` to set layer opacity.",
23485                            transition: !0,
23486                            requires: [{"!": "fill-extrusion-pattern"}],
23487                            "sdk-support": {
23488                                "basic functionality": {
23489                                    js: "0.27.0",
23490                                    android: "5.1.0",
23491                                    ios: "3.6.0",
23492                                    macos: "0.5.0"
23493                                }, "data-driven styling": {js: "0.27.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
23494                            },
23495                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23496                            "property-type": "data-driven"
23497                        },
23498                        "fill-extrusion-translate": {
23499                            type: "array",
23500                            value: "number",
23501                            length: 2,
23502                            default: [0, 0],
23503                            transition: !0,
23504                            units: "pixels",
23505                            doc: "The geometry's offset. Values are [x, y] where negatives indicate left and up (on the flat plane), respectively.",
23506                            "sdk-support": {
23507                                "basic functionality": {
23508                                    js: "0.27.0",
23509                                    android: "5.1.0",
23510                                    ios: "3.6.0",
23511                                    macos: "0.5.0"
23512                                }
23513                            },
23514                            expression: {interpolated: !0, parameters: ["zoom"]},
23515                            "property-type": "data-constant"
23516                        },
23517                        "fill-extrusion-translate-anchor": {
23518                            type: "enum",
23519                            values: {
23520                                map: {doc: "The fill extrusion is translated relative to the map."},
23521                                viewport: {doc: "The fill extrusion is translated relative to the viewport."}
23522                            },
23523                            doc: "Controls the frame of reference for `fill-extrusion-translate`.",
23524                            default: "map",
23525                            requires: ["fill-extrusion-translate"],
23526                            "sdk-support": {
23527                                "basic functionality": {
23528                                    js: "0.27.0",
23529                                    android: "5.1.0",
23530                                    ios: "3.6.0",
23531                                    macos: "0.5.0"
23532                                }
23533                            },
23534                            expression: {interpolated: !1, parameters: ["zoom"]},
23535                            "property-type": "data-constant"
23536                        },
23537                        "fill-extrusion-pattern": {
23538                            type: "resolvedImage",
23539                            transition: !0,
23540                            doc: "Name of image in sprite to use for drawing images on extruded fills. For seamless patterns, image width and height must be a factor of two (2, 4, 8, ..., 512). Note that zoom-dependent expressions will be evaluated only at integer zoom levels.",
23541                            "sdk-support": {
23542                                "basic functionality": {
23543                                    js: "0.27.0",
23544                                    android: "5.1.0",
23545                                    ios: "3.6.0",
23546                                    macos: "0.5.0"
23547                                },
23548                                "data-driven styling": {js: "0.49.0", android: "6.5.0", macos: "0.11.0", ios: "4.4.0"}
23549                            },
23550                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
23551                            "property-type": "cross-faded-data-driven"
23552                        },
23553                        "fill-extrusion-height": {
23554                            type: "number",
23555                            default: 0,
23556                            minimum: 0,
23557                            units: "meters",
23558                            doc: "The height with which to extrude this layer.",
23559                            transition: !0,
23560                            "sdk-support": {
23561                                "basic functionality": {
23562                                    js: "0.27.0",
23563                                    android: "5.1.0",
23564                                    ios: "3.6.0",
23565                                    macos: "0.5.0"
23566                                }, "data-driven styling": {js: "0.27.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
23567                            },
23568                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23569                            "property-type": "data-driven"
23570                        },
23571                        "fill-extrusion-base": {
23572                            type: "number",
23573                            default: 0,
23574                            minimum: 0,
23575                            units: "meters",
23576                            doc: "The height with which to extrude the base of this layer. Must be less than or equal to `fill-extrusion-height`.",
23577                            transition: !0,
23578                            requires: ["fill-extrusion-height"],
23579                            "sdk-support": {
23580                                "basic functionality": {
23581                                    js: "0.27.0",
23582                                    android: "5.1.0",
23583                                    ios: "3.6.0",
23584                                    macos: "0.5.0"
23585                                }, "data-driven styling": {js: "0.27.0", android: "5.1.0", ios: "3.6.0", macos: "0.5.0"}
23586                            },
23587                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23588                            "property-type": "data-driven"
23589                        },
23590                        "fill-extrusion-vertical-gradient": {
23591                            type: "boolean",
23592                            default: !0,
23593                            doc: "Whether to apply a vertical gradient to the sides of a fill-extrusion layer. If true, sides will be shaded slightly darker farther down.",
23594                            transition: !1,
23595                            "sdk-support": {"basic functionality": {js: "0.50.0", ios: "4.7.0", macos: "0.13.0"}},
23596                            expression: {interpolated: !1, parameters: ["zoom"]},
23597                            "property-type": "data-constant"
23598                        }
23599                    },
23600                    paint_line: {
23601                        "line-opacity": {
23602                            type: "number",
23603                            doc: "The opacity at which the line will be drawn.",
23604                            default: 1,
23605                            minimum: 0,
23606                            maximum: 1,
23607                            transition: !0,
23608                            "sdk-support": {
23609                                "basic functionality": {
23610                                    js: "0.10.0",
23611                                    android: "2.0.1",
23612                                    ios: "2.0.0",
23613                                    macos: "0.1.0"
23614                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23615                            },
23616                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23617                            "property-type": "data-driven"
23618                        },
23619                        "line-color": {
23620                            type: "color",
23621                            doc: "The color with which the line will be drawn.",
23622                            default: "#000000",
23623                            transition: !0,
23624                            requires: [{"!": "line-pattern"}],
23625                            "sdk-support": {
23626                                "basic functionality": {
23627                                    js: "0.10.0",
23628                                    android: "2.0.1",
23629                                    ios: "2.0.0",
23630                                    macos: "0.1.0"
23631                                }, "data-driven styling": {js: "0.23.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23632                            },
23633                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23634                            "property-type": "data-driven"
23635                        },
23636                        "line-translate": {
23637                            type: "array",
23638                            value: "number",
23639                            length: 2,
23640                            default: [0, 0],
23641                            transition: !0,
23642                            units: "pixels",
23643                            doc: "The geometry's offset. Values are [x, y] where negatives indicate left and up, respectively.",
23644                            "sdk-support": {
23645                                "basic functionality": {
23646                                    js: "0.10.0",
23647                                    android: "2.0.1",
23648                                    ios: "2.0.0",
23649                                    macos: "0.1.0"
23650                                }
23651                            },
23652                            expression: {interpolated: !0, parameters: ["zoom"]},
23653                            "property-type": "data-constant"
23654                        },
23655                        "line-translate-anchor": {
23656                            type: "enum",
23657                            values: {
23658                                map: {doc: "The line is translated relative to the map."},
23659                                viewport: {doc: "The line is translated relative to the viewport."}
23660                            },
23661                            doc: "Controls the frame of reference for `line-translate`.",
23662                            default: "map",
23663                            requires: ["line-translate"],
23664                            "sdk-support": {
23665                                "basic functionality": {
23666                                    js: "0.10.0",
23667                                    android: "2.0.1",
23668                                    ios: "2.0.0",
23669                                    macos: "0.1.0"
23670                                }
23671                            },
23672                            expression: {interpolated: !1, parameters: ["zoom"]},
23673                            "property-type": "data-constant"
23674                        },
23675                        "line-width": {
23676                            type: "number",
23677                            default: 1,
23678                            minimum: 0,
23679                            transition: !0,
23680                            units: "pixels",
23681                            doc: "Stroke thickness.",
23682                            "sdk-support": {
23683                                "basic functionality": {
23684                                    js: "0.10.0",
23685                                    android: "2.0.1",
23686                                    ios: "2.0.0",
23687                                    macos: "0.1.0"
23688                                }, "data-driven styling": {js: "0.39.0", android: "5.2.0", ios: "3.7.0", macos: "0.6.0"}
23689                            },
23690                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23691                            "property-type": "data-driven"
23692                        },
23693                        "line-gap-width": {
23694                            type: "number",
23695                            default: 0,
23696                            minimum: 0,
23697                            doc: "Draws a line casing outside of a line's actual path. Value indicates the width of the inner gap.",
23698                            transition: !0,
23699                            units: "pixels",
23700                            "sdk-support": {
23701                                "basic functionality": {
23702                                    js: "0.10.0",
23703                                    android: "2.0.1",
23704                                    ios: "2.0.0",
23705                                    macos: "0.1.0"
23706                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23707                            },
23708                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23709                            "property-type": "data-driven"
23710                        },
23711                        "line-offset": {
23712                            type: "number",
23713                            default: 0,
23714                            doc: "The line's offset. For linear features, a positive value offsets the line to the right, relative to the direction of the line, and a negative value to the left. For polygon features, a positive value results in an inset, and a negative value results in an outset.",
23715                            transition: !0,
23716                            units: "pixels",
23717                            "sdk-support": {
23718                                "basic functionality": {
23719                                    js: "0.12.1",
23720                                    android: "3.0.0",
23721                                    ios: "3.1.0",
23722                                    macos: "0.1.0"
23723                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23724                            },
23725                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23726                            "property-type": "data-driven"
23727                        },
23728                        "line-blur": {
23729                            type: "number",
23730                            default: 0,
23731                            minimum: 0,
23732                            transition: !0,
23733                            units: "pixels",
23734                            doc: "Blur applied to the line, in pixels.",
23735                            "sdk-support": {
23736                                "basic functionality": {
23737                                    js: "0.10.0",
23738                                    android: "2.0.1",
23739                                    ios: "2.0.0",
23740                                    macos: "0.1.0"
23741                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23742                            },
23743                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23744                            "property-type": "data-driven"
23745                        },
23746                        "line-dasharray": {
23747                            type: "array",
23748                            value: "number",
23749                            doc: "Specifies the lengths of the alternating dashes and gaps that form the dash pattern. The lengths are later scaled by the line width. To convert a dash length to pixels, multiply the length by the current line width. Note that GeoJSON sources with `lineMetrics: true` specified won't render dashed lines to the expected scale. Also note that zoom-dependent expressions will be evaluated only at integer zoom levels.",
23750                            minimum: 0,
23751                            transition: !0,
23752                            units: "line widths",
23753                            requires: [{"!": "line-pattern"}],
23754                            "sdk-support": {
23755                                "basic functionality": {
23756                                    js: "0.10.0",
23757                                    android: "2.0.1",
23758                                    ios: "2.0.0",
23759                                    macos: "0.1.0"
23760                                }, "data-driven styling": {js: "2.3.0"}
23761                            },
23762                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
23763                            "property-type": "cross-faded-data-driven"
23764                        },
23765                        "line-pattern": {
23766                            type: "resolvedImage",
23767                            transition: !0,
23768                            doc: "Name of image in sprite to use for drawing image lines. For seamless patterns, image width must be a factor of two (2, 4, 8, ..., 512). Note that zoom-dependent expressions will be evaluated only at integer zoom levels.",
23769                            "sdk-support": {
23770                                "basic functionality": {
23771                                    js: "0.10.0",
23772                                    android: "2.0.1",
23773                                    ios: "2.0.0",
23774                                    macos: "0.1.0"
23775                                },
23776                                "data-driven styling": {js: "0.49.0", android: "6.5.0", macos: "0.11.0", ios: "4.4.0"}
23777                            },
23778                            expression: {interpolated: !1, parameters: ["zoom", "feature"]},
23779                            "property-type": "cross-faded-data-driven"
23780                        },
23781                        "line-gradient": {
23782                            type: "color",
23783                            doc: 'Defines a gradient with which to color a line feature. Can only be used with GeoJSON sources that specify `"lineMetrics": true`.',
23784                            transition: !1,
23785                            requires: [{"!": "line-dasharray"}, {"!": "line-pattern"}, {
23786                                source: "geojson",
23787                                has: {lineMetrics: !0}
23788                            }],
23789                            "sdk-support": {
23790                                "basic functionality": {
23791                                    js: "0.45.0",
23792                                    android: "6.5.0",
23793                                    ios: "4.4.0",
23794                                    macos: "0.11.0"
23795                                }, "data-driven styling": {}
23796                            },
23797                            expression: {interpolated: !0, parameters: ["line-progress"]},
23798                            "property-type": "color-ramp"
23799                        }
23800                    },
23801                    paint_circle: {
23802                        "circle-radius": {
23803                            type: "number",
23804                            default: 5,
23805                            minimum: 0,
23806                            transition: !0,
23807                            units: "pixels",
23808                            doc: "Circle radius.",
23809                            "sdk-support": {
23810                                "basic functionality": {
23811                                    js: "0.10.0",
23812                                    android: "2.0.1",
23813                                    ios: "2.0.0",
23814                                    macos: "0.1.0"
23815                                }, "data-driven styling": {js: "0.18.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23816                            },
23817                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23818                            "property-type": "data-driven"
23819                        },
23820                        "circle-color": {
23821                            type: "color",
23822                            default: "#000000",
23823                            doc: "The fill color of the circle.",
23824                            transition: !0,
23825                            "sdk-support": {
23826                                "basic functionality": {
23827                                    js: "0.10.0",
23828                                    android: "2.0.1",
23829                                    ios: "2.0.0",
23830                                    macos: "0.1.0"
23831                                }, "data-driven styling": {js: "0.18.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23832                            },
23833                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23834                            "property-type": "data-driven"
23835                        },
23836                        "circle-blur": {
23837                            type: "number",
23838                            default: 0,
23839                            doc: "Amount to blur the circle. 1 blurs the circle such that only the centerpoint is full opacity.",
23840                            transition: !0,
23841                            "sdk-support": {
23842                                "basic functionality": {
23843                                    js: "0.10.0",
23844                                    android: "2.0.1",
23845                                    ios: "2.0.0",
23846                                    macos: "0.1.0"
23847                                }, "data-driven styling": {js: "0.20.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23848                            },
23849                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23850                            "property-type": "data-driven"
23851                        },
23852                        "circle-opacity": {
23853                            type: "number",
23854                            doc: "The opacity at which the circle will be drawn.",
23855                            default: 1,
23856                            minimum: 0,
23857                            maximum: 1,
23858                            transition: !0,
23859                            "sdk-support": {
23860                                "basic functionality": {
23861                                    js: "0.10.0",
23862                                    android: "2.0.1",
23863                                    ios: "2.0.0",
23864                                    macos: "0.1.0"
23865                                }, "data-driven styling": {js: "0.20.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23866                            },
23867                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23868                            "property-type": "data-driven"
23869                        },
23870                        "circle-translate": {
23871                            type: "array",
23872                            value: "number",
23873                            length: 2,
23874                            default: [0, 0],
23875                            transition: !0,
23876                            units: "pixels",
23877                            doc: "The geometry's offset. Values are [x, y] where negatives indicate left and up, respectively.",
23878                            "sdk-support": {
23879                                "basic functionality": {
23880                                    js: "0.10.0",
23881                                    android: "2.0.1",
23882                                    ios: "2.0.0",
23883                                    macos: "0.1.0"
23884                                }
23885                            },
23886                            expression: {interpolated: !0, parameters: ["zoom"]},
23887                            "property-type": "data-constant"
23888                        },
23889                        "circle-translate-anchor": {
23890                            type: "enum",
23891                            values: {
23892                                map: {doc: "The circle is translated relative to the map."},
23893                                viewport: {doc: "The circle is translated relative to the viewport."}
23894                            },
23895                            doc: "Controls the frame of reference for `circle-translate`.",
23896                            default: "map",
23897                            requires: ["circle-translate"],
23898                            "sdk-support": {
23899                                "basic functionality": {
23900                                    js: "0.10.0",
23901                                    android: "2.0.1",
23902                                    ios: "2.0.0",
23903                                    macos: "0.1.0"
23904                                }
23905                            },
23906                            expression: {interpolated: !1, parameters: ["zoom"]},
23907                            "property-type": "data-constant"
23908                        },
23909                        "circle-pitch-scale": {
23910                            type: "enum",
23911                            values: {
23912                                map: {doc: "Circles are scaled according to their apparent distance to the camera."},
23913                                viewport: {doc: "Circles are not scaled."}
23914                            },
23915                            default: "map",
23916                            doc: "Controls the scaling behavior of the circle when the map is pitched.",
23917                            "sdk-support": {
23918                                "basic functionality": {
23919                                    js: "0.21.0",
23920                                    android: "4.2.0",
23921                                    ios: "3.4.0",
23922                                    macos: "0.2.1"
23923                                }
23924                            },
23925                            expression: {interpolated: !1, parameters: ["zoom"]},
23926                            "property-type": "data-constant"
23927                        },
23928                        "circle-pitch-alignment": {
23929                            type: "enum",
23930                            values: {
23931                                map: {doc: "The circle is aligned to the plane of the map."},
23932                                viewport: {doc: "The circle is aligned to the plane of the viewport."}
23933                            },
23934                            default: "viewport",
23935                            doc: "Orientation of circle when map is pitched.",
23936                            "sdk-support": {
23937                                "basic functionality": {
23938                                    js: "0.39.0",
23939                                    android: "5.2.0",
23940                                    ios: "3.7.0",
23941                                    macos: "0.6.0"
23942                                }
23943                            },
23944                            expression: {interpolated: !1, parameters: ["zoom"]},
23945                            "property-type": "data-constant"
23946                        },
23947                        "circle-stroke-width": {
23948                            type: "number",
23949                            default: 0,
23950                            minimum: 0,
23951                            transition: !0,
23952                            units: "pixels",
23953                            doc: "The width of the circle's stroke. Strokes are placed outside of the `circle-radius`.",
23954                            "sdk-support": {
23955                                "basic functionality": {
23956                                    js: "0.29.0",
23957                                    android: "5.0.0",
23958                                    ios: "3.5.0",
23959                                    macos: "0.4.0"
23960                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23961                            },
23962                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23963                            "property-type": "data-driven"
23964                        },
23965                        "circle-stroke-color": {
23966                            type: "color",
23967                            default: "#000000",
23968                            doc: "The stroke color of the circle.",
23969                            transition: !0,
23970                            "sdk-support": {
23971                                "basic functionality": {
23972                                    js: "0.29.0",
23973                                    android: "5.0.0",
23974                                    ios: "3.5.0",
23975                                    macos: "0.4.0"
23976                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23977                            },
23978                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23979                            "property-type": "data-driven"
23980                        },
23981                        "circle-stroke-opacity": {
23982                            type: "number",
23983                            doc: "The opacity of the circle's stroke.",
23984                            default: 1,
23985                            minimum: 0,
23986                            maximum: 1,
23987                            transition: !0,
23988                            "sdk-support": {
23989                                "basic functionality": {
23990                                    js: "0.29.0",
23991                                    android: "5.0.0",
23992                                    ios: "3.5.0",
23993                                    macos: "0.4.0"
23994                                }, "data-driven styling": {js: "0.29.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
23995                            },
23996                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
23997                            "property-type": "data-driven"
23998                        }
23999                    },
24000                    paint_heatmap: {
24001                        "heatmap-radius": {
24002                            type: "number",
24003                            default: 30,
24004                            minimum: 1,
24005                            transition: !0,
24006                            units: "pixels",
24007                            doc: "Radius of influence of one heatmap point in pixels. Increasing the value makes the heatmap smoother, but less detailed.",
24008                            "sdk-support": {
24009                                "basic functionality": {
24010                                    js: "0.41.0",
24011                                    android: "6.0.0",
24012                                    ios: "4.0.0",
24013                                    macos: "0.7.0"
24014                                }, "data-driven styling": {js: "0.43.0", android: "6.0.0", ios: "4.0.0", macos: "0.7.0"}
24015                            },
24016                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24017                            "property-type": "data-driven"
24018                        },
24019                        "heatmap-weight": {
24020                            type: "number",
24021                            default: 1,
24022                            minimum: 0,
24023                            transition: !1,
24024                            doc: "A measure of how much an individual point contributes to the heatmap. A value of 10 would be equivalent to having 10 points of weight 1 in the same spot. Especially useful when combined with clustering.",
24025                            "sdk-support": {
24026                                "basic functionality": {
24027                                    js: "0.41.0",
24028                                    android: "6.0.0",
24029                                    ios: "4.0.0",
24030                                    macos: "0.7.0"
24031                                }, "data-driven styling": {js: "0.41.0", android: "6.0.0", ios: "4.0.0", macos: "0.7.0"}
24032                            },
24033                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24034                            "property-type": "data-driven"
24035                        },
24036                        "heatmap-intensity": {
24037                            type: "number",
24038                            default: 1,
24039                            minimum: 0,
24040                            transition: !0,
24041                            doc: "Similar to `heatmap-weight` but controls the intensity of the heatmap globally. Primarily used for adjusting the heatmap based on zoom level.",
24042                            "sdk-support": {
24043                                "basic functionality": {
24044                                    js: "0.41.0",
24045                                    android: "6.0.0",
24046                                    ios: "4.0.0",
24047                                    macos: "0.7.0"
24048                                }
24049                            },
24050                            expression: {interpolated: !0, parameters: ["zoom"]},
24051                            "property-type": "data-constant"
24052                        },
24053                        "heatmap-color": {
24054                            type: "color",
24055                            default: ["interpolate", ["linear"], ["heatmap-density"], 0, "rgba(0, 0, 255, 0)", .1, "royalblue", .3, "cyan", .5, "lime", .7, "yellow", 1, "red"],
24056                            doc: 'Defines the color of each pixel based on its density value in a heatmap.  Should be an expression that uses `["heatmap-density"]` as input.',
24057                            transition: !1,
24058                            "sdk-support": {
24059                                "basic functionality": {
24060                                    js: "0.41.0",
24061                                    android: "6.0.0",
24062                                    ios: "4.0.0",
24063                                    macos: "0.7.0"
24064                                }, "data-driven styling": {}
24065                            },
24066                            expression: {interpolated: !0, parameters: ["heatmap-density"]},
24067                            "property-type": "color-ramp"
24068                        },
24069                        "heatmap-opacity": {
24070                            type: "number",
24071                            doc: "The global opacity at which the heatmap layer will be drawn.",
24072                            default: 1,
24073                            minimum: 0,
24074                            maximum: 1,
24075                            transition: !0,
24076                            "sdk-support": {
24077                                "basic functionality": {
24078                                    js: "0.41.0",
24079                                    android: "6.0.0",
24080                                    ios: "4.0.0",
24081                                    macos: "0.7.0"
24082                                }
24083                            },
24084                            expression: {interpolated: !0, parameters: ["zoom"]},
24085                            "property-type": "data-constant"
24086                        }
24087                    },
24088                    paint_symbol: {
24089                        "icon-opacity": {
24090                            doc: "The opacity at which the icon will be drawn.",
24091                            type: "number",
24092                            default: 1,
24093                            minimum: 0,
24094                            maximum: 1,
24095                            transition: !0,
24096                            requires: ["icon-image"],
24097                            "sdk-support": {
24098                                "basic functionality": {
24099                                    js: "0.10.0",
24100                                    android: "2.0.1",
24101                                    ios: "2.0.0",
24102                                    macos: "0.1.0"
24103                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24104                            },
24105                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24106                            "property-type": "data-driven"
24107                        },
24108                        "icon-color": {
24109                            type: "color",
24110                            default: "#000000",
24111                            transition: !0,
24112                            doc: "The color of the icon. This can only be used with sdf icons.",
24113                            requires: ["icon-image"],
24114                            "sdk-support": {
24115                                "basic functionality": {
24116                                    js: "0.10.0",
24117                                    android: "2.0.1",
24118                                    ios: "2.0.0",
24119                                    macos: "0.1.0"
24120                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24121                            },
24122                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24123                            "property-type": "data-driven"
24124                        },
24125                        "icon-halo-color": {
24126                            type: "color",
24127                            default: "rgba(0, 0, 0, 0)",
24128                            transition: !0,
24129                            doc: "The color of the icon's halo. Icon halos can only be used with SDF icons.",
24130                            requires: ["icon-image"],
24131                            "sdk-support": {
24132                                "basic functionality": {
24133                                    js: "0.10.0",
24134                                    android: "2.0.1",
24135                                    ios: "2.0.0",
24136                                    macos: "0.1.0"
24137                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24138                            },
24139                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24140                            "property-type": "data-driven"
24141                        },
24142                        "icon-halo-width": {
24143                            type: "number",
24144                            default: 0,
24145                            minimum: 0,
24146                            transition: !0,
24147                            units: "pixels",
24148                            doc: "Distance of halo to the icon outline.",
24149                            requires: ["icon-image"],
24150                            "sdk-support": {
24151                                "basic functionality": {
24152                                    js: "0.10.0",
24153                                    android: "2.0.1",
24154                                    ios: "2.0.0",
24155                                    macos: "0.1.0"
24156                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24157                            },
24158                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24159                            "property-type": "data-driven"
24160                        },
24161                        "icon-halo-blur": {
24162                            type: "number",
24163                            default: 0,
24164                            minimum: 0,
24165                            transition: !0,
24166                            units: "pixels",
24167                            doc: "Fade out the halo towards the outside.",
24168                            requires: ["icon-image"],
24169                            "sdk-support": {
24170                                "basic functionality": {
24171                                    js: "0.10.0",
24172                                    android: "2.0.1",
24173                                    ios: "2.0.0",
24174                                    macos: "0.1.0"
24175                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24176                            },
24177                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24178                            "property-type": "data-driven"
24179                        },
24180                        "icon-translate": {
24181                            type: "array",
24182                            value: "number",
24183                            length: 2,
24184                            default: [0, 0],
24185                            transition: !0,
24186                            units: "pixels",
24187                            doc: "Distance that the icon's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
24188                            requires: ["icon-image"],
24189                            "sdk-support": {
24190                                "basic functionality": {
24191                                    js: "0.10.0",
24192                                    android: "2.0.1",
24193                                    ios: "2.0.0",
24194                                    macos: "0.1.0"
24195                                }
24196                            },
24197                            expression: {interpolated: !0, parameters: ["zoom"]},
24198                            "property-type": "data-constant"
24199                        },
24200                        "icon-translate-anchor": {
24201                            type: "enum",
24202                            values: {
24203                                map: {doc: "Icons are translated relative to the map."},
24204                                viewport: {doc: "Icons are translated relative to the viewport."}
24205                            },
24206                            doc: "Controls the frame of reference for `icon-translate`.",
24207                            default: "map",
24208                            requires: ["icon-image", "icon-translate"],
24209                            "sdk-support": {
24210                                "basic functionality": {
24211                                    js: "0.10.0",
24212                                    android: "2.0.1",
24213                                    ios: "2.0.0",
24214                                    macos: "0.1.0"
24215                                }
24216                            },
24217                            expression: {interpolated: !1, parameters: ["zoom"]},
24218                            "property-type": "data-constant"
24219                        },
24220                        "text-opacity": {
24221                            type: "number",
24222                            doc: "The opacity at which the text will be drawn.",
24223                            default: 1,
24224                            minimum: 0,
24225                            maximum: 1,
24226                            transition: !0,
24227                            requires: ["text-field"],
24228                            "sdk-support": {
24229                                "basic functionality": {
24230                                    js: "0.10.0",
24231                                    android: "2.0.1",
24232                                    ios: "2.0.0",
24233                                    macos: "0.1.0"
24234                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24235                            },
24236                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24237                            "property-type": "data-driven"
24238                        },
24239                        "text-color": {
24240                            type: "color",
24241                            doc: "The color with which the text will be drawn.",
24242                            default: "#000000",
24243                            transition: !0,
24244                            overridable: !0,
24245                            requires: ["text-field"],
24246                            "sdk-support": {
24247                                "basic functionality": {
24248                                    js: "0.10.0",
24249                                    android: "2.0.1",
24250                                    ios: "2.0.0",
24251                                    macos: "0.1.0"
24252                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24253                            },
24254                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24255                            "property-type": "data-driven"
24256                        },
24257                        "text-halo-color": {
24258                            type: "color",
24259                            default: "rgba(0, 0, 0, 0)",
24260                            transition: !0,
24261                            doc: "The color of the text's halo, which helps it stand out from backgrounds.",
24262                            requires: ["text-field"],
24263                            "sdk-support": {
24264                                "basic functionality": {
24265                                    js: "0.10.0",
24266                                    android: "2.0.1",
24267                                    ios: "2.0.0",
24268                                    macos: "0.1.0"
24269                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24270                            },
24271                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24272                            "property-type": "data-driven"
24273                        },
24274                        "text-halo-width": {
24275                            type: "number",
24276                            default: 0,
24277                            minimum: 0,
24278                            transition: !0,
24279                            units: "pixels",
24280                            doc: "Distance of halo to the font outline. Max text halo width is 1/4 of the font-size.",
24281                            requires: ["text-field"],
24282                            "sdk-support": {
24283                                "basic functionality": {
24284                                    js: "0.10.0",
24285                                    android: "2.0.1",
24286                                    ios: "2.0.0",
24287                                    macos: "0.1.0"
24288                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24289                            },
24290                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24291                            "property-type": "data-driven"
24292                        },
24293                        "text-halo-blur": {
24294                            type: "number",
24295                            default: 0,
24296                            minimum: 0,
24297                            transition: !0,
24298                            units: "pixels",
24299                            doc: "The halo's fadeout distance towards the outside.",
24300                            requires: ["text-field"],
24301                            "sdk-support": {
24302                                "basic functionality": {
24303                                    js: "0.10.0",
24304                                    android: "2.0.1",
24305                                    ios: "2.0.0",
24306                                    macos: "0.1.0"
24307                                }, "data-driven styling": {js: "0.33.0", android: "5.0.0", ios: "3.5.0", macos: "0.4.0"}
24308                            },
24309                            expression: {interpolated: !0, parameters: ["zoom", "feature", "feature-state"]},
24310                            "property-type": "data-driven"
24311                        },
24312                        "text-translate": {
24313                            type: "array",
24314                            value: "number",
24315                            length: 2,
24316                            default: [0, 0],
24317                            transition: !0,
24318                            units: "pixels",
24319                            doc: "Distance that the text's anchor is moved from its original placement. Positive values indicate right and down, while negative values indicate left and up.",
24320                            requires: ["text-field"],
24321                            "sdk-support": {
24322                                "basic functionality": {
24323                                    js: "0.10.0",
24324                                    android: "2.0.1",
24325                                    ios: "2.0.0",
24326                                    macos: "0.1.0"
24327                                }
24328                            },
24329                            expression: {interpolated: !0, parameters: ["zoom"]},
24330                            "property-type": "data-constant"
24331                        },
24332                        "text-translate-anchor": {
24333                            type: "enum",
24334                            values: {
24335                                map: {doc: "The text is translated relative to the map."},
24336                                viewport: {doc: "The text is translated relative to the viewport."}
24337                            },
24338                            doc: "Controls the frame of reference for `text-translate`.",
24339                            default: "map",
24340                            requires: ["text-field", "text-translate"],
24341                            "sdk-support": {
24342                                "basic functionality": {
24343                                    js: "0.10.0",
24344                                    android: "2.0.1",
24345                                    ios: "2.0.0",
24346                                    macos: "0.1.0"
24347                                }
24348                            },
24349                            expression: {interpolated: !1, parameters: ["zoom"]},
24350                            "property-type": "data-constant"
24351                        }
24352                    },
24353                    paint_raster: {
24354                        "raster-opacity": {
24355                            type: "number",
24356                            doc: "The opacity at which the image will be drawn.",
24357                            default: 1,
24358                            minimum: 0,
24359                            maximum: 1,
24360                            transition: !0,
24361                            "sdk-support": {
24362                                "basic functionality": {
24363                                    js: "0.10.0",
24364                                    android: "2.0.1",
24365                                    ios: "2.0.0",
24366                                    macos: "0.1.0"
24367                                }
24368                            },
24369                            expression: {interpolated: !0, parameters: ["zoom"]},
24370                            "property-type": "data-constant"
24371                        },
24372                        "raster-hue-rotate": {
24373                            type: "number",
24374                            default: 0,
24375                            period: 360,
24376                            transition: !0,
24377                            units: "degrees",
24378                            doc: "Rotates hues around the color wheel.",
24379                            "sdk-support": {
24380                                "basic functionality": {
24381                                    js: "0.10.0",
24382                                    android: "2.0.1",
24383                                    ios: "2.0.0",
24384                                    macos: "0.1.0"
24385                                }
24386                            },
24387                            expression: {interpolated: !0, parameters: ["zoom"]},
24388                            "property-type": "data-constant"
24389                        },
24390                        "raster-brightness-min": {
24391                            type: "number",
24392                            doc: "Increase or reduce the brightness of the image. The value is the minimum brightness.",
24393                            default: 0,
24394                            minimum: 0,
24395                            maximum: 1,
24396                            transition: !0,
24397                            "sdk-support": {
24398                                "basic functionality": {
24399                                    js: "0.10.0",
24400                                    android: "2.0.1",
24401                                    ios: "2.0.0",
24402                                    macos: "0.1.0"
24403                                }
24404                            },
24405                            expression: {interpolated: !0, parameters: ["zoom"]},
24406                            "property-type": "data-constant"
24407                        },
24408                        "raster-brightness-max": {
24409                            type: "number",
24410                            doc: "Increase or reduce the brightness of the image. The value is the maximum brightness.",
24411                            default: 1,
24412                            minimum: 0,
24413                            maximum: 1,
24414                            transition: !0,
24415                            "sdk-support": {
24416                                "basic functionality": {
24417                                    js: "0.10.0",
24418                                    android: "2.0.1",
24419                                    ios: "2.0.0",
24420                                    macos: "0.1.0"
24421                                }
24422                            },
24423                            expression: {interpolated: !0, parameters: ["zoom"]},
24424                            "property-type": "data-constant"
24425                        },
24426                        "raster-saturation": {
24427                            type: "number",
24428                            doc: "Increase or reduce the saturation of the image.",
24429                            default: 0,
24430                            minimum: -1,
24431                            maximum: 1,
24432                            transition: !0,
24433                            "sdk-support": {
24434                                "basic functionality": {
24435                                    js: "0.10.0",
24436                                    android: "2.0.1",
24437                                    ios: "2.0.0",
24438                                    macos: "0.1.0"
24439                                }
24440                            },
24441                            expression: {interpolated: !0, parameters: ["zoom"]},
24442                            "property-type": "data-constant"
24443                        },
24444                        "raster-contrast": {
24445                            type: "number",
24446                            doc: "Increase or reduce the contrast of the image.",
24447                            default: 0,
24448                            minimum: -1,
24449                            maximum: 1,
24450                            transition: !0,
24451                            "sdk-support": {
24452                                "basic functionality": {
24453                                    js: "0.10.0",
24454                                    android: "2.0.1",
24455                                    ios: "2.0.0",
24456                                    macos: "0.1.0"
24457                                }
24458                            },
24459                            expression: {interpolated: !0, parameters: ["zoom"]},
24460                            "property-type": "data-constant"
24461                        },
24462                        "raster-resampling": {
24463                            type: "enum",
24464                            doc: "The resampling/interpolation method to use for overscaling, also known as texture magnification filter",
24465                            values: {
24466                                linear: {doc: "(Bi)linear filtering interpolates pixel values using the weighted average of the four closest original source pixels creating a smooth but blurry look when overscaled"},
24467                                nearest: {doc: "Nearest neighbor filtering interpolates pixel values using the nearest original source pixel creating a sharp but pixelated look when overscaled"}
24468                            },
24469                            default: "linear",
24470                            "sdk-support": {
24471                                "basic functionality": {
24472                                    js: "0.47.0",
24473                                    android: "6.3.0",
24474                                    ios: "4.2.0",
24475                                    macos: "0.9.0"
24476                                }
24477                            },
24478                            expression: {interpolated: !1, parameters: ["zoom"]},
24479                            "property-type": "data-constant"
24480                        },
24481                        "raster-fade-duration": {
24482                            type: "number",
24483                            default: 300,
24484                            minimum: 0,
24485                            transition: !1,
24486                            units: "milliseconds",
24487                            doc: "Fade duration when a new tile is added.",
24488                            "sdk-support": {
24489                                "basic functionality": {
24490                                    js: "0.10.0",
24491                                    android: "2.0.1",
24492                                    ios: "2.0.0",
24493                                    macos: "0.1.0"
24494                                }
24495                            },
24496                            expression: {interpolated: !0, parameters: ["zoom"]},
24497                            "property-type": "data-constant"
24498                        }
24499                    },
24500                    paint_hillshade: {
24501                        "hillshade-illumination-direction": {
24502                            type: "number",
24503                            default: 335,
24504                            minimum: 0,
24505                            maximum: 359,
24506                            doc: "The direction of the light source used to generate the hillshading with 0 as the top of the viewport if `hillshade-illumination-anchor` is set to `viewport` and due north if `hillshade-illumination-anchor` is set to `map`.",
24507                            transition: !1,
24508                            "sdk-support": {
24509                                "basic functionality": {
24510                                    js: "0.43.0",
24511                                    android: "6.0.0",
24512                                    ios: "4.0.0",
24513                                    macos: "0.7.0"
24514                                }
24515                            },
24516                            expression: {interpolated: !0, parameters: ["zoom"]},
24517                            "property-type": "data-constant"
24518                        },
24519                        "hillshade-illumination-anchor": {
24520                            type: "enum",
24521                            values: {
24522                                map: {doc: "The hillshade illumination is relative to the north direction."},
24523                                viewport: {doc: "The hillshade illumination is relative to the top of the viewport."}
24524                            },
24525                            default: "viewport",
24526                            doc: "Direction of light source when map is rotated.",
24527                            "sdk-support": {
24528                                "basic functionality": {
24529                                    js: "0.43.0",
24530                                    android: "6.0.0",
24531                                    ios: "4.0.0",
24532                                    macos: "0.7.0"
24533                                }
24534                            },
24535                            expression: {interpolated: !1, parameters: ["zoom"]},
24536                            "property-type": "data-constant"
24537                        },
24538                        "hillshade-exaggeration": {
24539                            type: "number",
24540                            doc: "Intensity of the hillshade",
24541                            default: .5,
24542                            minimum: 0,
24543                            maximum: 1,
24544                            transition: !0,
24545                            "sdk-support": {
24546                                "basic functionality": {
24547                                    js: "0.43.0",
24548                                    android: "6.0.0",
24549                                    ios: "4.0.0",
24550                                    macos: "0.7.0"
24551                                }
24552                            },
24553                            expression: {interpolated: !0, parameters: ["zoom"]},
24554                            "property-type": "data-constant"
24555                        },
24556                        "hillshade-shadow-color": {
24557                            type: "color",
24558                            default: "#000000",
24559                            doc: "The shading color of areas that face away from the light source.",
24560                            transition: !0,
24561                            "sdk-support": {
24562                                "basic functionality": {
24563                                    js: "0.43.0",
24564                                    android: "6.0.0",
24565                                    ios: "4.0.0",
24566                                    macos: "0.7.0"
24567                                }
24568                            },
24569                            expression: {interpolated: !0, parameters: ["zoom"]},
24570                            "property-type": "data-constant"
24571                        },
24572                        "hillshade-highlight-color": {
24573                            type: "color",
24574                            default: "#FFFFFF",
24575                            doc: "The shading color of areas that faces towards the light source.",
24576                            transition: !0,
24577                            "sdk-support": {
24578                                "basic functionality": {
24579                                    js: "0.43.0",
24580                                    android: "6.0.0",
24581                                    ios: "4.0.0",
24582                                    macos: "0.7.0"
24583                                }
24584                            },
24585                            expression: {interpolated: !0, parameters: ["zoom"]},
24586                            "property-type": "data-constant"
24587                        },
24588                        "hillshade-accent-color": {
24589                            type: "color",
24590                            default: "#000000",
24591                            doc: "The shading color used to accentuate rugged terrain like sharp cliffs and gorges.",
24592                            transition: !0,
24593                            "sdk-support": {
24594                                "basic functionality": {
24595                                    js: "0.43.0",
24596                                    android: "6.0.0",
24597                                    ios: "4.0.0",
24598                                    macos: "0.7.0"
24599                                }
24600                            },
24601                            expression: {interpolated: !0, parameters: ["zoom"]},
24602                            "property-type": "data-constant"
24603                        }
24604                    },
24605                    paint_background: {
24606                        "background-color": {
24607                            type: "color",
24608                            default: "#000000",
24609                            doc: "The color with which the background will be drawn.",
24610                            transition: !0,
24611                            requires: [{"!": "background-pattern"}],
24612                            "sdk-support": {
24613                                "basic functionality": {
24614                                    js: "0.10.0",
24615                                    android: "2.0.1",
24616                                    ios: "2.0.0",
24617                                    macos: "0.1.0"
24618                                }
24619                            },
24620                            expression: {interpolated: !0, parameters: ["zoom"]},
24621                            "property-type": "data-constant"
24622                        },
24623                        "background-pattern": {
24624                            type: "resolvedImage",
24625                            transition: !0,
24626                            doc: "Name of image in sprite to use for drawing an image background. For seamless patterns, image width and height must be a factor of two (2, 4, 8, ..., 512). Note that zoom-dependent expressions will be evaluated only at integer zoom levels.",
24627                            "sdk-support": {
24628                                "basic functionality": {
24629                                    js: "0.10.0",
24630                                    android: "2.0.1",
24631                                    ios: "2.0.0",
24632                                    macos: "0.1.0"
24633                                }, "data-driven styling": {}
24634                            },
24635                            expression: {interpolated: !1, parameters: ["zoom"]},
24636                            "property-type": "cross-faded"
24637                        },
24638                        "background-opacity": {
24639                            type: "number",
24640                            default: 1,
24641                            minimum: 0,
24642                            maximum: 1,
24643                            doc: "The opacity at which the background will be drawn.",
24644                            transition: !0,
24645                            "sdk-support": {
24646                                "basic functionality": {
24647                                    js: "0.10.0",
24648                                    android: "2.0.1",
24649                                    ios: "2.0.0",
24650                                    macos: "0.1.0"
24651                                }
24652                            },
24653                            expression: {interpolated: !0, parameters: ["zoom"]},
24654                            "property-type": "data-constant"
24655                        }
24656                    },
24657                    paint_sky: {
24658                        "sky-type": {
24659                            type: "enum",
24660                            values: {
24661                                gradient: {doc: "Renders the sky with a gradient that can be configured with `sky-gradient-radius` and `sky-gradient`."},
24662                                atmosphere: {doc: "Renders the sky with a simulated atmospheric scattering algorithm, the sun direction can be attached to the light position or explicitly set through `sky-atmosphere-sun`."}
24663                            },
24664                            default: "atmosphere",
24665                            doc: "The type of the sky",
24666                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24667                            expression: {interpolated: !1, parameters: ["zoom"]},
24668                            "property-type": "data-constant"
24669                        },
24670                        "sky-atmosphere-sun": {
24671                            type: "array",
24672                            value: "number",
24673                            length: 2,
24674                            units: "degrees",
24675                            minimum: [0, 0],
24676                            maximum: [360, 180],
24677                            transition: !1,
24678                            doc: "Position of the sun center [a azimuthal angle, p polar angle]. The azimuthal angle indicates the position of the sun relative to 0° north, where degrees proceed clockwise. The polar angle indicates the height of the sun, where 0° is directly above, at zenith, and 90° at the horizon. When this property is ommitted, the sun center is directly inherited from the light position.",
24679                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24680                            requires: [{"sky-type": "atmosphere"}],
24681                            expression: {interpolated: !1, parameters: ["zoom"]},
24682                            "property-type": "data-constant"
24683                        },
24684                        "sky-atmosphere-sun-intensity": {
24685                            type: "number",
24686                            requires: [{"sky-type": "atmosphere"}],
24687                            default: 10,
24688                            minimum: 0,
24689                            maximum: 100,
24690                            transition: !1,
24691                            doc: "Intensity of the sun as a light source in the atmosphere (on a scale from 0 to a 100). Setting higher values will brighten up the sky.",
24692                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24693                            "property-type": "data-constant"
24694                        },
24695                        "sky-gradient-center": {
24696                            type: "array",
24697                            requires: [{"sky-type": "gradient"}],
24698                            value: "number",
24699                            default: [0, 0],
24700                            length: 2,
24701                            units: "degrees",
24702                            minimum: [0, 0],
24703                            maximum: [360, 180],
24704                            transition: !1,
24705                            doc: "Position of the gradient center [a azimuthal angle, p polar angle]. The azimuthal angle indicates the position of the gradient center relative to 0° north, where degrees proceed clockwise. The polar angle indicates the height of the gradient center, where 0° is directly above, at zenith, and 90° at the horizon.",
24706                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24707                            expression: {interpolated: !1, parameters: ["zoom"]},
24708                            "property-type": "data-constant"
24709                        },
24710                        "sky-gradient-radius": {
24711                            type: "number",
24712                            requires: [{"sky-type": "gradient"}],
24713                            default: 90,
24714                            minimum: 0,
24715                            maximum: 180,
24716                            transition: !1,
24717                            doc: "The angular distance (measured in degrees) from `sky-gradient-center` up to which the gradient extends. A value of 180 causes the gradient to wrap around to the opposite direction from `sky-gradient-center`.",
24718                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24719                            expression: {interpolated: !1, parameters: ["zoom"]},
24720                            "property-type": "data-constant"
24721                        },
24722                        "sky-gradient": {
24723                            type: "color",
24724                            default: ["interpolate", ["linear"], ["sky-radial-progress"], .8, "#87ceeb", 1, "white"],
24725                            doc: "Defines a radial color gradient with which to color the sky. The color values can be interpolated 
24725with an expression using `sky-radial-progress`. The range [0, 1] for the interpolant covers a radial distance (in degrees) of [0, `sky-gradient-radius`] centered at the position specified by `sky-gradient-center`.",
24726                            transition: !1,
24727                            requires: [{"sky-type": "gradient"}],
24728                            "sdk-support": {"basic functionality": {js: "2.0.0"}, "data-driven styling": {}},
24729                            expression: {interpolated: !0, parameters: ["sky-radial-progress"]},
24730                            "property-type": "color-ramp"
24731                        },
24732                        "sky-atmosphere-halo-color": {
24733                            type: "color",
24734                            default: "white",
24735                            doc: "A color applied to the atmosphere sun halo. The alpha channel describes how strongly the sun halo is represented in an atmosphere sky layer.",
24736                            transition: !1,
24737                            requires: [{"sky-type": "atmosphere"}],
24738                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24739                            "property-type": "data-constant"
24740                        },
24741                        "sky-atmosphere-color": {
24742                            type: "color",
24743                            default: "white",
24744                            doc: "A color used to tweak the main atmospheric scattering coefficients. Using white applies the default coefficients giving the natural blue color to the atmosphere. This color affects how heavily the corresponding wavelength is represented during scattering. The alpha channel describes the density of the atmosphere, with 1 maximum density and 0 no density.",
24745                            transition: !1,
24746                            requires: [{"sky-type": "atmosphere"}],
24747                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24748                            "property-type": "data-constant"
24749                        },
24750                        "sky-opacity": {
24751                            type: "number",
24752                            default: 1,
24753                            minimum: 0,
24754                            maximum: 1,
24755                            doc: "The opacity of the entire sky layer.",
24756                            transition: !0,
24757                            "sdk-support": {"basic functionality": {js: "2.0.0"}},
24758                            expression: {interpolated: !0, parameters: ["zoom"]},
24759                            "property-type": "data-constant"
24760                        }
24761                    },
24762                    transition: {
24763                        duration: {
24764                            type: "number",
24765                            default: 300,
24766                            minimum: 0,
24767                            units: "milliseconds",
24768                            doc: "Time allotted for transitions to complete."
24769                        },
24770                        delay: {
24771                            type: "number",
24772                            default: 0,
24773                            minimum: 0,
24774                            units: "milliseconds",
24775                            doc: "Length of time before a transition begins."
24776                        }
24777                    },
24778                    "property-type": {
24779                        "data-driven": {
24780                            type: "property-type",
24781                            doc: "Property is interpolable and can be represented using a property expression."
24782                        },
24783                        "cross-faded": {
24784                            type: "property-type",
24785                            doc: "Property is non-interpolable; rather, its values will be cross-faded to smoothly transition between integer zooms."
24786                        },
24787                        "cross-faded-data-driven": {
24788                            type: "property-type",
24789                            doc: "Property is non-interpolable; rather, its values will be cross-faded to smoothly transition between integer zooms. It can be represented using a property expression."
24790                        },
24791                        "color-ramp": {
24792                            type: "property-type",
24793                            doc: "Property should be specified using a color ramp from which the output color can be sampled based on a property calculation."
24794                        },
24795                        "data-constant": {
24796                            type: "property-type",
24797                            doc: "Property is interpolable but cannot be represented using a property expression."
24798                        },
24799                        constant: {
24800                            type: "property-type",
24801                            doc: "Property is constant across all zoom levels and property values."
24802                        }
24803                    },
24804                    promoteId: {
24805                        "*": {
24806                            type: "string",
24807                            doc: "A name of a feature property to use as ID for feature state."
24808                        }
24809                    }
24810                };
24811                var IS = "undefined" != typeof globalThis ? globalThis : "undefined" != typeof window ? window : "undefined" != typeof global ? global : "undefined" != typeof self ? self : {};
24812
24813                function NS(t) {
24814                    var n = {exports: {}};
vendor: 4,322 bytes, lines 24815-24881
24815                    return t(n, n.exports), n.exports
24816                }
24817
24818                var zS = NS((function (t, n) {
24819                    !function (i) {
24820                        var r = n && !n.nodeType && n, e = t && !t.nodeType && t, o = "object" == RS(IS) && IS;
24821                        o.global !== o && o.window !== o && o.self !== o || (i = o);
24822                        var s, a, u = 2147483647, c = 36, h = /^xn--/, f = /[^\x20-\x7E]/,
24823                            l = /[\x2E\u3002\uFF0E\uFF61]/g, v = {
24824                                overflow: "Overflow: input needs wider integers to process",
24825                                "not-basic": "Illegal input >= 0x80 (not a basic code point)",
24826                                "invalid-input": "Invalid input"
24827                            }, d = Math.floor, p = String.fromCharCode;
24828
24829                        function y(t) {
24830                            throw RangeError(v[t])
24831                        }
24832
24833                        function m(t, n) {
24834                            for (var i = t.length, r = []; i--;) r[i] = n(t[i]);
24835                            return r
24836                        }
24837
24838                        function w(t, n) {
24839                            var i = t.split("@"), r = "";
24840                            return i.length > 1 && (r = i[0] + "@", t = i[1]), r + m((t = t.replace(l, ".")).split("."), n).join(".")
24841                        }
24842
24843                        function b(t) {
24844                            for (var n, i, r = [], e = 0, o = t.length; e < o;) (n = t.charCodeAt(e++)) >= 55296 && n <= 56319 && e < o ? 56320 == (64512 & (i = t.charCodeAt(e++))) ? r.push(((1023 & n) << 10) + (1023 & i) + 65536) : (r.push(n), e--) : r.push(n);
24845                            return r
24846                        }
24847
24848                        function g(t) {
24849                            return m(t, (function (t) {
24850                                var n = "";
24851                                return t > 65535 && (n += p((t -= 65536) >>> 10 & 1023 | 55296), t = 56320 | 1023 & t), n += p(t)
24852                            })).join("")
24853                        }
24854
24855                        function x(t, n) {
24856                            return t + 22 + 75 * (t < 26) - ((0 != n) << 5)
24857                        }
24858
24859                        function j(t, n, i) {
24860                            var r = 0;
24861                            for (t = i ? d(t / 700) : t >> 1, t += d(t / n); t > 455; r += c) t = d(t / 35);
24862                            return d(r + 36 * t / (t + 38))
24863                        }
24864
24865                        function S(t) {
24866                            var n, i, r, e, o, s, a, h, f, l, v, p = [], m = t.length, w = 0, b = 128, x = 72;
24867                            for ((i = t.lastIndexOf("-")) < 0 && (i = 0), r = 0; r < i; ++r) t.charCodeAt(r) >= 128 && y("not-basic"), p.push(t.charCodeAt(r));
24868                            for (e = i > 0 ? i + 1 : 0; e < m;) {
24869                                for (o = w, s = 1, a = c; e >= m && y("invalid-input"), ((h = (v = t.charCodeAt(e++)) - 48 < 10 ? v - 22 : v - 65 < 26 ? v - 65 : v - 97 < 26 ? v - 97 : c) >= c || h > d((u - w) / s)) && y("overflow"), w += h * s, !(h < (f = a <= x ? 1 : a >= x + 26 ? 26 : a - x)); a += c) s > d(u / (l = c - f)) && y("overflow"), s *= l;
24870                                x = j(w - o, n = p.length + 1, 0 == o), d(w / n) > u - b && y("overflow"), b += d(w / n), w %= n, p.splice(w++, 0, b)
24871                            }
24872                            return g(p)
24873                        }
24874
24875                        function k(t) {
24876                            var n, i, r, e, o, s, a, h, f, l, v, m, w, g, S, k = [];
24877                            for (m = (t = b(t)).length, n = 128, i = 0, o = 72, s = 0; s < m; ++s) (v = t[s]) < 128 && k.push(p(v));
24878                            for (r = e = k.length, e && k.push("-"); r < m;) {
24879                                for (a = u, s = 0; s < m; ++s) (v = t[s]) >= n && v < a && (a = v);
24880                                for (a - n > d((u - i) / (w = r + 1)) && y("overflow"), i += (a - n) * w, n = a, s = 0; s < m; ++s) if ((v = t[s]) < n && ++i > u && y("overflow"), v == n) {
24881                                    for (h = i, f = c; !(h < (l = f <= o ? 1 : f >= o + 26 ? 26 : f - o)); f += c) S = h - l, g = c - l, k.push(p(x(l + S % g, 0))), h = d(S / g);
vendor: 14,524 bytes, lines 24882-25099
24882                                    k.push(p(x(h, 0))), o = j(i, w, r == e), i = 0, ++r
24883                                }
24884                                ++i, ++n
24885                            }
24886                            return k.join("")
24887                        }
24888
24889                        if (s = {
24890                            version: "1.3.2",
24891                            ucs2: {decode: b, encode: g},
24892                            decode: S,
24893                            encode: k,
24894                            toASCII: function (t) {
24895                                return w(t, (function (t) {
24896                                    return f.test(t) ? "xn--" + k(t) : t
24897                                }))
24898                            },
24899                            toUnicode: function (t) {
24900                                return w(t, (function (t) {
24901                                    return h.test(t) ? S(t.slice(4).toLowerCase()) : t
24902                                }))
24903                            }
24904                        }, r && e) if (t.exports == r) e.exports = s; else for (a in s) s.hasOwnProperty(a) && (r[a] = s[a]); else i.punycode = s
24905                    }(IS)
24906                })), FS = function (t) {
24907                    return "string" == typeof t
24908                }, LS = function (t) {
24909                    return "object" === RS(t) && null !== t
24910                }, GS = function (t) {
24911                    return null === t
24912                }, DS = function (t) {
24913                    return null == t
24914                };
24915
24916                function US(t, n) {
24917                    return Object.prototype.hasOwnProperty.call(t, n)
24918                }
24919
24920                var qS = function (t, n, i, r) {
24921                    n = n || "&", i = i || "=";
24922                    var e = {};
24923                    if ("string" != typeof t || 0 === t.length) return e;
24924                    var o = /\+/g;
24925                    t = t.split(n);
24926                    var s = 1e3;
24927                    r && "number" == typeof r.maxKeys && (s = r.maxKeys);
24928                    var a = t.length;
24929                    s > 0 && a > s && (a = s);
24930                    for (var u = 0; u < a; ++u) {
24931                        var c, h, f, l, v = t[u].replace(o, "%20"), d = v.indexOf(i);
24932                        d >= 0 ? (c = v.substr(0, d), h = v.substr(d + 1)) : (c = v, h = ""), f = decodeURIComponent(c), l = decodeURIComponent(h), US(e, f) ? Array.isArray(e[f]) ? e[f].push(l) : e[f] = [e[f], l] : e[f] = l
24933                    }
24934                    return e
24935                }, BS = function (t) {
24936                    switch (RS(t)) {
24937                        case"string":
24938                            return t;
24939                        case"boolean":
24940                            return t ? "true" : "false";
24941                        case"number":
24942                            return isFinite(t) ? t : "";
24943                        default:
24944                            return ""
24945                    }
24946                }, WS = function (t, n, i, r) {
24947                    return n = n || "&", i = i || "=", null === t && (t = void 0), "object" === RS(t) ? Object.keys(t).map((function (r) {
24948                        var e = encodeURIComponent(BS(r)) + i;
24949                        return Array.isArray(t[r]) ? t[r].map((function (t) {
24950                            return e + encodeURIComponent(BS(t))
24951                        })).join(n) : e + encodeURIComponent(BS(t[r]))
24952                    })).join(n) : r ? encodeURIComponent(BS(r)) + i + encodeURIComponent(BS(t)) : ""
24953                }, VS = NS((function (t, n) {
24954                    n.decode = n.parse = qS, n.encode = n.stringify = WS
24955                }));
24956
24957                function XS() {
24958                    this.protocol = null, this.slashes = null, this.auth = null, this.host = null, this.port = null, this.hostname = null, this.hash = null, this.search = null, this.query = null, this.pathname = null, this.path = null, this.href = null
24959                }
24960
24961                var HS = /^([a-z0-9.+-]+:)/i, JS = /:[0-9]*$/, KS = /^(\/\/?(?!\/)[^\?\s]*)(\?[^\s]*)?$/,
24962                    YS = ["{", "}", "|", "\\", "^", "`"].concat(["<", ">", '"', "`", " ", "\r", "\n", "\t"]),
24963                    ZS = ["'"].concat(YS), $S = ["%", "/", "?", ";", "#"].concat(ZS), QS = ["/", "?", "#"],
24964                    tk = /^[+a-z0-9A-Z_-]{0,63}$/, nk = /^([+a-z0-9A-Z_-]{0,63})(.*)$/,
24965                    ik = {javascript: !0, "javascript:": !0}, rk = {javascript: !0, "javascript:": !0}, ek = {
24966                        http: !0,
24967                        https: !0,
24968                        ftp: !0,
24969                        gopher: !0,
24970                        file: !0,
24971                        "http:": !0,
24972                        "https:": !0,
24973                        "ftp:": !0,
24974                        "gopher:": !0,
24975                        "file:": !0
24976                    };
24977
24978                function ok(t, n, i) {
24979                    if (t && LS(t) && t instanceof XS) return t;
24980                    var r = new XS;
24981                    return r.parse(t, n, i), r
24982                }
24983
24984                XS.prototype.parse = function (t, n, i) {
24985                    if (!FS(t)) throw new TypeError("Parameter 'url' must be a string, not " + RS(t));
24986                    var r = t.indexOf("?"), e = -1 !== r && r < t.indexOf("#") ? "?" : "#", o = t.split(e);
24987                    o[0] = o[0].replace(/\\/g, "/");
24988                    var s = t = o.join(e);
24989                    if (s = s.trim(), !i && 1 === t.split("#").length) {
24990                        var a = KS.exec(s);
24991                        if (a) return this.path = s, this.href = s, this.pathname = a[1], a[2] ? (this.search = a[2], this.query = n ? VS.parse(this.search.substr(1)) : this.search.substr(1)) : n && (this.search = "", this.query = {}), this
24992                    }
24993                    var u = HS.exec(s);
24994                    if (u) {
24995                        var c = (u = u[0]).toLowerCase();
24996                        this.protocol = c, s = s.substr(u.length)
24997                    }
24998                    if (i || u || s.match(/^\/\/[^@\/]+@[^@\/]+/)) {
24999                        var h = "//" === s.substr(0, 2);
25000                        !h || u && rk[u] || (s = s.substr(2), this.slashes = !0)
25001                    }
25002                    if (!rk[u] && (h || u && !ek[u])) {
25003                        for (var f, l, v = -1, d = 0; d < QS.length; d++) {
25004                            -1 !== (p = s.indexOf(QS[d])) && (-1 === v || p < v) && (v = p)
25005                        }
25006                        -1 !== (l = -1 === v ? s.lastIndexOf("@") : s.lastIndexOf("@", v)) && (f = s.slice(0, l), s = s.slice(l + 1), this.auth = decodeURIComponent(f)), v = -1;
25007                        for (d = 0; d < $S.length; d++) {
25008                            var p;
25009                            -1 !== (p = s.indexOf($S[d])) && (-1 === v || p < v) && (v = p)
25010                        }
25011                        -1 === v && (v = s.length), this.host = s.slice(0, v), s = s.slice(v), this.parseHost(), this.hostname = this.hostname || "";
25012                        var y = "[" === this.hostname[0] && "]" === this.hostname[this.hostname.length - 1];
25013                        if (!y) for (var m = this.hostname.split(/\./), w = (d = 0, m.length); d < w; d++) {
25014                            var b = m[d];
25015                            if (b && !b.match(tk)) {
25016                                for (var g = "", x = 0, j = b.length; x < j; x++) b.charCodeAt(x) > 127 ? g += "x" : g += b[x];
25017                                if (!g.match(tk)) {
25018                                    var S = m.slice(0, d), k = m.slice(d + 1), M = b.match(nk);
25019                                    M && (S.push(M[1]), k.unshift(M[2])), k.length && (s = "/" + k.join(".") + s), this.hostname = S.join(".");
25020                                    break
25021                                }
25022                            }
25023                        }
25024                        this.hostname.length > 255 ? this.hostname = "" : this.hostname = this.hostname.toLowerCase(), y || (this.hostname = zS.toASCII(this.hostname));
25025                        var _ = this.port ? ":" + this.port : "", O = this.hostname || "";
25026                        this.host = O + _, this.href += this.host, y && (this.hostname = this.hostname.substr(1, this.hostname.length - 2), "/" !== s[0] && (s = "/" + s))
25027                    }
25028                    if (!ik[c]) for (d = 0, w = ZS.length; d < w; d++) {
25029                        var T = ZS[d];
25030                        if (-1 !== s.indexOf(T)) {
25031                            var E = encodeURIComponent(T);
25032                            E === T && (E = escape(T)), s = s.split(T).join(E)
25033                        }
25034                    }
25035                    var A = s.indexOf("#");
25036                    -1 !== A && (this.hash = s.substr(A), s = s.slice(0, A));
25037                    var C = s.indexOf("?");
25038                    if (-1 !== C ? (this.search = s.substr(C), this.query = s.substr(C + 1), n && (this.query = VS.parse(this.query)), s = s.slice(0, C)) : n && (this.search = "", this.query = {}), s && (this.pathname = s), ek[c] && this.hostname && !this.pathname && (this.pathname = "/"), this.pathname || this.search) {
25039                        _ = this.pathname || "";
25040                        var R = this.search || "";
25041                        this.path = _ + R
25042                    }
25043                    return this.href = this.format(), this
25044                }, XS.prototype.format = function () {
25045                    var t = this.auth || "";
25046                    t && (t = (t = encodeURIComponent(t)).replace(/%3A/i, ":"), t += "@");
25047                    var n = this.protocol || "", i = this.pathname || "", r = this.hash || "", e = !1, o = "";
25048                    this.host ? e = t + this.host : this.hostname && (e = t + (-1 === this.hostname.indexOf(":") ? this.hostname : "[" + this.hostname + "]"), this.port && (e += ":" + this.port)), this.query && LS(this.query) && Object.keys(this.query).length && (o = VS.stringify(this.query));
25049                    var s = this.search || o && "?" + o || "";
25050                    return n && ":" !== n.substr(-1) && (n += ":"), this.slashes || (!n || ek[n]) && !1 !== e ? (e = "//" + (e || ""), i && "/" !== i.charAt(0) && (i = "/" + i)) : e || (e = ""), r && "#" !== r.charAt(0) && (r = "#" + r), s && "?" !== s.charAt(0) && (s = "?" + s), n + e + (i = i.replace(/[?#]/g, (function (t) {
25051                        return encodeURIComponent(t)
25052                    }))) + (s = s.replace("#", "%23")) + r
25053                }, XS.prototype.resolve = function (t) {
25054                    return this.resolveObject(ok(t, !1, !0)).format()
25055                }, XS.prototype.resolveObject = function (t) {
25056                    if (FS(t)) {
25057                        var n = new XS;
25058                        n.parse(t, !1, !0), t = n
25059                    }
25060                    for (var i = new XS, r = Object.keys(this), e = 0; e < r.length; e++) {
25061                        var o = r[e];
25062                        i[o] = this[o]
25063                    }
25064                    if (i.hash = t.hash, "" === t.href) return i.href = i.format(), i;
25065                    if (t.slashes && !t.protocol) {
25066                        for (var s = Object.keys(t), a = 0; a < s.length; a++) {
25067                            var u = s[a];
25068                            "protocol" !== u && (i[u] = t[u])
25069                        }
25070                        return ek[i.protocol] && i.hostname && !i.pathname && (i.path = i.pathname = "/"), i.href = i.format(), i
25071                    }
25072                    if (t.protocol && t.protocol !== i.protocol) {
25073                        if (!ek[t.protocol]) {
25074                            for (var c = Object.keys(t), h = 0; h < c.length; h++) {
25075                                var f = c[h];
25076                                i[f] = t[f]
25077                            }
25078                            return i.href = i.format(), i
25079                        }
25080                        if (i.protocol = t.protocol, t.host || rk[t.protocol]) i.pathname = t.pathname; else {
25081                            for (var l = (t.pathname || "").split("/"); l.length && !(t.host = l.shift());) ;
25082                            t.host || (t.host = ""), t.hostname || (t.hostname = ""), "" !== l[0] && l.unshift(""), l.length < 2 && l.unshift(""), i.pathname = l.join("/")
25083                        }
25084                        if (i.search = t.search, i.query = t.query, i.host = t.host || "", i.auth = t.auth, i.hostname = t.hostname || t.host, i.port = t.port, i.pathname || i.search) {
25085                            var v = i.pathname || "", d = i.search || "";
25086                            i.path = v + d
25087                        }
25088                        return i.slashes = i.slashes || t.slashes, i.href = i.format(), i
25089                    }
25090                    var p = i.pathname && "/" === i.pathname.charAt(0),
25091                        y = t.host || t.pathname && "/" === t.pathname.charAt(0), m = y || p || i.host && t.pathname,
25092                        w = m, b = i.pathname && i.pathname.split("/") || [],
25093                        g = (l = t.pathname && t.pathname.split("/") || [], i.protocol && !ek[i.protocol]);
25094                    if (g && (i.hostname = "", i.port = null, i.host && ("" === b[0] ? b[0] = i.host : b.unshift(i.host)), i.host = "", t.protocol && (t.hostname = null, t.port = null, t.host && ("" === l[0] ? l[0] = t.host : l.unshift(t.host)), t.host = null), m = m && ("" === l[0] || "" === b[0])), y) i.host = t.host || "" === t.host ? t.host : i.host, i.hostname = t.hostname || "" === t.hostname ? t.hostname : i.hostname, i.search = t.search, i.query = t.query, b = l; else if (l.length) b || (b = []), b.pop(), b = b.concat(l), i.search = t.search, i.query = t.query; else if (!DS(t.search)) {
25095                        if (g) i.hostname = i.host = b.shift(), (M = !!(i.host && i.host.indexOf("@") > 0) && i.host.split("@")) && (i.auth = M.shift(), i.host = i.hostname = M.shift());
25096                        return i.search = t.search, i.query = t.query, GS(i.pathname) && GS(i.search) || (i.path = (i.pathname ? i.pathname : "") + (i.search ? i.search : "")), i.href = i.format(), i
25097                    }
25098                    if (!b.length) return i.pathname = null, i.search ? i.path = "/" + i.search : i.path = null, i.href = i.format(), i;
25099                    for (var x = b.slice(-1)[0], j = (i.host || t.host || b.length > 1) && ("." === x || ".." === x) || "" === x, S = 0, k = b.length; k >= 0;
25099 k--) "." === (x = b[k]) ? b.splice(k, 1) : ".." === x ? (b.splice(k, 1), S++) : S && (b.splice(k, 1), S--);
25100                    if (!m && !w) for (; S--; S) b.unshift("..");
25101                    !m || "" === b[0] || b[0] && "/" === b[0].charAt(0) || b.unshift(""), j && "/" !== b.join("/").substr(-1) && b.push("");
25102                    var M, _ = "" === b[0] || b[0] && "/" === b[0].charAt(0);
25103                    g && (i.hostname = i.host = _ ? "" : b.length ? b.shift() : "", (M = !!(i.host && i.host.indexOf("@") > 0) && i.host.split("@")) && (i.auth = M.shift(), i.host = i.hostname = M.shift()));
25104                    return (m = m || i.host && b.length) && !_ && b.unshift(""), b.length ? i.pathname = b.join("/") : (i.pathname = null, i.path = null), GS(i.pathname) && GS(i.search) || (i.path = (i.pathname ? i.pathname : "") + (i.search ? i.search : "")), i.auth = t.auth || i.auth, i.slashes = i.slashes || t.slashes, i.href = i.format(), i
25105                }, XS.prototype.parseHost = function () {
25106                    var t = this.host, n = JS.exec(t);
25107                    n && (":" !== (n = n[0]) && (this.port = n.substr(1)), t = t.substr(0, t.length - n.length)), t && (this.hostname = t)
25108                };
25109
25110                function sk(t) {
25111                    for (var n = arguments.length, i = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++) i[r - 1] = arguments[r];
25112                    for (var e = 0, o = i; e < o.length; e++) {
25113                        var s = o[e];
25114                        for (var a in s) t[a] = s[a]
25115                    }
25116                    return t
25117                }
25118
25119                var ak = function (t) {
25120                        !function (t, n) {
25121                            if ("function" != typeof n && null !== n) throw new TypeError("Super expression must either be null or a function");
25122                            t.prototype = Object.create(n && n.prototype, {
25123                                constructor: {
25124                                    value: t,
25125                                    writable: !0,
25126                                    configurable: !0
25127                                }
25128                            }), Object.defineProperty(t, "prototype", {writable: !1}), n && OS(t, n)
25129                        }(e, t);
25130                        var n, i, r = (n = e, i = _S(), function () {
25131                            var t, r = TS(n);
25132                            if (i) {
25133                                var e = TS(this).constructor;
25134                                t = Reflect.construct(r, arguments, e)
25135                            } else t = r.apply(this, arguments);
25136                            return SS(this, t)
25137                        });
25138
25139                        function e(t, n) {
25140                            var i;
25141                            return jS(this, e), (i = r.call(this, n)).message = n, i.key = t, i
25142                        }
25143
25144                        return xS(e)
25145                    }(kS(Error)), uk = function () {
25146                        function t(n) {
25147                            var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [];
25148                            jS(this, t), this.parent = n, this.bindings = {};
25149                            var r, e = ES(i);
25150                            try {
25151                                for (e.s(); !(r = e.n()).done;) {
25152                                    var o = mS(r.value, 2), s = o[0], a = o[1];
25153                                    this.bindings[s] = a
25154                                }
25155                            } catch (t) {
25156                                e.e(t)
25157                            } finally {
25158                                e.f()
25159                            }
25160                        }
25161
25162                        return xS(t, [{
25163                            key: "concat", value: function (n) {
25164                                return new t(this, n)
25165                            }
25166                        }, {
25167                            key: "get", value: function (t) {
25168                                if (this.bindings[t]) return this.bindings[t];
25169                                if (this.parent) return this.parent.get(t);
25170                                throw new Error("".concat(t, " not found in scope."))
25171                            }
25172                        }, {
25173                            key: "has", value: function (t) {
25174                                return !!this.bindings[t] || !!this.parent && this.parent.has(t)
25175                            }
25176                        }]), t
25177                    }(), ck = {kind: "null"}, hk = {kind: "number"}, fk = {kind: "string"}, lk = {kind: "boolean"},
25178                    vk = {kind: "color"}, dk = {kind: "object"}, pk = {kind: "value"}, yk = {kind: "collator"},
25179                    mk = {kind: "formatted"}, wk = {kind: "resolvedImage"};
25180
25181                function bk(t, n) {
25182                    return {kind: "array", itemType: t, N: n}
25183                }
25184
25185                function gk(t) {
25186                    if ("array" === t.kind) {
25187                        var n = gk(t.itemType);
25188                        return "number" == typeof t.N ? "array<".concat(n, ", ").concat(t.N, ">") : "value" === t.itemType.kind ? "array" : "array<".concat(n, ">")
25189                    }
25190                    return t.kind
25191                }
25192
25193                var xk = [ck, hk, fk, lk, vk, mk, dk, bk(pk), wk];
25194
25195                function jk(t, n) {
25196                    if ("error" === n.kind) return null;
25197                    if ("array" === t.kind) {
25198                        if ("array" === n.kind && (0 === n.N && "value" === n.itemType.kind || !jk(t.itemType, n.itemType)) && ("number" != typeof t.N || t.N === n.N)) return null
25199                    } else {
25200                        if (t.kind === n.kind) return null;
25201                        if ("value" === t.kind) {
25202                            var i, r = ES(xk);
25203                            try {
25204                                for (r.s(); !(i = r.n()).done;) {
25205                                    if (!jk(i.value, n)) return null
25206                                }
25207                            } catch (t) {
25208                                r.e(t)
25209                            } finally {
25210                                r.f()
25211                            }
25212                        }
25213                    }
25214                    return "Expected ".concat(gk(t), " but found ").concat(gk(n), " instead.")
25215                }
25216
25217                function Sk(t, n) {
25218                    return n.some((function (n) {
25219                        return n.kind === t.kind
25220                    }))
25221                }
25222
25223                function kk(t, n) {
25224                    return n.some((function (n) {
25225                        return "null" === n ? null === t : "array" === n ? Array.isArray(t) : "object" === n ? t && !Array.isArray(t) && "object" === RS(t) : n === RS(t)
25226                    }))
25227                }
25228
25229                var Mk = NS((function (t, n) {
25230                    var i = {
25231                        transparent: [0, 0, 0, 0],
25232                        aliceblue: [240, 248, 255, 1],
25233                        antiquewhite: [250, 235, 215, 1],
25234                        aqua: [0, 255, 255, 1],
25235                        aquamarine: [127, 255, 212, 1],
25236                        azure: [240, 255, 255, 1],
25237                        beige: [245, 245, 220, 1],
25238                        bisque: [255, 228, 196, 1],
25239                        black: [0, 0, 0, 1],
25240                        blanchedalmond: [255, 235, 205, 1],
25241                        blue: [0, 0, 255, 1],
25242                        blueviolet: [138, 43, 226, 1],
25243                        brown: [165, 42, 42, 1],
25244                        burlywood: [222, 184, 135, 1],
25245                        cadetblue: [95, 158, 160, 1],
25246                        chartreuse: [127, 255, 0, 1],
25247                        chocolate: [210, 105, 30, 1],
25248                        coral: [255, 127, 80, 1],
25249                        cornflowerblue: [100, 149, 237, 1],
25250                        cornsilk: [255, 248, 220, 1],
25251                        crimson: [220, 20, 60, 1],
25252                        cyan: [0, 255, 255, 1],
25253                        darkblue: [0, 0, 139, 1],
25254                        darkcyan: [0, 139, 139, 1],
25255                        darkgoldenrod: [184, 134, 11, 1],
25256                        darkgray: [169, 169, 169, 1],
25257                        darkgreen: [0, 100, 0, 1],
25258                        darkgrey: [169, 169, 169, 1],
25259                        darkkhaki: [189, 183, 107, 1],
25260                        darkmagenta: [139, 0, 139, 1],
25261                        darkolivegreen: [85, 107, 47, 1],
25262                        darkorange: [255, 140, 0, 1],
25263                        darkorchid: [153, 50, 204, 1],
25264                        darkred: [139, 0, 0, 1],
25265                        darksalmon: [233, 150, 122, 1],
25266                        darkseagreen: [143, 188, 143, 1],
25267                        darkslateblue: [72, 61, 139, 1],
25268                        darkslategray: [47, 79, 79, 1],
25269                        darkslategrey: [47, 79, 79, 1],
25270                        darkturquoise: [0, 206, 209, 1],
25271                        darkviolet: [148, 0, 211, 1],
25272                        deeppink: [255, 20, 147, 1],
25273                        deepskyblue: [0, 191, 255, 1],
25274                        dimgray: [105, 105, 105, 1],
25275                        dimgrey: [105, 105, 105, 1],
25276                        dodgerblue: [30, 144, 255, 1],
25277                        firebrick: [178, 34, 34, 1],
25278                        floralwhite: [255, 250, 240, 1],
25279                        forestgreen: [34, 139, 34, 1],
25280                        fuchsia: [255, 0, 255, 1],
25281                        gainsboro: [220, 220, 220, 1],
25282                        ghostwhite: [248, 248, 255, 1],
25283                        gold: [255, 215, 0, 1],
25284                        goldenrod: [218, 165, 32, 1],
25285                        gray: [128, 128, 128, 1],
25286                        green: [0, 128, 0, 1],
25287                        greenyellow: [173, 255, 47, 1],
25288                        grey: [128, 128, 128, 1],
25289                        honeydew: [240, 255, 240, 1],
25290                        hotpink: [255, 105, 180, 1],
25291                        indianred: [205, 92, 92, 1],
25292                        indigo: [75, 0, 130, 1],
25293                        ivory: [255, 255, 240, 1],
25294                        khaki: [240, 230, 140, 1],
25295                        lavender: [230, 230, 250, 1],
25296                        lavenderblush: [255, 240, 245, 1],
25297                        lawngreen: [124, 252, 0, 1],
25298                        lemonchiffon: [255, 250, 205, 1],
25299                        lightblue: [173, 216, 230, 1],
25300                        lightcoral: [240, 128, 128, 1],
25301                        lightcyan: [224, 255, 255, 1],
25302                        lightgoldenrodyellow: [250, 250, 210, 1],
25303                        lightgray: [211, 211, 211, 1],
25304                        lightgreen: [144, 238, 144, 1],
25305                        lightgrey: [211, 211, 211, 1],
25306                        lightpink: [255, 182, 193, 1],
25307                        lightsalmon: [255, 160, 122, 1],
25308                        lightseagreen: [32, 178, 170, 1],
25309                        lightskyblue: [135, 206, 250, 1],
25310                        lightslategray: [119, 136, 153, 1],
25311                        lightslategrey: [119, 136, 153, 1],
25312                        lightsteelblue: [176, 196, 222, 1],
25313                        lightyellow: [255, 255, 224, 1],
25314                        lime: [0, 255, 0, 1],
25315                        limegreen: [50, 205, 50, 1],
25316                        linen: [250, 240, 230, 1],
25317                        magenta: [255, 0, 255, 1],
25318                        maroon: [128, 0, 0, 1],
25319                        mediumaquamarine: [102, 205, 170, 1],
25320                        mediumblue: [0, 0, 205, 1],
25321                        mediumorchid: [186, 85, 211, 1],
25322                        mediumpurple: [147, 112, 219, 1],
25323                        mediumseagreen: [60, 179, 113, 1],
25324                        mediumslateblue: [123, 104, 238, 1],
25325                        mediumspringgreen: [0, 250, 154, 1],
25326                        mediumturquoise: [72, 209, 204, 1],
25327                        mediumvioletred: [199, 21, 133, 1],
25328                        midnightblue: [25, 25, 112, 1],
25329                        mintcream: [245, 255, 250, 1],
25330                        mistyrose: [255, 228, 225, 1],
25331                        moccasin: [255, 228, 181, 1],
25332                        navajowhite: [255, 222, 173, 1],
25333                        navy: [0, 0, 128, 1],
25334                        oldlace: [253, 245, 230, 1],
25335                        olive: [128, 128, 0, 1],
25336                        olivedrab: [107, 142, 35, 1],
25337                        orange: [255, 165, 0, 1],
25338                        orangered: [255, 69, 0, 1],
25339                        orchid: [218, 112, 214, 1],
25340                        palegoldenrod: [238, 232, 170, 1],
25341                        palegreen: [152, 251, 152, 1],
25342                        paleturquoise: [175, 238, 238, 1],
25343                        palevioletred: [219, 112, 147, 1],
25344                        papayawhip: [255, 239, 213, 1],
25345                        peachpuff: [255, 218, 185, 1],
25346                        peru: [205, 133, 63, 1],
25347                        pink: [255, 192, 203, 1],
25348                        plum: [221, 160, 221, 1],
25349                        powderblue: [176, 224, 230, 1],
25350                        purple: [128, 0, 128, 1],
25351                        rebeccapurple: [102, 51, 153, 1],
25352                        red: [255, 0, 0, 1],
25353                        rosybrown: [188, 143, 143, 1],
25354                        royalblue: [65, 105, 225, 1],
25355                        saddlebrown: [139, 69, 19, 1],
25356                        salmon: [250, 128, 114, 1],
25357                        sandybrown: [244, 164, 96, 1],
25358                        seagreen: [46, 139, 87, 1],
25359                        seashell: [255, 245, 238, 1],
25360                        sienna: [160, 82, 45, 1],
25361                        silver: [192, 192, 192, 1],
25362                        skyblue: [135, 206, 235, 1],
25363                        slateblue: [106, 90, 205, 1],
25364                        slategray: [112, 128, 144, 1],
25365                        slategrey: [112, 128, 144, 1],
25366                        snow: [255, 250, 250, 1],
25367                        springgreen: [0, 255, 127, 1],
25368                        steelblue: [70, 130, 180, 1],
25369                        tan: [210, 180, 140, 1],
25370                        teal: [0, 128, 128, 1],
25371                        thistle: [216, 191, 216, 1],
25372                        tomato: [255, 99, 71, 1],
25373                        turquoise: [64, 224, 208, 1],
25374                        violet: [238, 130, 238, 1],
25375                        wheat: [245, 222, 179, 1],
25376                        white: [255, 255, 255, 1],
25377                        whitesmoke: [245, 245, 245, 1],
25378                        yellow: [255, 255, 0, 1],
25379                        yellowgreen: [154, 205, 50, 1]
25380                    };
25381
25382                    function r(t) {
25383                        return (t = Math.round(t)) < 0 ? 0 : t > 255 ? 255 : t
25384                    }
25385
25386                    function e(t) {
25387                        return t < 0 ? 0 : t > 1 ? 1 : t
25388                    }
25389
25390                    function o(t) {
25391                        return "%" === t[t.length - 1] ? r(parseFloat(t) / 100 * 255) : r(parseInt(t))
25392                    }
25393
25394                    function s(t) {
25395                        return "%" === t[t.length - 1] ? e(parseFloat(t) / 100) : e(parseFloat(t))
25396                    }
25397
25398                    function a(t, n, i) {
25399                        return i < 0 ? i += 1 : i > 1 && (i -= 1), 6 * i < 1 ? t + (n - t) * i * 6 : 2 * i < 1 ? n : 3 * i < 2 ? t + (n - t) * (2 / 3 - i) * 6 : t
25400                    }
25401
25402                    try {
25403                        n.parseCSSColor = function (t) {
25404                            var n, e = t.replace(/ /g, "").toLowerCase();
25405                            if (e in i) return i[e].slice();
25406                            if ("#" === e[0]) return 4 === e.length ? (n = parseInt(e.substr(1), 16)) >= 0 && n <= 4095 ? [(3840 & n) >> 4 | (3840 & n) >> 8, 240 & n | (240 & n) >> 4, 15 & n | (15 & n) << 4, 1] : null : 7 === e.length && (n = parseInt(e.substr(1), 16)) >= 0 && n <= 16777215 ? [(16711680 & n) >> 16, (65280 & n) >> 8, 255 & n, 1] : null;
25407                            var u = e.indexOf("("), c = e.indexOf(")");
25408                            if (-1 !== u && c + 1 === e.length) {
25409                                var h = e.substr(0, u), f = e.substr(u + 1, c - (u + 1)).split(","), l = 1;
25410                                switch (h) {
25411                                    case"rgba":
25412                                        if (4 !== f.length) return null;
25413                                        l = s(f.pop());
25414                                    case"rgb":
25415                                        return 3 !== f.length ? null : [o(f[0]), o(f[1]), o(f[2]), l];
25416                                    case"hsla":
25417                                        if (4 !== f.length) return null;
25418                                        l = s(f.pop());
25419                                    case"hsl":
25420                                        if (3 !== f.length) return null;
25421                                        var v = (parseFloat(f[0]) % 360 + 360) % 360 / 360, d = s(f[1]), p = s(f[2]),
25422                                            y = p <= .5 ? p * (d + 1) : p + d - p * d, m = 2 * p - y;
25423                                        return [r(255 * a(m, y, v + 1 / 3)), r(255 * a(m, y, v)), r(255 * a(m, y, v - 1 / 3)), l];
25424                                    default:
25425                                        return null
25426                                }
25427                            }
25428                            return null
25429                        }
25430                    } catch (t) {
25431                    }
25432                })), _k = function () {
25433                    function t(n, i, r) {
25434                        var e = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : 1;
25435                        jS(this, t), this.r = n, this.g = i, this.b = r, this.a = e
25436                    }
25437
25438                    return xS(t, [{
25439                        key: "toString", value: function () {
25440                            var t = mS(this.toArray(), 4), n = t[0], i = t[1], r = t[2], e = t[3];
25441                            return "rgba(".concat(Math.round(n), ",").concat(Math.round(i), ",").concat(Math.round(r), ",").concat(e, ")")
25442                        }
25443                    }, {
25444                        key: "toArray", value: function () {
25445                            var t = this.r, n = this.g, i = this.b, r = this.a;
25446                            return 0 === r ? [0, 0, 0, 0] : [255 * t / r, 255 * n / r, 255 * i / r, r]
25447                        }
25448                    }], [{
25449                        key: "parse", value: function (n) {
25450                            if (n) {
25451                                if (n instanceof t) return n;
25452                                if ("string" == typeof n) {
25453                                    var i = Mk.parseCSSColor(n);
25454                                    if (i) return new t(i[0] / 255 * i[3], i[1] / 255 * i[3], i[2] / 255 * i[3], i[3])
25455                                }
25456                            }
25457                        }
25458                    }]), t
25459                }();
25460                _k.black = new _k(0, 0, 0, 1), _k.white = new _k(1, 1, 1, 1), _k.transparent = new _k(0, 0, 0, 0), _k.red = new _k(1, 0, 0, 1), _k.blue = new _k(0, 0, 1, 1);
25461                var Ok = function () {
25462                    function t(n, i, r) {
25463                        jS(this, t), this.sensitivity = n ? i ? "variant" : "case" : i ? "accent" : "base", this.locale = r, this.collator = new Intl.Collator(this.locale ? this.locale : [], {
25464                            sensitivity: this.sensitivity,
25465                            usage: "search"
25466                        })
25467                    }
25468
25469                    return xS(t, [{
25470                        key: "compare", value: function (t, n) {
25471                            return this.collator.compare(t, n)
25472                        }
25473                    }, {
25474                        key: "resolvedLocale", value: function () {
25475                            return new Intl.Collator(this.locale ? this.locale : []).resolvedOptions().locale
25476                        }
25477                    }]), t
25478                }(), Tk = xS((function t(n, i, r, e, o) {
25479                    jS(this, t), this.text = n, this.image = i, this.scale = r, this.fontStack = e, this.textColor = o
25480                })), Ek = function () {
25481                    function t(n) {
25482                        jS(this, t), this.sections = n
25483                    }
25484
25485                    return xS(t, [{
25486                        key: "isEmpty", value: function () {
25487                            return 0 === this.sections.length || !this.sections.some((function (t) {
25488                                return 0 !== t.text.length || t.image && 0 !== t.image.name.length
25489                            }))
25490                        }
25491                    }, {
25492                        key: "toString", value: function () {
25493                            return 0 === this.sections.length ? "" : this.sections.map((function (t) {
25494                                return t.text
25495                            })).join("")
25496                        }
25497                    }, {
25498                        key: "serialize", value: function () {
25499                            var t, n = ["format"], i = ES(this.sections);
25500                            try {
25501                                for (i.s(); !(t = i.n()).done;) {
25502                                    var r = t.value;
25503                                    if (r.image) n.push(["image", r.image.name]); else {
25504                                        n.push(r.text);
25505                                        var e = {};
25506                                        r.fontStack && (e["text-font"] = ["literal", r.fontStack.split(",")]), r.scale && (e["font-scale"] = r.scale), r.textColor && (e["text-color"] = ["rgba"].concat(r.textColor.toArray())), n.push(e)
25507                                    }
25508                                }
25509                            } catch (t) {
25510                                i.e(t)
25511                            } finally {
25512                                i.f()
25513                            }
25514                            return n
25515                        }
25516                    }], [{
25517                        key: "fromString", value: function (n) {
25518                            return new t([new Tk(n, null, null, null, null)])
25519                        }
25520                    }, {
25521                        key: "factory", value: function (n) {
25522                            return n instanceof t ? n : t.fromString(n)
25523                        }
25524                    }]), t
25525                }(), Ak = function () {
25526                    function t(n) {
25527                        jS(this, t), this.name = n.name, this.available = n.available
25528                    }
25529
25530                    return xS(t, [{
25531                        key: "toString", value: function () {
25532                            return this.name
25533                        }
25534                    }, {
25535                        key: "serialize", value: function () {
25536                            return ["image", this.name]
25537                        }
25538                    }], [{
25539                        key: "fromString", value: function (n) {
25540                            return n ? new t({name: n, available: !1}) : null
25541                        }
25542                    }]), t
25543                }();
25544
25545                function Ck(t, n, i, r) {
25546                    return "number" == typeof t && t >= 0 && t <= 255 && "number" == typeof n && n >= 0 && n <= 255 && "number" == typeof i && i >= 0 && i <= 255 ? void 0 === r || "number" == typeof r && r >= 0 && r <= 1 ? null : "Invalid rgba value [".concat([t, n, i, r].join(", "), "]: 'a' must be between 0 and 1.") : "Invalid rgba value [".concat(("number" == typeof r ? [t, n, i, r] : [t, n, i]).join(", "), "]: 'r', 'g', and 'b' must be between 0 and 255.")
25547                }
25548
25549                function Rk(t) {
25550                    if (null === t) return !0;
25551                    if ("string" == typeof t) return !0;
25552                    if ("boolean" == typeof t) return !0;
25553                    if ("number" == typeof t) return !0;
25554                    if (t instanceof _k) return !0;
25555                    if (t instanceof Ok) return !0;
25556                    if (t instanceof Ek) return !0;
25557                    if (t instanceof Ak) return !0;
25558                    if (Array.isArray(t)) {
25559                        var n, i = ES(t);
25560                        try {
25561                            for (i.s(); !(n = i.n()).done;) {
25562                                if (!Rk(n.value)) return !1
25563                            }
25564                        } catch (t) {
25565                            i.e(t)
25566                        } finally {
25567                            i.f()
25568                        }
25569                        return !0
25570                    }
25571                    if ("object" === RS(t)) {
25572                        for (var r in t) if (!Rk(t[r])) return !1;
25573                        return !0
25574                    }
25575                    return !1
25576                }
25577
25578                function Pk(t) {
25579                    if (null === t) return ck;
25580                    if ("string" == typeof t) return fk;
25581                    if ("boolean" == typeof t) return lk;
25582                    if ("number" == typeof t) return hk;
25583                    if (t instanceof _k) return vk;
25584                    if (t instanceof Ok) return yk;
25585                    if (t instanceof Ek) return mk;
25586                    if (t instanceof Ak) return wk;
25587                    if (Array.isArray(t)) {
25588                        var n, i, r = t.length, e = ES(t);
25589                        try {
25590                            for (e.s(); !(i = e.n()).done;) {
25591                                var o = Pk(i.value);
25592                                if (n) {
25593                                    if (n === o) continue;
25594                                    n = pk;
25595                                    break
25596                                }
25597                                n = o
25598                            }
25599                        } catch (t) {
25600                            e.e(t)
25601                        } finally {
25602                            e.f()
25603                        }
25604                        return bk(n || pk, r)
25605                    }
25606                    return dk
25607                }
25608
25609                function Ik(t) {
25610                    var n = RS(t);
25611                    return null === t ? "" : "string" === n || "number" === n || "boolean" === n ? String(t) : t instanceof _k || t instanceof Ek || t instanceof Ak ? t.toString() : JSON.stringify(t)
25612                }
25613
25614                var Nk = function () {
25615                    function t(n, i) {
25616                        jS(this, t), this.type = n, this.value = i
25617                    }
25618
25619                    return xS(t, [{
25620                        key: "evaluate", value: function () {
25621                            return this.value
25622                        }
25623                    }, {
25624                        key: "eachChild", value: function () {
25625                        }
25626                    }, {
25627                        key: "outputDefined", value: function () {
25628                            return !0
25629                        }
25630                    }, {
25631                        key: "serialize", value: function () {
25632                            return "array" === this.type.kind || "object" === this.type.kind ? ["literal", this.value] : this.value instanceof _k ? ["rgba"].concat(this.value.toArray()) : this.value instanceof Ek ? this.value.serialize() : this.value
25633                        }
25634                    }], [{
25635                        key: "parse", value: function (n, i) {
25636                            if (2 !== n.length) return i.error("'literal' expression requires exactly one argument, but found ".concat(n.length - 1, " instead."));
25637                            if (!Rk(n[1])) return i.error("invalid value");
25638                            var r = n[1], e = Pk(r), o = i.expectedType;
25639                            return "array" !== e.kind || 0 !== e.N || !o || "array" !== o.kind || "number" == typeof o.N && 0 !== o.N || (e = o), new t(e, r)
25640                        }
25641                    }]), t
25642                }(), zk = function () {
25643                    function t(n) {
25644                        jS(this, t), this.name = "ExpressionEvaluationError", this.message = n
25645                    }
25646
25647                    return xS(t, [{
25648                        key: "toJSON", value: function () {
25649                            return this.message
25650                        }
25651                    }]), t
25652                }(), Fk = {string: fk, number: hk, boolean: lk, object: dk}, Lk = function () {
25653                    function t(n, i) {
25654                        jS(this, t), this.type = n, this.args = i
25655                    }
25656
25657                    return xS(t, [{
25658                        key: "evaluate", value: function (t) {
25659                            for (var n = 0; n < this.args.length; n++) {
25660                                var i = this.args[n].evaluate(t);
25661                                if (!jk(this.type, Pk(i))) return i;
25662                                if (n === this.args.length - 1) throw new zk("Expected value to be of type ".concat(gk(this.type), ", but found ").concat(gk(Pk(i)), " instead."))
25663                            }
25664                            return null
25665                        }
25666                    }, {
25667                        key: "eachChild", value: function (t) {
25668                            this.args.forEach(t)
25669                        }
25670                    }, {
25671                        key: "outputDefined", value: function () {
25672                            return this.args.every((function (t) {
25673                                return t.outputDefined()
25674                            }))
25675                        }
25676                    }, {
25677                        key: "serialize", value: function () {
25678                            var t = this.type, n = [t.kind];
25679                            if ("array" === t.kind) {
25680                                var i = t.itemType;
25681                                if ("string" === i.kind || "number" === i.kind || "boolean" === i.kind) {
25682                                    n.push(i.kind);
25683                                    var r = t.N;
25684                                    ("number" == typeof r || this.args.length > 1) && n.push(r)
25685                                }
25686                            }
25687                            return n.concat(this.args.map((function (t) {
25688                                return t.serialize()
25689                            })))
25690                        }
25691                    }], [{
25692                        key: "parse", value: function (n, i) {
25693                            if (n.length < 2) return i.error("Expected at least one argument.");
25694                            var r, e = 1, o = n[0];
25695                            if ("array" === o) {
25696                                var s, a;
25697                                if (n.length > 2) {
25698                                    var u = n[1];
25699                                    if ("string" != typeof u || !(u in Fk) || "object" === u) return i.error('The item type argument of "array" must be one of string, number, boolean', 1);
25700                                    s = Fk[u], e++
25701                                } else s = pk;
25702                                if (n.length > 3) {
25703                                    if (null !== n[2] && ("number" != typeof n[2] || n[2] < 0 || n[2] !== Math.floor(n[2]))) return i.error('The length argument to "array" must be a positive integer literal', 2);
25704                                    a = n[2], e++
25705                                }
25706                                r = bk(s, a)
25707                            } else r = Fk[o];
25708                            for (var c = []; e < n.length; e++) {
25709                                var h = i.parse(n[e], e, pk);
25710                                if (!h) return null;
25711                                c.push(h)
25712                            }
25713                            return new t(r, c)
25714                        }
25715                    }]), t
25716                }(), Gk = function () {
25717                    function t(n) {
25718                        jS(this, t), this.type = mk, this.sections = n
25719                    }
25720
25721                    return xS(t, [{
25722                        key: "evaluate", value: function (t) {
25723                            return new Ek(this.sections.map((function (n) {
25724                                var i = n.content.evaluate(t);
25725                                return Pk(i) === wk ? new Tk("", i, null, null, null) : new Tk(Ik(i), null, n.scale ? n.scale.evaluate(t) : null, n.font ? n.font.evaluate(t).join(",") : null, n.textColor ? n.textColor.evaluate(t) : null)
25726                            })))
25727                        }
25728                    }, {
25729                        key: "eachChild", value: function (t) {
25730                            var n, i = ES(this.sections);
25731                            try {
25732                                for (i.s(); !(n = i.n()).done;) {
25733                                    var r = n.value;
25734                                    t(r.content), r.scale && t(r.scale), r.font && t(r.font), r.textColor && t(r.textColor)
25735                                }
25736                            } catch (t) {
25737                                i.e(t)
25738                            } finally {
25739                                i.f()
25740                            }
25741                        }
25742                    }, {
25743                        key: "outputDefined", value: function () {
25744                            return !1
25745                        }
25746                    }, {
25747                        key: "serialize", value: function () {
25748                            var t, n = ["format"], i = ES(this.sections);
25749                            try {
25750                                for (i.s(); !(t = i.n()).done;) {
25751                                    var r = t.value;
25752                                    n.push(r.content.serialize());
25753                                    var e = {};
25754                                    r.scale && (e["font-scale"] = r.scale.serialize()), r.font && (e["text-font"] = r.font.serialize()), r.textColor && (e["text-color"] = r.textColor.serialize()), n.push(e)
25755                                }
25756                            } catch (t) {
25757                                i.e(t)
25758                            } finally {
25759                                i.f()
25760                            }
25761                            return n
25762                        }
25763                    }], [{
25764                        key: "parse", value: function (n, i) {
25765                            if (n.length < 2) return i.error("Expected at least one argument.");
25766                            var r = n[1];
25767                            if (!Array.isArray(r) && "object" === RS(r)) return i.error("First argument must be an image or text section.");
25768                            for (var e = [], o = !1, s = 1; s <= n.length - 1; ++s) {
25769                                var a = n[s];
25770                                if (o && "object" === RS(a) && !Array.isArray(a)) {
25771                                    o = !1;
25772                                    var u = null;
25773                                    if (a["font-scale"] && !(u = i.parse(a["font-scale"], 1, hk))) return null;
25774                                    var c = null;
25775                                    if (a["text-font"] && !(c = i.parse(a["text-font"], 1, bk(fk)))) return null;
25776                                    var h = null;
25777                                    if (a["text-color"] && !(h = i.parse(a["text-color"], 1, vk))) return null;
25778                                    var f = e[e.length - 1];
25779                                    f.scale = u, f.font = c, f.textColor = h
25780                                } else {
25781                                    var l = i.parse(n[s], 1, pk);
25782                                    if (!l) return null;
25783                                    var v = l.type.kind;
25784                                    if ("string" !== v && "value" !== v && "null" !== v && "resolvedImage" !== v) return i.error("Formatted text type must be 'string', 'value', 'image' or 'null'.");
25785                                    o = !0, e.push({content: l, scale: null, font: null, textColor: null})
25786                                }
25787                            }
25788                            return new t(e)
25789                        }
25790                    }]), t
25791                }(), Dk = function () {
25792                    function t(n) {
25793                        jS(this, t), this.type = wk, this.input = n
25794                    }
25795
25796                    return xS(t, [{
25797                        key: "evaluate", value: function (t) {
25798                            var n = this.input.evaluate(t), i = Ak.fromString(n);
25799                            return i && t.availableImages && (i.available = t.availableImages.indexOf(n) > -1), i
25800                        }
25801                    }, {
25802                        key: "eachChild", value: function (t) {
25803                            t(this.input)
25804                        }
25805                    }, {
25806                        key: "outputDefined", value: function () {
25807                            return !1
25808                        }
25809                    }, {
25810                        key: "serialize", value: function () {
25811                            return ["image", this.input.serialize()]
25812                        }
25813                    }], [{
25814                        key: "parse", value: function (n, i) {
25815                            if (2 !== n.length) return i.error("Expected two arguments.");
25816                            var r = i.parse(n[1], 1, fk);
25817                            return r ? new t(r) : i.error("No image name provided.")
25818                        }
25819                    }]), t
25820                }(), Uk = {"to-boolean": lk, "to-color": vk, "to-number": hk, "to-string": fk}, qk = function () {
25821                    function t(n, i) {
25822                        jS(this, t), this.type = n, this.args = i
25823                    }
25824
25825                    return xS(t, [{
25826                        key: "evaluate", value: function (t) {
25827                            if ("boolean" === this.type.kind) return Boolean(this.args[0].evaluate(t));
25828                            if ("color" === this.type.kind) {
25829                                var n, i, r, e = ES(this.args);
25830                                try {
25831                                    for (e.s(); !(r = e.n()).done;) {
25832                                        if (n = r.value.evaluate(t), i = null, n instanceof _k) return n;
25833                                        if ("string" == typeof n) {
25834                                            var o = t.parseColor(n);
25835                                            if (o) return o
25836                                        } else if (Array.isArray(n) && !(i = n.length < 3 || n.length > 4 ? "Invalid rbga value ".concat(JSON.stringify(n), ": expected an array containing either three or four numeric values.") : Ck(n[0], n[1], n[2], n[3]))) return new _k(n[0] / 255, n[1] / 255, n[2] / 255, n[3])
25837                                    }
25838                                } catch (t) {
25839                                    e.e(t)
25840                                } finally {
25841                                    e.f()
25842                                }
25843                                throw new zk(i || "Could not parse color from value '".concat("string" == typeof n ? n : String(JSON.stringify(n)), "'"))
25844                            }
25845                            if ("number" === this.type.kind) {
25846                                var s, a = null, u = ES(this.args);
25847                                try {
25848                                    for (u.s(); !(s = u.n()).done;) {
25849                                        if (null === (a = s.value.evaluate(t))) return 0;
25850                                        var c = Number(a);
25851                                        if (!isNaN(c)) return c
25852                                    }
25853                                } catch (t) {
25854                                    u.e(t)
25855                                } finally {
25856                                    u.f()
25857                                }
25858                                throw new zk("Could not convert ".concat(JSON.stringify(a), " to number."))
25859                            }
25860                            return "formatted" === this.type.kind ? Ek.fromString(Ik(this.args[0].evaluate(t))) : "resolvedImage" === this.type.kind ? Ak.fromString(Ik(this.args[0].evaluate(t))) : Ik(this.args[0].evaluate(t))
25861                        }
25862                    }, {
25863                        key: "eachChild", value: function (t) {
25864                            this.args.forEach(t)
25865                        }
25866                    }, {
25867                        key: "outputDefined", value: function () {
25868                            return this.args.every((function (t) {
25869                                return t.outputDefined()
25870                            }))
25871                        }
25872                    }, {
25873                        key: "serialize", value: function () {
25874                            if ("formatted" === this.type.kind) return new Gk([{
25875                                content: this.args[0],
25876                                scale: null,
25877                                font: null,
25878                                textColor: null
25879                            }]).serialize();
25880                            if ("resolvedImage" === this.type.kind) return new Dk(this.args[0]).serialize();
25881                            var t = ["to-".concat(this.type.kind)];
25882                            return this.eachChild((function (n) {
25883                                t.push(n.serialize())
25884                            })), t
25885                        }
25886                    }], [{
25887                        key: "parse", value: function (n, i) {
25888                            if (n.length < 2) return i.error("Expected at least one argument.");
25889                            var r = n[0];
25890                            if (("to-boolean" === r || "to-string" === r) && 2 !== n.length) return i.error("Expected one argument.");
25891                            for (var e = Uk[r], o = [], s = 1; s < n.length; s++) {
25892                                var a = i.parse(n[s], s, pk);
25893                                if (!a) return null;
25894                                o.push(a)
25895                            }
25896                            return new t(e, o)
25897                        }
25898                    }]), t
25899                }(), Bk = ["Unknown", "Point", "LineString", "Polygon"], Wk = function () {
25900                    function t() {
25901                        jS(this, t), this.globals = null, this.feature = null, this.featureState = null, this.formattedSection = null, this._parseColorCache = {}, this.availableImages = null, this.canonical = null
25902                    }
25903
25904                    return xS(t, [{
25905                        key: "id", value: function () {
25906                            return this.feature && "id" in this.feature ? this.feature.id : null
25907                        }
25908                    }, {
25909                        key: "geometryType", value: function () {
25910                            return this.feature ? "number" == typeof this.feature.type ? Bk[this.feature.type] : this.feature.type : null
25911                        }
25912                    }, {
25913                        key: "geometry", value: function () {
25914                            return this.feature && "geometry" in this.feature ? this.feature.geometry : null
25915                        }
25916                    }, {
25917                        key: "canonicalID", value: function () {
25918                            return this.canonical
25919                        }
25920                    }, {
25921                        key: "properties", value: function () {
25922                            return this.feature && this.feature.properties || {}
25923                        }
25924                    }, {
25925                        key: "parseColor", value: function (t) {
25926                            var n = this._parseColorCache[t];
25927                            return n || (n = this._parseColorCache[t] = _k.parse(t)), n
25928                        }
25929                    }]), t
25930                }(), Vk = function () {
25931                    function t(n, i, r, e) {
25932                        jS(this, t), this.name = n, this.type = i, this._evaluate = r, this.args = e
25933                    }
25934
25935                    return xS(t, [{
25936                        key: "evaluate", value: function (t) {
25937                            return this._evaluate(t, this.args)
25938                        }
25939                    }, {
25940                        key: "eachChild", value: function (t) {
25941                            this.args.forEach(t)
25942                        }
25943                    }, {
25944                        key: "outputDefined", value: function () {
25945                            return !1
25946                        }
25947                    }, {
25948                        key: "serialize", value: function () {
25949                            return [this.name].concat(this.args.map((function (t) {
25950                                return t.serialize()
25951                            })))
25952                        }
25953                    }], [{
25954                        key: "parse", value: function (n, i) {
25955                            var r = n[0], e = t.definitions[r];
25956                            if (!e) return i.error('Unknown expression "'.concat(r, '". If you wanted a literal array, use ["literal", [...]].'), 0);
25957                            var o, s = Array.isArray(e) ? e[0] : e.type,
25958                                a = Array.isArray(e) ? [[e[1], e[2]]] : e.overloads, u = a.filter((function (t) {
25959                                    var i = mS(t, 1)[0];
25960                                    return !Array.isArray(i) || i.length === n.length - 1
25961                                })), c = null, h = ES(u);
25962                            try {
25963                                for (h.s(); !(o = h.n()).done;) {
25964                                    var f = mS(o.value, 2), l = f[0], v = f[1];
25965                                    c = new pM(i.registry, i.path, null, i.scope);
25966                                    for (var d = [], p = !1, y = 1; y < n.length; y++) {
25967                                        var m = n[y], w = Array.isArray(l) ? l[y - 1] : l.type,
25968                                            b = c.parse(m, 1 + d.length, w);
25969                                        if (!b) {
25970                                            p = !0;
25971                                            break
25972                                        }
25973                                        d.push(b)
25974                                    }
25975                                    if (!p) if (Array.isArray(l) && l.length !== d.length) c.error("Expected ".concat(l.length, " arguments, but found ").concat(d.length, " instead.")); else {
25976                                        for (var g = 0; g < d.length; g++) {
25977                                            var x = Array.isArray(l) ? l[g] : l.type, j = d[g];
25978                                            c.concat(g + 1).checkSubtype(x, j.type)
25979                                        }
25980                                        if (0 === c.errors.length) return new t(r, s, v, d)
25981                                    }
25982                                }
25983                            } catch (t) {
25984                                h.e(t)
25985                            } finally {
25986                                h.f()
25987                            }
25988                            if (1 === u.length) {
25989                                var S;
25990                                (S = i.errors).push.apply(S, pS(c.errors))
25991                            } else {
25992                                for (var k = (u.length ? u : a).map((function (t) {
25993                                    var n, i = mS(t, 1)[0];
25994                                    return n = i, Array.isArray(n) ? "(".concat(n.map(gk).join(", "), ")") : "(".concat(gk(n.type), "...)")
25995                                })).join(" | "), M = [], _ = 1; _ < n.length; _++) {
25996                                    var O = i.parse(n[_], 1 + M.length);
25997                                    if (!O) return null;
25998                                    M.push(gk(O.type))
25999                                }
26000                                i.error("Expected arguments of type ".concat(k, ", but found (").concat(M.join(", "), ") instead."))
26001                            }
26002                            return null
26003                        }
26004                    }, {
26005                        key: "register", value: function (n, i) {
26006                            for (var r in t.definitions = i, i) n[r] = t
26007                        }
26008                    }]), t
26009                }();
26010                var Xk = function () {
26011                    function t(n, i, r) {
26012                        jS(this, t), this.type = yk, this.locale = r, this.caseSensitive = n, this.diacriticSensitive = i
26013                    }
26014
26015                    return xS(t, [{
26016                        key: "evaluate", value: function (t) {
26017                            return new Ok(this.caseSensitive.evaluate(t), this.diacriticSensitive.evaluate(t), this.locale ? this.locale.evaluate(t) : null)
26018                        }
26019                    }, {
26020                        key: "eachChild", value: function (t) {
26021                            t(this.caseSensitive), t(this.diacriticSensitive), this.locale && t(this.locale)
26022                        }
26023                    }, {
26024                        key: "outputDefined", value: function () {
26025                            return !1
26026                        }
26027                    }, {
26028                        key: "serialize", value: function () {
26029                            var t = {};
26030                            return t["case-sensitive"] = this.caseSensitive.serialize(), t["diacritic-sensitive"] = this.diacriticSensitive.serialize(), this.locale && (t.locale = this.locale.serialize()), ["collator", t]
26031                        }
26032                    }], [{
26033                        key: "parse", value: function (n, i) {
26034                            if (2 !== n.length) return i.error("Expected one argument.");
26035                            var r = n[1];
26036                            if ("object" !== RS(r) || Array.isArray(r)) return i.error("Collator options argument must be an object.");
26037                            var e = i.parse(void 0 !== r["case-sensitive"] && r["case-sensitive"], 1, lk);
26038                            if (!e) return null;
26039                            var o = i.parse(void 0 !== r["diacritic-sensitive"] && r["diacritic-sensitive"], 1, lk);
26040                            if (!o) return null;
26041                            var s = null;
26042                            return r.locale && !(s = i.parse(r.locale, 1, fk)) ? null : new t(e, o, s)
26043                        }
26044                    }]), t
26045                }(), Hk = 8192;
26046
26047                function Jk(t, n) {
26048                    t[0] = Math.min(t[0], n[0]), t[1] = Math.min(t[1], n[1]), t[2] = Math.max(t[2], n[0]), t[3] = Math.max(t[3], n[1])
26049                }
26050
26051                function Kk(t, n) {
26052                    return !(t[0] <= n[0]) && (!(t[2] >= n[2]) && (!(t[1] <= n[1]) && !(t[3] >= n[3])))
26053                }
26054
26055                function Yk(t, n) {
26056                    var i, r = (180 + t[0]) / 360,
26057                        e = (i = t[1], (180 - 180 / Math.PI * Math.log(Math.tan(Math.PI / 4 + i * Math.PI / 360))) / 360),
26058                        o = Math.pow(2, n.z);
26059                    return [Math.round(r * o * Hk), Math.round(e * o * Hk)]
26060                }
26061
26062                function Zk(t, n, i) {
26063                    var r = t[0] - n[0], e = t[1] - n[1], o = t[0] - i[0], s = t[1] - i[1];
26064                    return r * s - o * e == 0 && r * o <= 0 && e * s <= 0
26065                }
26066
26067                function $k(t, n, i) {
26068                    return n[1] > t[1] != i[1] > t[1] && t[0] < (i[0] - n[0]) * (t[1] - n[1]) / (i[1] - n[1]) + n[0]
26069                }
26070
26071                function Qk(t, n) {
26072                    for (var i = !1, r = 0, e = n.length; r < e; r++) for (var o = n[r], s = 0, a = o.length; s < a - 1; s++) {
26073                        if (Zk(t, o[s], o[s + 1])) return !1;
26074                        $k(t, o[s], o[s + 1]) && (i = !i)
26075                    }
26076                    return i
26077                }
26078
26079                function tM(t, n) {
26080                    for (var i = 0; i < n.length; i++) if (Qk(t, n[i])) return !0;
26081                    return !1
26082                }
26083
26084                function nM(t, n, i, r) {
26085                    var e = t[0] - i[0], o = t[1] - i[1], s = n[0] - i[0], a = n[1] - i[1], u = r[0] - i[0],
26086                        c = r[1] - i[1], h = e * c - u * o, f = s * c - u * a;
26087                    return h > 0 && f < 0 || h < 0 && f > 0
26088                }
26089
26090                function iM(t, n, i) {
26091                    var r, e, o, s, a, u, c, h, f, l = ES(i);
26092                    try {
26093                        for (l.s(); !(r = l.n()).done;) for (var v = r.value, d = 0; d < v.length - 1; ++d) if (e = t, o = n, s = v[d], a = v[d + 1], u = void 0, c = void 0, h = void 0, f = void 0, h = [o[0] - e[0], o[1] - e[1]], f = [a[0] - s[0], a[1] - s[1]], 0 != (u = f)[0] * (c = h)[1] - u[1] * c[0] && nM(e, o, s, a) && nM(s, a, e, o)) return !0
26094                    } catch (t) {
26095                        l.e(t)
26096                    } finally {
26097                        l.f()
26098                    }
26099                    return !1
26100                }
26101
26102                function rM(t, n) {
26103                    for (var i = 0; i < t.length; ++i) if (!Qk(t[i], n)) return !1;
26104                    for (var r = 0; r < t.length - 1; ++r) if (iM(t[r], t[r + 1], n)) return !1;
26105                    return !0
26106                }
26107
26108                function eM(t, n) {
26109                    for (var i = 0; i < n.length; i++) if (rM(t, n[i])) return !0;
26110                    return !1
26111                }
26112
26113                function oM(t, n, i) {
26114                    for (var r = [], e = 0; e < t.length; e++) {
26115                        for (var o = [], s = 0; s < t[e].length; s++) {
26116                            var a = Yk(t[e][s], i);
26117                            Jk(n, a), o.push(a)
26118                        }
26119                        r.push(o)
26120                    }
26121                    return r
26122                }
26123
26124                function sM(t, n, i) {
26125                    for (var r = [], e = 0; e < t.length; e++) {
26126                        var o = oM(t[e], n, i);
26127                        r.push(o)
26128                    }
26129                    return r
26130                }
26131
26132                function aM(t, n, i, r) {
26133                    if (t[0] < i[0] || t[0] > i[2]) {
26134                        var e = .5 * r, o = t[0] - i[0] > e ? -r : i[0] - t[0] > e ? r : 0;
26135                        0 === o && (o = t[0] - i[2] > e ? -r : i[2] - t[0] > e ? r : 0), t[0] += o
26136                    }
26137                    Jk(n, t)
26138                }
26139
26140                function uM(t, n, i, r) {
26141                    var e, o = Math.pow(2, r.z) * Hk, s = [r.x * Hk, r.y * Hk], a = [], u = ES(t);
26142                    try {
26143                        for (u.s(); !(e = u.n()).done;) {
26144                            var c, h = ES(e.value);
26145                            try {
26146                                for (h.s(); !(c = h.n()).done;) {
26147                                    var f = c.value, l = [f.x + s[0], f.y + s[1]];
26148                                    aM(l, n, i, o), a.push(l)
26149                                }
26150                            } catch (t) {
26151                                h.e(t)
26152                            } finally {
26153                                h.f()
26154                            }
26155                        }
26156                    } catch (t) {
26157                        u.e(t)
26158                    } finally {
26159                        u.f()
26160                    }
26161                    return a
26162                }
26163
26164                function cM(t, n, i, r) {
26165                    var e, o = Math.pow(2, r.z) * Hk, s = [r.x * Hk, r.y * Hk], a = [], u = ES(t);
26166                    try {
26167                        for (u.s(); !(e = u.n()).done;) {
26168                            var c, h = e.value, f = [], l = ES(h);
26169                            try {
26170                                for (l.s(); !(c = l.n()).done;) {
26171                                    var v = c.value, d = [v.x + s[0], v.y + s[1]];
26172                                    Jk(n, d), f.push(d)
26173                                }
26174                            } catch (t) {
26175                                l.e(t)
26176                            } finally {
26177                                l.f()
26178                            }
26179                            a.push(f)
26180                        }
26181                    } catch (t) {
26182                        u.e(t)
26183                    } finally {
26184                        u.f()
26185                    }
26186                    if (n[2] - n[0] <= o / 2) {
26187                        !function (t) {
26188                            t[0] = t[1] = 1 / 0, t[2] = t[3] = -1 / 0
26189                        }(n);
26190                        var p, y = ES(a);
26191                        try {
26192                            for (y.s(); !(p = y.n()).done;) {
26193                                var m, w = ES(p.value);
26194                                try {
26195                                    for (w.s(); !(m = w.n()).done;) {
26196                                        aM(m.value, n, i, o)
26197                                    }
26198                                } catch (t) {
26199                                    w.e(t)
26200                                } finally {
26201                                    w.f()
26202                                }
26203                            }
26204                        } catch (t) {
26205                            y.e(t)
26206                        } finally {
26207                            y.f()
26208                        }
26209                    }
26210                    return a
26211                }
26212
26213                var hM = function () {
26214                    function t(n, i) {
26215                        jS(this, t), this.type = lk, this.geojson = n, this.geometries = i
26216                    }
26217
26218                    return xS(t, [{
26219                        key: "evaluate", value: function (t) {
26220                            if (null != t.geometry() && null != t.canonicalID()) {
26221                                if ("Point" === t.geometryType()) return function (t, n) {
26222                                    var i = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
26223                                        e = t.canonicalID();
26224                                    if ("Polygon" === n.type) {
26225                                        var o = oM(n.coordinates, r, e), s = uM(t.geometry(), i, r, e);
26226                                        if (!Kk(i, r)) return !1;
26227                                        var a, u = ES(s);
26228                                        try {
26229                                            for (u.s(); !(a = u.n()).done;) if (!Qk(a.value, o)) return !1
26230                                        } catch (t) {
26231                                            u.e(t)
26232                                        } finally {
26233                                            u.f()
26234                                        }
26235                                    }
26236                                    if ("MultiPolygon" === n.type) {
26237                                        var c = sM(n.coordinates, r, e), h 
26237= uM(t.geometry(), i, r, e);
26238                                        if (!Kk(i, r)) return !1;
26239                                        var f, l = ES(h);
26240                                        try {
26241                                            for (l.s(); !(f = l.n()).done;) if (!tM(f.value, c)) return !1
26242                                        } catch (t) {
26243                                            l.e(t)
26244                                        } finally {
26245                                            l.f()
26246                                        }
26247                                    }
26248                                    return !0
26249                                }(t, this.geometries);
26250                                if ("LineString" === t.geometryType()) return function (t, n) {
26251                                    var i = [1 / 0, 1 / 0, -1 / 0, -1 / 0], r = [1 / 0, 1 / 0, -1 / 0, -1 / 0],
26252                                        e = t.canonicalID();
26253                                    if ("Polygon" === n.type) {
26254                                        var o = oM(n.coordinates, r, e), s = cM(t.geometry(), i, r, e);
26255                                        if (!Kk(i, r)) return !1;
26256                                        var a, u = ES(s);
26257                                        try {
26258                                            for (u.s(); !(a = u.n()).done;) if (!rM(a.value, o)) return !1
26259                                        } catch (t) {
26260                                            u.e(t)
26261                                        } finally {
26262                                            u.f()
26263                                        }
26264                                    }
26265                                    if ("MultiPolygon" === n.type) {
26266                                        var c = sM(n.coordinates, r, e), h = cM(t.geometry(), i, r, e);
26267                                        if (!Kk(i, r)) return !1;
26268                                        var f, l = ES(h);
26269                                        try {
26270                                            for (l.s(); !(f = l.n()).done;) if (!eM(f.value, c)) return !1
26271                                        } catch (t) {
26272                                            l.e(t)
26273                                        } finally {
26274                                            l.f()
26275                                        }
26276                                    }
26277                                    return !0
26278                                }(t, this.geometries)
26279                            }
26280                            return !1
26281                        }
26282                    }, {
26283                        key: "eachChild", value: function () {
26284                        }
26285                    }, {
26286                        key: "outputDefined", value: function () {
26287                            return !0
26288                        }
26289                    }, {
26290                        key: "serialize", value: function () {
26291                            return ["within", this.geojson]
26292                        }
26293                    }], [{
26294                        key: "parse", value: function (n, i) {
26295                            if (2 !== n.length) return i.error("'within' expression requires exactly one argument, but found ".concat(n.length - 1, " instead."));
26296                            if (Rk(n[1])) {
26297                                var r = n[1];
26298                                if ("FeatureCollection" === r.type) for (var e = 0; e < r.features.length; ++e) {
26299                                    var o = r.features[e].geometry.type;
26300                                    if ("Polygon" === o || "MultiPolygon" === o) return new t(r, r.features[e].geometry)
26301                                } else if ("Feature" === r.type) {
26302                                    var s = r.geometry.type;
26303                                    if ("Polygon" === s || "MultiPolygon" === s) return new t(r, r.geometry)
26304                                } else if ("Polygon" === r.type || "MultiPolygon" === r.type) return new t(r, r)
26305                            }
26306                            return i.error("'within' expression requires valid geojson object that contains polygon geometry type.")
26307                        }
26308                    }]), t
26309                }();
26310
26311                function fM(t) {
26312                    if (t instanceof Vk) {
26313                        if ("get" === t.name && 1 === t.args.length) return !1;
26314                        if ("feature-state" === t.name) return !1;
26315                        if ("has" === t.name && 1 === t.args.length) return !1;
26316                        if ("properties" === t.name || "geometry-type" === t.name || "id" === t.name) return !1;
26317                        if (/^filter-/.test(t.name)) return !1
26318                    }
26319                    if (t instanceof hM) return !1;
26320                    var n = !0;
26321                    return t.eachChild((function (t) {
26322                        n && !fM(t) && (n = !1)
26323                    })), n
26324                }
26325
26326                function lM(t) {
26327                    if (t instanceof Vk && "feature-state" === t.name) return !1;
26328                    var n = !0;
26329                    return t.eachChild((function (t) {
26330                        n && !lM(t) && (n = !1)
26331                    })), n
26332                }
26333
26334                function vM(t, n) {
26335                    if (t instanceof Vk && n.indexOf(t.name) >= 0) return !1;
26336                    var i = !0;
26337                    return t.eachChild((function (t) {
26338                        i && !vM(t, n) && (i = !1)
26339                    })), i
26340                }
26341
26342                var dM = function () {
26343                    function t(n, i) {
26344                        jS(this, t), this.type = i.type, this.name = n, this.boundExpression = i
26345                    }
26346
26347                    return xS(t, [{
26348                        key: "evaluate", value: function (t) {
26349                            return this.boundExpression.evaluate(t)
26350                        }
26351                    }, {
26352                        key: "eachChild", value: function () {
26353                        }
26354                    }, {
26355                        key: "outputDefined", value: function () {
26356                            return !1
26357                        }
26358                    }, {
26359                        key: "serialize", value: function () {
26360                            return ["var", this.name]
26361                        }
26362                    }], [{
26363                        key: "parse", value: function (n, i) {
26364                            if (2 !== n.length || "string" != typeof n[1]) return i.error("'var' expression requires exactly one string literal argument.");
26365                            var r = n[1];
26366                            return i.scope.has(r) ? new t(r, i.scope.get(r)) : i.error('Unknown variable "'.concat(r, '". Make sure "').concat(r, '" has been bound in an enclosing "let" expression before using it.'), 1)
26367                        }
26368                    }]), t
26369                }(), pM = function () {
26370                    function t(n) {
26371                        var i = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : [],
26372                            r = arguments.length > 2 ? arguments[2] : void 0,
26373                            e = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : new uk,
26374                            o = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : [];
26375                        jS(this, t), this.registry = n, this.path = i, this.key = i.map((function (t) {
26376                            return "[".concat(t, "]")
26377                        })).join(""), this.scope = e, this.errors = o, this.expectedType = r
26378                    }
26379
26380                    return xS(t, [{
26381                        key: "parse", value: function (t, n, i, r) {
26382                            var e = arguments.length > 4 && void 0 !== arguments[4] ? arguments[4] : {};
26383                            return n ? this.concat(n, i, r)._parse(t, e) : this._parse(t, e)
26384                        }
26385                    }, {
26386                        key: "_parse", value: function (t, n) {
26387                            function i(t, n, i) {
26388                                return "assert" === i ? new Lk(n, [t]) : "coerce" === i ? new qk(n, [t]) : t
26389                            }
26390
26391                            if (null !== t && "string" != typeof t && "boolean" != typeof t && "number" != typeof t || (t = ["literal", t]), Array.isArray(t)) {
26392                                if (0 === t.length) return this.error('Expected an array with at least one element. If you wanted a literal array, use ["literal", []].');
26393                                var r = t[0];
26394                                if ("string" != typeof r) return this.error("Expression name must be a string, but found ".concat(RS(r), ' instead. If you wanted a literal array, use ["literal", [...]].'), 0), null;
26395                                var e = this.registry[r];
26396                                if (e) {
26397                                    var o = e.parse(t, this);
26398                                    if (!o) return null;
26399                                    if (this.expectedType) {
26400                                        var s = this.expectedType, a = o.type;
26401                                        if ("string" !== s.kind && "number" !== s.kind && "boolean" !== s.kind && "object" !== s.kind && "array" !== s.kind || "value" !== a.kind) if ("color" !== s.kind && "formatted" !== s.kind && "resolvedImage" !== s.kind || "value" !== a.kind && "string" !== a.kind) {
26402                                            if (this.checkSubtype(s, a)) return null
26403                                        } else o = i(o, s, n.typeAnnotation || "coerce"); else o = i(o, s, n.typeAnnotation || "assert")
26404                                    }
26405                                    if (!(o instanceof Nk) && "resolvedImage" !== o.type.kind && yM(o)) {
26406                                        var u = new Wk;
26407                                        try {
26408                                            o = new Nk(o.type, o.evaluate(u))
26409                                        } catch (t) {
26410                                            return this.error(t.message), null
26411                                        }
26412                                    }
26413                                    return o
26414                                }
26415                                return this.error('Unknown expression "'.concat(r, '". If you wanted a literal array, use ["literal", [...]].'), 0)
26416                            }
26417                            return void 0 === t ? this.error("'undefined' value invalid. Use null instead.") : "object" === RS(t) ? this.error('Bare objects invalid. Use ["literal", {...}] instead.') : this.error("Expected an array, but found ".concat(RS(t), " instead."))
26418                        }
26419                    }, {
26420                        key: "concat", value: function (n, i, r) {
26421                            var e = "number" == typeof n ? this.path.concat(n) : this.path,
26422                                o = r ? this.scope.concat(r) : this.scope;
26423                            return new t(this.registry, e, i || null, o, this.errors)
26424                        }
26425                    }, {
26426                        key: "error", value: function (t) {
26427                            for (var n = arguments.length, i = new Array(n > 1 ? n - 1 : 0), r = 1; r < n; r++) i[r - 1] = arguments[r];
26428                            var e = "".concat(this.key).concat(i.map((function (t) {
26429                                return "[".concat(t, "]")
26430                            })).join(""));
26431                            this.errors.push(new ak(e, t))
26432                        }
26433                    }, {
26434                        key: "checkSubtype", value: function (t, n) {
26435                            var i = jk(t, n);
26436                            return i && this.error(i), i
26437                        }
26438                    }]), t
26439                }();
26440
26441                function yM(t) {
26442                    if (t instanceof dM) return yM(t.boundExpression);
26443                    if (t instanceof Vk && "error" === t.name) return !1;
26444                    if (t instanceof Xk) return !1;
26445                    if (t instanceof hM) return !1;
26446                    var n = t instanceof qk || t instanceof Lk, i = !0;
26447                    return t.eachChild((function (t) {
26448                        i = n ? i && yM(t) : i && t instanceof Nk
26449                    })), !!i && (fM(t) && vM(t, ["zoom", "heatmap-density", "line-progress", "sky-radial-progress", "accumulated", "is-supported-script"]))
26450                }
26451
26452                function mM(t, n) {
26453                    for (var i, r, e = t.length - 1, o = 0, s = e, a = 0; o <= s;) if (i = t[a = Math.floor((o + s) / 2)], r = t[a + 1], i <= n) {
26454                        if (a === e || n < r) return a;
26455                        o = a + 1
26456                    } else {
26457                        if (!(i > n)) throw new zk("Input is not a number.");
26458                        s = a - 1
26459                    }
26460                    return 0
26461                }
26462
26463                var wM = function () {
26464                    function t(n, i, r) {
26465                        jS(this, t), this.type = n, this.input = i, this.labels = [], this.outputs = [];
26466                        var e, o = ES(r);
26467                        try {
26468                            for (o.s(); !(e = o.n()).done;) {
26469                                var s = mS(e.value, 2), a = s[0], u = s[1];
26470                                this.labels.push(a), this.outputs.push(u)
26471                            }
26472                        } catch (t) {
26473                            o.e(t)
26474                        } finally {
26475                            o.f()
26476                        }
26477                    }
26478
26479                    return xS(t, [{
26480                        key: "evaluate", value: function (t) {
26481                            var n = this.labels, i = this.outputs;
26482                            if (1 === n.length) return i[0].evaluate(t);
26483                            var r = this.input.evaluate(t);
26484                            if (r <= n[0]) return i[0].evaluate(t);
26485                            var e = n.length;
26486                            return r >= n[e - 1] ? i[e - 1].evaluate(t) : i[mM(n, r)].evaluate(t)
26487                        }
26488                    }, {
26489                        key: "eachChild", value: function (t) {
26490                            t(this.input);
26491                            var n, i = ES(this.outputs);
26492                            try {
26493                                for (i.s(); !(n = i.n()).done;) {
26494                                    t(n.value)
26495                                }
26496                            } catch (t) {
26497                                i.e(t)
26498                            } finally {
26499                                i.f()
26500                            }
26501                        }
26502                    }, {
26503                        key: "outputDefined", value: function () {
26504                            return this.outputs.every((function (t) {
26505                                return t.outputDefined()
26506                            }))
26507                        }
26508                    }, {
26509                        key: "serialize", value: function () {
26510                            for (var t = ["step", this.input.serialize()], n = 0; n < this.labels.length; n++) n > 0 && t.push(this.labels[n]), t.push(this.outputs[n].serialize());
26511                            return t
26512                        }
26513                    }], [{
26514                        key: "parse", value: function (n, i) {
26515                            if (n.length - 1 < 4) return i.error("Expected at least 4 arguments, but found only ".concat(n.length - 1, "."));
26516                            if ((n.length - 1) % 2 != 0) return i.error("Expected an even number of arguments.");
26517                            var r = i.parse(n[1], 1, hk);
26518                            if (!r) return null;
26519                            var e = [], o = null;
26520                            i.expectedType && "value" !== i.expectedType.kind && (o = i.expectedType);
26521                            for (var s = 1; s < n.length; s += 2) {
26522                                var a = 1 === s ? -1 / 0 : n[s], u = n[s
vendor: 4,482 bytes, lines 26522-26607
26522 + 1], c = s, h = s + 1;
26523                                if ("number" != typeof a) return i.error('Input/output pairs for "step" expressions must be defined using literal numeric values (not computed expressions) for the input values.', c);
26524                                if (e.length && e[e.length - 1][0] >= a) return i.error('Input/output pairs for "step" expressions must be arranged with input values in strictly ascending order.', c);
26525                                var f = i.parse(u, h, o);
26526                                if (!f) return null;
26527                                o = o || f.type, e.push([a, f])
26528                            }
26529                            return new t(o, r, e)
26530                        }
26531                    }]), t
26532                }(), bM = gM;
26533
26534                function gM(t, n, i, r) {
26535                    this.cx = 3 * t, this.bx = 3 * (i - t) - this.cx, this.ax = 1 - this.cx - this.bx, this.cy = 3 * n, this.by = 3 * (r - n) - this.cy, this.ay = 1 - this.cy - this.by, this.p1x = t, this.p1y = r, this.p2x = i, this.p2y = r
26536                }
26537
26538                function xM(t, n, i) {
26539                    return t * (1 - i) + n * i
26540                }
26541
26542                gM.prototype.sampleCurveX = function (t) {
26543                    return ((this.ax * t + this.bx) * t + this.cx) * t
26544                }, gM.prototype.sampleCurveY = function (t) {
26545                    return ((this.ay * t + this.by) * t + this.cy) * t
26546                }, gM.prototype.sampleCurveDerivativeX = function (t) {
26547                    return (3 * this.ax * t + 2 * this.bx) * t + this.cx
26548                }, gM.prototype.solveCurveX = function (t, n) {
26549                    var i, r, e, o, s;
26550                    for (void 0 === n && (n = 1e-6), e = t, s = 0; s < 8; s++) {
26551                        if (o = this.sampleCurveX(e) - t, Math.abs(o) < n) return e;
26552                        var a = this.sampleCurveDerivativeX(e);
26553                        if (Math.abs(a) < 1e-6) break;
26554                        e -= o / a
26555                    }
26556                    if ((e = t) < (i = 0)) return i;
26557                    if (e > (r = 1)) return r;
26558                    for (; i < r;) {
26559                        if (o = this.sampleCurveX(e), Math.abs(o - t) < n) return e;
26560                        t > o ? i = e : r = e, e = .5 * (r - i) + i
26561                    }
26562                    return e
26563                }, gM.prototype.solve = function (t, n) {
26564                    return this.sampleCurveY(this.solveCurveX(t, n))
26565                };
26566                var jM = Object.freeze({
26567                        __proto__: null, number: xM, color: function (t, n, i) {
26568                            return new _k(xM(t.r, n.r, i), xM(t.g, n.g, i), xM(t.b, n.b, i), xM(t.a, n.a, i))
26569                        }, array: function (t, n, i) {
26570                            return t.map((function (t, r) {
26571                                return xM(t, n[r], i)
26572                            }))
26573                        }
26574                    }), SM = .95047, kM = 1.08883, MM = 4 / 29, _M = 6 / 29, OM = 3 * _M * _M, TM = Math.PI / 180,
26575                    EM = 180 / Math.PI;
26576
26577                function AM(t) {
26578                    return t > .008856451679035631 ? Math.pow(t, 1 / 3) : t / OM + MM
26579                }
26580
26581                function CM(t) {
26582                    return t > _M ? t * t * t : OM * (t - MM)
26583                }
26584
26585                function RM(t) {
26586                    return 255 * (t <= .0031308 ? 12.92 * t : 1.055 * Math.pow(t, 1 / 2.4) - .055)
26587                }
26588
26589                function PM(t) {
26590                    return (t /= 255) <= .04045 ? t / 12.92 : Math.pow((t + .055) / 1.055, 2.4)
26591                }
26592
26593                function IM(t) {
26594                    var n = PM(t.r), i = PM(t.g), r = PM(t.b),
26595                        e = AM((.4124564 * n + .3575761 * i + .1804375 * r) / SM),
26596                        o = AM((.2126729 * n + .7151522 * i + .072175 * r) / 1);
26597                    return {
26598                        l: 116 * o - 16,
26599                        a: 500 * (e - o),
26600                        b: 200 * (o - AM((.0193339 * n + .119192 * i + .9503041 * r) / kM)),
26601                        alpha: t.a
26602                    }
26603                }
26604
26605                function NM(t) {
26606                    var n = (t.l + 16) / 116, i = isNaN(t.a) ? n : n + t.a / 500, r = isNaN(t.b) ? n : n - t.b / 200;
26607                    return n = 1 * CM(n), i = SM * CM(i), r = kM * CM(r), new _k(RM(3.2404542 * 
26607i - 1.5371385 * n - .4985314 * r), RM(-.969266 * i + 1.8760108 * n + .041556 * r), RM(.0556434 * i - .2040259 * n + 1.0572252 * r), t.alpha)
26608                }
26609
26610                function zM(t, n, i) {
26611                    var r = n - t;
26612                    return t + i * (r > 180 || r < -180 ? r - 360 * Math.round(r / 360) : r)
26613                }
26614
26615                var FM = {
26616                    forward: IM, reverse: NM, interpolate: function (t, n, i) {
26617                        return {
26618                            l: xM(t.l, n.l, i),
26619                            a: xM(t.a, n.a, i),
26620                            b: xM(t.b, n.b, i),
26621                            alpha: xM(t.alpha, n.alpha, i)
26622                        }
26623                    }
26624                }, LM = {
26625                    forward: function (t) {
26626                        var n = IM(t), i = n.l, r = n.a, e = n.b, o = Math.atan2(e, r) * EM;
26627                        return {h: o < 0 ? o + 360 : o, c: Math.sqrt(r * r + e * e), l: i, alpha: t.a}
26628                    }, reverse: function (t) {
26629                        var n = t.h * TM, i = t.c;
26630                        return NM({l: t.l, a: Math.cos(n) * i, b: Math.sin(n) * i, alpha: t.alpha})
26631                    }, interpolate: function (t, n, i) {
26632                        return {
26633                            h: zM(t.h, n.h, i),
26634                            c: xM(t.c, n.c, i),
26635                            l: xM(t.l, n.l, i),
26636                            alpha: xM(t.alpha, n.alpha, i)
26637                        }
26638                    }
26639                }, GM = function () {
26640                    function t(n, i, r, e, o) {
26641                        jS(this, t), this.type = n, this.operator = i, this.interpolation = r, this.input = e, this.labels = [], this.outputs = [];
26642                        var s, a = ES(o);
26643                        try {
26644                            for (a.s(); !(s = a.n()).done;) {
26645                                var u = mS(s.value, 2), c = u[0], h = u[1];
26646                                this.labels.push(c), this.outputs.push(h)
26647                            }
26648                        } catch (t) {
26649                            a.e(t)
26650                        } finally {
26651                            a.f()
26652                        }
26653                    }
26654
26655                    return xS(t, [{
26656                        key: "evaluate", value: function (n) {
26657                            var i = this.labels, r = this.outputs;
26658                            if (1 === i.length) return r[0].evaluate(n);
26659                            var e = this.input.evaluate(n);
26660                            if (e <= i[0]) return r[0].evaluate(n);
26661                            var o = i.length;
26662                            if (e >= i[o - 1]) return r[o - 1].evaluate(n);
26663                            var s = mM(i, e), a = i[s], u = i[s + 1],
26664                                c = t.interpolationFactor(this.interpolation, e, a, u), h = r[s].evaluate(n),
26665                                f = r[s + 1].evaluate(n);
26666                            return "interpolate" === this.operator ? jM[this.type.kind.toLowerCase()](h, f, c) : "interpolate-hcl" === this.operator ? LM.reverse(LM.interpolate(LM.forward(h), LM.forward(f), c)) : FM.reverse(FM.interpolate(FM.forward(h), FM.forward(f), c))
26667                        }
26668                    }, {
26669                        key: "eachChild", value: function (t) {
26670                            t(this.input);
26671                            var n, i = ES(this.outputs);
26672                            try {
26673                                for (i.s(); !(n = i.n()).done;) {
26674                                    t(n.value)
26675                                }
26676                            } catch (t) {
26677                                i.e(t)
26678                            } finally {
26679                                i.f()
26680                            }
26681                        }
26682                    }, {
26683                        key: "outputDefined", value: function () {
26684                            return this.outputs.every((function (t) {
26685                                return t.outputDefined()
26686                            }))
26687                        }
26688                    }, {
26689                        key: "serialize", value: function () {
26690                            var t;
26691                            t = "linear" === this.interpolation.name ? ["linear"] : "exponential" === this.interpolation.name ? 1 === this.interpolation.base ? ["linear"] : ["exponential", this.interpolation.base] : ["cubic-bezier"].concat(this.interpolation.controlPoints);
26692                            for (var n = [this.operator, t, this.input.serialize()], i = 0; i < this.labels.length; i++) n.push(this.labels[i], this.outputs[i].serialize());
26693                            return n
26694                        }
26695                    }], [{
26696                        key: "interpolationFactor", value: function (t, n, i, r) {
26697                            var e = 0;
26698                            if ("exponential" === t.name) e = DM(n, t.base, i, r); else if ("linear" === t.name) e = DM(n, 1, i, r);
26698 else if ("cubic-bezier" === t.name) {
26699                                var o = t.controlPoints;
26700                                e = new bM(o[0], o[1], o[2], o[3]).solve(DM(n, 1, i, r))
26701                            }
26702                            return e
26703                        }
26704                    }, {
26705                        key: "parse", value: function (n, i) {
26706                            var r, e = bS(r = n) || yS(r) || AS(r) || wS(), o = e[0], s = e[1], a = e[2],
26707                                u = e.slice(3);
26708                            if (!Array.isArray(s) || 0 === s.length) return i.error("Expected an interpolation type expression.", 1);
26709                            if ("linear" === s[0]) s = {name: "linear"}; else if ("exponential" === s[0]) {
26710                                var c = s[1];
26711                                if ("number" != typeof c) return i.error("Exponential interpolation requires a numeric base.", 1, 1);
26712                                s = {name: "exponential", base: c}
26713                            } else {
26714                                if ("cubic-bezier" !== s[0]) return i.error("Unknown interpolation type ".concat(String(s[0])), 1, 0);
26715                                var h = s.slice(1);
26716                                if (4 !== h.length || h.some((function (t) {
26717                                    return "number" != typeof t || t < 0 || t > 1
26718                                }))) return i.error("Cubic bezier interpolation requires four numeric arguments with values between 0 and 1.", 1);
26719                                s = {name: "cubic-bezier", controlPoints: h}
26720                            }
26721                            if (n.length - 1 < 4) return i.error("Expected at least 4 arguments, but found only ".concat(n.length - 1, "."));
26722                            if ((n.length - 1) % 2 != 0) return i.error("Expected an even number of arguments.");
26723                            if (!(a = i.parse(a, 2, hk))) return null;
26724                            var f = [], l = null;
26725                            "interpolate-hcl" === o || "interpolate-lab" === o ? l = vk : i.expectedType && "value" !== i.expectedType.kind && (l = i.expectedType);
26726                            for (var v = 0; v < u.length; v += 2) {
26727                                var d = u[v], p = u[v + 1], y = v + 3, m = v + 4;
26728                                if ("number" != typeof d) return i.error('Input/output pairs for "interpolate" expressions must be defined using literal numeric values (not computed expressions) for the input values.', y);
26729                                if (f.length && f[f.length - 1][0] >= d) return i.error('Input/output pairs for "interpolate" expressions must be arranged with input values in strictly ascending order.', y);
26730                                var w = i.parse(p, m, l);
26731                                if (!w) return null;
26732                                l = l || w.type, f.push([d, w])
26733                            }
26734                            return "number" === l.kind || "color" === l.kind || "array" === l.kind && "number" === l.itemType.kind && "number" == typeof l.N ? new t(l, o, s, a, f) : i.error("Type ".concat(gk(l), " is not interpolatable."))
26735                        }
26736                    }]), t
26737                }();
26738
26739                function DM(t, n, i, r) {
26740                    var e = r - i, o = t - i;
26741                    return 0 === e ? 0 : 1 === n ? o / e : (Math.pow(n, o) - 1) / (Math.pow(n, e) - 1)
26742                }
26743
26744                var UM = function () {
26745                    function t(n, i) {
26746                        jS(this, t), this.type = n, this.args = i
26747                    }
26748
26749                    return xS(t, [{
26750                        key: "evaluate", value: function (t) {
26751                            var n, i, r = null, e = 0, o = ES(this.args);
26752                            try {
26753                                for (o.s(); !(i = o.n()).done;) {
26754                                    var s = i.value;
26755                                    if (e++, (r = s.evaluate(t)) && r instanceof Ak && !r.available && (n || (n = r.name), r = null, e === this.args.length && (r = n)), null !== r) break
26756                                }
26757                            } catch (t) {
26758                                o.e(t)
26759                            } finally {
26760                                o.f()
26761                            }
26762                            return r
26763                        }
26764                    }, {
26765                        key: "eachChild", value: function (t) {
26766                            this.args.forEach(t)
26767                        }
26768                    }, {
26769                        key: "outputDefined", value: function () {
26770                            return this.args.every((function (t) {
26771                                return t.outputDefined()
26772                            }))
26773                        }
26774                    }, {
26775                        key: "serialize", value: function () {
26776                            var t = ["coalesce"];
26777                            return this.eachChild((function (n) {
26778                                t.push(n.serialize())
26779                            })), t
26780                        }
26781                    }], [{
26782                        key: "parse", value: function (n, i) {
26783                            if (n.length < 2) return i.error("Expectected at least one argument.");
26784                            var r = null, e = i.expectedType;
26785                            e && "value" !== e.kind && (r = e);
26786                            var o, s = [], a = ES(n.slice(1));
26787                            try {
26788                                for (a.s(); !(o = a.n()).done;) {
26789                                    var u = o.value, c = i.parse(u, 1 + s.length, r, void 0, {typeAnnotation: "omit"});
26790                                    if (!c) return null;
26791                                    r = r || c.type, s.push(c)
26792                                }
26793                            } catch (t) {
26794                                a.e(t)
26795                            } finally {
26796                                a.f()
26797                            }
26798                            return new t(e && s.some((function (t) {
26799                                return jk(e, t.type)
26800                            })) ? pk : r, s)
26801                        }
26802                    }]), t
26803                }(), qM = function () {
26804                    function t(n, i) {
26805                        jS(this, t), this.type = i.type, this.bindings = [].concat(n), this.result = i
26806                    }
26807
26808                    return xS(t, [{
26809                        key: "evaluate", value: function (t) {
26810                            return this.result.evaluate(t)
26811                        }
26812                    }, {
26813                        key: "eachChild", value: function (t) {
26814                            var n, i = ES(this.bindings);
26815                            try {
26816                                for (i.s(); !(n = i.n()).done;) {
26817                                    t(n.value[1])
26818                                }
26819                            } catch (t) {
26820                                i.e(t)
26821                            } finally {
26822                                i.f()
26823                            }
26824                            t(this.result)
26825                        }
26826                    }, {
26827                        key: "outputDefined", value: function () {
26828                            return this.result.outputDefined()
26829                        }
26830                    }, {
26831                        key: "serialize", value: function () {
26832                            var t, n = ["let"], i = ES(this.bindings);
26833                            try {
26834                                for (i.s(); !(t = i.n()).done;) {
26835                                    var r = mS(t.value, 2), e = r[0], o = r[1];
26836                                    n.push(e, o.serialize())
26837                                }
26838                            } catch (t) {
26839                                i.e(t)
26840                            } finally {
26841                                i.f()
26842                            }
26843                            return n.push(this.result.serialize()), n
26844                        }
26845                    }], [{
26846                        key: "parse", value: function (n, i) {
26847                            if (n.length < 4) return i.error("Expected at least 3 arguments, but found ".concat(n.length - 1, " instead."));
26848                            for (var r = [], e = 1; e < n.length - 1; e += 2) {
26849                                var o = n[e];
26850                                if ("string" != typeof o) return i.error("Expected string, but found ".concat(RS(o), " instead."), e);
26851                                if (/[^a-zA-Z0-9_]/.test(o)) return i.error("Variable names must contain only alphanumeric characters or '_'.", e);
26852                                var s = i.parse(n[e + 1], e + 1);
26853                                if (!s) return null;
26854                                r.push([o, s])
26855                            }
26856                            var a = i.parse(n[n.length - 1], n.length - 1, i.expectedType, r);
26857                            return a ? new t(r, a) : null
26858                        }
26859                    }]), t
26860                }(), BM = function () {
26861                    function t(n, i, r) {
26862                        jS(this, t), this.type = n, this.index = i, this.input = r
26863                    }
26864
26865                    return xS(t, [{
26866                        key: "evaluate", value: function (t) {
26867                            var n = this.index.evaluate(t), i = this.input.evaluate(t);
26868                            if (n < 0) throw new zk("Array index out of bounds: ".concat(n, " < 0."));
26869                            if (n >= i.length) throw new zk("Array index out of bounds: ".concat(n, " > ").concat(i.length - 1, "."));
26870                            if (n !== Math.floor(n)) throw new zk("Array index must be an integer, but found ".concat(n, " instead."));
26871                            return i[n]
26872                        }
26873                    }, {
26874                        key: "eachChild", value: function (t) {
26875                            t(this.index), t(this.input)
26876                        }
26877                    }, {
26878                        key: "outputDefined", value: function () {
26879                            return !1
26880                        }
26881                    }, {
26882                        key: "serialize", value: function () {
26883                            return ["at", this.index.serialize(), this.input.serialize()]
26884                        }
26885                    }], [{
26886                        key: "parse", value: function (n, i) {
26887                            if (3 !== n.length) return i.error("Expected 2 arguments, but found ".concat(n.length - 1, " instead."));
26888                            var r = i.parse(n[1], 1, hk), e = i.parse(n[2], 2, bk(i.expectedType || pk));
26889                            return r && e ? new t(e.type.itemType, r, e) : null
26890                        }
26891                    }]), t
26892                }(), WM = function () {
26893                    function t(n, i) {
26894                        jS(this, t), this.type = lk, this.needle = n, this.haystack = i
26895                    }
26896
26897                    return xS(t, [{
26898                        key: "evaluate", value: function (t) {
26899                            var n = this.needle.evaluate(t), i = this.haystack.evaluate(t);
26900                            if (!i) return !1;
26901                            if (!kk(n, ["boolean", "string", "number", "null"])) throw new zk("Expected first argument to be of type boolean, string, number or null, but found ".concat(gk(Pk(n)), " instead."));
26902                            if (!kk(i, ["string", "array"])) throw new zk("Expected second argument to be of type array or string, but found ".concat(gk(Pk(i)), " instead."));
26903                            return i.indexOf(n) >= 0
26904                        }
26905                    }, {
26906                        key: "eachChild", value: function (t) {
26907                            t(this.needle), t(this.haystack)
26908                        }
26909                    }, {
26910                        key: "outputDefined", value: function () {
26911                            return !0
26912                        }
26913                    }, {
26914                        key: "serialize", value: function () {
26915                            return ["in", this.needle.serialize(), this.haystack.serialize()]
26916                        }
26917                    }], [{
26918                        key: "parse", value: function (n, i) {
26919                            if (3 !== n.length) return i.error("Expected 2 arguments, but found ".concat(n.length - 1, " instead."));
26920                            var r = i.parse(n[1], 1, pk), e = i.parse(n[2], 2, pk);
26921                            return r && e ? Sk(r.type, [lk, fk, hk, ck, pk]) ? new t(r, e) : i.error("Expected first argument to be of type boolean, string, number or null, but found ".concat(gk(r.type), " instead")) : null
26922                        }
26923                    }]), t
26924                }(), VM = function () {
26925                    function t(n, i, r) {
26926                        jS(this, t), this.type = hk, this.needle = n, this.haystack = i, this.fromIndex = r
26927                    }
26928
26929                    return xS(t, [{
26930                        key: "evaluate", value: function (t) {
26931                            var n = this.needle.evaluate(t), i = this.haystack.evaluate(t);
26932                            if (!kk(n, ["boolean", "string", "number", "null"])) throw new zk("Expected first argument to be of type boolean, string, number or null, but found ".concat(gk(Pk(n)), " instead."));
26933                            if (!kk(i, ["string", "array"])) throw new zk("Expected second argument to be of type array or string, but found ".concat(gk(Pk(i)), " instead."));
26934                            if (this.fromIndex) {
26935                                var r = this.fromIndex.evaluate(t);
26936                                return i.indexOf(n, r)
26937                            }
26938                            return i.indexOf(n)
26939                        }
26940                    }, {
26941                        key: "eachChild", value: function (t) {
26942                            t(this.needle), t(this.haystack), this.fromIndex && t(this.fromIndex)
26943                        }
26944                    }, {
26945                        key: "outputDefined", value: function () {
26946                            return !1
26947                        }
26948                    }, {
26949                        key: "serialize", value: function () {
26950                            if (null != this.fromIndex && void 0 !== this.fromIndex) {
26951                                var t = this.fromIndex.serialize();
26952                                return ["index-of", this.needle.serialize(), this.haystack.serialize(), t]
26953                            }
26954                            return ["index-of", this.needle.serialize(), this.haystack.serialize()]
26955                        }
26956                    }], [{
26957                        key: "parse", value: function (n, i) {
26958                            if (n.length <= 2 || n.length >= 5) return i.error("Expected 3 or 4 arguments, but found ".concat(n.length - 1, " instead."));
26959                            var r = i.parse(n[1], 1, pk), e = i.parse(n[2], 2, pk);
26960                            if (!r || !e) return null;
26961                            if (!Sk(r.type, [lk, fk, hk, ck, pk])) return i.error("Expected first argument to be of type boolean, string, number or null, but found ".concat(gk(r.type), " instead"));
26962                            if (4 === n.length) {
26963                                var o = i.parse(n[3], 3, hk);
26964                                return o ? new t(r, e, o) : null
26965                            }
26966                            return new t(r, e)
26967                        }
26968                    }]), t
26969                }(), XM = function () {
26970                    function t(n, i, r, e, o, s) {
26971                        jS(this, t), this.inputType = n, this.type = i, this.input = r, this.cases = e, this.outputs = o, this.otherwise = s
26972                    }
26973
26974                    return xS(t, [{
26975                        key: "evaluate", value: function (t) {
26976                            var n = this.input.evaluate(t);
26977                            return (Pk(n) === this.inputType && this.outputs[this.cases[n]] || this.otherwise).evaluate(t)
26978                        }
26979                    }, {
26980                        key: "eachChild", value: function (t) {
26981                            t(this.input), this.outputs.forEach(t), t(this.otherwise)
26982                        }
26983                    }, {
26984                        key: "outputDefined", value: function () {
26985                            return this.outputs.every((function (t) {
26986                                return t.outputDefined()
26987                            })) && this.otherwise.outputDefined()
26988                        }
26989                    }, {
26990                        key: "serialize", value: function () {
26991                            var t, n = this, i = ["match", this.input.serialize()], r = [], e = {},
26992                                o = ES(Object.keys(this.cases).sort());
26993                            try {
26994                                for (o.s(); !(t = o.n()).done;) {
26995                                    var s = t.value, a = e[this.cases[s]];
26996                                    void 0 === a ? (e[this.cases[s]] = r.length, r.push([this.cases[s], [s]])) : r[a][1].push(s)
26997                                }
26998                            } catch (t) {
26999                                o.e(t)
27000                            } finally {
27001                                o.f()
27002                            }
27003                            for (var u = function (t) {
27004                                return "number" === n.inputType.kind ? Number(t) : t
27005                            }, c = 0, h = r; c < h.length; c++) {
27006                                var f = mS(h[c], 2), l = f[0], v = f[1];
27007                                1 === v.length ? i.push(u(v[0])) : i.push(v.map(u)), i.push(this.outputs[l].serialize())
27008                            }
27009                            return i.push(this.otherwise.serialize()), i
27010                        }
27011                    }], [{
27012                        key: "parse", value: function (n, i) {
27013                            if (n.length < 5) return i.error("Expected at least 4 arguments, but found only ".concat(n.length - 1, "."));
27014                            if (n.length % 2 != 1) return i.error("Expected an even number of arguments.");
27015                            var r, e;
27016                            i.expectedType && "value" !== i.expectedType.kind && (e = i.expectedType);
27017                            for (var o = {}, s = [], a = 2; a < n.length - 1; a += 2) {
27018                                var u = n[a], c = n[a + 1];
27019                                Array.isArray(u) || (u = [u]);
27020                                var h = i.concat(a);
27021                                if (0 === u.length) return h.error("Expected at least one branch label.");
27022                                var f, l = ES(u);
27023                                try {
27024                                    for (l.s(); !(f = l.n()).done;) {
27025                                        var v = f.value;
27026                                        if ("number" != typeof v && "string" != typeof v) return h.error("Branch labels must be numbers or strings.");
27027                                        if ("number" == typeof v && Math.abs(v) > Number.MAX_SAFE_INTEGER) return h.error("Branch labels must be integers no larger than ".concat(Number.MAX_SAFE_INTEGER, "."));
27028                                        if ("number" == typeof v && Math.floor(v) !== v) return h.error("Numeric branch labels must be integer values.");
27029                                        if (r) {
27030                                            if (h.checkSubtype(r, Pk(v))) return null
27031                                        } else r = Pk(v);
27032                                        if (void 0 !== o[String(v)]) return h.error("Branch labels must be unique.");
27033                                        o[String(v)] = s.length
27034                                    }
27035                                } catch (t) {
27036                                    l.e(t)
27037                                } finally {
27038                                    l.f()
27039                                }
27040                                var d = i.parse(c, a, e);
27041                                if (!d) return null;
27042                                e = e || d.type, s.push(d)
27043                            }
27044                            var p = i.parse(n[1], 1, pk);
27045                            if (!p) return null;
27046                            var y = i.parse(n[n.length - 1], n.length - 1, e);
27047                            return y ? "value" !== p.type.kind && i.concat(1).checkSubtype(r, p.type) ? null : new t(r, e, p, o, s, y) : null
27048                        }
27049                    }]), t
27050                }(), HM = function () {
27051                    function t(n, i, r) {
27052                        jS(this, t), this.type = n, this.branches = i, this.otherwise = r
27053                    }
27054
27055                    return xS(t, [{
27056                        key: "evaluate", value: function (t) {
27057                            var n, i = ES(this.branches);
27058                            try {
27059                                for (i.s(); !(n = i.n()).done;) {
27060                                    var r = mS(n.value, 2), e = r[0], o = r[1];
27061                                    if (e.evaluate(t)) return o.evaluate(t)
27062                                }
27063                            } catch (t) {
27064                                i.e(t)
27065                            } finally {
27066                                i.f()
27067                            }
27068                            return this.otherwise.evaluate(t)
27069                        }
27070                    }, {
27071                        key: "eachChild", value: function (t) {
27072                            var n, i = ES(this.branches);
27073                            try {
27074                                for (i.s(); !(n = i.n()).done;) {
27075                                    var r = mS(n.value, 2), e = r[0], o = r[1];
27076                                    t(e), t(o)
27077                                }
27078                            } catch (t) {
27079                                i.e(t)
27080                            } finally {
27081                                i.f()
27082                            }
27083                            t(this.otherwise)
27084                        }
27085                    }, {
27086                        key: "outputDefined", value: function () {
27087                            return this.branches.every((function (t) {
27088                                var n = mS(t, 2);
27089                                n[0];
27090                                return n[1].outputDefined()
27091                            })) && this.otherwise.outputDefined()
27092                        }
27093                    }, {
27094                        key: "serialize", value: function () {
27095                            var t = ["case"];
27096                            return this.eachChild((function (n) {
27097                                t.push(n.serialize())
27098                            })), t
27099                        }
27100                    }], [{
27101                        key: "parse", value: function (n, i) {
27102                            if (n.length < 4) return i.error("Expected at least 3 arguments, but found only ".concat(n.length - 1, "."));
27103                            if (n.length % 2 != 0) return i.error("Expected an odd number of arguments.");
27104                            var r;
27105                            i.expectedType && "value" !== i.expectedType.kind && (r = i.expectedType);
27106                            for (var e = [], o = 1; o < n.length - 1; o += 2) {
27107                                var s = i.parse(n[o], o, lk);
27108                                if (!s) return null;
27109                                var a = i.parse(n[o + 1], o + 1, r);
27110                                if (!a) return null;
27111                                e.push([s, a]), r = r || a.type
27112                            }
27113                            var u = i.parse(n[n.length - 1], n.length - 1, r);
27114                            return u ? new t(r, e, u) : null
27115                        }
27116                    }]), t
27117                }(), JM = function () {
27118                    function t(n, i, r, e) {
27119                        jS(this, t), this.type = n, this.input = i, this.beginIndex = r, this.endIndex = e
27120                    }
27121
27122                    return xS(t, [{
27123                        key: "evaluate", value: function (t) {
27124                            var n = this.input.evaluate(t), i = this.beginIndex.evaluate(t);
27125                            if (!kk(n, ["string", "array"])) throw new zk("Expected first argument to be of type array or string, but found ".concat(gk(Pk(n)), " instead."));
27126                            if (this.endIndex) {
27127                                var r = this.endIndex.evaluate(t);
27128                                return n.slice(i, r)
27129                            }
27130                            return n.slice(i)
27131                        }
27132                    }, {
27133                        key: "eachChild", value: function (t) {
27134                            t(this.input), t(this.beginIndex), this.endIndex && t(this.endIndex)
27135                        }
27136                    }, {
27137                        key: "outputDefined", value: function () {
27138                            return !1
27139                        }
27140                    }, {
27141                        key: "serialize", value: function () {
27142                            if (null != this.endIndex && void 0 !== this.endIndex) {
27143                                var t = this.endIndex.serialize();
27144                                return ["slice", this.input.serialize(), this.beginIndex.serialize(), t]
27145                            }
27146                            return ["slice", this.input.serialize(), this.beginIndex.serialize()]
27147                        }
27148                    }], [{
27149                        key: "parse", value: function (n, i) {
27150                            if (n.length <= 2 || n.length >= 5) return i.error("Expected 3 or 4 arguments, but found ".concat(n.length - 1, " instead."));
27151                            var r = i.parse(n[1], 1, pk), e = i.parse(n[2], 2, hk);
27152                            if (!r || !e) return null;
27153                            if (!Sk(r.type, [bk(pk), fk, pk])) return i.error("Expected first argument to be of type array or string, but found ".concat(gk(r.type), " instead"));
27154                            if (4 === n.length) {
27155                                var o = i.parse(n[3], 3, hk);
27156                                return o ? new t(r.type, r, e, o) : null
27157                            }
27158                            return new t(r.type, r, e)
27159                        }
27160                    }]), t
27161                }();
27162
27163                function KM(t, n) {
27164                    return "==" === t || "!=" === t ? "boolean" === n.kind || "string" === n.kind || "number" === n.kind || "null" === n.kind || "value" === n.kind : "string" === n.kind || "number" === n.kind || "value" === n.kind
27165                }
27166
27167                function YM(t, n, i, r) {
27168                    return 0 === r.compare(n, i)
27169                }
27170
27171                function ZM(t, n, i) {
27172                    var r = "==" !== t && "!=" !== t;
27173                    return function () {
27174                        function e(t, n, i) {
27175                            jS(this, e), this.type = lk, this.lhs = t, this.rhs = n, this.collator = i, this.hasUntypedArgument = "value" === t.type.kind || "value" === n.type.kind
27176                        }
27177
27178                        return xS(e, [{
27179                            key: "evaluate", value: function (e) {
27180                                var o = this.lhs.evaluate(e), s = this.rhs.evaluate(e);
27181                                if (r && this.hasUntypedArgument) {
27182                                    var a = Pk(o), u = Pk(s);
27183                                    if (a.kind !== u.kind || "string" !== a.kind && "number" !== a.kind) throw new zk('Expected arguments for "'.concat(t, '" to be (string, string) or (number, number), but found (').concat(a.kind, ", ").concat(u.kind, ") instead."))
27184                                }
27185                                if (this.collator && !r && this.hasUntypedArgument) {
27186                                    var c = Pk(o), h = Pk(s);
27187                                    if ("string" !== c.kind || "string" !== h.kind) return n(e, o, s)
27188                                }
27189                                return this.collator ? i(e, o, s, this.collator.evaluate(e)) : n(e, o, s)
27190                            }
27191                        }, {
27192                            key: "eachChild", value: function (t) {
27193                                t(this.lhs), t(this.rhs), this.collator && t(this.collator)
27194                            }
27195                        }, {
27196                            key: "outputDefined", value: function () {
27197                                return !0
27198                            }
27199                        }, {
27200                            key: "serialize", value: function () {
27201                                var n = [t];
27202                                return this.eachChild((function (t) {
27203                                    n.push(t.serialize())
27204                                })), n
27205                            }
27206                        }], [{
27207                            key: "parse", value: function (t, n) {
27208                                if (3 !== t.length && 4 !== t.length) return n.error("Expected two or three arguments.");
27209                                var i = t[0], o = n.parse(t[1], 1, pk);
27210                                if (!o) return null;
27211                                if (!KM(i, o.type)) return n.concat(1).error('"'.concat(i, "\" comparisons are not supported for type '").concat(gk(o.type), "'."));
27212                                var s = n.parse(t[2], 2, pk);
27213                                if (!s) return null;
27214                                if (!KM(i, s.type)) return n.concat(2).error('"'.concat(i, "\" comparisons are not supported for type '").concat(gk(s.type), "'."));
27215                                if (o.type.kind !== s.type.kind && "value" !== o.type.kind && "value" !== s.type.kind) return n.error("Cannot compare types '".concat(gk(o.type), "' and '").concat(gk(s.type), "'."));
27216                                r && ("value" === o.type.kind && "value" !== s.type.kind ? o = new Lk(s.type, [o]) : "value" !== o.type.kind && "value" === s.type.kind && (s = new Lk(o.type, [s])));
27217                                var a = null;
27218                                if (4 === t.length) {
27219                                    if ("string" !== o.type.kind && "string" !== s.type.kind && "value" !== o.type.kind && "value" !== s.type.kind) return n.error("Cannot use collator to compare non-string types.");
27220                                    if (!(a = n.parse(t[3], 3, yk))) return null
27221                                }
27222                                return new e(o, s, a)
27223                            }
27224                        }]), e
27225                    }()
27226                }
27227
27228                var $M = ZM("==", (function (t, n, i) {
27229                    return n === i
27230                }), YM), QM = ZM("!=", (function (t, n, i) {
27231                    return n !== i
27232                }), (function (t, n, i, r) {
27233                    return !YM(0, n, i, r)
27234                })), t_ = ZM("<", (function (t, n, i) {
27235                    return n < i
27236                }), (function (t, n, i, r) {
27237                    return r.compare(n, i) < 0
27238                })), n_ = ZM(">", (function (t, n, i) {
27239                    return n > i
27240                }), (function (t, n, i, r) {
27241                    return r.compare(n, i) > 0
27242                })), i_ = ZM("<=", (function (t, n, i) {
27243                    return n <= i
27244                }), (function (t, n, i, r) {
27245                    return r.compare(n, i) <= 0
27246                })), r_ = ZM(">=", (function (t, n, i) {
27247                    return n >= i
27248                }), (function (t, n, i, r) {
27249                    return r.compare(n, i) >= 0
27250                })), e_ = function () {
27251                    function t(n, i, r, e, o) {
27252                        jS(this, t), this.type = fk, this.number = n, this.locale = i, this.currency = r, this.minFractionDigits = e, this.maxFractionDigits = o
27253                    }
27254
27255                    return xS(t, [{
27256                        key: "evaluate", value: function (t) {
27257                            return new Intl.NumberFormat(this.locale ? this.locale.evaluate(t) : [], {
27258                    
27258            style: this.currency ? "currency" : "decimal",
27259                                currency: this.currency ? this.currency.evaluate(t) : void 0,
27260                                minimumFractionDigits: this.minFractionDigits ? this.minFractionDigits.evaluate(t) : void 0,
27261                                maximumFractionDigits: this.maxFractionDigits ? this.maxFractionDigits.evaluate(t) : void 0
27262                            }).format(this.number.evaluate(t))
27263                        }
27264                    }, {
27265                        key: "eachChild", value: function (t) {
27266                            t(this.number), this.locale && t(this.locale), this.currency && t(this.currency), this.minFractionDigits && t(this.minFractionDigits), this.maxFractionDigits && t(this.maxFractionDigits)
27267                        }
27268                    }, {
27269                        key: "outputDefined", value: function () {
27270                            return !1
27271                        }
27272                    }, {
27273                        key: "serialize", value: function () {
27274                            var t = {};
27275                            return this.locale && (t.locale = this.locale.serialize()), this.currency && (t.currency = this.currency.serialize()), this.minFractionDigits && (t["min-fraction-digits"] = this.minFractionDigits.serialize()), this.maxFractionDigits && (t["max-fraction-digits"] = this.maxFractionDigits.serialize()), ["number-format", this.number.serialize(), t]
27276                        }
27277                    }], [{
27278                        key: "parse", value: function (n, i) {
27279                            if (3 !== n.length) return i.error("Expected two arguments.");
27280                            var r = i.parse(n[1], 1, hk);
27281                            if (!r) return null;
27282                            var e = n[2];
27283                            if ("object" !== RS(e) || Array.isArray(e)) return i.error("NumberFormat options argument must be an object.");
27284                            var o = null;
27285                            if (e.locale && !(o = i.parse(e.locale, 1, fk))) return null;
27286                            var s = null;
27287                            if (e.currency && !(s = i.parse(e.currency, 1, fk))) return null;
27288                            var a = null;
27289                            if (e["min-fraction-digits"] && !(a = i.parse(e["min-fraction-digits"], 1, hk))) return null;
27290                            var u = null;
27291                            return e["max-fraction-digits"] && !(u = i.parse(e["max-fraction-digits"], 1, hk)) ? null : new t(r, o, s, a, u)
27292                        }
27293                    }]), t
27294                }(), o_ = {
27295                    "==": $M,
27296                    "!=": QM,
27297                    ">": n_,
27298                    "<": t_,
27299                    ">=": r_,
27300                    "<=": i_,
27301                    array: Lk,
27302                    at: BM,
27303                    boolean: Lk,
27304                    case: HM,
27305                    coalesce: UM,
27306                    collator: Xk,
27307                    format: Gk,
27308                    image: Dk,
27309                    in: WM,
27310                    "index-of": VM,
27311                    interpolate: GM,
27312                    "interpolate-hcl": GM,
27313                    "interpolate-lab": GM,
27314                    length: function () {
27315                        function t(n) {
27316                            jS(this, t), this.type = hk, this.input = n
27317                        }
27318
27319                        return xS(t, [{
27320                            key: "evaluate", value: function (t) {
27321                                var n = this.input.evaluate(t);
27322                                if ("string" == typeof n) return n.length;
27323                                if (Array.isArray(n)) return n.length;
27324                                throw new zk("Expected value to be of type string or array, but found ".concat(gk(Pk(n)), " instead."))
27325                            }
27326                        }, {
27327                            key: "eachChild", value: function (t) {
27328                                t(this.input)
27329                            }
27330                        }, {
27331                            key: "outputDefined", value: function () {
27332                                return !1
27333                            }
27334                        }, {
27335                            key: "serialize", value: function () {
27336                                var t = ["length"];
27337                                return this.eachChild((function (n) {
27338                                    t.push(n.serialize())
27339                                })), t
27340                            }
27341                        }], [{
27342                            key: "parse", value: function (n, i) {
27343                                if (2 !== n.length) return i.error("Expected 1 argument, but found ".concat(n.length - 1, " instead."));
27344                                var r = i.parse(n[1], 1);
27345                                return r ? "array" !== r.type.kind && "string" !== r.type.kind && "value" !== r.type.kind ? i.error("Expected argument of type string or array, but found ".concat(gk(r.type), " instead.")) : new t(r) : null
27346                            }
27347                        }]), t
27348                    }(),
27349                    let: qM,
27350                    literal: Nk,
27351                    match: XM,
27352                    number: Lk,
27353                    "number-format": e_,
27354                    object: Lk,
27355                    slice: JM,
27356                    step: wM,
27357                    string: Lk,
27358                    "to-boolean": qk,
27359                    "to-color": qk,
27360                    "to-number": qk,
27361                    "to-string": qk,
27362                    var: dM,
27363                    within: hM
27364                };
27365
27366                function s_(t, n) {
27367                    var i = mS(n, 4), r = i[0], e = i[1], o = i[2], s = i[3];
27368                    r = r.evaluate(t), e = e.evaluate(t), o = o.evaluate(t);
27369                    var a = s ? s.evaluate(t) : 1, u = Ck(r, e, o, a);
27370                    if (u) throw new zk(u);
27371                    return new _k(r / 255 * a, e / 255 * a, o / 255 * a, a)
27372                }
27373
27374                function a_(t, n) {
27375                    return t in n
27376                }
27377
27378                function u_(t, n) {
27379                    var i = n[t];
27380                    return void 0 === i ? null : i
27381                }
27382
27383                function c_(t) {
27384                    return {type: t}
27385                }
27386
27387                function h_(t) {
27388                    return {result: "success", value: t}
27389                }
27390
27391                function f_(t) {
27392                    return {result: "error", value: t}
27393                }
27394
27395                function l_(t) {
27396                    return "data-driven" === t["property-type"] || "cross-faded-data-driven" === t["property-type"]
27397                }
27398
27399                function v_(t) {
27400                    return !!t.expression && t.expression.parameters.indexOf("zoom") > -1
27401                }
27402
27403                function d_(t) {
27404                    return !!t.expression && t.expression.interpolated
27405                }
27406
27407                function p_(t) {
27408                    return t instanceof Number ? "number" : t instanceof String ? "string" : t instanceof Boolean ? "boolean" : Array.isArray(t) ? "array" : null === t ? "null" : RS(t)
27409                }
27410
27411                function y_(t) {
27412                    return "object" === RS(t) && null !== t && !Array.isArray(t)
27413                }
27414
27415                Vk.register(o_, {
27416                    error: [{kind: "error"}, [fk], function (t, n) {
27417                        var i = mS(n, 1)[0];
27418                        throw new zk(i.evaluate(t))
27419                    }],
27420                    typeof: [fk, [pk], function (t, n) {
27421                        return gk(Pk(mS(n, 1)[0].evaluate(t)))
27422                    }],
27423                    "to-rgba": [bk(hk, 4), [vk], function (t, n) {
27424                        return mS(n, 1)[0].evaluate(t).toArray()
27425                    }],
27426                    rgb: [vk, [hk, hk, hk], s_],
27427                    rgba: [vk, [hk, hk, hk, hk], s_],
27428                    has: {
27429                        type: lk, overloads: [[[fk], function (t, n) {
27430                            return a_(mS(n, 1)[0].evaluate(t), t.properties())
27431                        }], [[fk, dk], function (t, n) {
27432                            var i = mS(n, 2), r = i[0], e = i[1];
27433                            return a_(r.evaluate(t), e.evaluate(t))
27434                        }]]
27435                    },
27436                    get: {
27437                        type: pk, overloads: [[[fk], function (t, n) {
27438                            return u_(mS(n, 1)[0].evaluate(t), t.properties())
27439                        }], [[fk, dk], function (t, n) {
27440                            var i = mS(n, 2), r = i[0], e = i[1];
27441                            return u_(r.evaluate(t), e.evaluate(t))
27442                        }]]
27443                    },
27444                    "feature-state": [pk, [fk], function (t, n) {
27445                        return u_(mS(n, 1)[0].evaluate(t), t.featureState || {})
27446                    }],
27447                    properties: [dk, [], function (t) {
27448                        return t.properties()
27449                    }],
27450                    "geometry-type": [fk, [], function (t) {
27451                        return t.geometryType()
27452                    }],
27453                    id: [pk, [], function (t) {
27454                        return t.id()
27455                    }],
27456                    zoom: [hk, [], function (t) {
27457                        return t.globals.zoom
27458                    }],
27459                    "heatmap-density": [hk, [], function (t) {
27460                        return t.globals.heatmapDensity || 0
27461                    }],
27462                    "line-progress": [hk, [], function (t) {
27463                        return t.globals.lineProgress || 0
27464                    }],
27465                    "sky-radial-progress": [hk, [], function (t) {
27466                        return t.globals.skyRadialProgress || 0
27467                    }],
27468                    accumulated: [pk, [], function (t) {
27469                        return void 0 === t.globals.accumulated ? null : t.globals.accumulated
27470                    }],
27471                    "+": [hk, c_(hk), function (t, n) {
27472                        var i, r = 0, e = ES(n);
27473                        try {
27474                            for (e.s(); !(i = e.n()).done;) {
27475                                r += i.value.evaluate(t)
27476                            }
27477                        } catch (t) {
27478                            e.e(t)
27479                        } finally {
27480                            e.f()
27481                        }
27482                        return r
27483                    }],
27484                    "*": [hk, c_(hk), function (t, n) {
27485                        var i, r = 1, e = ES(n);
27486                        try {
27487                            for (e.s(); !(i = e.n()).done;) {
27488                                r *= i.value.evaluate(t)
27489                            }
27490                        } catch (t) {
27491                            e.e(t)
27492                        } finally {
27493                            e.f()
27494                        }
27495                        return r
27496                    }],
27497                    "-": {
27498                        type: hk, overloads: [[[hk, hk], function (t, n) {
27499                            var i = mS(n, 2), r = i[0], e = i[1];
27500                            return r.evaluate(t) - e.evaluate(t)
27501                        }], [[hk], function (t, n) {
27502                            return -mS(n, 1)[0].evaluate(t)
27503                        }]]
27504                    },
27505                    "/": [hk, [hk, hk], function (t, n) {
27506                        var i = mS(n, 2), r = i[0], e = i[1];
27507                        return r.evaluate(t) / e.evaluate(t)
27508                    }],
27509                    "%": [hk, [hk, hk], function (t, n) {
27510                        var i = mS(n, 2), r = i[0], e = i[1];
27511                        return r.evaluate(t) % e.evaluate(t)
27512                    }],
27513                    ln2: [hk, [], function () {
27514                        return Math.LN2
27515                    }],
27516                    pi: [hk, [], function () {
27517                        return Math.PI
27518                    }],
27519                    e: [hk, [], function () {
27520                        return Math.E
27521                    }],
27522                    "^": [hk, [hk, hk], function (t, n) {
27523                        var i = mS(n, 2), r = i[0], e = i[1];
27524                        return Math.pow(r.evaluate(t), e.evaluate(t))
27525                    }],
27526                    sqrt: [hk, [hk], function (t, n) {
27527                        var i = mS(n, 1)[0];
27528                        return Math.sqrt(i.evaluate(t))
27529                    }],
27530                    log10: [hk, [hk], function (t, n) {
27531                        var i = mS(n, 1)[0];
27532                        return Math.log(i.evaluate(t)) / Math.LN10
27533                    }],
27534                    ln: [hk, [hk], function (t, n) {
27535                        var i = mS(n, 1)[0];
27536                        return Math.log(i.evaluate(t))
27537                    }],
27538                    log2: [hk, [hk], function (t, n) {
27539                        var i = mS(n, 1)[0];
27540                        return Math.log(i.evaluate(t)) / Math.LN2
27541                    }],
27542                    sin: [hk, [hk], function (t, n) {
27543                        var i = mS(n, 1)[0];
27544                        return Math.sin(i.evaluate(t))
27545                    }],
27546                    cos: [hk, [hk], function (t, n) {
27547                        var i = mS(n, 1)[0];
27548                        return Math.cos(i.evaluate(t))
27549                    }],
27550                    tan: [hk, [hk], function (t, n) {
27551                        var i = mS(n, 1)[0];
27552                        return Math.tan(i.evaluate(t))
27553                    }],
27554                    asin: [hk, [hk], function (t, n) {
27555                        var i = mS(n, 1)[0];
27556                        return Math.asin(i.evaluate(t))
27557                    }],
27558                    acos: [hk, [hk], function (t, n) {
27559                        var i = mS(n, 1)[0];
27560                        return Math.acos(i.evaluate(t))
27561                    }],
27562                    atan: [hk, [hk], function (t, n) {
27563                        var i = mS(n, 1)[0];
27564                        return Math.atan(i.evaluate(t))
27565                    }],
27566                    min: [hk, c_(hk), function (t, n) {
27567                        return Math.min.apply(Math, pS(n.map((function (n) {
27568                            return n.evaluate(t)
27569                        }))))
27570                    }],
27571                    max: [hk, c_(hk), function (t, n) {
27572                        return Math.max.apply(Math, pS(n.map((function (n) {
27573                            return n.evaluate(t)
27574                        }))))
27575                    }],
27576                    abs: [hk, [hk], function (t, n) {
27577                        var i = mS(n, 1)[0];
27578                        return Math.abs(i.evaluate(t))
27579                    }],
27580                    round: [hk, [hk], function (t, n) {
27581                        var i = mS(n, 1)[0].evaluate(t);
27582                        return i < 0 ? -Math.round(-i) : Math.round(i)
27583                    }],
27584                    floor: [hk, [hk], function (t, n) {
27585                        var i = mS(n, 1)[0];
27586                        return Math.floor(i.evaluate(t))
27587                    }],
27588                    ceil: [hk, [hk], function (t, n) {
27589                        var i = mS(n, 1)[0];
27590                        return Math.ceil(i.evaluate(t))
27591                    }],
27592                    "filter-==": [lk, [fk, pk], function (t, n) {
27593                        var i = mS(n, 2), r = i[0], e = i[1];
27594                        return t.properties()[r.value] === e.value
27595                    }],
27596                    "filter-id-==": [lk, [pk], function (t, n) {
27597                        var i = mS(n, 1)[0];
27598                        return t.id() === i.value
27599                    }],
27600                    "filter-type-==": [lk, [fk], function (t, n) {
27601                        var i = mS(n, 1)[0];
27602                        return t.geometryType() === i.value
27603                    }],
27604                    "filter-<": [lk, [fk, pk], function (t, n) {
27605                        var i = mS(n, 2), r = i[0], e = i[1], o = t.properties()[r.value], s = e.value;
27606                        return RS(o) === RS(s) && o < s
27607                    }],
27608                    "filter-id-<": [lk, [pk], function (t, n) {
27609                        var i = mS(n, 1)[0], r = t.id(), e = i.value;
27610                        return RS(r) === RS(e) && r < e
27611                    }],
27612                    "filter->": [lk, [fk, pk], function (t, n) {
27613                        var i = mS(n, 2), r = i[0], e = i[1], o = t.properties()[r.value], s = e.value;
27614                        return RS(o) === RS(s) && o > s
27615                    }],
27616                    "filter-id->": [lk, [pk], function (t, n) {
27617                        var i = mS(n, 1)[0], r = t.id(), e = i.value;
27618                        return RS(r) === RS(e) && r > e
27619                    }],
27620                    "filter-<=": [lk, [fk, pk], function (t, n) {
27621                        var i = mS(n, 2), r = i[0], e = i[1], o = t.properties()[r.value], s = e.value;
27622                        return RS(o) === RS(s) && o <= s
27623                    }],
27624                    "filter-id-<=": [lk, [pk], function (t, n) {
27625                        var i = mS(n, 1)[0], r = t.id(), e = i.value;
27626                        return RS(r) === RS(e) && r <= e
27627                    }],
27628                    "filter->=": [lk, [fk, pk], function (t, n) {
27629                        var i = mS(n, 2), r = i[0], e = i[1], o = t.properties()[r.value], s = e.value;
27630                        return RS(o) === RS(s) && o >= s
27631                    }],
27632                    "filter-id->=": [lk, [pk], function (t, n) {
27633                        var i = mS(n, 1)[0], r = t.id(), e = i.value;
27634                        return RS(r) === RS(e) && r >= e
27635                    }],
27636                    "filter-has": [lk, [pk], function (t, n) {
27637                        return mS(n, 1)[0].value in t.properties()
27638                    }],
27639                    "filter-has-id": [lk, [], function (t) {
27640                        return null !== t.id() && void 0 !== t.id()
27641                    }],
27642                    "filter-type-in": [lk, [bk(fk)], function (t, n) {
27643                        return mS(n, 1)[0].value.indexOf(t.geometryType()) >= 0
27644                    }],
27645                    "filter-id-in": [lk, [bk(pk)], function (t, n) {
27646                        return mS(n, 1)[0].value.indexOf(t.id()) >= 0
27647                    }],
27648                    "filter-in-small": [lk, [fk, bk(pk)], function (t, n) {
27649                        var i = mS(n, 2), r = i[0];
27650                        return i[1].value.indexOf(t.properties()[r.value]) >= 0
27651                    }],
27652                    "filter-in-large": [lk, [fk, bk(pk)], function (t, n) {
27653                        var i = mS(n, 2), r = i[0], e = i[1];
27654                        return function (t, n, i, r) {
27655                            for (; i <= r;) {
27656                                var e = i + r >> 1;
27657                                if (n[e] === t) return !0;
27658                                n[e] > t ? r = e - 1 : i = e + 1
27659                            }
27660                            return !1
27661                        }(t.properties()[r.value], e.value, 0, e.value.length - 1)
27662                    }],
27663                    all: {
27664                        type: lk, overloads: [[[lk, lk], function (t, n) {
27665                            var i = mS(n, 2), r = i[0], e = i[1];
27666                            return r.evaluate(t) && e.evaluate(t)
27667                        }], [c_(lk), function (t, n) {
27668                            var i, r = ES(n);
27669                            try {
27670                                for (r.s(); !(i = r.n()).done;) {
27671                                    if (!i.value.evaluate(t)) return !1
27672                                }
27673                            } catch (t) {
27674                                r.e(t)
27675                            } finally {
27676                                r.f()
27677                            }
27678                            return !0
27679                        }]]
27680                    },
27681                    any: {
27682                        type: lk, overloads: [[[lk, lk], function (t, n) {
27683                            var i = mS(n, 2), r = i[0], e = i[1];
27684                            return r.evaluate(t) || e.evaluate(t)
27685                        }], [c_(lk), function (t, n) {
27686                            var i, r = ES(n);
27687                            try {
27688                                for (r.s(); !(i = r.n()).done;) {
27689                                    if (i.value.evaluate(t)) return !0
27690                                }
27691                            } catch (t) {
27692                                r.e(t)
27693                            } finally {
27694                                r.f()
27695                            }
27696                            return !1
27697                        }]]
27698                    },
27699                    "!": [lk, [lk], function (t, n) {
27700                        return !mS(n, 1)[0].evaluate(t)
27701                    }],
27702                    "is-supported-script": [lk, [fk], function (t, n) {
27703                        var i = mS(n, 1)[0], r = t.globals && t.globals.isSupportedScript;
27704                        return !r || r(i.evaluate(t))
27705                    }],
27706                    upcase: [fk, [fk], function (t, n) {
27707                        return mS(n, 1)[0].evaluate(t).toUpperCase()
27708                    }],
27709                    downcase: [fk, [fk], function (t, n) {
27710                        return mS(n, 1)[0].evaluate(t).toLowerCase()
27711                  
27711  }],
27712                    concat: [fk, c_(pk), function (t, n) {
27713                        return n.map((function (n) {
27714                            return Ik(n.evaluate(t))
27715                        })).join("")
27716                    }],
27717                    "resolved-locale": [fk, [yk], function (t, n) {
27718                        return mS(n, 1)[0].evaluate(t).resolvedLocale()
27719                    }]
27720                });
27721                var m_ = function () {
27722                    function t(n, i) {
27723                        var r;
27724                        jS(this, t), this.expression = n, this._warningHistory = {}, this._evaluator = new Wk, this._defaultValue = i ? "color" === (r = i).type && y_(r.default) ? new _k(0, 0, 0, 0) : "color" === r.type ? _k.parse(r.default) || null : void 0 === r.default ? null : r.default : null, this._enumValues = i && "enum" === i.type ? i.values : null
27725                    }
27726
27727                    return xS(t, [{
27728                        key: "evaluateWithoutErrorHandling", value: function (t, n, i, r, e, o) {
27729                            return this._evaluator.globals = t, this._evaluator.feature = n, this._evaluator.featureState = i, this._evaluator.canonical = r, this._evaluator.availableImages = e || null, this._evaluator.formattedSection = o, this.expression.evaluate(this._evaluator)
27730                        }
27731                    }, {
27732                        key: "evaluate", value: function (t, n, i, r, e, o) {
27733                            this._evaluator.globals = t, this._evaluator.feature = n || null, this._evaluator.featureState = i || null, this._evaluator.canonical = r, this._evaluator.availableImages = e || null, this._evaluator.formattedSection = o || null;
27734                            try {
27735                                var s = this.expression.evaluate(this._evaluator);
27736                                if (null == s || "number" == typeof s && s != s) return this._defaultValue;
27737                                if (this._enumValues && !(s in this._enumValues)) throw new zk("Expected value to be one of ".concat(Object.keys(this._enumValues).map((function (t) {
27738                                    return JSON.stringify(t)
27739                                })).join(", "), ", but found ").concat(JSON.stringify(s), " instead."));
27740                                return s
27741                            } catch (t) {
27742                                return this._warningHistory[t.message] || (this._warningHistory[t.message] = !0, "undefined" != typeof console && console.warn(t.message)), this._defaultValue
27743                            }
27744                        }
27745                    }]), t
27746                }();
27747
27748                function w_(t) {
27749                    return Array.isArray(t) && t.length > 0 && "string" == typeof t[0] && t[0] in o_
27750                }
27751
27752                function b_(t, n) {
27753                    var i = new pM(o_, [], n ? function (t) {
27754                            var n = {
27755                                color: vk,
27756                                string: fk,
27757                                number: hk,
27758                                enum: fk,
27759                                boolean: lk,
27760                                formatted: mk,
27761                                resolvedImage: wk
27762                            };
27763                            if ("array" === t.type) return bk(n[t.value] || pk, t.length);
27764                            return n[t.type]
27765                        }(n) : void 0),
27766                        r = i.parse(t, void 0, void 0, void 0, n && "string" === n.type ? {typeAnnotation: "coerce"} : void 0);
27767                    return r ? h_(new m_(r, n)) : f_(i.errors)
27768                }
27769
27770                var g_ = function () {
27771                    function t(n, i) {
27772                        jS(this, t), this.kind = n, this._styleExpression = i, this.isStateDependent = "constant" !== n && !lM(i.expression)
27773                    }
27774
27775                    return xS(t, [{
27776                        key: "evaluateWithoutErrorHandling", value: function (t, n, i, r, e, o) {
27777                            return this._styleExpression.evaluateWithoutErrorHandling(t, n, i, r, e, o)
27778                        }
27779                    }, {
27780                        key: "evaluate", value: function (t, n, i, r, e, o) {
27781                            return this._styleExpression.evaluate(t, n, i, r, e, o)
27782                        }
27783                    }]), t
27784                }(), x_ = function () {
27785                    function t(n, i, r, e) {
27786                        jS(this, t), this.kind = n, this.zoomStops = r, this._styleExpression = i, this.isStateDependent = "camera" !== n && !lM(i.expression), this.interpolationType = e
27787                    }
27788
27789                    return xS(t, [{
27790                        key: "evaluateWithoutErrorHandling", value: function (t, n, i, r, e, o) {
27791                            return this._styleExpression.evaluateWithoutErrorHandling(t, n, i, r, e, o)
27792                        }
27793                    }, {
27794                        key: "evaluate", value: function (t, n, i, r, e, o) {
27795                            return this._styleExpression.evaluate(t, n, i, r, e, o)
27796                        }
27797                    }, {
27798                        key: "interpolationFactor", value: function (t, n, i) {
27799                            return this.interpolationType ? GM.interpolationFactor(this.interpolationType, t, n, i) : 0
27800                        }
27801                    }]), t
27802                }();
27803
27804                function j_(t, n) {
27805                    if ("error" === (t = b_(t, n)).result) return t;
27806                    var i = t.value.expression, r = fM(i);
27807                    if (!r && !l_(n)) return f_([new ak("", "data expressions not supported")]);
27808                    var e = vM(i, ["zoom"]);
27809                    if (!e && !v_(n)) return f_([new ak("", "zoom expressions not supported")]);
27810                    var o = S_(i);
27811                    if (!o && !e) return f_([new ak("", '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.')]);
27812                    if (o instanceof ak) return f_([o]);
27813                    if (o instanceof GM && !d_(n)) return f_([new ak("", '"interpolate" expressions cannot be used with this property')]);
27814                    if (!o) return h_(new g_(r ? "constant" : "source", t.value));
27815                    var s = o instanceof GM ? o.interpolation : void 0;
27816                    return h_(new x_(r ? "camera" : "composite", t.value, o.labels, s))
27817                }
27818
27819                function S_(t) {
27820                    var n = null;
27821                    if (t instanceof qM) n = S_(t.result); else if (t instanceof UM) {
27822                        var i, r = ES(t.args);
27823                        try {
27824                            for (r.s(); !(i = r.n()).done;) {
27825                                var e = i.value;
27826                                if (n = S_(e)) break
27827                            }
27828                        } catch (t) {
27829                            r.e(t)
27830                        } finally {
27831                            r.f()
27832                        }
27833                    } else (t instanceof wM || t instanceof GM) && t.input instanceof Vk && "zoom" === t.input.name && (n = t);
27834                    return n instanceof ak || t.eachChild((function (t) {
27835                        var i = S_(t);
27836                        i instanceof ak ? n = i : !n && i ? n = new ak("", '"zoom" expression may only be used as input to a top-level "step" or "interpolate" expression.') : n && i && n !== i && (n = new ak("", 'Only one zoom-based "step" or "interpolate" subexpression may be used in an expression.'))
27837                    })), n
27838                }
27839
27840                function k_(t) {
27841                    return "object" === RS(t) ? ["literal", t] : t
27842                }
27843
27844                function M_(t, n) {
27845                    var i = t.stops;
27846                    if (!i) return function (t, n) {
27847                        var i = ["get", t.property];
27848                        if (void 0 === t.default) return "string" === n.type ? ["string", i] : i;
27849                        if ("enum" === n.type) return ["match", i, Object.keys(n.values), i, t.default];
27850                        var r = ["color" === n.type ? "to-color" : n.type, i, k_(t.default)];
27851                        return "array" === n.type && r.splice(1, 0, n.value, n.length || null), r
27852                    }(t, n);
27853                    var r = i && "object" === RS(i[0][0]), e = r || void 0 !== t.property, o = r || !e;
27854                    return i = i.map((function (t) {
27855                        return !e && n.tokens && "string" == typeof t[1] ? [t[0], R_(t[1])] : [t[0], k_(t[1])]
27856                    })), r ? function (t, n, i) {
27857                        for (var r = {}, e = {}, o = [], s = 0; s < i.length; s++) {
27858                            var a = i[s], u = a[0].zoom;
27859                            void 0 === r[u] && (r[u] = {
27860                                zoom: u,
27861                                type: t.type,
27862                                property: t.property,
27863                                default: t.default
27864                            }, e[u] = [], o.push(u)), e[u].push([a[0].value, a[1]])
27865                        }
27866                        if ("exponential" === C_({}, n)) {
27867                            var c, h = [__(t), ["linear"], ["zoom"]], f = ES(o);
27868                            try {
27869                                for (f.s(); !(c = f.n()).done;) {
27870                                    var l = c.value;
27871                                    A_(h, l, T_(r[l], n, e[l]), !1)
27872                                }
27873                            } catch (t) {
27874                                f.e(t)
27875                            } finally {
27876                                f.f()
27877                            }
27878                            return h
27879                        }
27880                        var v, d = ["step", ["zoom"]], p = ES(o);
27881                        try {
27882                            for (p.s(); !(v = p.n()).done;) {
27883                                var y = v.value;
27884                                A_(d, y, T_(r[y], n, e[y]), !0)
27885                            }
27886                        } catch (t) {
27887                            p.e(t)
27888                        } finally {
27889                            p.f()
27890                        }
27891                        return E_(d), d
27892                    }(t, n, i) : o ? function (t, n, i) {
27893                        var r, e = arguments.length > 3 && void 0 !== arguments[3] ? arguments[3] : ["zoom"],
27894                            o = C_(t, n), s = !1;
27895                        if ("interval" === o) r = ["step", e], s = !0; else {
27896                            if ("exponential" !== o) throw new Error('Unknown zoom function type "'.concat(o, '"'));
27897                            var a = void 0 !== t.base ? t.base : 1;
27898                            r = [__(t), 1 === a ? ["linear"] : ["exponential", a], e]
27899                        }
27900                        var u, c = ES(i);
27901                        try {
27902                            for (c.s(); !(u = c.n()).done;) {
27903                                var h = u.value;
27904                                A_(r, h[0], h[1], s)
27905                            }
27906                        } catch (t) {
27907                            c.e(t)
27908                        } finally {
27909                            c.f()
27910                        }
27911                        return E_(r), r
27912                    }(t, n, i) : T_(t, n, i)
27913                }
27914
27915                function __(t) {
27916                    switch (t.colorSpace) {
27917                        case"hcl":
27918                            return "interpolate-hcl";
27919                        case"lab":
27920                            return "interpolate-lab";
27921                        default:
27922                            return "interpolate"
27923                    }
27924                }
27925
27926                function O_(t, n) {
27927                    var i, r, e = k_((i = t.default, r = n.default, void 0 !== i ? i : void 0 !== r ? r : void 0));
27928                    return void 0 === e && "resolvedImage" === n.type ? "" : e
27929                }
27930
27931                function T_(t, n, i) {
27932                    var r = C_(t, n), e = ["get", t.property];
27933                    if ("categorical" === r && "boolean" == typeof i[0][0]) {
27934                        var o, s = ["case"], a = ES(i);
27935                        try {
27936                            for (a.s(); !(o = a.n()).done;) {
27937                                var u = o.value;
27938                                s.push(["==", e, u[0]], u[1])
27939                            }
27940                        } catch (t) {
27941                            a.e(t)
27942                        } finally {
27943                            a.f()
27944                        }
27945                        return s.push(O_(t, n)), s
27946                    }
27947                    if ("categorical" === r) {
27948                        var c, h = ["match", e], f = ES(i);
27949                        try {
27950                            for (f.s(); !(c = f.n()).done;) {
27951                                var l = c.value;
27952                                A_(h, l[0], l[1], !1)
27953                            }
27954                        } catch (t) {
27955                            f.e(t)
27956                        } finally {
27957                            f.f()
27958                        }
27959                        return h.push(O_(t, n)), h
27960                    }
27961                    if ("interval" === r) {
27962                        var v, d = ["step", ["number", e]], p = ES(i);
27963                        try {
27964                            for (p.s(); !(v = p.n()).done;) {
27965                                var y = v.value;
27966                                A_(d, y[0], y[1], !0)
27967                            }
27968                        } catch (t) {
27969                            p.e(t)
27970                        } finally {
27971                            p.f()
27972                        }
27973                        return E_(d), void 0 === t.default ? d : ["case", ["==", ["typeof", e], "number"], d, k_(t.default)]
27974                    }
27975                    if ("exponential" === r) {
27976                        var m, w = void 0 !== t.base ? t.base : 1,
27977                            b = [__(t), 1 === w ? ["linear"] : ["exponential", w], ["number", e]], g = ES(i);
27978                        try {
27979                            for (g.s(); !(m = g.n()).done;) {
27980                                var x = m.value;
27981                                A_(b, x[0], x[1], !1)
27982                            }
27983                        } catch (t) {
27984                            g.e(t)
27985                        } finally {
27986                            g.f()
27987                        }
27988                        return void 0 === t.default ? b : ["case", ["==", ["typeof", e], "number"], b, k_(t.default)]
27989                    }
27990                    throw new Error("Unknown property function type ".concat(r))
27991                }
27992
27993                function E_(t) {
27994                    "step" === t[0] && 3 === t.length && (t.push(0), t.push(t[3]))
27995                }
27996
27997                function A_(t, n, i, r) {
27998                    t.length > 3 && n === t[t.length - 2] || (r && 2 === t.length || t.push(n), t.push(i))
27999                }
28000
28001                function C_(t, n) {
28002                    return t.type ? t.type : n.expression.interpolated ? "exponential" : "interval"
28003                }
28004
28005                function R_(t) {
28006                    for (var n = ["concat"], i = /{([^{}]+)}/g, r = 0, e = i.exec(t); null !== e; e = i.exec(t)) {
28007                        var o = t.slice(r, i.lastIndex - e[0].length);
28008                        r = i.lastIndex, o.length > 0 && n.push(o), n.push(["get", e[1]])
28009                    }
28010                    if (1 === n.length) return t;
28011                    if (r < t.length) n.push(t.slice(r)); else if (2 === n.length) return ["to-string", n[1]];
28012                    return n
28013                }
28014
28015                function P_(t) {
28016                    if (!0 === t || !1 === t) return !0;
28017                    if (!Array.isArray(t) || 0 === t.length) return !1;
28018                    switch (t[0]) {
28019                        case"has":
28020                            return t.length >
28020= 2 && "$id" !== t[1] && "$type" !== t[1];
28021                        case"in":
28022                            return t.length >= 3 && ("string" != typeof t[1] || Array.isArray(t[2]));
28023                        case"!in":
28024                        case"!has":
28025                        case"none":
28026                            return !1;
28027                        case"==":
28028                        case"!=":
28029                        case">":
28030                        case">=":
28031                        case"<":
28032                        case"<=":
28033                            return 3 !== t.length || Array.isArray(t[1]) || Array.isArray(t[2]);
28034                        case"any":
28035                        case"all":
28036                            var n, i = ES(t.slice(1));
28037                            try {
28038                                for (i.s(); !(n = i.n()).done;) {
28039                                    var r = n.value;
28040                                    if (!P_(r) && "boolean" != typeof r) return !1
28041                                }
28042                            } catch (t) {
28043                                i.e(t)
28044                            } finally {
28045                                i.f()
28046                            }
28047                            return !0;
28048                        default:
28049                            return !0
28050                    }
28051                }
28052
28053                var I_ = {
28054                    type: "boolean",
28055                    default: !1,
28056                    transition: !1,
28057                    "property-type": "data-driven",
28058                    expression: {interpolated: !1, parameters: ["zoom", "feature"]}
28059                };
28060
28061                function N_(t) {
28062                    if (null == t) return {
28063                        filter: function () {
28064                            return !0
28065                        }, needGeometry: !1
28066                    };
28067                    P_(t) || (t = L_(t));
28068                    var n = b_(t, I_);
28069                    if ("error" === n.result) throw new Error(n.value.map((function (t) {
28070                        return "".concat(t.key, ": ").concat(t.message)
28071                    })).join(", "));
28072                    return {
28073                        filter: function (t, i, r) {
28074                            return n.value.evaluate(t, i, {}, r)
28075                        }, needGeometry: F_(t)
28076                    }
28077                }
28078
28079                function z_(t, n) {
28080                    return t < n ? -1 : t > n ? 1 : 0
28081                }
28082
28083                function F_(t) {
28084                    if (!Array.isArray(t)) return !1;
28085                    if ("within" === t[0]) return !0;
28086                    for (var n = 1; n < t.length; n++) if (F_(t[n])) return !0;
28087                    return !1
28088                }
28089
28090                function L_(t) {
28091                    if (!t) return !0;
28092                    var n, i = t[0];
28093                    return t.length <= 1 ? "any" !== i : "==" === i ? G_(t[1], t[2], "==") : "!=" === i ? q_(G_(t[1], t[2], "==")) : "<" === i || ">" === i || "<=" === i || ">=" === i ? G_(t[1], t[2], i) : "any" === i ? (n = t.slice(1), ["any"].concat(n.map(L_))) : "all" === i ? ["all"].concat(t.slice(1).map(L_)) : "none" === i ? ["all"].concat(t.slice(1).map(L_).map(q_)) : "in" === i ? D_(t[1], t.slice(2)) : "!in" === i ? q_(D_(t[1], t.slice(2))) : "has" === i ? U_(t[1]) : "!has" === i ? q_(U_(t[1])) : "within" !== i || t
28094                }
28095
28096                function G_(t, n, i) {
28097                    switch (t) {
28098                        case"$type":
28099                            return ["filter-type-".concat(i), n];
28100                        case"$id":
28101                            return ["filter-id-".concat(i), n];
28102                        default:
28103                            return ["filter-".concat(i), t, n]
28104                    }
28105                }
28106
28107                function D_(t, n) {
28108                    if (0 === n.length) return !1;
28109                    switch (t) {
28110                        case"$type":
28111                            return ["filter-type-in", ["literal", n]];
28112                        case"$id":
28113                            return ["filter-id-in", ["literal", n]];
28114                        default:
28115                            return n.length > 200 && !n.some((function (t) {
28116                                return RS(t) !== RS(n[0])
28117                            })) ? ["filter-in-large", t, ["literal", n.sort(z_)]] : ["filter-in-small", t, ["literal", n]]
28118                    }
28119                }
28120
28121                function U_(t) {
28122                    switch (t) {
28123                        case"$type":
28124                            return !0;
28125                        case"$id":
28126                            return ["filter-has-id"];
28127                        default:
28128                            return ["filter-has", t]
28129                    }
28130                }
28131
28132                function q_(t) {
28133                    return ["!", t]
28134                }
28135
28136                var B_ = ["type", "source", "source-layer", "minzoom", "maxzoom", "filter", "layout"];
28137
28138                function W_(t, n) {
28139                    var i = {};
28140                    for (var r in t) "ref" !== r && (i[r] = t[r]);
28141                    return B_.forEach((function (t) {
28142                        t in n && (i[t] = n[t])
28143                    })), i
28144                }
28145
28146                var V_ = xS((function t(n, i, r, e) {
28147                    jS(this, t), this.message = (n ? "".concat(n, ": ") : "") + r, e && (this.identifier = e), null != i && i.cv && (this.line = i.cv)
28148                })), X_ = xS((function t(n) {
28149                    jS(this, t), this.error = n, this.message = n.message;
28150                    var i = n.message.match(/line (\d+)/);
28151                    this.line = i ? parseInt(i[1], 10) : 0
28152                }));
28153
28154                function H_(t) {
28155                    var n = t.key, i = t.value;
28156                    return i ? [new V_(n, i, "constants have been deprecated as of v8")] : []
28157                }
28158
28159                function J_(t) {
28160                    return t instanceof Number || t instanceof String || t instanceof Boolean ? t.valueOf() : t
28161                }
28162
28163                function K_(t) {
28164                    if (Array.isArray(t)) return t.map(K_);
28165                    if (t instanceof Object && !(t instanceof Number || t instanceof String || t instanceof Boolean)) {
28166                        var n = {};
28167                        for (var i in t) n[i] = K_(t[i]);
28168                        return n
28169                    }
28170                    return J_(t)
28171                }
28172
28173                function Y_(t) {
28174                    var n = t.key, i = t.value, r = t.valueSpec || {}, e = t.objectElementValidators || {}, o = t.style,
28175                        s = t.styleSpec, a = [], u = p_(i);
28176                    if ("object" !== u) return [new V_(n, i, "object expected, ".concat(u, " found"))];
28177                    for (var c in i) {
28178                        var h = c.split(".")[0], f = r[h] || r["*"], l = void 0;
28179                        if (e[h]) l = e[h]; else if (r[h]) l = pO; else if (e["*"]) l = e["*"]; else {
28180                            if (!r["*"]) {
28181                                a.push(new V_(n, i[c], 'unknown property "'.concat(c, '"')));
28182                                continue
28183                            }
28184                            l = pO
28185                        }
28186                        a = a.concat(l({
28187                            key: (n ? "".concat(n, ".") : n) + c,
28188                            value: i[c],
28189                            valueSpec: f,
28190                            style: o,
28191                            styleSpec: s,
28192                            object: i,
28193                            objectKey: c
28194                        }, i))
28195                    }
28196                    for (var v in r) e[v] || r[v].required && void 0 === r[v].default && void 0 === i[v] && a.push(new V_(n, i, 'missing required property "'.concat(v, '"')));
28197                    return a
28198                }
28199
28200                function Z_(t) {
28201                    var n = t.value, i = t.valueSpec, r = t.style, e = t.styleSpec, o = t.key,
28202                        s = t.arrayElementValidator || pO;
28203                    if ("array" !== p_(n)) return [new V_(o, n, "array expected, ".concat(p_(n), " found"))];
28204                    if (i.length && n.length !== i.length) return [new V_(o, n, "array length ".concat(i.length, " expected, length ").concat(n.length, " found"))];
28205                    if (i["min-length"] && n.length < i["min-length"]) return [new V_(o, n, "array length at least ".concat(i["min-length"], " expected, length ").concat(n.length, " found"))];
28206                    var a = {type: i.value, values: i.values, minimum: i.minimum, maximum: i.maximum};
28207                    e.$version < 7 && (a.function = i.function), "object" === p_(i.value) && (a = i.value);
28208                    for (var u = [], c = 0; c < n.length; c++) u = u.concat(s({
28209                        array: n,
28210                        arrayIndex: c,
28211                        value: n[c],
28212                        valueSpec: a,
28213                        style: r,
28214                        styleSpec: e,
28215                        key: "".concat(o, "[").concat(c, "]")
28216                    }));
28217                    return u
28218                }
28219
28220                function $_(t) {
28221                    var n = t.key, i = t.value, r = t.valueSpec, e = p_(i);
28222                    if ("number" === e && i != i && (e = "NaN"), "number" !== e) return [new V_(n, i, "number expected, ".concat(e, " found"))];
28223                    if ("minimum" in r) {
28224                        var o = r.minimum;
28225                        if ("array" === p_(r.minimum)) {
28226                            var s = t.arrayIndex;
28227                            o = r.minimum[s]
28228                        }
28229                        if (i < o) return [new V_(n, i, "".concat(i, " is less than the minimum value ").concat(o))]
28230                    }
28231                    if ("maximum" in r) {
28232                        var a = r.maximum;
28233                        if ("array" === p_(r.maximum)) {
28234                            var u = t.arrayIndex;
28235                            a = r.maximum[u]
28236                        }
28237                        if (i > a) return [new V_(n, i, "".concat(i, " is greater than the maximum value ").concat(a))]
28238                    }
28239                    return []
28240                }
28241
28242                function Q_(t) {
28243                    var n, i, r, e = t.valueSpec, o = J_(t.value.type), s = {},
28244                        a = "categorical" !== o && void 0 === t.value.property, u = !a,
28245                        c = "array" === p_(t.value.stops) && "array" === p_(t.value.stops[0]) && "object" === p_(t.value.stops[0][0]),
28246                        h = Y_({
28247                            key: t.key,
28248                            value: t.value,
28249                            valueSpec: t.styleSpec.function,
28250                            style: t.style,
28251                            styleSpec: t.styleSpec,
28252                            objectElementValidators: {
28253                                stops: function (t) {
28254                                    if ("identity" === o) return [new V_(t.key, t.value, 'identity function may not have a "stops" property')];
28255                                    var n = [], i = t.value;
28256                                    n = n.concat(Z_({
28257                                        key: t.key,
28258                                        value: i,
28259                                        valueSpec: t.valueSpec,
28260                                        style: t.style,
28261                                        styleSpec: t.styleSpec,
28262                                        arrayElementValidator: f
28263                                    })), "array" === p_(i) && 0 === i.length && n.push(new V_(t.key, i, "array must have at least one stop"));
28264                                    return n
28265                                }, default: function (t) {
28266                                    return pO({
28267                                        key: t.key,
28268                                        value: t.value,
28269                                        valueSpec: e,
28270                                        style: t.style,
28271                                        styleSpec: t.styleSpec
28272                                    })
28273                                }
28274                            }
28275                        });
28276                    return "identity" === o && a && h.push(new V_(t.key, t.value, 'missing required property "property"')), "identity" === o || t.value.stops || h.push(new V_(t.key, t.value, 'missing required property "stops"')), "exponential" === o && t.valueSpec.expression && !d_(t.valueSpec) && h.push(new V_(t.key, t.value, "exponential functions not supported")), t.styleSpec.$version >= 8 && (u && !l_(t.valueSpec) ? h.push(new V_(t.key, t.value, "property functions not supported")) : a && !v_(t.valueSpec) && h.push(new V_(t.key, t.value, "zoom functions not supported"))), "categorical" !== o && !c || void 0 !== t.value.property || h.push(new V_(t.key, t.value, '"property" property is required')), h;
28277
28278                    function f(t) {
28279                        var n = [], o = t.value, a = t.key;
28280                        if ("array" !== p_(o)) return [new V_(a, o, "array expected, ".concat(p_(o), " found"))];
28281                        if (2 !== o.length) return [new V_(a, o, "array length 2 expected, length ".concat(o.length, " found"))];
28282                        if (c) {
28283                            if ("object" !== p_(o[0])) return [new V_(a, o, "object expected, ".concat(p_(o[0]), " found"))];
28284                            if (void 0 === o[0].zoom) return [new V_(a, o, "object stop key must have zoom")];
28285                            if (void 0 === o[0].value) return [new V_(a, o, "object stop key must have value")];
28286                            if (r && r > J_(o[0].zoom)) return [new V_(a, o[0].zoom, "stop zoom values must appear in ascending order")];
28287                            J_(o[0].zoom) !== r && (r = J_(o[0].zoom), i = void 0, s = {}), n = n.concat(Y_({
28288                                key: "".concat(a, "[0]"),
28289                                value: o[0],
28290                                valueSpec: {zoom: {}},
28291                                style: t.style,
28292                                styleSpec: t.styleSpec,
28293                                objectElementValidators: {zoom: $_, value: l}
28294                            }))
28295                        } else n = n.concat(l({
28296                            key: "".concat(a, "[0]"),
28297                            value: o[0],
28298                            valueSpec: {},
28299                            style: t.style,
28300                            styleSpec: t.styleSpec
28301                        }, o));
28302                        return w_(K_(o[1])) ? n.concat([new V_("".concat(a, "[1]"), o[1], "expressions are not allowed in function stops.")]) : n.concat(pO({
28303                            key: "".concat(a, "[1]"),
28304                            value: o[1],
28305                            valueSpec: e,
28306                            style: t.style,
28307                            styleSpec: t.styleSpec
28308                        }))
28309                    }
28310
28311                    function l(t, r) {
28312                        var a = p_(t.value), u = J_(t.value), c = null !== t.value ? t.value : r;
28313                        if (n) {
28314                            if (a !== n) return [new V_(t.key, c, "".concat(a, " stop domain type must match previous stop domain type ").concat(n))]
28315                        } else n = a;
28316                        if ("number" !== a && "string" !== a && "boolean" !== a) return [new V_(t.key, c, "stop domain value must be a number, string, or boolean")];
28317                        if ("number" !== a && "categorical" !== o) {
28318                            var h = "number expected, ".concat(a, " found");
28319                            return l_(e) && void 0 === o && (h += '\nIf you intended to use a categorical function, specify `"type": "categorical"`.'), [new V_(t.key, c, h)]
28320                        }
28321                        return "categorical" !== o || "number" !== a || isFinite(u) && Math.floor(u) === u ? "categorical" !== o && "number" === a && void 0 !== i && u < i ? [new V_(t.key, c, "stop domain values must appear in ascending order")] 
28321: (i = u, "categorical" === o && u in s ? [new V_(t.key, c, "stop domain values must be unique")] : (s[u] = !0, [])) : [new V_(t.key, c, "integer expected, found ".concat(u))]
28322                    }
28323                }
28324
28325                function tO(t) {
28326                    var n = ("property" === t.expressionContext ? j_ : b_)(K_(t.value), t.valueSpec);
28327                    if ("error" === n.result) return n.value.map((function (n) {
28328                        return new V_("".concat(t.key).concat(n.key), t.value, n.message)
28329                    }));
28330                    var i = n.value.expression || n.value._styleExpression.expression;
28331                    if ("property" === t.expressionContext && "text-font" === t.propertyKey && !i.outputDefined()) return [new V_(t.key, t.value, 'Invalid data expression for "'.concat(t.propertyKey, '". Output values must be contained as literals within the expression.'))];
28332                    if ("property" === t.expressionContext && "layout" === t.propertyType && !lM(i)) return [new V_(t.key, t.value, '"feature-state" data expressions are not supported with layout properties.')];
28333                    if ("filter" === t.expressionContext && !lM(i)) return [new V_(t.key, t.value, '"feature-state" data expressions are not supported with filters.')];
28334                    if (t.expressionContext && 0 === t.expressionContext.indexOf("cluster")) {
28335                        if (!vM(i, ["zoom", "feature-state"])) return [new V_(t.key, t.value, '"zoom" and "feature-state" expressions are not supported with cluster properties.')];
28336                        if ("cluster-initial" === t.expressionContext && !fM(i)) return [new V_(t.key, t.value, "Feature data expressions are not supported with initial expression part of cluster properties.")]
28337                    }
28338                    return []
28339                }
28340
28341                function nO(t) {
28342                    var n = t.key, i = t.value, r = t.valueSpec, e = [];
28343                    return Array.isArray(r.values) ? -1 === r.values.indexOf(J_(i)) && e.push(new V_(n, i, "expected one of [".concat(r.values.join(", "), "], ").concat(JSON.stringify(i), " found"))) : -1 === Object.keys(r.values).indexOf(J_(i)) && e.push(new V_(n, i, "expected one of [".concat(Object.keys(r.values).join(", "), "], ").concat(JSON.stringify(i), " found"))), e
28344                }
28345
28346                function iO(t) {
28347                    return P_(K_(t.value)) ? tO(sk({}, t, {
28348                        expressionContext: "filter",
28349                        valueSpec: {value: "boolean"}
28350                    })) : rO(t)
28351                }
28352
28353                function rO(t) {
28354                    var n = t.value, i = t.key;
28355                    if ("array" !== p_(n)) return [new V_(i, n, "array expected, ".concat(p_(n), " found"))];
28356                    var r, e = t.styleSpec, o = [];
28357                    if (n.length < 1) return [new V_(i, n, "filter array must have at least 1 element")];
28358                    switch (o = o.concat(nO({
28359                        key: "".concat(i, "[0]"),
28360                        value: n[0],
28361                        valueSpec: e.filter_operator,
28362                        style: t.style,
28363                        styleSpec: t.styleSpec
28364                    })), J_(n[0])) {
28365                        case"<":
28366                        case"<=":
28367                        case">":
28368                        case">=":
28369                            n.length >= 2 && "$type" === J_(n[1]) && o.push(new V_(i, n, '"$type" cannot be use with operator "'.concat(n[0], '"')));
28370                        case"==":
28371                        case"!=":
28372                            3 !== n.length && o.push(new V_(i, n, 'filter array for operator "'.concat(n[0], '" must have 3 elements')));
28373                        case"in":
28374                        case"!in":
28375                            n.length >= 2 && "string" !== (r = p_(n[1])) && o.push(new V_("".concat(i, "[1]"), n[1], "string expected, ".concat(r, " found")));
28376                            for (var s = 2; s < n.length; s++) r = p_(n[s]), "$type" === J_(n[1]) ? o = o.concat(nO({
28377                                key: "".concat(i, "[").concat(s, "]"),
28378                                value: n[s],
28379                                valueSpec: e.geometry_type,
28380                                style: t.style,
28381                                styleSpec: t.styleSpec
28382                            })) : "string" !== r && "number" !== r && "boolean" !== r && o.push(new V_("".concat(i, "[").concat(s, "]"), n[s], "string, number, or boolean expected, ".concat(r, " found")));
28383                            break;
28384                        case"any":
28385                        case"all":
28386                        case"none":
28387                            for (var a = 1; a < n.length; a++) o = o.concat(rO({
28388                                key: "".concat(i, "[").concat(a, "]"),
28389                                value: n[a],
28390                                style: t.style,
28391                                styleSpec: t.styleSpec
28392                            }));
28393                            break;
28394                        case"has":
28395                        case"!has":
28396                            r = p_(n[1]), 2 !== n.length ? o.push(new V_(i, n, 'filter array for "'.concat(n[0], '" operator must have 2 elements'))) : "string" !== r && o.push(new V_("".concat(i, "[1]"), n[1], "string expected, ".concat(r, " found")));
28397                            break;
28398                        case"within":
28399                            r = p_(n[1]), 2 !== n.length ? o.push(new V_(i, n, 'filter array for "'.concat(n[0], '" operator must have 2 elements'))) : "object" !== r && o.push(new V_("".concat(i, "[1]"), n[1], "object expected, ".concat(r, " found")))
28400                    }
28401                    return o
28402                }
28403
28404                function eO(t, n) {
28405                    var i = t.key, r = t.style, e = t.styleSpec, o = t.value, s = t.objectKey,
28406                        a = e["".concat(n, "_").concat(t.layerType)];
28407                    if (!a) return [];
28408                    var u = s.match(/^(.*)-transition$/);
28409                    if ("paint" === n && u && a[u[1]] && a[u[1]].transition) return pO({
28410                        key: i,
28411                        value: o,
28412                        valueSpec: e.transition,
28413                        style: r,
28414                        styleSpec: e
28415                    });
28416                    var c, h = t.valueSpec || a[s];
28417                    if (!h) return [new V_(i, o, 'unknown property "'.concat(s, '"'))];
28418                    if ("string" === p_(o) && l_(h) && !h.tokens && (c = /^{([^}]+)}$/.exec(o))) return [new V_(i, o, '"'.concat(s, '" does not support interpolation syntax\n') + 'Use an identity property function instead: `{ "type": "identity", "property": '.concat(JSON.stringify(c[1]), " }`."))];
28419                    var f = [];
28420                    return "symbol" === t.layerType && ("text-field" === s && r && !r.glyphs && f.push(new V_(i, o, 'use of "text-field" requires a style "glyphs" property')), "text-font" === s && y_(K_(o)) && "identity" === J_(o.type) && f.push(new V_(i, o, '"text-font" does not support identity functions'))), f.concat(pO({
28421                        key: t.key,
28422                        value: o,
28423                        valueSpec: h,
28424                        style: r,
28425                        styleSpec: e,
28426                        expressionContext: "property",
28427                        propertyType: n,
28428                        propertyKey: s
28429                    }))
28430                }
28431
28432                function oO(t) {
28433                    return eO(t, "paint")
28434                }
28435
28436                function sO(t) {
28437                    return eO(t, "layout")
28438                }
28439
28440                function aO(t) {
28441                    var n = [], i = t.value, r = t.key, e = t.style, o = t.styleSpec;
28442                    i.type || i.ref || n.push(new V_(r, i, 'either "type" or "ref" is required'));
28443                    var s, a = J_(i.type), u = J_(i.ref);
28444                    if (i.id) for (var c = J_(i.id), h = 0; h < t.arrayIndex; h++) {
28445                        var f = e.layers[h];
28446                        J_(f.id) === c && n.push(new V_(r, i.id, 'duplicate layer id "'.concat(i.id, '", previously used at line ').concat(f.id.cv)))
28447                    }
28448                    if ("ref" in i) ["type", "source", "source-layer", "filter", "layout"].forEach((function (t) {
28449                        t in i && n.push(new V_(r, i[t], '"'.concat(t, '" is prohibited for ref layers')))
28450                    }
28450)), e.layers.forEach((function (t) {
28451                        J_(t.id) === u && (s = t)
28452                    })), s ? s.ref ? n.push(new V_(r, i.ref, "ref cannot reference another ref layer")) : a = J_(s.type) : n.push(new V_(r, i.ref, 'ref layer "'.concat(u, '" not found'))); else if ("background" !== a && "sky" !== a) if (i.source) {
28453                        var l = e.sources && e.sources[i.source], v = l && J_(l.type);
28454                        l ? "vector" === v && "raster" === a ? n.push(new V_(r, i.source, 'layer "'.concat(i.id, '" requires a raster source'))) : "raster" === v && "raster" !== a ? n.push(new V_(r, i.source, 'layer "'.concat(i.id, '" requires a vector source'))) : "vector" !== v || i["source-layer"] ? "raster-dem" === v && "hillshade" !== a ? n.push(new V_(r, i.source, "raster-dem source can only be used with layer type 'hillshade'.")) : "line" !== a || !i.paint || !i.paint["line-gradient"] || "geojson" === v && l.lineMetrics || n.push(new V_(r, i, 'layer "'.concat(i.id, '" specifies a line-gradient, which requires a GeoJSON source with `lineMetrics` enabled.'))) : n.push(new V_(r, i, 'layer "'.concat(i.id, '" must specify a "source-layer"'))) : n.push(new V_(r, i.source, 'source "'.concat(i.source, '" not found')))
28455                    } else n.push(new V_(r, i, 'missing required property "source"'));
28456                    return n = n.concat(Y_({
28457                        key: r,
28458                        value: i,
28459                        valueSpec: o.layer,
28460                        style: t.style,
28461                        styleSpec: t.styleSpec,
28462                        objectElementValidators: {
28463                            "*": function () {
28464                                return []
28465                            }, type: function () {
28466                                return pO({
28467                                    key: "".concat(r, ".type"),
28468                                    value: i.type,
28469                                    valueSpec: o.layer.type,
28470                                    style: t.style,
28471                                    styleSpec: t.styleSpec,
28472                                    object: i,
28473                                    objectKey: "type"
28474                                })
28475                            }, filter: iO, layout: function (t) {
28476                                return Y_({
28477                                    layer: i,
28478                                    key: t.key,
28479                                    value: t.value,
28480                                    style: t.style,
28481                                    styleSpec: t.styleSpec,
28482                                    objectElementValidators: {
28483                                        "*": function (t) {
28484                                            return sO(sk({layerType: a}, t))
28485                                        }
28486                                    }
28487                                })
28488                            }, paint: function (t) {
28489                                return Y_({
28490                                    layer: i,
28491                                    key: t.key,
28492                                    value: t.value,
28493                                    style: t.style,
28494                                    styleSpec: t.styleSpec,
28495                                    objectElementValidators: {
28496                                        "*": function (t) {
28497                                            return oO(sk({layerType: a}, t))
28498                                        }
28499                                    }
28500                                })
28501                            }
28502                        }
28503                    }))
28504                }
28505
28506                function uO(t) {
28507                    var n = t.value, i = t.key, r = p_(n);
28508                    return "string" !== r ? [new V_(i, n, "string expected, ".concat(r, " found"))] : []
28509                }
28510
28511                var cO = {
28512                    promoteId: function (t) {
28513                        var n = t.key, i = t.value;
28514                        if ("string" === p_(i)) return uO({key: n, value: i});
28515                        var r = [];
28516                        for (var e in i) r.push.apply(r, pS(uO({key: "".concat(n, ".").concat(e), value: i[e]})));
28517                        return r
28518                    }
28519                };
28520
28521                function hO(t) {
28522                    var n = t.value, i = t.key, r = t.styleSpec, e = t.style;
28523                    if (!n.type) return [new V_(i, n, '"type" is required')];
28524                    var o, s = J_(n.type);
28525                    switch (s) {
28526                        case"vector":
28527                        case"raster":
28528                        case"raster-dem":
28529                            return o = Y_({
28530                                key: i,
28531                                value: n,
28532                                valueSpec: r["source_".concat(s.replace("-", "_"))],
28533                                style: t.style,
28534                                styleSpec: r,
28535                                objectElementValidators: cO
28536                            });
28537                        case"geojson":
28538                            if (o = Y_({
28539                                key: i,
28540                                value: n,
28541                                valueSpec: r.source_geojson,
28542                                style: e,
28543                                styleSpec: r,
28544                                objectElementValidators: cO
28545                            }), n.cluster) for (var a in n.clusterProperties) {
28546                                var u, c, h = mS(n.clusterProperties[a], 2), f = h[0], l = h[1],
28547                                    v = "string" == typeof f ? [f, ["accumulated"], ["get", a]] : f;
28548                                (u = o).push.apply(u, pS(tO({
28549                                    key: "".concat(i, ".").concat(a, ".map"),
28550                                    value: l,
28551                                    expressionContext: "cluster-map"
28552                                }))), (c = o).push.apply(c, pS(tO({
28553                                    key: "".concat(i, ".").concat(a, ".reduce"),
28554                                    value: v,
28555                                    expressionContext: "cluster-reduce"
28556                                })))
28557                            }
28558                            return o;
28559                        case"video":
28560                            return Y_({key: i, value: n, valueSpec: r.source_video, style: e, styleSpec: r});
28561                        case"image":
28562                            return Y_({key: i, value: n, valueSpec: r.source_image, style: e, styleSpec: r});
28563                        case"canvas":
28564                            return [new V_(i, null, "Please use runtime APIs to add canvas sources, rather than including them in stylesheets.", "source.canvas")];
28565                        default:
28566                            return nO({
28567                                key: "".concat(i, ".type"),
28568                                value: n.type,
28569                                valueSpec: {values: ["vector", "raster", "raster-dem", "geojson", "video", "image"]},
28570                                style: e,
28571                                styleSpec: r
28572                            })
28573                    }
28574                }
28575
28576                function fO(t) {
28577                    var n = t.value, i = t.styleSpec, r = i.light, e = t.style, o = [], s = p_(n);
28578                    if (void 0 === n) return o;
28579                    if ("object" !== s) return o = o.concat([new V_("light", n, "object expected, ".concat(s, " found"))]);
28580                    for (var a in n) {
28581                        var u = a.match(/^(.*)-transition$/);
28582                        o = u && r[u[1]] && r[u[1]].transition ? o.concat(pO({
28583                            key: a,
28584                            value: n[a],
28585                            valueSpec: i.transition,
28586                            style: e,
28587                            styleSpec: i
28588                        })) : r[a] ? o.concat(pO({
28589                            key: a,
28590                            value: n[a],
28591                            valueSpec: r[a],
28592                            style: e,
28593                            styleSpec: i
28594                        })) : o.concat([new V_(a, n[a], 'unknown property "'.concat(a, '"'))])
28595                    }
28596                    return o
28597                }
28598
28599                function lO(t) {
28600                    var n = t.value, i = t.key, r = t.style, e = t.styleSpec, o = e.terrain, s = [], a = p_(n);
28601                    if (void 0 === n) return s;
28602                    if ("object" !== a) return s = s.concat([new V_("terrain", n, "object expected, ".concat(a, " found"))]);
28603                    for (var u in n) {
28604                        var c = u.match(/^(.*)-transition$/);
28605                        s = c && o[c[1]] && o[c[1]].transition ? s.concat(pO({
28606                            key: u,
28607                            value: n[u],
28608                            valueSpec: e.transition,
28609                            style: r,
28610                            styleSpec: e
28611                        })) : o[u] ? s.concat(pO({
28612                            key: u,
28613                            value: n[u],
28614                            valueSpec: o[u],
28615                            style: r,
28616                            styleSpec: e
28617                        })) : s.concat([new V_(u, n[u], 'unknown property "'.concat(u, '"'))])
28618                    }
28619                    if (n.source) {
28620                        var h = r.sources && r.sources[n.source], f = h && J_(h.type);
28621                        h ? "raster-dem" !== f && s.push(new V_(i, n.source, "terrain cannot be used with a source of type ".concat(f, ', it only be used with a "raster-dem" source type'))) : s.push(new V_(i, n.source, 'source "'.concat(n.source, '" not found')))
28622                    } else s.push(new V_(i, n, 'terrain is missing required property "source"'));
28623                    return s
28624                }
28625
28626                function vO(t) {
28627                    var n = t.value, i = t.style, r = t.styleSpec, e = r.fog, o = [], s = p_(n);
28628                    if (void 0 === n) return o;
28629                    if ("object" !== s) return o = o.concat([new V_("fog", n, "object expected, ".concat(s, " found"))]);
28630                    for (var a in n) {
28631                        var u = a.match(/^(.*)-transition$/);
28632                        o = u && e[u[1]] && e[u[1]].transition ? o.concat(pO({
28633                            key: a,
28634                            value: n[a],
28635                            valueSpec: r.transition,
28636                            style: i,
28637                            styleSpec: r
28638                        })) : e[a] ? o.concat(pO({
28639                            key: a,
28640                            value: n[a],
28641                            valueSpec: e[a],
28642                            style: i,
28643                            styleSpec: r
28644                        })) : o.concat([new V_(a, n[a], 'unknown property "'.concat(a, '"'))])
28645                    }
28646                    return o
28647                }
28648
28649                var dO = {
28650                    "*": function () {
28651                        return []
28652                    },
28653                    array: Z_,
28654                    boolean: function (t) {
28655                        var n = t.value, i = t.key, r = p_(n);
28656                        return "boolean" !== r ? [new V_(i, n, "boolean expected, ".concat(r, " found"))] : []
28657                    },
28658                    number: $_,
28659                    color: function (t) {
28660                        var n = t.key, i = t.value, r = p_(i);
28661                        return "string" !== r ? [new V_(n, i, "color expected, ".concat(r, " found"))] : null === Mk.parseCSSColor(i) ? [new V_(n, i, 'color expected, "'.concat(i, '" found'))] : []
28662                    },
28663                    constants: H_,
28664                    enum: nO,
28665                    filter: iO,
28666                    function: Q_,
28667                    layer: aO,
28668                    object: Y_,
28669                    source: hO,
28670                    light: fO,
28671                    terrain: lO,
28672                    fog: vO,
28673                    string: uO,
28674                    formatted: function (t) {
28675                        return 0 === uO(t).length ? [] : tO(t)
28676                    },
28677                    resolvedImage: function (t) {
28678                        return 0 === uO(t).length ? [] : tO(t)
28679                    }
28680                };
28681
28682                function pO(t) {
28683                    var n = t.value, i = t.valueSpec, r = t.styleSpec;
28684                    return i.expression && y_(J_(n)) ? Q_(t) : i.expression && w_(K_(n)) ? tO(t) : i.type && dO[i.type] ? dO[i.type](t) : Y_(sk({}, t, {valueSpec: i.type ? r[i.type] : i}))
28685                }
28686
28687                function yO(t) {
28688                    var n = t.value, i = t.key, r = uO(t);
28689                    return r.length || (-1 === n.indexOf("{fontstack}") && r.push(new V_(i, n, '"glyphs" url must include a "{fontstack}" token')), -1 === n.indexOf("{range}") && r.push(new V_(i, n, '"glyphs" url must include a "{range}" token'))), r
28690                }
28691
28692                function mO(t) {
28693                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PS, i = [];
28694                    return i = i.concat(pO({
28695                        key: "",
28696                        value: t,
28697                        valueSpec: n.$root,
28698                        styleSpec: n,
28699                        style: t,
28700                        objectElementValidators: {
28701                            glyphs: yO, "*": function () {
28702                                return []
28703                            }
28704                        }
28705                    })), t.constants && (i = i.concat(H_({
28706                        key: "constants",
28707                        value: t.constants,
28708                        style: t,
28709                        styleSpec: n
28710                    }))), wO(i)
28711                }
28712
28713                function wO(t) {
28714                    return [].concat(t).sort((function (t, n) {
28715                        return t.line - n.line
28716                    }))
28717                }
28718
28719                function bO(t) {
28720                    return function () {
28721                        for (var n = arguments.length, i = new Array(n), r = 0; r < n; r++) i[r] = arguments[r];
28722                        return wO(t.apply(this, i))
28723                    }
28724                }
28725
28726                mO.source = bO(hO), mO.light = bO(fO), mO.terrain = bO(lO), mO.fog = bO(vO), mO.layer = bO(aO), mO.filter = bO(iO), mO.paintProperty = bO(oO), mO.layoutProperty = bO(sO);
28727                var gO = NS((function (t, n) {
28728                    var i = function () {
28729                        var t = function (t, n, i, r) {
28730                                for (i = i || {}, r = t.length; r--; i[t[r]] = n) ;
28731                                return i
28732                            }, n = [1, 12], i = [1, 13], r = [1, 9], e = [1, 10], o = [1, 11], s = [1, 14], a = [1, 15],
28733                            u = [14, 18, 22, 24], c = [18, 22], h = [22, 24], f = {
28734                                trace: function () {
28735                                },
28736                                yy: {},
28737                                hv: {
28738                                    error: 2,
28739                                    JSONString: 3,
28740                                    STRING: 4,
28741                                    JSONNumber: 5,
28742                                    NUMBER: 6,
28743                                    JSONNullLiteral: 7,
28744                                    NULL: 8,
28745                                    JSONBooleanLiteral: 9,
28746                                    TRUE: 10,
28747                                    FALSE: 11,
28748                                    JSONText: 12,
28749                                    JSONValue: 13,
28750                                    EOF: 14,
28751                                    JSONObject: 15,
28752                                    JSONArray: 16,
28753                                    "{": 17,
28754                                    "}": 18,
28755                                    JSONMemberList: 19,
28756                                    JSONMember: 20,
28757                                    ":": 21,
28758                                    ",": 22,
28759                                    "[": 23,
28760                                    "]": 24,
28761                                    JSONElementList: 25,
28762                                    $accept: 0,
28763                                    $end: 1
28764                                },
28765                                fv: {
28766                                    2: "error",
28767                                    4: "STRING",
28768                                    6: "NUMBER",
28769                                    8: "NULL",
28770                                    10: "TRUE",
28771                                    11: "FALSE",
28772                                    14: "EOF",
28773                                    17: "{",
28774                                    18: "}",
28775                                    21: ":",
28776                                    22: ",",
28777                                    23: "[",
28778                                    24: "]"
28779                                },
28780                                lv: [0, [3, 1], [5, 1], [7, 1], [9, 1], [9, 1], [12, 2], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [13, 1], [15, 2], [15, 3], [20, 3], [19, 1], [19, 3], [16, 2], [16, 3], [25, 1], [25, 3]],
28781                                performAction: function (t, n, i, r, e, o, s) {
28782                                    var a = o.length - 1;
28783                                    switch (e) {
28784                                        case 1:
28785                                            this.$ = new String(t.replace(/\\(\\|")/g, "$1").replace(/\\n
vendor: 33,827 bytes, lines 28785-29347
28785/g, "\n").replace(/\\r/g, "\r").replace(/\\t/g, "\t").replace(/\\v/g, "\v").replace(/\\f/g, "\f").replace(/\\b/g, "\b")), this.$.cv = this._$.first_line;
28786                                            break;
28787                                        case 2:
28788                                            this.$ = new Number(t), this.$.cv = this._$.first_line;
28789                                            break;
28790                                        case 3:
28791                                            this.$ = null;
28792                                            break;
28793                                        case 4:
28794                                            this.$ = new Boolean(!0), this.$.cv = this._$.first_line;
28795                                            break;
28796                                        case 5:
28797                                            this.$ = new Boolean(!1), this.$.cv = this._$.first_line;
28798                                            break;
28799                                        case 6:
28800                                            return this.$ = o[a - 1];
28801                                        case 13:
28802                                            this.$ = {}, Object.defineProperty(this.$, "cv", {
28803                                                value: this._$.first_line,
28804                                                enumerable: !1
28805                                            });
28806                                            break;
28807                                        case 14:
28808                                        case 19:
28809                                            this.$ = o[a - 1], Object.defineProperty(this.$, "cv", {
28810                                                value: this._$.first_line,
28811                                                enumerable: !1
28812                                            });
28813                                            break;
28814                                        case 15:
28815                                            this.$ = [o[a - 2], o[a]];
28816                                            break;
28817                                        case 16:
28818                                            this.$ = {}, this.$[o[a][0]] = o[a][1];
28819                                            break;
28820                                        case 17:
28821                                            this.$ = o[a - 2], o[a - 2][o[a][0]] = o[a][1];
28822                                            break;
28823                                        case 18:
28824                                            this.$ = [], Object.defineProperty(this.$, "cv", {
28825                                                value: this._$.first_line,
28826                                                enumerable: !1
28827                                            });
28828                                            break;
28829                                        case 20:
28830                                            this.$ = [o[a]];
28831                                            break;
28832                                        case 21:
28833                                            this.$ = o[a - 2], o[a - 2].push(o[a])
28834                                    }
28835                                },
28836                                table: [{
28837                                    3: 5,
28838                                    4: n,
28839                                    5: 6,
28840                                    6: i,
28841                                    7: 3,
28842                                    8: r,
28843                                    9: 4,
28844                                    10: e,
28845                                    11: o,
28846                                    12: 1,
28847                                    13: 2,
28848                                    15: 7,
28849                                    16: 8,
28850                                    17: s,
28851                                    23: a
28852                                }, {1: [3]}, {14: [1, 16]}, t(u, [2, 7]), t(u, [2, 8]), t(u, [2, 9]), t(u, [2, 10]), t(u, [2, 11]), t(u, [2, 12]), t(u, [2, 3]), t(u, [2, 4]), t(u, [2, 5]), t([14, 18, 21, 22, 24], [2, 1]), t(u, [2, 2]), {
28853                                    3: 20,
28854                                    4: n,
28855                                    18: [1, 17],
28856                                    19: 18,
28857                                    20: 19
28858                                }, {
28859                                    3: 5,
28860                                    4: n,
28861                                    5: 6,
28862                                    6: i,
28863                                    7: 3,
28864                                    8: r,
28865                                    9: 4,
28866                                    10: e,
28867                                    11: o,
28868                                    13: 23,
28869                                    15: 7,
28870                                    16: 8,
28871                                    17: s,
28872                                    23: a,
28873                                    24: [1, 21],
28874                                    25: 22
28875                                }, {1: [2, 6]}, t(u, [2, 13]), {
28876                                    18: [1, 24],
28877                                    22: [1, 25]
28878                                }, t(c, [2, 16]), {21: [1, 26]}, t(u, [2, 18]), {
28879                                    22: [1, 28],
28880                                    24: [1, 27]
28881                                }, t(h, [2, 20]), t(u, [2, 14]), {3: 20, 4: n, 20: 29}, {
28882                                    3: 5,
28883                                    4: n,
28884                                    5: 6,
28885                                    6: i,
28886                                    7: 3,
28887                                    8: r,
28888                                    9: 4,
28889                                    10: e,
28890                                    11: o,
28891                                    13: 30,
28892                                    15: 7,
28893                                    16: 8,
28894                                    17: s,
28895                                    23: a
28896                                }, t(u, [2, 19]), {
28897                                    3: 5,
28898                                    4: n,
28899                                    5: 6,
28900                                    6: i,
28901                                    7: 3,
28902                                    8: r,
28903                                    9: 4,
28904                                    10: e,
28905                                    11: o,
28906                                    13: 31,
28907                                    15: 7,
28908                                    16: 8,
28909                                    17: s,
28910                                    23: a
28911                                }, t(c, [2, 17]), t(c, [2, 15]), t(h, [2, 21])],
28912                                defaultActions: {16: [2, 6]},
28913                                parseError: function (t, n) {
28914                                    if (!n.recoverable) throw new Error(t);
28915                                    this.trace(t)
28916                                },
28917                                parse: function (t) {
28918                                    var n = this, i = [0], r = [null], e = [], o = this.table, s = "", a = 0, u = 0, c = 2,
28919                                        h = 1, f = e.slice.call(arguments, 1), l = Object.create(this.lexer), v = {yy: {}};
28920                                    for (var d in this.yy) Object.prototype.hasOwnProperty.call(this.yy, d) && (v.yy[d] = this.yy[d]);
28921                                    l.setInput(t, v.yy), v.yy.lexer = l, v.yy.parser = this, void 0 === l.yylloc && (l.yylloc = {});
28922                                    var p = l.yylloc;
28923                                    e.push(p);
28924                                    var y = l.options && l.options.ranges;
28925
28926                                    function m() {
28927                                        var t;
28928                                        return "number" != typeof (t = l.lex() || h) && (t = n.hv[t] || t), t
28929                                    }
28930
28931                                    "function" == typeof v.yy.parseError ? this.parseError = v.yy.parseError : this.parseError = Object.getPrototypeOf(this).parseError;
28932                                    for (var w, b, g, x, j, S, k, M, _ = {}; ;) {
28933                                        if (b = i[i.length - 1], this.defaultActions[b] ? g = this.defaultActions[b] : (null == w && (w = m()), g = o[b] && o[b][w]), void 0 === g || !g.length || !g[0]) {
28934                                            var O = "";
28935                                            for (j in M = [], o[b]) this.fv[j] && j > c && M.push("'" + this.fv[j] + "'");
28936                                            O = l.showPosition ? "Parse error on line " + (a + 1) + ":\n" + l.showPosition() + "\nExpecting " + M.join(", ") + ", got '" + (this.fv[w] || w) + "'" : "Parse error on line " + (a + 1) + ": Unexpected " + (w == h ? "end of input" : "'" + (this.fv[w] || w) + "'"), this.parseError(O, {
28937                                                text: l.match,
28938                                                token: this.fv[w] || w,
28939                                                line: l.yylineno,
28940                                                loc: p,
28941                                                expected: M
28942                                            })
28943                                        }
28944                                        if (g[0] instanceof Array && g.length > 1) throw new Error("Parse Error: multiple actions possible at state: " + b + ", token: " + w);
28945                                        switch (g[0]) {
28946                                            case 1:
28947                                                i.push(w), r.push(l.yytext), e.push(l.yylloc), i.push(g[1]), w = null, u = l.yyleng, s = l.yytext, a = l.yylineno, p = l.yylloc;
28948                                                break;
28949                                            case 2:
28950                                                if (S = this.lv[g[1]][1], _.$ = r[r.length - S], _._$ = {
28951                                                    first_line: e[e.length - (S || 1)].first_line,
28952                                                    last_line: e[e.length - 1].last_line,
28953                                                    first_column: e[e.length - (S || 1)].first_column,
28954                                                    last_column: e[e.length - 1].last_column
28955                                                }, y && (_._$.range = [e[e.length - (S || 1)].range[0], e[e.length - 1].range[1]]), void 0 !== (x = this.performAction.apply(_, [s, u, a, v.yy, g[1], r, e].concat(f)))) return x;
28956                                                S && (i = i.slice(0, -1 * S * 2), r = r.slice(0, -1 * S), e = e.slice(0, -1 * S)), i.push(this.lv[g[1]][0]), r.push(_.$), e.push(_._$), k = o[i[i.length - 2]][i[i.length - 1]], i.push(k);
28957                                                break;
28958                                            case 3:
28959                                                return !0
28960                                        }
28961                                    }
28962                                    return !0
28963                                }
28964                            }, l = {
28965                                EOF: 1,
28966                                parseError: function (t, n) {
28967                                    if (!this.yy.parser) throw new Error(t);
28968                                    this.yy.parser.parseError(t, n)
28969                                },
28970                                setInput: function (t, n) {
28971                                    return this.yy = n || this.yy || {}, this._input = t, this._more = this._backtrack = this.done = !1, this.yylineno = this.yyleng = 0, this.yytext = this.matched = this.match = "", this.conditionStack = ["INITIAL"], this.yylloc = {
28972                                        first_line: 1,
28973                                        first_column: 0,
28974                                        last_line: 1,
28975                                        last_column: 0
28976                                    }, this.options.ranges && (this.yylloc.range = [0, 0]), this.offset = 0, this
28977                                },
28978                                input: function () {
28979                                    var t = this._input[0];
28980                                    return this.yytext += t, this.yyleng++, this.offset++, this.match += t, this.matched += t, t.match(/(?:\r\n?|\n).*/g) ? (this.yylineno++, this.yylloc.last_line++) : this.yylloc.last_column++, this.options.ranges && this.yylloc.range[1]++, this._input = this._input.slice(1), t
28981                                },
28982                                unput: function (t) {
28983                                    var n = t.length, i = t.split(/(?:\r\n?|\n)/g);
28984                                    this._input = t + this._input, this.yytext = this.yytext.substr(0, this.yytext.length - n), this.offset -= n;
28985                                    var r = this.match.split(/(?:\r\n?|\n)/g);
28986                                    this.match = this.match.substr(0, this.match.length - 1), this.matched = this.matched.substr(0, this.matched.length - 1), i.length - 1 && (this.yylineno -= i.length - 1);
28987                                    var e = this.yylloc.range;
28988                                    return this.yylloc = {
28989                                        first_line: this.yylloc.first_line,
28990                                        last_line: this.yylineno + 1,
28991                                        first_column: this.yylloc.first_column,
28992                                        last_column: i ? (i.length === r.length ? this.yylloc.first_column : 0) + r[r.length - i.length].length - i[0].length : this.yylloc.first_column - n
28993                                    }, this.options.ranges && (this.yylloc.range = [e[0], e[0] + this.yyleng - n]), this.yyleng = this.yytext.length, this
28994                                },
28995                                more: function () {
28996                                    return this._more = !0, this
28997                                },
28998                                reject: function () {
28999                                    return this.options.backtrack_lexer ? (this._backtrack = !0, this) : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n" + this.showPosition(), {
29000                                        text: "",
29001                                        token: null,
29002                                        line: this.yylineno
29003                                    })
29004                                },
29005                                less: function (t) {
29006                                    this.unput(this.match.slice(t))
29007                                },
29008                                pastInput: function () {
29009                                    var t = this.matched.substr(0, this.matched.length - this.match.length);
29010                                    return (t.length > 20 ? "..." : "") + t.substr(-20).replace(/\n/g, "")
29011                                },
29012                                upcomingInput: function () {
29013                                    var t = this.match;
29014                                    return t.length < 20 && (t += this._input.substr(0, 20 - t.length)), (t.substr(0, 20) + (t.length > 20 ? "..." : "")).replace(/\n/g, "")
29015                                },
29016                                showPosition: function () {
29017                                    var t = this.pastInput(), n = new Array(t.length + 1).join("-");
29018                                    return t + this.upcomingInput() + "\n" + n + "^"
29019                                },
29020                                test_match: function (t, n) {
29021                                    var i, r, e;
29022                                    if (this.options.backtrack_lexer && (e = {
29023                                        yylineno: this.yylineno,
29024                                        yylloc: {
29025                                            first_line: this.yylloc.first_line,
29026                                            last_line: this.last_line,
29027                                            first_column: this.yylloc.first_column,
29028                                            last_column: this.yylloc.last_column
29029                                        },
29030                                        yytext: this.yytext,
29031                                        match: this.match,
29032                                        matches: this.matches,
29033                                        matched: this.matched,
29034                                        yyleng: this.yyleng,
29035                                        offset: this.offset,
29036                                        _more: this._more,
29037                                        _input: this._input,
29038                                        yy: this.yy,
29039                                        conditionStack: this.conditionStack.slice(0),
29040                                        done: this.done
29041                                    }, this.options.ranges && (e.yylloc.range = this.yylloc.range.slice(0))), (r = t[0].match(/(?:\r\n?|\n).*/g)) && (this.yylineno += r.length), this.yylloc = {
29042                                        first_line: this.yylloc.last_line,
29043                                        last_line: this.yylineno + 1,
29044                                        first_column: this.yylloc.last_column,
29045                                        last_column: r ? r[r.length - 1].length - r[r.length - 1].match(/\r?\n?/)[0].length : this.yylloc.last_column + t[0].length
29046                                    }, this.yytext += t[0], this.match += t[0], this.matches = t, this.yyleng = this.yytext.length, this.options.ranges && (this.yylloc.range = [this.offset, this.offset += this.yyleng]), this._more = !1, this._backtrack = !1, this._input = this._input.slice(t[0].length), this.matched += t[0], i = this.performAction.call(this, this.yy, this, n, this.conditionStack[this.conditionStack.length - 1]), this.done && this._input && (this.done = !1), i) return i;
29047                                    if (this._backtrack) {
29048                                        for (var o in e) this[o] = e[o];
29049                                        return !1
29050                                    }
29051                                    return !1
29052                                },
29053                                next: function () {
29054                                    if (this.done) return this.EOF;
29055                                    var t, n, i, r;
29056                                    this._input || (this.done = !0), this._more || (this.yytext = "", this.match = "");
29057                                    for (var e = this._currentRules(), o = 0; o < e.length; o++) if ((i = this._input.match(this.rules[e[o]])) && (!n || i[0].length > n[0].length)) {
29058                                        if (n = i, r = o, this.options.backtrack_lexer) {
29059                                            if (!1 !== (t = this.test_match(i, e[o]))) return t;
29060                                            if (this._backtrack) {
29061                                                n = !1;
29062                                                continue
29063                                            }
29064                                            return !1
29065                                        }
29066                                        if (!this.options.flex) break
29067                                    }
29068                                    return n ? !1 !== (t = this.test_match(n, e[r])) && t : "" === this._input ? this.EOF : this.parseError("Lexical error on line " + (this.yylineno + 1) + ". Unrecognized text.\n" + this.showPosition(), {
29069                                        text: "",
29070                                        token: null,
29071                                        line: this.yylineno
29072                                    })
29073                                },
29074                                lex: function () {
29075                                    var t = this.next();
29076                                    return t || this.lex()
29077                                },
29078                                begin: function (t) {
29079                                    this.conditionStack.push(t)
29080                                },
29081                                popState: function () {
29082                                    return this.conditionStack.length - 1 > 0 ? this.conditionStack.pop() : this.conditionStack[0]
29083                                },
29084                                _currentRules: function () {
29085                                    return this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1] ? this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules : this.conditions.INITIAL.rules
29086                                },
29087                                topState: function (t) {
29088                                    return (t = this.conditionStack.length - 1 - Math.abs(t || 0)) >= 0 ? this.conditionStack[t] : "INITIAL"
29089                                },
29090                                pushState: function (t) {
29091                                    this.begin(t)
29092                                },
29093                                stateStackSize: function () {
29094                                    return this.conditionStack.length
29095                                },
29096                                options: {},
29097                                performAction: function (t, n, i, r) {
29098                                    switch (i) {
29099                                        case 0:
29100                                            break;
29101                                        case 1:
29102                                            return 6;
29103                                        case 2:
29104                                            return n.yytext = n.yytext.substr(1, n.yyleng - 2), 4;
29105                                        case 3:
29106                                            return 17;
29107                                        case 4:
29108                                            return 18;
29109                                        case 5:
29110                                            return 23;
29111                                        case 6:
29112                                            return 24;
29113                                        case 7:
29114                                            return 22;
29115                                        case 8:
29116                                            return 21;
29117                                        case 9:
29118                                            return 10;
29119                                        case 10:
29120                                            return 11;
29121                                        case 11:
29122                                            return 8;
29123                                        case 12:
29124                                            return 14;
29125                                        case 13:
29126                                            return "INVALID"
29127                                    }
29128                                },
29129                                rules: [/^(?:\s+)/, /^(?:(-?([0-9]|[1-9][0-9]+))(\.[0-9]+)?([eE][-+]?[0-9]+)?\b)/, /^(?:"(?:\\[\\"bfnrt/]|\\u[a-fA-F0-9]{4}|[^\\\0-\x09\x0a-\x1f"])*")/, /^(?:\{)/, /^(?:\})/, /^(?:\[)/, /^(?:\])/, /^(?:,)/, /^(?::)/, /^(?:true\b)/, /^(?:false\b)/, /^(?:null\b)/, /^(?:$)/, /^(?:.)/],
29130                                conditions: {
29131                                    INITIAL: {
29132                                        rules: [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13],
29133                                        inclusive: !0
29134                                    }
29135                                }
29136                            };
29137
29138                        function v() {
29139                            this.yy = {}
29140                        }
29141
29142                        return f.lexer = l, v.prototype = f, f.Parser = v, new v
29143                    }();
29144                    n.parser = i, n.Parser = i.Parser, n.parse = function () {
29145                        return i.parse.apply(i, arguments)
29146                    }
29147                }));
29148
29149                function xO(t) {
29150                    if (t instanceof String || "string" == typeof t || t instanceof Buffer) try {
29151                        return gO.parse(t.toString())
29152                    } catch (t) {
29153                        throw new X_(t)
29154                    }
29155                    return t
29156                }
29157
29158                function jO(t) {
29159                    var n = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : PS, i = t;
29160                    try {
29161                        i = xO(i)
29162                    } catch (t) {
29163                        return [t]
29164                    }
29165                    return mO(i, n)
29166                }
29167
29168                new Set(["vector", "raster", "raster-dem"]);
29169                var SO = w_, kO = j_, MO = M_, _O = y_;
29170                jO.parsed = jO, jO.latest = jO;
29171                var OO = "function" == typeof Object.assign ? Object.assign : function (t, n) {
29172                    if (null == t) throw new TypeError("Cannot convert undefined or null to object");
29173                    for (var i = Object(t), r = 1, e = arguments.length; r < e; ++r) {
29174                        var o = arguments[r];
29175                        if (null != o) for (var s in o) o.hasOwnProperty(s) && (i[s] = o[s])
29176                    }
29177                    return i
29178                };
29179
29180                function TO(t) {
29181                    return t * Math.PI / 180
29182                }
29183
29184                var EO = function () {
29185                    for (var t = [], n = 78271.51696402048; t.length <= 24; n /= 2) t.push(n);
29186                    return t
29187                }();
29188
29189                function AO(t, n) {
29190                    if ("undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope && "undefined" != typeof OffscreenCanvas) return new OffscreenCanvas(t, n);
29191                    var i = document.createElement("canvas");
29192                    return i.width = t, i.height = n, i
29193                }
29194
29195                var CO, RO = Array(256).join(" ");
29196
29197                function PO(t, n) {
29198                    if (n >= .05) {
29199                        for (var i = "", r = t.split("\n"), e = RO.slice(0, Math.round(n / .1)), o = 0, s = r.length; o < s; ++o) o > 0 && (i += "\n"), i += r[o].split("").join(e);
29200                        return i
29201                    }
29202                    return t
29203                }
29204
29205                function IO() {
29206                    return CO || (CO = AO(1, 1).getContext("2d")), CO
29207                }
29208
29209                function NO(t, n) {
29210                    return IO().measureText(t).width + (t.length - 1) * n
29211                }
29212
29213                var zO = {};
29214
29215                function FO(t, n, i, r) {
29216                    if (-1 !== t.indexOf("\n")) {
29217                        for (var e = t.split("\n"), o = [], s = 0, a = e.length; s < a; ++s) o.push(FO(e[s], n, i, r));
29218                        return o.join("\n")
29219                    }
29220                    var u = i + "," + n + "," + t + "," + r, c = zO[u];
29221                    if (!c) {
29222                        var h = t.split(" ");
29223                        if (h.length > 1) {
29224                            var f = IO();
29225                            f.font = n;
29226                            var l = f.measureText("M").width * i, v = "";
29227                            for (o = [], s = 0, a = h.length; s < a; ++s) {
29228                                var d = h[s], p = v + (v ? " " : "") + d;
29229                                NO(p, r) <= l ? v = p : (v && o.push(v), v = d)
29230                            }
29231                            v && o.push(v);
29232                            for (s = 0, a = o.length; s < a && a > 1; ++s) {
29233                                var y = o[s];
29234                                if (NO(y, r) < .35 * l) {
29235                                    var m = s > 0 ? NO(o[s - 1], r) : 1 / 0, w = s < a - 1 ? NO(o[s + 1], r) : 1 / 0;
29236                                    o.splice(s, 1), a -= 1, m < w ? (o[s - 1] += " " + y, s -= 1) : o[s] = y + " " + o[s]
29237                                }
29238                            }
29239                            for (s = 0, a = o.length - 1; s < a; ++s) {
29240                                var b = o[s], g = o[s + 1];
29241                                if (NO(b, r) > .7 * l && NO(g, r) < .6 * l) {
29242                                    var x = b.split(" "), j = x.pop();
29243                                    NO(j, r) < .2 * l && (o[s] = x.join(" "), o[s + 1] = j + " " + g), a -= 1
29244                                }
29245                            }
29246                            c = o.join("\n")
29247                        } else c = t;
29248                        c = PO(c, r), zO[u] = c
29249                    }
29250                    return c
29251                }
29252
29253                function LO(t) {
29254                    return (LO = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
29255                        return typeof t
29256                    } : function (t) {
29257                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
29258                    })(t)
29259                }
29260
29261                Xs && Y(Xs, F, (function () {
29262                    zO = {}
29263                }));
29264                var GO, DO, UO = _O, qO = MO, BO = SO, WO = kO,
29265                    VO = {Point: 1, MultiPoint: 1, LineString: 2, MultiLineString: 2, Polygon: 3, MultiPolygon: 3},
29266                    XO = {
29267                        center: [.5, .5],
29268                        left: [0, .5],
29269                        right: [1, .5],
29270                        top: [.5, 0],
29271                        bottom: [.5, 1],
29272                        "top-left": [0, 0],
29273                        "top-right": [1, 0],
29274                        "bottom-left": [0, 1],
29275                        "bottom-right": [1, 1]
29276                    }, HO = {}, JO = {zoom: 0};
29277
29278                function KO(t, n, i, r, e, o) {
29279                    var s = t.id;
29280                    o || (o = {}, console.warn("No functionCache provided to getValue()")), o[s] || (o[s] = {});
29281                    var a = o[s];
29282                    if (!a[i]) {
29283                        var u = (t[n] || HO)[i], c = PS["".concat(n, "_").concat(t.type)][i];
29284                        void 0 === u && (u = c.default);
29285                        var h = BO(u);
29286                        if (!h && UO(u) && (u = qO(u, c), h = !0), h) {
29287                            var f = function (t, n) {
29288                                var i = WO(t, n);
29289                                if ("error" === i.result) throw new Error(i.value.map((function (t) {
29290                                    return "".concat(t.key, ": ").concat(t.message)
29291                                })).join(", "));
29292                                return i.value
29293                            }(u, c);
29294                            a[i] = f.evaluate.bind(f)
29295                        } else "color" == c.type && (u = _k.parse(u)), a[i] = function () {
29296                            return u
29297                        }
29298                    }
29299                    return JO.zoom = r, a[i](JO, e)
29300                }
29301
29302                var YO = !1;
29303
29304                function ZO(t, n) {
29305                    if (t) {
29306                        if (!YO && (0 === t.a || 0 === n)) return;
29307                        var i = t.a;
29308                        return n = void 0 === n ? 1 : n, 0 === i ? "transparent" : "rgba(" + Math.round(255 * t.r / i) + "," + Math.round(255 * t.g / i) + "," + Math.round(255 * t.b / i) + "," + i * n + ")"
29309                    }
29310                    return t
29311                }
29312
29313                var $O = /^([^]*)\{(.*)\}([^]*)$/;
29314
29315                function QO(t, n) {
29316                    var i;
29317                    do {
29318                        if (i = t.match($O)) {
29319                            var r = n[i[2]] || "";
29320                            t = i[1] + r + i[3]
29321                        }
29322                    } while (i);
29323                    return t
29324                }
29325
29326                var tT = !1;
29327
29328                function nT(t, n, i, r, e, o, s) {
29329                    if (void 0 === r && (r = EO), "string" == typeof n && (n = JSON.parse(n)), 8 != n.version) throw new Error("glStyle version 8 required.");
29330                    var a, u;
29331                    if (o) if ("undefined" != typeof Image) {
29332                        var c = new Image;
29333                        c.crossOrigin = "anonymous", c.onload = function () {
29334                            a = c, u = [c.width, c.height], t.changed(), c.onload = null
29335                        }, c.src = o
29336                    } else if ("undefined" != typeof WorkerGlobalScope && self instanceof WorkerGlobalScope) {
29337                        var h = self;
29338                        h.postMessage({action: "loadImage", src: o}), h.addEventListener("message", (function (t) {
29339                            "imageLoaded" === t.data.action && t.data.src === o && (a = t.data.image, u = [a.width, a.height])
29340                        }))
29341                    }
29342                    for (var f, l = function (t) {
29343                        t = t.slice();
29344                        for (var n = Object.create(null), i = 0; i < t.length; i++) n[t[i].id] = t[i];
29345                        for (var r = 0; r < t.length; r++) "ref" in t[r] && (t[r] = W_(t[r], n[t[r].ref]));
29346                        return t
29347                    }(n.layers), v = {}
29347, d = [], p = {}, y = {}, m = {}, w = {}, b = 0, g = l.length; b < g; ++b) {
29348                        var x = l[b], j = x.id;
29349                        if ("string" == typeof i && x.source == i || -1 !== i.indexOf(j)) {
29350                            var S = x["source-layer"];
29351                            if (!f) {
29352                                f = x.source;
29353                                var k = n.sources[f];
29354                                if (!k) throw new Error('Source "'.concat(f, '" is not defined'));
29355                                var M = k.type;
29356                                if ("vector" !== M && "geojson" !== M) throw new Error('Source "'.concat(f, '" is not of type "vector" or "geojson", but "').concat(M, '"'))
29357                            }
29358                            var _ = v[S];
29359                            _ || (_ = [], v[S] = _), _.push({layer: x, index: b}), d.push(j)
29360                        }
29361                    }
29362                    var O = new qv, T = new Tv, E = [], A = function (t, n) {
29363                        var i = t.getProperties(), o = v[i.layer];
29364                        if (o) {
29365                            var c = r.indexOf(n);
29366                            -1 == c && (c = function (t, n) {
29367                                for (var i = 0, r = n.length; i < r; ++i) if (n[i] < t && i + 1 < r) {
29368                                    var e = n[i] / n[i + 1];
29369                                    return i + Math.log(n[i] / t) / Math.log(e)
29370                                }
29371                                return r - 1
29372                            }(n, r));
29373                            for (var h, f = VO[t.getGeometry().getType()], l = {
29374                                properties: i,
29375                                type: f
29376                            }, d = -1, b = function (r, v) {
29377                                var b = o[r], g = b.layer, x = g.id, j = g.layout || HO, S = g.paint || HO;
29378                                if ("none" === j.visibility || "minzoom" in g && c < g.minzoom || "maxzoom" in g && c >= g.maxzoom) return "continue";
29379                                var k = g.filter;
29380                                if (!k || function (t, n, i, r, e) {
29381                                    return e || console.warn("No filterCache provided to evaluateFilter()"), t in e || (e[t] = N_(n).filter), JO.zoom = r, e[t](JO, i)
29382                                }(x, k, l, c, w)) {
29383                                    h = g;
29384                                    var M = void 0, _ = void 0, A = void 0, C = void 0, R = void 0, P = void 0,
29385                                        I = b.index;
29386                                    if (3 == f && ("fill" == g.type || "fill-extrusion" == g.type)) if (_ = KO(g, "paint", g.type + "-opacity", c, l, m), g.type + "-pattern" in S) {
29387                                        var N = KO(g, "paint", g.type + "-pattern", c, l, m);
29388                                        if (N) {
29389                                            var z = "string" == typeof N ? QO(N, i) : N.toString();
29390                                            if (a && e && e[z]) {
29391                                                ++d, (P = E[d]) && P.getFill() && !P.getStroke() && !P.getText() || (P = new Yv({fill: new Tv}), E[d] = P), A = P.getFill(), P.setZIndex(I);
29392                                                var F = y[dt = z + "." + _];
29393                                                if (!F) {
29394                                                    var L = e[z], G = AO(L.width, L.height), D = G.getContext("2d");
29395                                                    D.globalAlpha = _, D.drawImage(a, L.x, L.y, L.width, L.height, 0, 0, L.width, L.height), F = D.createPattern(G, "repeat"), y[dt] = F
29396                                                }
29397                                                A.setColor(F)
29398                                            }
29399                                        }
29400                                    } else M = ZO(KO(g, "paint", g.type + "-color", c, l, m), _), g.type + "-outline-color" in S && (R = ZO(KO(g, "paint", g.type + "-outline-color", c, l, m), _)), R || (R = M), (M || R) && (++d, (!(P = E[d]) || M && !P.getFill
29400() || !M && P.getFill() || R && !P.getStroke() || !R && P.getStroke() || P.getText()) && (P = new Yv({
29401                                        fill: M ? new Tv : void 0,
29402                                        stroke: R ? new qv : void 0
29403                                    }), E[d] = P), M && (A = P.getFill()).setColor(M), R && ((C = P.getStroke()).setColor(R), C.setWidth(.5)), P.setZIndex(I));
29404                                    if (1 != f && "line" == g.type) {
29405                                        M = !("line-pattern" in S) && "line-color" in S ? ZO(KO(g, "paint", "line-color", c, l, m), KO(g, "paint", "line-opacity", c, l, m)) : void 0;
29406                                        var U = KO(g, "paint", "line-width", c, l, m);
29407                                        M && U > 0 && (++d, (P = E[d]) && P.getStroke() && !P.getFill() && !P.getText() || (P = new Yv({stroke: new qv}), E[d] = P), (C = P.getStroke()).setLineCap(KO(g, "layout", "line-cap", c, l, m)), C.setLineJoin(KO(g, "layout", "line-join", c, l, m)), C.setMiterLimit(KO(g, "layout", "line-miter-limit", c, l, m)), C.setColor(M), C.setWidth(U), C.setLineDash(S["line-dasharray"] ? KO(g, "paint", "line-dasharray", c, l, m).map((function (t) {
29408                                            return t * U
29409                                        })) : null), P.setZIndex(I))
29410                                    }
29411                                    var q = !1, B = null, W = 0, V = void 0, X = void 0, H = void 0;
29412                                    if ((1 == f || 2 == f) && "icon-image" in j) {
29413                                        var J = KO(g, "layout", "icon-image", c, l, m);
29414                                        if (J) {
29415                                            V = "string" == typeof J ? QO(J, i) : J.toString();
29416                                            var K = void 0;
29417                                            if (a && e && e[V]) {
29418                                                var Y = KO(g, "layout", "icon-rotation-alignment", c, l, m);
29419                                                if (2 == f) {
29420                                                    var Z = t.getGeometry();
29421                                                    if (Z.getFlatMidpoint || Z.getFlatMidpoints) {
29422                                                        var $ = Z.getExtent();
29423                                                        if (Math.sqrt(Math.max(Math.pow(($[2] - $[0]) / n, 2), Math.pow(($[3] - $[1]) / n, 2))) > 150) {
29424                                                            var Q = "MultiLineString" === Z.getType() ? Z.getFlatMidpoints() : Z.getFlatMidpoint();
29425                                                            if (DO || (DO = new Aj("Point", GO = [NaN, NaN], [], {}, null)), K = DO, GO[0] = Q[0], GO[1] = Q[1], "line" === (Rt = KO(g, "layout", "symbol-placement", c, l, m)) && "map" === Y) for (var tt = Z.getStride(), nt = Z.getFlatCoordinates(), it = 0, rt = nt.length - tt; it < rt; it += tt) {
29426                                                                var et = nt[it], ot = nt[it + 1], st = nt[it + tt],
29427                                                                    at = nt[it + tt + 1], ut = Math.min(et, st),
29428                                                                    ct = Math.min(ot, at), ht = Math.max(et, st),
29429                                                                    ft = Math.max(ot, at);
29430                                                                if (Q[0] >= ut && Q[0] <= ht && Q[1] >= ct && Q[1] <= ft) {
29431                                                                    W = Math.atan2(ot - at, st - et);
29432                                                                    break
29433                                                                }
29434                                                            }
29435                                                        }
29436                                                    }
29437                                                }
29438                                                if (2 !== f || K) {
29439                                                    var lt = KO(g, "layout", "icon-size", c, l, m),
29440                                                        vt = void 0 !== S["icon-color"] ? KO(g, "paint", "icon-color", c, l, m) : null;
29441                                                    if (!vt || 0 !== vt.a) {
29442                                                        var dt = V + "." + lt;
29443                                                        if (null !== vt && (dt += "." + vt), !(X = p[dt])) {
29444                                                            var pt = e[V];
29445                                                            X = new Uv({
29446                                                                color: vt ? [255 * vt.r, 255 * vt.g, 255 * vt.b, vt.a] : void 0,
29447                                                                img: a,
29448                                                                imgSize: u,
29449                                                                size: [pt.width, pt.height],
29450                                                                offset: [pt.x, pt.y],
29451                                                                rotateWithView: "map" === Y,
29452                                                                scale: lt / pt.pixelRatio,
29453                                                                displacement: "icon-offset" in j ? KO(g, "layout", "icon-offset", c, l, m).map((function (t) {
29454                                                                    return -t * pt.pixelRatio
29455                                                                })) : void 0
29456                                                            }), p[dt] = X
29457                                                        }
29458                                                    }
29459                                                    X && (++d, (P = E[d]) && P.getImage() && !P.getFill
29459() && !P.getStroke() || (P = new Yv, E[d] = P), P.setGeometry(K), X.setRotation(W + TO(KO(g, "layout", "icon-rotate", c, l, m))), X.setOpacity(KO(g, "paint", "icon-opacity", c, l, m)), X.setAnchor(XO[KO(g, "layout", "icon-anchor", c, l, m)]), P.setImage(X), B = P.getText(), P.setText(void 0), P.setZIndex(I), q = !0, H = !1)
29460                                                } else H = !0
29461                                            }
29462                                        }
29463                                    }
29464                                    if (1 == f && "circle" === g.type) {
29465                                        ++d, (P = E[d]) && P.getImage() && !P.getFill() && !P.getStroke() || (P = new Yv, E[d] = P);
29466                                        var yt = "circle-radius" in S ? KO(g, "paint", "circle-radius", c, l, m) : 5,
29467                                            mt = ZO(KO(g, "paint", "circle-stroke-color", c, l, m), KO(g, "paint", "circle-stroke-opacity", c, l, m)),
29468                                            wt = ZO(KO(g, "paint", "circle-color", c, l, m), KO(g, "paint", "circle-opacity", c, l, m)),
29469                                            bt = KO(g, "paint", "circle-stroke-width", c, l, m),
29470                                            gt = yt + "." + mt + "." + wt + "." + bt;
29471                                        (X = p[gt]) || (X = new Ov({
29472                                            radius: yt,
29473                                            stroke: mt && bt > 0 ? new qv({width: bt, color: mt}) : void 0,
29474                                            fill: wt ? new Tv({color: wt}) : void 0
29475                                        }), p[gt] = X), P.setImage(X), B = P.getText(), P.setText(void 0), P.setGeometry(void 0), P.setZIndex(I), q = !0
29476                                    }
29477                                    var xt, jt, St, kt, Mt = void 0, _t = void 0;
29478                                    if ("text-field" in j) {
29479                                        jt = Math.round(KO(g, "layout", "text-size", c, l, m));
29480                                        var Ot = KO(g, "layout", "text-font", c, l, m);
29481                                        xt = KO(g, "layout", "text-line-height", c, l, m), _t = dS(s ? s(Ot) : Ot, jt, xt), St = KO(g, "layout", "text-letter-spacing", c, l, m), kt = KO(g, "layout", "text-max-width", c, l, m);
29482                                        var Tt = KO(g, "layout", "text-field", c, l, m);
29483                                        Mt = "object" === LO(Tt) && Tt.sections ? 1 === Tt.sections.length ? Tt.toString() : Tt.sections.reduce((function (t, n, i) {
29484                                            var r = n.fontStack ? n.fontStack.split(",") : Ot,
29485                                                e = dS(s ? s(r) : r, jt * (n.scale || 1), xt), o = n.text;
29486                                            if ("\n" === o) return t.push("\n", ""), t;
29487                                            if (2 != f) {
29488                                                for (var a = 0, u = (o = FO(o, e, kt, St).split("\n")).length; a < u; ++a) a > 0 && t.push("\n", ""), t.push(o[a], e);
29489                                                return t
29490                                            }
29491                                            t.push(PO(o, St), e)
29492                                        }), []) : QO(Tt, i).trim(), _ = KO(g, "paint", "text-opacity", c, l, m)
29493                                    }
29494                                    if (Mt && _ && !H) {
29495                                        q || (++d, (P = E[d]) && P.getText() && !P.getFill() && !P.getStroke() || (P = new Yv, E[d] = P), P.setImage(void 0), P.setGeometry(void 0)), P.getText() || P.setText(B || new Qv({padding: [2, 2, 2, 2]})), B = P.getText();
29496                                        var Et = j["text-transform"];
29497                                        "uppercase" == Et ? Mt = Array.isArray(Mt) ? Mt.map((function (t, n) {
29498                                            return n % 2 ? t : t.toUpperCase()
29499                                        })) : Mt.toUpperCase() : "lowercase" == Et && (Mt = Array.isArray(Mt) ? Mt.map((function (t, n) {
29500                                            return n % 2 ? t : t.toLowerCase()
29501                                        })) : Mt.toLowerCase());
29502                                        var At = Array.isArray(Mt) ? Mt : 2 == f ? PO(Mt, St) : FO(Mt, _t, kt, St);
29503                                        B.setText(At), B.setFont(_t), B.setRotation(TO(KO(g, "layout", "text-rotate", c, l, m)));
29504                                        var Ct = KO(g, "layout", "text-anchor", c, l, m),
29505                                            Rt = q || 1 == f ? "point" : KO(g, "layout", "symbol-placement", c, l, m);
29506                                        B.setPlacement(Rt);
29507                                        var Pt = KO(g, "paint", "text-halo-width", c, l, m),
29508                                            It = KO(g, "layout", "text-offset", c, l, m),
29509                                            Nt = KO(g, "paint", "text-translate", c, l, m), zt = 0, Ft = 0;
29510                                        if ("point" == Rt) {
29511                                            var Lt = "center";
29512                                            -1 !== Ct.indexOf("left") ? (Lt = "left", Ft = Pt) : -1 !== Ct.indexOf("right") && (Lt = "right", Ft = -Pt), B.setTextAlign(Lt);
29513                                            var Gt = KO(g, "layout", "text-rotation-alignment", c, l, m);
29514                                            B.setRotateWithView("map" == Gt)
29515                                        } else B.setMaxAngle(TO(KO(g, "layout", "text-max-angle", c, l, m)) * Mt.length / At.length), B.setTextAlign(), B.setRotateWithView(!1);
29516                                        var Dt = "middle";
29517                                        0 == Ct.indexOf("bottom") ? (Dt = "bottom", zt = -Pt - .5 * (xt - 1) * jt) : 0 == Ct.indexOf("top") && (Dt = "top", zt = Pt + .5 * (xt - 1) * jt), B.setTextBaseline(Dt), B.setOffsetX(It[0] * jt + Ft + Nt[0]), B.setOffsetY(It[1] * jt + zt + Nt[1]), T.setColor(ZO(KO(g, "paint", "text-color", c, l, m), _)), B.setFill(T);
29518                                        var Ut = ZO(KO(g, "paint", "text-halo-color", c, l, m), _);
29519                                        if (Ut) {
29520                                            O.setColor(Ut), Pt *= 2;
29521                                            var qt = .5 * jt;
29522                                            O.setWidth(Pt <= qt ? Pt : qt), B.setStroke(O)
29523                                        } else B.setStroke(void 0);
29524                                        var Bt = KO(g, "layout", "text-padding", c, l, m), Wt = B.getPadding();
29525                                        Bt !== Wt[0] && (Wt[0] = Bt, Wt[1] = Bt, Wt[2] = Bt, Wt[3] = Bt), P.setZIndex(I)
29526                                    }
29527                                }
29528                            }, g = 0, x = o.length; g < x; ++g) b(g);
29529                            return d > -1 ? (E.length = d + 1, tT && ("function" == typeof t.set ? t.set("mapbox-layer", h) : t.getProperties()["mapbox-layer"] = h), E) : void 0
29530                        }
29531                    };
29532                    return t.setStyle(A), t.set("mapbox-source", f), t.set("mapbox-layers", d), A
29533                }
29534
29535                var iT = i(338);
29536
29537                function rT(t) {
29538                    return (rT = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
29539                        return typeof t
29540                    } : function (t) {
29541                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
29542                    })(t)
29543                }
29544
29545                var eT, oT = {}, sT = /font-family: ?([^;]*);/, aT = /("|')/g;
29546
29547                function uT(t) {
29548                    if (!eT) {
29549                        eT = {};
29550                        for (var n = document.styleSheets, i = 0, r = n.length; i < r; ++i) {
29551                            var e = n[i];
29552                            try {
29553                                var o = e.rules || e.cssRules;
29554                                if (o) for (var s = 0, a = o.length; s < a; ++s) {
29555                                    var u = o[s];
29556                                    if (5 == u.type) {
29557                                        var c = u.cssText.match(sT);
29558                                        eT[c[1].replace(aT, "")] = !0
29559                                    }
29560                                }
29561                            } catch (t) {
29562                            }
29563                        }
29564                    }
29565                    return t in eT
29566                }
29567
29568                var cT = {}, hT = iT.getNames();
29569
29570                function fT(t) {
29571                    var n = t.toString();
29572                    if (n in cT) return t;
29573                    for (var i = t.map((function (t) {
29574                        var n = dS(t, 1).split(" ");
29575                        return [n.slice(3).join(" ").replace(/"/g, ""), n[1] + n[0]]
29576                    })), r = 0, e = i.length; r < e; ++r) {
29577                        var o = i[r], s = o[0];
29578                        if (!uT(s) && -1 !== hT.indexOf(s)) {
29579                            var a = "https://fonts.googleapis.com/css?family=" + s.replace(/ /g, "+") + ":" + o[1];
29580                            if (!document.querySelector('link[href="' + a + '"]')) {
29581                                var u = document.createElement("link");
29582                                u.href = a, u.rel = "stylesheet", document.head.appendChild(u)
29583                            }
29584                        }
29585                    }
29586                    return cT[n] = !0, t
29587                }
29588
29589                var lT = /^(.*)(\?.*)$/;
29590
29591                function vT(t, n) {
29592                    return n && 0 === t.indexOf(".") && (t = n + t), t
29593                }
29594
29595                function dT(t, n, i) {
29596                    var r = (t = vT(t, n)).match(lT);
29597                    return r ? r[1] + i + (r.length > 2 ? r[2] : "") : t + i
29598                }
29599
29600                function pT(t, n, i, r, e) {
29601                    return new Promise((function (o, s) {
29602                        if ("object" != rT(n) && (n = JSON.parse(n)), 8 != n.version) return s(new Error("glStyle version 8 required."));
29603                        if (!(t instanceof Rj || t instanceof rS)) return s(new Error("Can only apply to VectorLayer or VectorTileLayer"));
29604                        var a, u, c;
29605
29606                        function h() {
29607                            c || n.sprite && !a ? c ? (t.setStyle(c), o()) : s(new Error("Something went wrong trying to apply style.")) : (c = nT(t, n, i, e, a, u, fT), t.getStyle() ? o() : s(new Error("Nothing to show for source [".concat(i, "]"))))
29608                        }
29609
29610                        if (n.sprite) {
29611                            var f = .5 == (window.devicePixelRatio >= 1.5 ? .5 : 1) ? "@2x" : "",
29612                                l = dT(n.sprite, r, f + ".json");
29613                            fetch(l, {credentials: "same-origin"}).then((function (t) {
29614                                return t.ok || "" === f ? t : (l = dT(n.sprite, r, ".json"), fetch(l, {credentials: "same-origin"}))
29615                            })).then((function (t) {
29616                                if (t.ok) return t.json();
29617                                s(new Error("Problem fetching sprite from ".concat(l, ": ").concat(t.statusText)))
29618                            })).then((function (t) {
29619                                if (void 0 === t) return s(new Error("No sprites found."));
29620                                a = t, u = dT(n.sprite, r, f + ".png"), h()
29621                            })).catch((function (t) {
29622                                s(new Error("Sprites cannot be loaded: ".concat(l, ": ").concat(t.message)))
29623                            }))
29624                        } else h()
29625                    }))
29626                }
29627
29628                var yT = {};
29629
29630                function mT(t, n) {
29631                    var i = {id: n.id, type: n.type}, r = {};
29632
29633                    function e(e) {
29634                        var o = n.layout || {}, s = n.paint || {};
29635                        i.paint = s;
29636                        var a, u,
29637                            c = "function" == typeof t.getSource ? t.getSource().getTileGrid().getZForResolution(e) : t.getView().getZoom(),
29638                            h = "function" == typeof t.getTargetElement ? t.getTargetElement() : void 0;
29639                        if (void 0 !== s["background-color"] && (a = KO(i, "paint", "background-color", c, yT, r), h && (h.style.background = _k.parse(a).toString())), void 0 !== s["background-opacity"] && (u = KO(i, "paint", "background-opacity", c, yT, r), h && (h.style.opacity = u)), "none" != o.visibility) return ZO(a, u);
29640                        h && (h.style.backgroundColor = "", h.style.opacity = "")
29641                    }
29642
29643                    if ("function" == typeof t.getTargetElement) t.getTargetElement() && e(), t.on(["change:resolution", "change:target"], e); else {
29644                        if ("function" != typeof t.setBackground) throw new Error("Unable to apply background.");
29645                        t.setBackground(e)
29646                    }
29647                }
29648
29649                function wT(t) {
29650                    var n = t.bounds;
29651                    if (n) {
29652                        var i = _r([n[0], n[1]]), r = _r([n[2], n[3]]);
29653                        return [i[0], i[1], r[0], r[1]]
29654                    }
29655                }
29656
29657                function bT(t, n) {
29658                    t = OO({}, t);
29659                    var i = [n, JSON.stringify(t)].toString(), r = oT[i];
29660                    return r || (r = new rx({
29661                        url: t.tiles ? void 0 : n,
29662                        tileJSON: t.tiles ? t : void 0
29663                    }), oT[i] = r), new Promise((function (t) {
29664                        var i = r.on("change", (function () {
29665                            var e = r.getState();
29666                            if ("ready" === e) {
29667                                var o = r.getTileJSON(), s = Array.isArray(o.tiles) ? o.tiles : [o.tiles];
29668                                if (n) for (var a = 0, u = s.length; a < u; ++a) s[a] = decodeURI(new URL(s[a], n).href);
29669                                var c = r.getTileGrid(), h = wT(o), f = o.minzoom || 0, l = o.maxzoom || 22,
29670                                    v = r.get("ol-source");
29671                                void 0 === v && (v = new sg({
29672                                    attributions: r.getAttributions(),
29673                                    format: new nS,
29674                                    tileGrid: new Vh({
29675                                        origin: c.getOrigin(0),
29676                                        extent: h || c.getExtent(),
29677                                        minZoom: f,
29678                                        resolutions: EO.slice(0, l + 1),
29679                                        tileSize: 512
29680                                    }),
29681                                    urls: s
29682                                }), r.set("ol-source", v)), nt(i), t(v)
29683                            } else "error" === e && (r.set("ol-source", null), nt(i), t(void 0))
29684                        }));
29685                        "ready" === r.getState() && r.changed()
29686                    }))
29687                }
29688
29689                new vS;
29690                var gT = function () {
29691                    var t = function (n, i) {
29692                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
29693                            t.__proto__ = n
29694                        } || function (t, n) {
29695                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
29696                        })(n, i)
29697                    };
29698                    return function (n, i) {
29699                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
29700
29701                        function r() {
29702                            this.constructor = n
29703                        }
29704
29705                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
29706                    }
29707                }(), xT = "https://api.mapbox.com";
29708
29709                function jT(t) {
29710                    var n = "mapbox://";
29711                    return 0 !== t.indexOf(n) ? "" : t.slice(n.length)
29712                }
29713
29714                function ST(t, n, i) {
29715                    var r = jT(t);
29716                    if (!r) return decodeURI(new URL(t, i).href);
29717                    var e = "sprites/";
29718                    if (0 !== r.indexOf(e)) throw new Error("unexpected sprites url: ".concat(t));
29719                    var o = r.slice(e.length);
29720                    return "".concat(xT, "/styles/v1/").concat(o, "/sprite?access_token=").concat(n)
29721                }
29722
29723                function kT(t, n, i) {
29724                    var r = jT(t);
29725                    if (!r) return decodeURI(new URL(t, i).href);
29726                    var e = "fonts/";
29727                    if (0 !== r.indexOf(e)) throw new Error("unexpected fonts url: ".concat(t));
29728                    var o = r.slice(e.length);
29729                    return "".concat(xT, "/fonts/v1/").concat(o, "/0-255.pbf?access_token=").concat(n)
29730                }
29731
29732                function MT(t, n) {
29733                    var i = jT(t);
29734                    if (!i) return decodeURI(new URL(t, location.href).href);
29735                    var r = "styles/";
29736                    if (0 !== i.indexOf(r)) throw new Error("unexpected style url: ".concat(t));
29737                    var e = i.slice(r.length);
29738                    return "".concat(xT, "/styles/v1/").concat(e, "?&access_token=").concat(n)
29739                }
29740
29741                function _T(t, n, i, r) {
29742                    var e = new URL(t, r), o = jT(t);
29743                    return o ? "https://{a-d}.tiles.mapbox.com/v4/".concat(o, "/{z}/{x}/{y}.vector.pbf?access_token=").concat(n) : n ? (e.searchParams.set(i, n), decodeURI(e.href)) : decodeURI(e.href)
29744                }
29745
29746                var OT = function (t) {
29747                    function n(n) {
29748                        var i = t.call(this, z) || this;
29749                        return i.error = n, i
29750                    }
29751
29752                    return gT(n, t), n
29753                }(f), TT = "vector", ET = function (t) {
29754                    function n(n) {
29755                        var i = this, r = !("declutter" in n) || n.declutter, e = new sg({state: ds, format: new nS});
29756                        ((i = t.call(this, {
29757                            source: e,
29758                            background: n.background,
29759                            declutter: r,
29760                            className: n.className,
29761                            opacity: n.opacity,
29762                            visible: n.visible,
29763                            zIndex: n.zIndex,
29764                            minResolution: n.minResolution,
29765                            maxResolution: n.maxResolution,
29766                            minZoom: n.minZoom,
29767                            maxZoom: n.maxZoom,
29768                            renderOrder: n.renderOrder,
29769                            renderBuffer: n.renderBuffer,
29770                            renderMode: n.renderMode,
29771                            map: n.map,
29772                            updateWhileAnimating: n.updateWhileAnimating,
29773                            updateWhileInteracting: n.updateWhileInteracting,
29774                            preload: n.preload,
29775                            useInterimTilesOnError: n.useInterimTilesOnError,
29776                            properties: n.properties
29777                        }) || this).vv = void 0 === n.maxResolution && void 0 === n.minZoom, i.sourceId = n.source, i.layers = n.layers, n.accessToken) ? i.accessToken = n.accessToken : new URL(n.styleUrl, location.href).searchParams.forEac
29777h((function (t, n) {
29778                            i.accessToken = t, i.dv = n
29779                        }));
29780                        return i.fetchStyle(n.styleUrl), i
29781                    }
29782
29783                    return gT(n, t), n.prototype.fetchStyle = function (t) {
29784                        var n = this, i = MT(t, this.accessToken);
29785                        fetch(i).then((function (t) {
29786                            if (!t.ok) throw new Error("unexpected response when fetching style: ".concat(t.status));
29787                            return t.json()
29788                        })).then((function (t) {
29789                            n.onStyleLoad(t, i.startsWith("data:") ? location.href : i)
29790                        })).catch((function (t) {
29791                            n.handleError(t)
29792                        }))
29793                    }, n.prototype.onStyleLoad = function (t, n) {
29794                        var i, r, e = this;
29795                        if (this.layers) {
29796                            for (var o = {}, s = 0; s < t.layers.length; ++s) {
29797                                var a = t.layers[s];
29798                                a.source && (o[a.id] = a.source)
29799                            }
29800                            var u = void 0;
29801                            for (s = 0; s < this.layers.length; ++s) {
29802                                var c = o[this.layers[s]];
29803                                if (!c) return void this.handleError(new Error("could not find source for ".concat(this.layers[s])));
29804                                if (u) {
29805                                    if (u !== c) return void this.handleError(new Error("layers can only use a single source, found ".concat(u, " and ").concat(c)))
29806                                } else u = c
29807                            }
29808                            i = u, r = this.layers
29809                        } else i = this.sourceId, r = i;
29810                        r || (i = Object.keys(t.sources)[0], r = i), t.sprite && (t.sprite = ST(t.sprite, this.accessToken, n)), t.glyphs && (t.glyphs = kT(t.glyphs, this.accessToken, n));
29811                        var h = t.sources[i];
29812                        if (h.type === TT) {
29813                            var f = this.getSource();
29814                            h.url && 0 === h.url.indexOf("mapbox://") ? (f.setUrl(_T(h.url, this.accessToken, this.dv, n)), pT(this, t, r).then((function () {
29815                                e.configureSource(f, t)
29816                            })).catch((function (t) {
29817                                e.handleError(t)
29818                            }))) : (h.tiles && (h.tiles = h.tiles.map((function (t) {
29819                                return _T(t, e.accessToken, e.dv, n)
29820                            }))), bT(h, h.url ? _T(h.url, this.accessToken, this.dv, n) : void 0).then((function (n) {
29821                                pT(e, t, r).then((function () {
29822                                    e.configureSource(n, t)
29823                                })).catch((function (i) {
29824                                    e.configureSource(n, t), e.handleError(i)
29825                                }))
29826                            })))
29827                        } else this.handleError(new Error("only works for vector sources, found ".concat(h.type)))
29828                    }, n.prototype.configureSource = function (t, n) {
29829                        var i, r = this.getSource();
29830                        if (t !== r && (r.setAttributions(t.getAttributions()), r.setTileUrlFunction(t.getTileUrlFunction()), r.setTileLoadFunction(t.getTileLoadFunction()), r.tileGrid = t.tileGrid), void 0 === this.getBackground() && (i = this, n.layers.some((function (t) {
29831                            if ("background" == t.type) return mT(i, t), !0
29832                        }))), this.vv) {
29833                            var e = r.getTileGrid();
29834                            this.setMaxResolution(e.getResolution(e.getMinZoom()))
29835                        }
29836                        r.setState(ps)
29837                    }, n.prototype.handleError = function (t) {
29838                        this.dispatchEvent(new OT(t)), this.getSource().setState(ys)
29839                    }, n
29840                }(rS), AT = function () {
29841                    var t = function (n, i) {
29842                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
29843                            t.__proto__ = n
29844                        } || function (t, n) {
29845                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
29846                        })(n, i)
29847                    };
29848                    return function (n, i) {
29849                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
29850
29851                        function r() {
29852                            this.constructor = n
29853                        }
29854
29855                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
29856                    }
29857                }(), CT = function (t) {
29858                    function n(n) {
29859                        var i = this, r = n || {}, e = E({}, r);
29860                        return delete e.imageRatio, (i = t.call(this, e) || this).pv = void 0 !== r.imageRatio ? r.imageRatio : 1, i
29861                    }
29862
29863                    return AT(n, t), n.prototype.getImageRatio = function () {
29864                        return this.pv
29865                    }, n.prototype.createRenderer = function () {
29866                        return new aj(this)
29867                    }, n
29868                }(px), RT = function () {
29869                    var t = function (n, i) {
29870                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
29871                            t.__proto__ = n
29872                        } || function (t, n) {
29873                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
29874                        })(n, i)
29875                    };
29876                    return function (n, i) {
29877                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
29878
29879                        function r() {
29880                            this.constructor = n
29881                        }
29882
29883                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
29884                    }
29885                }(), PT = function (t) {
29886                    function n(n) {
29887                        var i = this, r = E({}, n);
29888                        return (i = t.call(this, r) || this).yv = wv(n.style), i.mv = n.style.variables || {}, i.wv = !!n.disableHitDetection, i
29889                    }
29890
29891                    return RT(n, t), n.prototype.createRenderer = function () {
29892                        return new mx(this, {
29893                            vertexShader: this.yv.builder.getSymbolVertexShader(),
29894                            fragmentShader: this.yv.builder.getSymbolFragmentShader(),
29895                            hitVertexShader: !this.wv && this.yv.builder.getSymbolVertexShader(!0),
29896                            hitFragmentShader: !this.wv && this.yv.builder.getSymbolFragmentShader(!0),
29897                            uniforms: this.yv.uniforms,
29898                            attributes: this.yv.attributes
29899                        })
29900                    }, n.prototype.updateStyleVariables = function (t) {
29901                        E(this.mv, t), this.changed()
29902                    }, n
29903                }(bs), IT = function () {
29904                    var t = function (n, i) {
29905                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
29906                            t.__proto__ = n
29907                        } || function (t, n) {
29908                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
29909                        })(n, i)
29910                    };
29911                    return function (n, i) {
29912                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
29913
29914                        function r() {
29915                            this.constructor = n
29916                        }
29917
29918                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
29919                    }
29920                }();
29921
29922                function NT(t, n) {
29923                    var i = "\n    attribute vec2 ".concat(Pl.TEXTURE_COORD, ";\n    uniform mat4 ").concat(Rl.TILE_TRANSFORM, ";\n    uniform float ").concat(Rl.TEXTURE_PIXEL_WIDTH, ";\n    uniform float ").concat(Rl.TEXTURE_PIXEL_HEIGHT, ";\n    uniform float ").concat(Rl.TEXTURE_RESOLUTION, ";\n    uniform float ").concat(Rl.TEXTURE_ORIGIN_X, ";\n    uniform float ").concat(Rl.TEXTURE_ORIGIN_Y, ";\n    uniform float ").concat(Rl.DEPTH, ";\n\n    varying vec2 v_textureCoord;\n    varying vec2 v_mapCoord;\n\n    void main() {\n      v_textureCoord = ").concat(Pl.TEXTURE_COORD, ";\n      v_mapCoord = vec2(\n        ").concat(Rl.TEXTURE_ORIGIN_X, " + ").concat(Rl.TEXTURE_RESOLUTION, " * ").concat(Rl.TEXTURE_PIXEL_WIDTH, " * v_textureCoord[0],\n        ").concat(Rl.TEXTURE_ORIGIN_Y, " - ").concat(Rl.TEXTURE_RESOLUTION, " * ").concat(Rl.TEXTURE_PIXEL_HEIGHT, " * v_textureCoord[1]\n      );\n      gl_Position = ").concat(Rl.TILE_TRANSFORM, " * vec4(").concat(Pl.TEXTURE_COORD, ", ").concat(Rl.DEPTH, ", 1.0);\n    }\n  "),
29924                        r = {
29925                            inFragmentShader: !0,
29926                            variables: [],
29927                            attributes: [],
29928                            stringLiteralsMap: {},
29929                            functions: {},
29930                            bandCount: n
29931                        }, e = [];
29932                    if (void 0 !== t.color) {
29933                        var o = iv(r, t.color, Bl);
29934                        e.push("color = ".concat(o, ";"))
29935                    }
29936                    if (void 0 !== t.contrast) {
29937                        var s = iv(r, t.contrast, Ul);
29938                        e.push("color.rgb = clamp((".concat(s, " + 1.0) * color.rgb - (").concat(s, " / 2.0), vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))
29939                    }
29940                    if (void 0 !== t.exposure) {
29941                        var a = iv(r, t.exposure, Ul);
29942                        e.push("color.rgb = clamp((".concat(a, " + 1.0) * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))
29943                    }
29944                    if (void 0 !== t.saturation) {
29945                        var u = iv(r, t.saturation, Ul);
29946                        e.push("\n      float saturation = ".concat(u, " + 1.0;\n      float sr = (1.0 - saturation) * 0.2126;\n      float sg = (1.0 - saturation) * 0.7152;\n      float sb = (1.0 - saturation) * 0.0722;\n      mat3 saturationMatrix = mat3(\n        sr + saturation, sr, sr,\n        sg, sg + saturation, sg,\n        sb, sb, sb + saturation\n      );\n      color.rgb = clamp(saturationMatrix * color.rgb, vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));\n    "))
29947                    }
29948                    if (void 0 !== t.gamma) {
29949                        var c = iv(r, t.gamma, Ul);
29950                        e.push("color.rgb = pow(color.rgb, vec3(1.0 / ".concat(c, "));"))
29951                    }
29952                    if (void 0 !== t.brightness) {
29953                        var h = iv(r, t.brightness, Ul);
29954                        e.push("color.rgb = clamp(color.rgb + ".concat(h, ", vec3(0.0, 0.0, 0.0), vec3(1.0, 1.0, 1.0));"))
29955                    }
29956                    var f = {}, l = r.variables.length;
29957                    if (l > 1 && !t.variables) throw new Error("Missing variables in style (expected ".concat(r.variables, ")"));
29958                    for (var v = function (n) {
29959                        var i = r.variables[n];
29960                        if (!(i in t.variables)) throw new Error("Missing '".concat(i, "' in style variables"));
29961                        var e = lv(i);
29962                        f[e] = function () {
29963                            var n = t.variables[i];
29964                            return "string" == typeof n && (n = tv(r, n)), void 0 !== n ? n : -9999999
29965                        }
29966                    }, d = 0; d < l; ++d) v(d);
29967                    var p = Object.keys(f).map((function (t) {
29968                        return "uniform float ".concat(t, ";")
29969                    })), y = Math.ceil(n / 4);
29970                    p.push("uniform sampler2D ".concat(Rl.TILE_TEXTURE_ARRAY, "[").concat(y, "];")), r.paletteTextures && p.push("uniform sampler2D ".concat(vv, "[").concat(r.paletteTextures.length, "];"));
29971                    var m = Object.keys(r.functions).map((function (t) {
29972                        return r.functions[t]
29973                    }));
29974                    return {
29975                        vertexShader: i,
29976                        fragmentShader: "\n    #ifdef GL_FRAGMENT_PRECISION_HIGH\n    precision highp float;\n    #else\n    precision mediump float;\n    #endif\n\n    varying vec2 v_textureCoord;\n    varying vec2 v_mapCoord;\n    uniform vec4 ".concat(Rl.RENDER_EXTENT, ";\n    uniform float ").concat(Rl.TRANSITION_ALPHA, ";\n    uniform float ").concat(Rl.TEXTURE_PIXEL_WIDTH, ";\n    uniform float ").concat(Rl.TEXTURE_PIXEL_HEIGHT, ";\n    uniform float ").concat(Rl.RESOLUTION, ";\n    uniform float ").concat(Rl.ZOOM, ";\n\n    ").concat(p.join("\n"), "\n\n    ").concat(m.join("\n"), "\n\n    void main() {\n      if (\n        v_mapCoord[0] < ").concat(Rl.RENDER_EXTENT, "[0] ||\n        v_mapCoord[1] < ").concat(Rl.RENDER_EXTENT, "[1] ||\n        v_mapCoord[0] > ").concat(Rl.RENDER_EXTENT, "[2] ||\n        v_mapCoord[1] > ").concat(Rl.RENDER_EXTENT, "[3]\n      ) {\n        discard;\n      }\n\n      vec4 color = texture2D(").concat(Rl.TILE_TEXTURE_ARRAY, "[0],  v_textureCoord);\n\n      ").concat(e.join("\n"), "\n\n      if (color.a == 0.0) {\n        discard;\n      }\n\n      gl_FragColor = color;\n      gl_FragColor.rgb *= gl_FragColor.a;\n      gl_FragColor *= ").concat(Rl.TRANSITION_ALPHA, ";\n    }"),
29977                        uniforms: f,
29978                        paletteTextures: r.paletteTextures
29979                    }
29980                }
29981
29982                var zT = function (t) {
29983                    function n(n) {
29984                        var i = this, r = n ? E({}, n) : {}, e = r.style || {};
29985                        delete r.style;
29986                        var o = r.cacheSize;
29987                        return delete r.cacheSize, (i = t.call(this, r) || this).bv = r.sources, i.Pf = NaN, i.K = e, i.$t = o, i.mv = i.K.variables || {}, i.addChangeListener(rs, i.gv), i
29988                    }
29989
29990                    return IT(n, t), n.prototype.getSources = function (t, n) {
29991                        var i = this.getSource();
29992                        return this.bv ? "function" == typeof this.bv ? this.bv(t, n) : this.bv : i ? [i] : []
29993                    }, n.prototype.getRenderSource = function () {
29994                        return this.getLayerState().source || this.getSource()
29995                    }, n.prototype.getSourceState = function () {
29996                        var t = this.getRenderSource();
29997                        return t ? t.getState() : vs
29998                    }, n.prototype.gv = function () {
29999                        this.getSource() && this.setStyle(this.K)
30000                    }, n.prototype.xv = function () {
30001                        var t = this.getSource();
30002                        return t && "bandCount" in t ? t.bandCount : 4
30003                    }, n.prototype.createRenderer = function () {
30004                        var t = NT(this.K, this.xv());
30005                        return new Dl(this, {
30006                            vertexShader: t.vertexShader,
30007                            fragmentShader: t.fragmentShader,
30008                            uniforms: t.uniforms,
30009                            cacheSize: this.$t,
30010                            paletteTextures: t.paletteTextures
30011                        })
30012                    }, n.prototype.renderSources = function (t, n) {
30013                        for (var i, r = this.getRenderer(), e = 0, o = n.length; e < o; ++e) this.getLayerState().source = n[e], r.prepareFrame(t) && (i = r.renderFrame(t));
30014                        return i
30015                    }, n.prototype.render = function (t, n) {
30016                        var i = this;
30017                        this.rendered = !0;
30018                        for (var r = t.viewState, e = this.getSources(t.extent, r.resolution), o = !0, s = function (t, n) {
30019                            var r = e[t], s = r.getState();
30020                            if (s == ds) {
30021                                r.addEventListener("change", (function t() {
30022                                    r.getState() == ps && (r.removeEventListener("change", t), i.changed())
30023                                }))
30024                            }
30025                            o = o && s == ps
30026                        }, a = 0, u = e.length; a < u; ++a) s(a);
30027                        var c = this.renderSources(t, e);
30028                        if (this.getRenderer().renderComplete && o) return this.Pf = r.resolution, c;
30029                        if (this.Pf > .5 * r.resolution) {
30030                            var h = this.getSources(t.extent, this.Pf).filter((function (t) {
30031                                return !e.includes(t)
30032                            }));
30033                            if (h.length > 0) return this.renderSources(t, h)
30034                        }
30035                        return c
30036                    }, n.prototype.setStyle = function (t) {
30037                        this.mv = t.variables || {}, this.K = t;
30038                        var n = NT(this.K, this.xv());
30039                        this.getRenderer().reset({
30040                            vertexShader: n.vertexShader,
30041                            fragmentShader: n.fragmentShader,
30042                            uniforms: n.uniforms,
30043                            paletteTextures: n.paletteTextures
30044                        }), this.changed()
30045                    }, n.prototype.updateStyleVariables = function (t) {
30046                        E(this.mv, t), this.changed()
30047                    }, n
30048                }(_g);
30049                zT.prototype.dispose;
30050                var FT = zT, LT = function () {
30051                    var t = function (n, i) {
30052                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30053                            t.__proto__ = n
30054                        } || function (t, n) {
30055                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30056                        })(n, i)
30057                    };
30058                    return function (n, i) {
30059                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30060
30061                        function r() {
30062                            this.constructor = n
30063                        }
30064
30065                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30066                    }
30067                }(), GT = "addfeatures", DT = function (t) {
30068                    function n(n, i, r, e) {
30069                        var o = t.call(this, n) || this;
30070                        return o.features = r, o.file = i, o.projection = e, o
30071                    }
30072
30073                    return LT(n, t), n
30074                }(f), UT = function (t) {
30075                    function n(n) {
30076                        var i = this, r = n || {};
30077                        (i = t.call(this, {handleEvent: k}) || this).on, i.once, i.un, i.jv = !1, i.Sv = [];
30078                        for (var e = r.formatConstructors ? r.formatConstructors : [], o = 0, s = e.length; o < s; ++o) {
30079                            var a = e[o];
30080                            "function" == typeof a && (a = new a), i.Sv.pu
vendor: 10,124 bytes, lines 30080-30242
30080sh(a), i.jv = i.jv || a.getType() === oh
30081                        }
30082                        return i.di = r.projection ? br(r.projection) : null, i.kv = null, i.Mv = r.source || null, i.target = r.target ? r.target : null, i
30083                    }
30084
30085                    return LT(n, t), n.prototype._v = function (t, n) {
30086                        var i, r = n.target.result, e = this.getMap(), o = this.di;
30087                        o || (o = e.getView().getProjection());
30088                        for (var s = this.Sv, a = 0, u = s.length; a < u; ++a) {
30089                            var c = s[a], h = r;
30090                            this.jv && c.getType() !== oh && (void 0 === i && (i = (new TextDecoder).decode(r)), h = i);
30091                            var f = this.Ov(c, h, {featureProjection: o});
30092                            if (f && f.length > 0) {
30093                                this.Mv && (this.Mv.clear(), this.Mv.addFeatures(f)), this.dispatchEvent(new DT(GT, t, f, o));
30094                                break
30095                            }
30096                        }
30097                    }, n.prototype.Tv = function () {
30098                        var t = this.getMap();
30099                        if (t) {
30100                            var n = this.target ? this.target : t.getViewport();
30101                            this.kv = [Y(n, B, this.handleDrop, this), Y(n, U, this.handleStop, this), Y(n, q, this.handleStop, this), Y(n, B, this.handleStop, this)]
30102                        }
30103                    }, n.prototype.setActive = function (n) {
30104                        !this.getActive() && n && this.Tv(), this.getActive() && !n && this.Ev(), t.prototype.setActive.call(this, n)
30105                    }, n.prototype.setMap = function (n) {
30106                        this.Ev(), t.prototype.setMap.call(this, n), this.getActive() && this.Tv()
30107                    }, n.prototype.Ov = function (t, n, i) {
30108                        try {
30109                            return t.readFeatures(n, i)
30110                        } catch (t) {
30111                            return null
30112                        }
30113                    }, n.prototype.Ev = function () {
30114                        this.kv && (this.kv.forEach($), this.kv = null)
30115                    }, n.prototype.handleDrop = function (t) {
30116                        for (var n = t.dataTransfer.files, i = 0, r = n.length; i < r; ++i) {
30117                            var e = n.item(i), o = new FileReader;
30118                            o.addEventListener(X, this._v.bind(this, e)), this.jv ? o.readAsArrayBuffer(e) : o.readAsText(e)
30119                        }
30120                    }, n.prototype.handleStop = function (t) {
30121                        t.stopPropagation(), t.preventDefault(), t.dataTransfer.dropEffect = "copy"
30122                    }, n
30123                }(Su), qT = function () {
30124                    var t = function (n, i) {
30125                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30126                            t.__proto__ = n
30127                        } || function (t, n) {
30128                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30129                        })(n, i)
30130                    };
30131                    return function (n, i) {
30132                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30133
30134                        function r() {
30135                            this.constructor = n
30136                        }
30137
30138                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30139                    }
30140                }(), BT = function (t) {
30141                    function n(n) {
30142                        var i = this, r = n || {};
30143                        return (i = t.call(this, r) || this).Jr = r.condition ? r.condition : Gu, i.Yr = void 0, i.Av = void 0, i._e = 0, i.Fr = void 0 !== r.duration ? r.duration : 400, i
30144                    }
30145
30146                    return qT(n, t), n.prototype.handleDragEvent = function (t) {
30147                        if (Uu(t)) {
30148                            var n = t.map, i = n.getSize(), r = t.pixel, e = r[0] - i[0] / 2, o = i[1] / 2 - r[1],
30149                                s = Math.atan2(o, e), a = Math.sqrt(e * e + o * o), u = n.getView();
30150                            if (void 0 !== this.Yr) {
30151                                var c = this.Yr - s;
30152                                u.adjustRotationInternal(c)
30153                            }
30154                            this.Yr = s, void 0 !== this.Av && u.adjustResolutionInternal(this.Av / a), void 0 !== this.Av && (this._e = this.Av / a), this.Av = a
30155                        }
30156                    }, n.prototype.handleUpEvent = function (t) {
30157                        if (!Uu(t)) return !0;
30158                        var n = t.map.getView(), i = this._e > 1 ? 1 : -1;
30159                        return n.endInteraction(this.Fr, i), this._e = 0, !1
30160                    }, n.prototype.handleDownEvent = function (t) {
30161                        return !!Uu(t) && (!!this.Jr(t) && (t.map.getView().beginInteraction(), this.Yr = void 0, this.Av = void 0, !0))
30162                    }, n
30163                }(Tu), WT = function () {
30164                    var t = function (n, i) {
30165                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30166                            t.__proto__ = n
30167                        } || function (t, n) {
30168                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30169                        })(n, i)
30170                    };
30171                    return function (n, i) {
30172                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30173
30174                        function r() {
30175                            this.constructor = n
30176                        }
30177
30178                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30179                    }
30180                }(), VT = function (t) {
30181                    function n(n, i, r) {
30182                        var e = t.call(this) || this;
30183                        if (void 0 !== r && void 0 === i) e.setFlatCoordinates(r, n); else {
30184                            var o = i || 0;
30185                            e.setCenterAndRadius(n, o, r)
30186                        }
30187                        return e
30188                    }
30189
30190                    return WT(n, t), n.prototype.clone = function () {
30191                        var t = new n(this.flatCoordinates.slice(), void 0, this.layout);
30192                        return t.applyProperties(this), t
30193                    }, n.prototype.closestPointXY = function (t, n, i, r) {
30194                        var e = this.flatCoordinates, o = t - e[0], s = n - e[1], a = o * o + s * s;
30195                        if (a < r) {
30196                            if (0 === a) for (var u = 0; u < this.stride; ++u) i[u] = e[u]; else {
30197                                var c = this.getRadius() / Math.sqrt(a);
30198                                i[0] = e[0] + c * o, i[1] = e[1] + c * s;
30199                                for (u = 2; u < this.stride; ++u) i[u] = e[u]
30200                            }
30201                            return i.length = this.stride, a
30202                        }
30203                        return r
30204                    }, n.prototype.containsXY = function (t, n) {
30205                        var i = this.flatCoordinates, r = t - i[0], e = n - i[1];
30206                        return r * r + e * e <= this.Cv()
30207                    }, n.prototype.getCenter = function () {
30208                        return this.flatCoordinates.slice(0, this.stride)
30209                    }, n.prototype.computeExtent = function (t) {
30210                        var n = this.flatCoordinates, i = n[this.stride] - n[0];
30211                        return An(n[0] - i, n[1] - i, n[0] + i, n[1] + i, t)
30212                    }, n.prototype.getRadius = function () {
30213                        return Math.sqrt(this.Cv())
30214                    }, n.prototype.Cv = function () {
30215                        var t = this.flatCoordinates[this.stride] - this.flatCoordinates[0],
30216                            n = this.flatCoordinates[this.stride + 1] - this.flatCoordinates[1];
30217                        return t * t + n * n
30218                    }, n.prototype.getType = function () {
30219                        return Pt.CIRCLE
30220                    }, n.prototype.intersectsExtent = function (t) {
30221                        if (ti(t, this.getExtent())) {
30222                            var n = this.getCenter();
30223                            return t[0] <= n[0] && t[2] >= n[0] || (t[1] <= n[1] && t[3] >= n[1] || qn(t, this.intersectsCoordinate.bind(this)))
30224                        }
30225                        return !1
30226                    }, n.prototype.setCenter = function (t) {
30227                        var n = this.stride, i = this.flatCoordinates[n] - this.flatCoordinates[0], r = t.slice();
30228                        r[n] = r[0] + i;
30229                        for (var e = 1; e < n; ++e) r[n + e] = t[e];
30230                        this.setFlatCoordinates(this.layout, r), this.changed()
30231                    }, n.prototype.setCenterAndRadius = function (t, n, i) {
30232                        this.setLayout(i, t, 0), this.flatCoordinates || (this.flatCoordinates = []);
30233                        var r = this.flatCoordinates, e = ae(r, 0, t, this.stride);
30234                        r[e++] = r[0] + n;
30235                        for (var o = 1, s = this.stride; o < s; ++o) r[e++] = r[o];
30236                        r.length = e, this.changed()
30237                    }, n.prototype.getCoordinates = function () {
30238                        return null
30239                    }, n.prototype.setCoordinates = function (t, n) {
30240                    }, n.prototype.setRadius = function (t) {
30241                        this.flatCoordinates[this.stride] = this.flatCoordinates[0] + t, this.changed()
30242                    }, n.prototype.rotate = function (t, n) {
30243                        var i = this.getCenter(), r = this.getStride();
30244                        this.setCenter(Wr(i, 0, i.length, r, t, n, i)), this.changed()
30245                    }, n.prototype.translate = function (t, n) {
30246                        var i = this.getCenter(), r = this.getStride();
30247                        this.setCenter(Xr(i, 0, i.length, r, t, n, i)), this.changed()
30248                    }, n
30249                }(Qr);
30250                VT.prototype.transform;
30251                var XT = VT, HT = function () {
30252                        var t = function (n, i) {
30253                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30254                                t.__proto__ = n
30255                            } || function (t, n) {
30256                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30257                            })(n, i)
30258                        };
30259                        return function (n, i) {
30260                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30261
30262                            function r() {
30263                                this.constructor = n
30264                            }
30265
30266                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30267                        }
30268                    }(), JT = "Point", KT = "LineString", YT = "Polygon", ZT = "Circle", $T = "drawstart", QT = "drawend",
30269                    tE = "drawabort", nE = function (t) {
30270                        function n(n, i) {
30271                            var r = t.call(this, n) || this;
30272                            return r.feature = i, r
30273                        }
30274
30275                        return HT(n, t), n
30276                    }(f);
30277                var iE = function (t) {
30278                    function n(n) {
30279                        var i = this, r = n;
30280                        r.stopDown || (r.stopDown = M), (i = t.call(this, r) || this).on, i.once, i.un, i.Rv = !1, i.Pv = null, i.Iv, i.Nv, i.zv, i.Fv = !1, i.Mv = n.source ? n.source : null, i.Fe = n.features ? n.features : null, i.Lv = n.snapTolerance ? n.snapTolerance : 12, i.tl = n.type, i.pe = function (t) {
30281                            switch (t) {
30282                                case Pt.POINT:
30283                                case Pt.MULTI_POINT:
30284                                    return JT;
30285                                case Pt.LINE_STRING:
30286                                case Pt.MULTI_LINE_STRING:
30287                                    return KT;
30288                                case Pt.POLYGON:
30289                                case Pt.MULTI_POLYGON:
30290                                    return YT;
30291                                case Pt.CIRCLE:
30292                                    return ZT;
30293                                default:
30294                                    throw new Error("Invalid type: " + t)
30295                            }
30296                        }(i.tl), i.Gv = !!n.stopClick, i.Dv = n.minPoints ? n.minPoints : i.pe === YT ? 3 : 2, i.Uv = i.pe === ZT ? 2 : n.maxPoints ? n.maxPoints : 1 / 0, i.qv = n.finishCondition ? n.finishCondition : k;
30297                        var e, o = n.geometryFunction;
30298                        if (!o) {
30299                            var s, a = i.pe;
30300                            if (a === ZT) o = function (t, n, i) {
30301                                var r = n || new XT([NaN, NaN]), e = zr(t[0], i), o = ir(e, zr(t[t.length - 1], i));
30302                                r.setCenterAndRadius(e, Math.sqrt(o));
30303                                var s = Ir();
30304                                return s && r.transform(i, s), r
30305                            }; else a === JT ? s = Oe : a === KT ? s = xj : a === YT && (s = Ke), o = function (t, n, i) {
30306                                return n ? a === YT ? t[0].length ? n.setCoordinates([t[0].concat([t[0][0]])]) : n.setCoordinates([]) : n.setCoordinates(t) : n = new s(t), n
30307                            }
30308                        }
30309                        return i.Wa = o, i.Bv = void 0 !== n.dragVertexDelay ? n.dragVertexDelay : 500, i.Wv = null, i.Vv = null, i.Xv = null, i.Hv = null, i.Jv = null, i.Kv = null, i.Yv = n.clickTolerance ? n.clickTolerance * n.clickTolerance : 36, i.Zv = new Rj({
30310                            source: new Id({
30311                                useSpatialIndex: !1,
30312                                wrapX: !!n.wrapX && n.wrapX
30313                            }), style: n.style ? n.style : (e = Jv(), function (t, n) {
30314                                return e[t.getGeometry().getType()]
30315                            }), updateWhileInteracting: !0
30316                        }), i.H = n.geometryName, i.Jr = n.condition ? n.condition : Lu, i.$v, n.freehand ? i.$v = Iu : i.$v = n.freehandCondition ? n.freehandCondition : Gu, i.addChangeListener(bu, i.Qv), i
30317                    }
30318
30319                    return HT(n, t), n.prototype.setMap = function (n) {
30320                        t.prototype.setMap.call(this, n), this.Qv()
30321                    }, n.prototype.getOverlay = function () {
30322                        return this.Zv
30323                    }, n.prototype.handleEvent = function (n) {
30324                        n.originalEvent.type === L && n.originalEvent.preventDefault(), this.Fv = this.pe !== JT && this.$v(n);
30325                        var i = n.type === da.POINTERMOVE, r = !0;
30326                        !this.Fv && this.Nv && n.type === da.POINTERDRAG && (Date.now() - this.Nv >= this.Bv ? (this.Pv = n.pixel, this.Rv = !this.Fv, i = !0) : this.Nv = void 0, this.Rv && void 0 !== this.Iv && (clearTimeout(this.Iv), this.Iv = void 0));
30327                        return this.Fv && n.type === da.POINTERDRAG && null !== this.Vv ? (this.td(n.coordinate), r = !1) : this.Fv && n.type === da.POINTERDOWN ? r = !1 : i && this.getPointerCount() < 2 ? (r = n.type === da.POINTERMOVE) && this.Fv ? (this.Jn(n), this.Rv && n.originalEvent.preventDefault()) : ("mou
vendor: 12,924 bytes, lines 30327-30516
30327se" === n.originalEvent.pointerType || n.type === da.POINTERDRAG && void 0 === this.Iv) && this.Jn(n) : n.type === da.DBLCLICK && (r = !1), t.prototype.handleEvent.call(this, n) && r
30328                    }, n.prototype.handleDownEvent = function (t) {
30329                        return this.Rv = !this.Fv, this.Fv ? (this.Pv = t.pixel, this.Wv || this.rd(t.coordinate), !0) : this.Jr(t) ? (this.Nv = Date.now(), this.Iv = setTimeout(function () {
30330                            this.Jn(new va(da.POINTERMOVE, t.map, t.originalEvent, !1, t.frameState))
30331                        }.bind(this), this.Bv), this.Pv = t.pixel, !0) : (this.Nv = void 0, !1)
30332                    }, n.prototype.handleUpEvent = function (t) {
30333                        var n = !0;
30334                        if (0 === this.getPointerCount()) if (this.Iv && (clearTimeout(this.Iv), this.Iv = void 0), this.Jn(t), this.Rv) {
30335                            var i = !this.Wv;
30336                            i && this.rd(t.coordinate), !i && this.Fv ? this.finishDrawing() : this.Fv || i && this.pe !== JT || (this.ed(t.pixel) ? this.qv(t) && this.finishDrawing() : this.td(t.coordinate)), n = !1
30337                        } else this.Fv && this.abortDrawing();
30338                        return !n && this.Gv && t.preventDefault(), n
30339                    }, n.prototype.Jn = function (t) {
30340                        if (this.zv = t.originalEvent.pointerType, this.Pv && (!this.Fv && this.Rv || this.Fv && !this.Rv)) {
30341                            var n = this.Pv, i = t.pixel, r = n[0] - i[0], e = n[1] - i[1], o = r * r + e * e;
30342                            if (this.Rv = this.Fv ? o > this.Yv : o <= this.Yv, !this.Rv) return
30343                        }
30344                        this.Wv ? this.od(t.coordinate) : this.sd(t.coordinate.slice())
30345                    }, n.prototype.ed = function (t) {
30346                        var n = !1;
30347                        if (this.Vv) {
30348                            var i = !1, r = [this.Wv], e = this.pe;
30349                            if (e === JT) n = !0; else if (e === ZT) n = 2 === this.Hv.length; else if (e === KT) i = this.Hv.length > this.Dv; else if (e === YT) {
30350                                var o = this.Hv;
30351                                i = o[0].length > this.Dv, r = [o[0][0], o[0][o[0].length - 2]]
30352                            }
30353                            if (i) for (var s = this.getMap(), a = 0, u = r.length; a < u; a++) {
30354                                var c = r[a], h = s.getPixelFromCoordinate(c), f = t[0] - h[0], l = t[1] - h[1],
30355                                    v = this.Fv ? 1 : this.Lv;
30356                                if (n = Math.sqrt(f * f + l * l) <= v) {
30357                                    this.Wv = c;
30358                                    break
30359                                }
30360                            }
30361                        }
30362                        return n
30363                    }, n.prototype.sd = function (t) {
30364                        this.Xv ? this.Xv.getGeometry().setCoordinates(t) : (this.Xv = new Tt(new Oe(t)), this.ad())
30365                    }, n.prototype.ud = function (t) {
30366                        this.Jv || (this.Jv = new Tt);
30367                        var n = t.getLinearRing(0), i = this.Jv.getGeometry();
30368                        i ? (i.setFlatCoordinates(n.getLayout(), n.getFlatCoordinates()), i.changed()) : (i = new xj(n.getFlatCoordinates(), n.getLayout()), this.Jv.setGeometry(i))
30369                    }, n.prototype.rd = function (t) {
30370                        var n = this.getMap().getView().getProjection();
30371                        this.Wv = t, this.pe === JT ? this.Hv = t.slice() : this.pe === YT ? (this.Hv = [[t.slice(), t.slice()]], this.Kv = this.Hv[0]) : this.Hv = [t.slice(), t.slice()], this.Kv && (this.Jv = new Tt(new xj(this.Kv)));
30372                        var i = this.Wa(this.Hv, void 0, n);
30373                        this.Vv = new Tt, this.H && this.Vv.setGeometryName(this.H), this.Vv.setGeometry(i), this.ad(), this.dispatchEvent(new nE($T, this.Vv))
30374                    }, n.prototype.od = function (t) {
30375                        var n, i, r = this.getMap(), e = this.Vv.getGeometry(), o = r.getView().getProjection();
30376                        (this.pe === JT ? i = this.Hv : this.pe === YT ? (i = (n = this.Hv[0])[n.length - 1], this.ed(r.getPixelFromCoordinate(t)) && (t = this.Wv.slice())) : i = (n = this.Hv)[n.length - 1], i[0] = t[0], i[1] = t[1], this.Wa(this.Hv, e, o), this.Xv) && this.Xv.getGeometry().setCoordinates(t);
30377                        if (e.getType() === Pt.POLYGON && this.pe !== YT) this.ud(e); else if (this.Kv) {
30378                            this.Jv.getGeometry().setCoordinates(this.Kv)
30379                        }
30380                        this.ad()
30381                    }, n.prototype.td = function (t) {
30382                        var n, i, r = this.Vv.getGeometry(), e = this.getMap().getView().getProjection(), o = this.pe;
30383                        o === KT || o === ZT ? (this.Wv = t.slice(), (i = this.Hv).length >= this.Uv && (this.Fv ? i.pop() : n = !0), i.push(t.slice()), this.Wa(i, r, e)) : o === YT && ((i = this.Hv[0]).length >= this.Uv && (this.Fv ? i.pop() : n = !0), i.push(t.slice()), n && (this.Wv = i[0]), this.Wa(this.Hv, r, e)), this.sd(t.slice()), this.ad(), n && this.finishDrawing()
30384                    }, n.prototype.removeLastPoint = function () {
30385                        if (this.Vv) {
30386                            var t, n = this.Vv.getGeometry(), i = this.getMap().getView().getProjection(), r = this.pe;
30387                            if (r === KT || r === ZT) {
30388                                if ((t = this.Hv).splice(-2, 1), t.length >= 2) {
30389                                    this.Wv = t[t.length - 2].slice();
30390                                    var e = this.Wv.slice();
30391                                    t[t.length - 1] = e, this.sd(e)
30392                                }
30393                                this.Wa(t, n, i), n.getType() === Pt.POLYGON && this.Jv && this.ud(n)
30394                            } else if (r === YT) {
30395                                (t = this.Hv[0]).splice(-2, 1);
30396                                var o = this.Jv.getGeometry();
30397                                if (t.length >= 2) {
30398                                    e = t[t.length - 2].slice();
30399                                    t[t.length - 1] = e, this.sd(e)
30400                                }
30401                                o.setCoordinates(t), this.Wa(this.Hv, n, i)
30402                            }
30403                            1 === t.length && this.abortDrawing(), this.ad()
30404                        }
30405                    }, n.prototype.finishDrawing = function () {
30406                        var t = this.hd();
30407                        if (t) {
30408                            var n = this.Hv, i = t.getGeometry(), r = this.getMap().getView().getProjection();
30409                            this.pe === KT ? (n.pop(), this.Wa(n, i, r)) : this.pe === YT && (n[0].pop(), this.Wa(n, i, r), n = i.getCoordinates()), this.tl === Pt.MULTI_POINT ? t.setGeometry(new yj([n])) : this.tl === Pt.MULTI_LINE_STRING ? t.setGeometry(new Sj([n])) : this.tl === Pt.MULTI_POLYGON && t.setGeometry(new _j([n])), this.dispatchEvent(new nE(QT, t)), this.Fe && this.Fe.push(t), this.Mv && this.Mv.addFeature(t)
30410                        }
30411                    }, n.prototype.hd = function () {
30412                        this.Wv = null;
30413                        var t = this.Vv;
30414                        return this.Vv = null, this.Xv = null, this.Jv = null, this.Zv.getSource().clear(!0), t
30415                    }, n.prototype.abortDrawing = function () {
30416                        var t = this.hd();
30417                        t && this.dispatchEvent(new nE(tE, t))
30418                    }, n.prototype.appendCoordinates = function (t) {
30419                        var n, i = this.pe, r = !this.Vv;
30420                        if (r && this.rd(t[0]), i === KT || i === ZT) n = this.Hv; else {
30421                            if (i !== YT) return;
30422                            n = this.Hv && this.Hv.length ? this.Hv[0] : []
30423                        }
30424                        r && n.shift(), n.pop();
30425                        for (var e = 0; e < t.length; e++) this.td(t[e]);
30426                        var o = t[t.length - 1];
30427                        this.td(o), this.od(o)
30428                    }, n.prototype.extend = function (t) {
30429                        var n = t.getGeometry();
30430                        this.Vv = t, this.Hv = n.getCoordinates();
30431                        var i = this.Hv[this.Hv.length - 1];
30432                        this.Wv = i.slice(), this.Hv.push(i.slice()), this.Xv = new Tt(new Oe(i)), this.ad(), this.dispatchEvent(new nE($T, this.Vv))
30433                    }, n.prototype.ad = function () {
30434                        var t = [];
30435                        this.Vv && t.push(this.Vv), this.Jv && t.push(this.Jv), this.Xv && t.push(this.Xv);
30436                        var n = this.Zv.getSource();
30437                        n.clear(!0), n.addFeatures(t)
30438                    }, n.prototype.Qv = function () {
30439                        var t = this.getMap(), n = this.getActive();
30440                        t && n || this.abortDrawing(), this.Zv.setMap(n ? t : null)
30441                    }, n
30442                }(Tu), rE = function () {
30443                    var t = function (n, i) {
30444                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30445                            t.__proto__ = n
30446                        } || function (t, n) {
30447                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30448                        })(n, i)
30449                    };
30450                    return function (n, i) {
30451                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30452
30453                        function r() {
30454                            this.constructor = n
30455                        }
30456
30457                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30458                    }
30459                }(), eE = "extentchanged", oE = function (t) {
30460                    function n(n) {
30461                        var i = t.call(this, eE) || this;
30462                        return i.extent = n, i
30463                    }
30464
30465                    return rE(n, t), n
30466                }(f);
30467
30468                function sE() {
30469                    var t = Jv();
30470                    return function (n, i) {
30471                        return t[Pt.POINT]
30472                    }
30473                }
30474
30475                function aE(t) {
30476                    return function (n) {
30477                        return xn([t, n])
30478                    }
30479                }
30480
30481                function uE(t, n) {
30482                    return t[0] == n[0] ? function (i) {
30483                        return xn([t, [i[0], n[1]]])
30484                    } : t[1] == n[1] ? function (i) {
30485                        return xn([t, [n[0], i[1]]])
30486                    } : null
30487                }
30488
30489                var cE = function (t) {
30490                    function n(n) {
30491                        var i, r = this, e = n || {};
30492                        return (r = t.call(this, e) || this).on, r.once, r.un, r.Jr = e.condition ? e.condition : Iu, r.st = null, r.fd = null, r.ld = void 0 !== e.pixelTolerance ? e.pixelTolerance : 10, r.vd = !1, r.dd = null, r.yd = null, n || (n = {}), r.md = new Rj({
30493                            source: new Id({
30494                                useSpatialIndex: !1,
30495                                wrapX: !!n.wrapX
30496                            }), style: n.boxStyle ? n.boxStyle : (i = Jv(), function (t, n) {
30497                                return i[Pt.POLYGON]
30498                            }), updateWhileAnimating: !0, updateWhileInteracting: !0
30499                        }), r.wd = new Rj({
30500                            source: new Id({useSpatialIndex: !1, wrapX: !!n.wrapX}),
30501                            style: n.pointerStyle ? n.pointerStyle : sE(),
30502                            updateWhileAnimating: !0,
30503                            updateWhileInteracting: !0
30504                        }), n.extent && r.setExtent(n.extent), r
30505                    }
30506
30507                    return rE(n, t), n.prototype.bd = function (t, n) {
30508                        var i = n.getCoordinateFromPixelInternal(t), r = this.getExtentInternal();
30509                        if (r) {
30510                            var e = function (t) {
30511                                return [[[t[0], t[1]], [t[0], t[3]]], [[t[0], t[3]], [t[2], t[3]]], [[t[2], t[3]], [t[2], t[1]]], [[t[2], t[1]], [t[0], t[1]]]]
30512                            }(r);
30513                            e.sort((function (t, n) {
30514                                return er(i, t) - er(i, n)
30515                            }));
30516                            var o = e[0], s = Yi(i, o), a = n.getPixelFromCo
30516ordinateInternal(s);
30517                            if (rr(t, a) <= this.ld) {
30518                                var u = n.getPixelFromCoordinateInternal(o[0]),
30519                                    c = n.getPixelFromCoordinateInternal(o[1]), h = ir(a, u), f = ir(a, c),
30520                                    l = Math.sqrt(Math.min(h, f));
30521                                return this.vd = l <= this.ld, this.vd && (s = h > f ? o[1] : o[0]), s
30522                            }
30523                        }
30524                        return null
30525                    }, n.prototype.Jn = function (t) {
30526                        var n = t.pixel, i = t.map, r = this.bd(n, i);
30527                        r || (r = i.getCoordinateFromPixelInternal(n)), this.gd(r)
30528                    }, n.prototype.xd = function (t) {
30529                        var n = this.dd;
30530                        return n ? t ? n.setGeometry(Ze(t)) : n.setGeometry(void 0) : (n = new Tt(t ? Ze(t) : {}), this.dd = n, this.md.getSource().addFeature(n)), n
30531                    }, n.prototype.gd = function (t) {
30532                        var n = this.yd;
30533                        n ? n.getGeometry().setCoordinates(t) : (n = new Tt(new Oe(t)), this.yd = n, this.wd.getSource().addFeature(n));
30534                        return n
30535                    }, n.prototype.handleEvent = function (n) {
30536                        return !n.originalEvent || !this.Jr(n) || (n.type != da.POINTERMOVE || this.handlingDownUpSequence || this.Jn(n), t.prototype.handleEvent.call(this, n), !1)
30537                    }, n.prototype.handleDownEvent = function (t) {
30538                        var n = t.pixel, i = t.map, r = this.getExtentInternal(), e = this.bd(n, i), o = function (t) {
30539                            var n = null, i = null;
30540                            return t[0] == r[0] ? n = r[2] : t[0] == r[2] && (n = r[0]), t[1] == r[1] ? i = r[3] : t[1] == r[3] && (i = r[1]), null !== n && null !== i ? [n, i] : null
30541                        };
30542                        if (e && r) {
30543                            var s = e[0] == r[0] || e[0] == r[2] ? e[0] : null,
30544                                a = e[1] == r[1] || e[1] == r[3] ? e[1] : null;
30545                            null !== s && null !== a ? this.fd = aE(o(e)) : null !== s ? this.fd = uE(o([s, r[1]]), o([s, r[3]])) : null !== a && (this.fd = uE(o([r[0], a]), o([r[2], a])))
30546                        } else e = i.getCoordinateFromPixelInternal(n), this.setExtent([e[0], e[1], e[0], e[1]]), this.fd = aE(e);
30547                        return !0
30548                    }, n.prototype.handleDragEvent = function (t) {
30549                        if (this.fd) {
30550                            var n = t.coordinate;
30551                            this.setExtent(this.fd(n)), this.gd(n)
30552                        }
30553                    }, n.prototype.handleUpEvent = function (t) {
30554                        this.fd = null;
30555                        var n = this.getExtentInternal();
30556                        return n && 0 !== Bn(n) || this.setExtent(null), !1
30557                    }, n.prototype.setMap = function (n) {
30558                        this.md.setMap(n), this.wd.setMap(n), t.prototype.setMap.call(this, n)
30559                    }, n.prototype.getExtent = function () {
30560                        return Fr(this.getExtentInternal(), this.getMap().getView().getProjection())
30561                    }, n.prototype.getExtentInternal = function () {
30562                        return this.st
30563                    }, n.prototype.setExtent = function (t) {
30564                        this.st = t || null, this.xd(t), this.dispatchEvent(new oE(this.st))
30565                    }, n
30566                }(Tu);
30567
30568                function hE(t) {
30569                    return (hE = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
30570                        return typeof t
30571                    } : function (t) {
30572                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
30573                    })(t)
30574                }
30575
30576                var fE = function () {
30577                    var t = function (n, i) {
30578                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30579                            t.__proto__ = n
30580                        } || function (t, n) {
30581                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30582                        })(n, i)
30583                    };
30584                    return function (n, i) {
30585                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30586
30587                        function r() {
30588                            this.constructor = n
30589                        }
30590
30591                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30592                    }
30593                }(), lE = [0, 0, 0, 0], vE = [], dE = "modifystart", pE = "modifyend", yE = function (t) {
30594                    function n(n, i, r) {
30595                        var e = t.call(this, n) || this;
30596                        return e.features = i, e.mapBrowserEvent = r, e
30597                    }
30598
30599                    return fE(n, t), n
30600                }(f);
30601
30602                function mE(t, n) {
30603                    return t.index - n.index
30604                }
30605
30606                function wE(t, n, i) {
30607                    var r = n.geometry;
30608                    if (r.getType() === Pt.CIRCLE) {
30609                        var e = r;
30610                        if (1 === n.index) {
30611                            var o = Ir();
30612                            o && (e = e.clone().transform(o, i));
30613                            var s = ir(e.getCenter(), zr(t, i)), a = Math.sqrt(s) - e.getRadius();
30614                            return a * a
30615                        }
30616                    }
30617                    var u = zr(t, i);
30618                    return vE[0] = zr(n.segment[0], i), vE[1] = zr(n.segment[1], i), er(u, vE)
30619                }
30620
30621                function bE(t, n, i) {
30622                    var r = n.geometry;
30623                    if (r.getType() === Pt.CIRCLE && 1 === n.index) {
30624                        var e = r, o = Ir();
30625                        return o && (e = e.clone().transform(o, i)), Nr(e.getClosestPoint(zr(t, i)), i)
30626                    }
30627                    var s = zr(t, i);
30628                    return vE[0] = zr(n.segment[0], i), vE[1] = zr(n.segment[1], i), Nr(Yi(s, vE), i)
30629                }
30630
30631                var gE = function (t) {
30632                    function n(n) {
30633                        var i, r, e = t.call(this, n) || this;
30634                        if (e.on, e.once, e.un, e.jd = e.Ju.bind(e), e.Jr = n.condition ? n.condition : qu, e.Sd = function (t) {
30635                            return Au(t) && Fu(t)
30636                        }, e.kd = n.deleteCondition ? n.deleteCondition : e.Sd, e.Md = n.insertVertexCondition ? n.insertVertexCondition : Iu, e.yd = null, e._d = null, e.Od = [0, 0], e.Td = !1, e.Ed = null, e.Ad = new id, e.ld = void 0 !== n.pixelTolerance ? n.pixelTolerance : 10, e.vd = !1, e.Cd = !1, e.Rd = [], e.Zv = new Rj({
30637                            source: new Id({
30638                                useSpatialIndex: !1,
30639                                wrapX: !!n.wrapX
30640                            }), style: n.style ? n.style : (i = Jv(), function (t, n) {
30641                                return i[Pt.POINT]
30642                            }), updateWhileAnimating: !0, updateWhileInteracting: !0
30643                        }), e.Pd = {
30644                            Point: e.Id.bind(e),
30645                            LineString: e.Nd.bind(e),
30646                            LinearRing: e.Nd.bind(e),
30647                            Polygon: e.zd.bind(e),
30648                            MultiPoint: e.Fd.bind(e),
30649                            MultiLineString: e.Ld.bind(e),
30650                            MultiPolygon: e.Gd.bind(e),
30651                            Circle: e.Dd.bind(e),
30652                            GeometryCollection: e.Ud.bind(e)
30653                        }, e.Mv = null, e.qd = null, n.features ? r = n.features : n.source && (e.Mv = n.source, r = new ft(e.Mv.getFeatures()), e.Mv.addEventListener(Md, e.Bd.bind(e)), e.Mv.addEventListener(Td, e.Wd.bind(e))), !r) throw new Error("The modify interaction requires features, a source or a layer");
30654                        return n.hitDetection && (e.qd = n.hitDetection), e.Fe = r, e.Fe.forEach(e.Vd.bind(e)), e.Fe.addEventListener(st, e.Xd.bind(e)), e.Fe.addEventListener(at, e.Hd.bind(e)), e.Jd = null, e.qr = [0, 0], e.Kd = void 0 === n.snapToPointer ? !e.qd : n.snapToPointer, e
30655                    }
30656
30657                    return fE(n, t), n.prototype.Vd = function (t) {
30658                        var n = t.getGeometry();
30659                        if (n) {
30660                            var i = this.Pd[n.getType()];
30661                            i && i(t, n)
30662                        }
30663                        var r = this.getMap();
30664                        r && r.isRendered() && this.getActive() && this.Yd(this.Od, r), t.addEventListener(N, this.jd)
30665                    }, n.prototype.Zd = function (t, n) {
30666                        if (!this.Ed) {
30667                            this.Ed = new ft;
30668                            for (var i = this.Ed.getArray(), r = 0, e = n.length; r < e; ++r) for (var o = n[r], s = 0, a = o.length; s < a; ++s) {
30669                                var u = o[s].feature;
30670                                u && -1 === i.indexOf(u) && this.Ed.push(u)
30671                            }
30672                            0 === this.Ed.getLength() ? this.Ed = null : this.dispatchEvent(new yE(dE, this.Ed, t))
30673                        }
30674                    }, n.prototype.$d = function (t) {
30675                        this.Qd(t), this.yd && 0 === this.Fe.getLength() && (this.Zv.getSource().removeFeature
30675(this.yd), this.yd = null), t.removeEventListener(N, this.jd)
30676                    }, n.prototype.Qd = function (t) {
30677                        var n = this.Ad, i = [];
30678                        n.forEach((function (n) {
30679                            t === n.feature && i.push(n)
30680                        }));
30681                        for (var r = i.length - 1; r >= 0; --r) {
30682                            for (var e = i[r], o = this.Rd.length - 1; o >= 0; --o) this.Rd[o][0] === e && this.Rd.splice(o, 1);
30683                            n.remove(e)
30684                        }
30685                    }, n.prototype.setActive = function (n) {
30686                        this.yd && !n && (this.Zv.getSource().removeFeature(this.yd), this.yd = null), t.prototype.setActive.call(this, n)
30687                    }, n.prototype.setMap = function (n) {
30688                        this.Zv.setMap(n), t.prototype.setMap.call(this, n)
30689                    }, n.prototype.getOverlay = function () {
30690                        return this.Zv
30691                    }, n.prototype.Bd = function (t) {
30692                        t.feature && this.Fe.push(t.feature)
30693                    }, n.prototype.Wd = function (t) {
30694                        t.feature && this.Fe.remove(t.feature)
30695                    }, n.prototype.Xd = function (t) {
30696                        this.Vd(t.element)
30697                    }, n.prototype.Ju = function (t) {
30698                        if (!this.Cd) {
30699                            var n = t.target;
30700                            this.$d(n), this.Vd(n)
30701                        }
30702                    }, n.prototype.Hd = function (t) {
30703                        var n = t.element;
30704                        this.$d(n)
30705                    }, n.prototype.Id = function (t, n) {
30706                        var i = n.getCoordinates(), r = {feature: t, geometry: n, segment: [i, i]};
30707                        this.Ad.insert(n.getExtent(), r)
30708                    }, n.prototype.Fd = function (t, n) {
30709                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) {
30710                            var o = i[r], s = {feature: t, geometry: n, depth: [r], index: r, segment: [o, o]};
30711                            this.Ad.insert(n.getExtent(), s)
30712                        }
30713                    }, n.prototype.Nd = function (t, n) {
30714                        for (var i = n.getCoordinates(), r = 0, e = i.length - 1; r < e; ++r) {
30715                            var o = i.slice(r, r + 2), s = {feature: t, geometry: n, index: r, segment: o};
30716                            this.Ad.insert(xn(o), s)
30717                        }
30718                    }, n.prototype.Ld = function (t, n) {
30719                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length - 1; s < a; ++s) {
30720                            var u = o.slice(s, s + 2), c = {feature: t, geometry: n, depth: [r], index: s, segment: u};
30721                            this.Ad.insert(xn(u), c)
30722                        }
30723                    }, n.prototype.zd = function (t, n) {
30724                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length - 1; s < a; ++s) {
30725                            var u = o.slice(s, s + 2), c = {feature: t, geometry: n, depth: [r], index: s, segment: u};
30726                            this.Ad.insert(xn(u), c)
30727                        }
30728                    }, n.prototype.Gd = function (t, n) {
30729                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length; s < a; ++s) for (var u = o[s], c = 0, h = u.length - 1; c < h; ++c) {
30730                            var f = u.slice(c, c + 2),
30731                                l = {feature: t, geometry: n, depth: [s, r], index: c, segment: f};
30732                            this.Ad.insert(xn(f), l)
30733                        }
30734                    }, n.prototype.Dd = function (t, n) {
30735                        var i = n.getCenter(), r = {feature: t, geometry: n, index: 0, segment: [i, i]},
30736                            e = {feature: t, geometry: n, index: 1, segment: [i, i]}, o = [r, e];
30737                        r.featureSegments = o, e.featureSegments = o, this.Ad.insert(Rn(i), r);
30738                        var s = n, a = Ir();
30739                        if (a && this.getMap()) {
30740                            var u = this.getMap().getView().getProjection();
30741                            s = $e(s = s.clone().transform(a, u)).transform(u, a)
30742                        }
30743                        this.Ad.insert(s.getExtent(), e)
30744                    }, n.prototype.Ud = function (t, n) {
30745                        for (var i = n.getGeometriesArray(), r = 0; r < i.length; ++r) {
30746                            var e = i[r];
30747                            (0, this.Pd[e.getType()])(t, e)
30748                        }
30749                    }, n.prototype.tp = function (t, n, i) {
30750                        var r = this.yd;
30751                        r ? r.getGeometry().setCoordinates(t) : (r = new Tt(new Oe(t)), this.yd = r, this.Zv.getSource().addFeature(r));
30752                        return r.set("features", n), r.set("geometries", i), r
30753                    }, n.prototype.handleEvent = function (n) {
30754                        return !n.originalEvent || (this.Jd = n, n.map.getView().getInteracting() || n.type != da.POINTERMOVE || this.handlingDownUpSequence || this.Jn(n), this.yd && this.kd(n) && (i = !(n.type != da.SINGLECLICK || !this.Td) || this.removePoint()), n.type == da.SINGLECLICK && (this.Td = !1), t.prototype.handleEvent.call(this, n) && !i);
30755                        var i
30756                    }, n.prototype.handleDragEvent = function (t) {
30757                        this.Td = !1, this.Zd(t, this.Rd);
30758                        for (var n = [t.coordinate[0] + this.qr[0], t.coordinate[1] + this.qr[1]], i = [], r = [], e = 0, o = this.Rd.length; e < o; ++e) {
30759                            var s = this.Rd[e], a = s[0], u = a.feature;
30760                            -1 === i.indexOf(u) && i.push(u);
30761                            var c = a.geometry;
30762                            -1 === r.indexOf(c) && r.push(c);
30763                            for (var h = a.depth, f = void 0, l = a.segment, v = s[1]; n.length < c.getStride();) n.push(l[v][n.length]);
30764                            switch (c.getType()) {
30765                                case Pt.POINT:
30766                                    f = n, l[0] = n, l[1] = n;
30767                                    break;
30768                                case Pt.MULTI_POINT:
30769                                    (f = c.getCoordinates())[a.index] = n, l[0] = n, l[1] = n;
30770                                    break;
30771                                case Pt.LINE_STRING:
30772                                    (f = c.getCoordinates())[a.index + v] = n, l[v] = n;
30773                                    break;
30774                                case Pt.MULTI_LINE_STRING:
30775                                case Pt.POLYGON:
30776                                    (f = c.getCoordinates())[h[0]][a.index + v] = n, l[v] = n;
30777                                    break;
30778                                case Pt.MULTI_POLYGON:
30779                                    (f = c.getCoordinates())[h[1]][h[0]][a.index + v] = n, l[v] = n;
30780                                    break;
30781                                case Pt.CIRCLE:
30782                                    if (l[0] = n, l[1] = n, 0 === a.index) this.Cd = !0, c.setCenter(n), this.Cd = !1; else {
30783                                        this.Cd = !0;
30784                                        var d = t.map.getView().getProjection(), p = rr(zr(c.getCenter(), d), zr(n, d)),
30785                                            y = Ir();
30786                                        if (y) {
30787                                            var m = c.clone().transform(y, d);
30788                                            m.setRadius(p), p = m.transform(d, y).getRadius()
30789                                        }
30790                                        c.setRadius(p), this.Cd = !1
30791                                    }
30792                            }
30793                            f && this.np(c, f)
30794                        }
30795                        this.tp(n, i, r)
30796                    }, n.prototype.handleDownEvent = function (t) {
30797                        if (!this.Jr(t)) return !1;
30798                        var n = t.coordinate;
30799                        this.Yd(t.pixel, t.map, n), this.Rd.length = 0, this.Ed = null;
30800                        var i = this.yd;
30801                        if (i) {
30802                            var r = t.map.getView().getProjection(), e = [], s = i.getGeometry().getCoordinates(),
30803                                a = xn([s]), u = this.Ad.getInExtent(a), c = {};
30804                            u.sort(mE);
30805                            for (var h = 0, f = u.length; h < f; ++h) {
30806                                var l = u[h], v = l.segment, d = o(l.geometry), p = l.depth;
30807                                if (p && (d += "-" + p.join("-")), c[d] || (c[d] = new Array(2)), l.geometry.getType() !== Pt.CIRCLE || 1 !== l.index) if (!Qi(v[0], s) || c[d][0]) if (!Qi(v[1], s) || c[d][1]) o(v) in this._d && !c[d][0] && !c[d][1] && this.Md(t) && e.push(l); else {
30808                                    if ((l.geometry.getType() === Pt.LINE_STRING || l.geometry.getType() === Pt.MULTI_LINE_STRING) && c[d][0] && 0 === c[d][0].index) continue;
30809                                    this.Rd.push([l, 1]), c[d][1] = l
30810                                } else this.Rd.push([l, 0]), c[d][0] = l; else Qi(bE(n, l, r), s) && !c[d][0] && (this.Rd.push([l, 0]), c[d][0] = l)
30811                            }
30812                            e.length && this.Zd(t, [e]);
30813                            for (var y = e.length - 1; y >= 0; --y) this.ip(e[y], s)
30814                        }
30815                        return !!this.yd
30816                    }, n.prototype.handleUpEvent = function (t) {
30817                        for (var n = this.Rd.length - 1; n >= 0; --n) {
30818                            var i = this.Rd[n][0], r = i.geometry;
30819                            if (r.getType() === Pt.CIRCLE) {
30820                                var e = r.getCenter(), o = i.featureSegments[0], s = i.featureSegments[1];
30821                                o.segment[0] = e, o.segment[1] = e, s.segment[0] = e, s.segment[1] = e, this.Ad.update(Rn(e), o);
30822                                var a = r, u = Ir();
30823                                if (u) {
30824                                    var c = t.map.getView().getProjection();
30825                                    a = $e(a = a.clone().transform(u, c)).transform(c, u)
30826                                }
30827                                this.Ad.update(a.getExtent(), s)
30828                            } else this.Ad.update(xn(i.segment), i)
30829                        }
30830                        return this.Ed && (this.dispatchEvent(new yE(pE, this.Ed, t)), this.Ed = null), !1
30831                    }, n.prototype.Jn = function (t) {
30832                        this.Od = t.pixel, this.Yd(t.pixel, t.map, t.coordinate)
30833                    }, n.prototype.Yd = function (t, n, i) {
30834                        var r, e, s = this, a = i || n.getCoordinateFromPixel(t), u = n.getView().getProjection();
30835                        if (this.qd) {
30836                            var c = "object" === hE(this.qd) ? function (t) {
30837                                return t === s.qd
30838                            } : void 0;
30839                            n.forEachFeatureAtPixel(t, (function (t, n, i) {
30840                                if ((i = i || t.getGeometry()).getType() === Pt.POINT && y(s.Fe.getArray(), t)) {
30841                                    e = i;
30842                                    var o = i.getFlatCoordinates().slice(0, 2);
30843                                    r = [{feature: t, geometry: i, segment: [o, o]}]
30844                                }
30845                                return !0
30846                            }), {layerFilter: c})
30847                        }
30848                        if (!r) {
30849                            var h = Fr(jn(Lr(Rn(a, lE), u), n.getView().getResolution() * this.ld, lE), u);
30850                            r = this.Ad.getInExtent(h)
30851                        }
30852                        if (r && r.length > 0) {
30853                            var f = r.sort((function (t, n) {
30854                                return wE(a, t, u) - wE(a, n, u)
30855                            }))[0], l = f.segment, v = bE(a, f, u), d = n.getPixelFromCoordinate(v), p = rr(t, d);
30856                            if (e || p <= this.ld) {
30857                                var m = {};
30858                                if (m[o(l)] = !0, this.Kd || (this.qr[0] = v[0] - a[0], this.qr[1] = v[1] - a[1]), f.geometry.getType() === Pt.CIRCLE && 1 === f.index) this.vd = !0, this.tp(v, [f.feature], [f.geometry]); else {
30859                                    var w = n.getPixelFromCoordinate(l[0]), b = n.getPixelFromCoordinate(l[1]),
30860                                        g = ir(d, w), x = ir(d, b);
30861                                    p = Math.sqrt(Math.min(g, x)), this.vd = p <= this.ld, this.vd && (v = g > x ? l[1] : l[0]), this.tp(v, [f.feature], [f.geometry]);
30862                                    var j = {};
30863                                    j[o(f.geometry)] = !0;
30864                                    for (var S = 1, k = r.length; S < k; ++S) {
30865                                        var M = r[S].segment;
30866                                        if (!(Qi(l[0], M[0]) && Qi(l[1], M[1]) || Qi(l[0], M[1]) && Qi(l[1], M[0]))) break;
30867                                        var _ = o(r[S].geometry);
30868                                        _ in j || (j[_] = !0, m[o(M)] = !0)
30869                                    }
30870                                }
30871                                return void (this._d = m)
30872                            }
30873                        }
30874                        this.yd && (this.Zv.getSource().removeFeature(this.yd), this.yd = null)
30875                    }, n.prototype.ip = function (t, n) {
30876                        for (var i, r = t.segment, e = t.feature, o = t.geometry, s = t.depth, a = t.index; n.length < o.getStride();) n.push(0);
30877                        switch (o.getType()) {
30878                            case Pt.MULTI_LINE_STRING:
30879                            case Pt.POLYGON:
30880                                (i = o.getCoordinates())[s[0]].splice(a + 1, 0, n);
30881                                break;
30882                            case Pt.MULTI_POLYGON:
30883                                (i = o.getCoordinates())[s[1]][s[0]].splice(a + 1, 0, n);
30884                                break;
30885                            case Pt.LINE_STRING:
30886                                (i = o.getCoordinates()).splice(a + 1, 0, n);
30887                                break;
30888                            default:
30889                                return
30890                        }
30891                        this.np(o, i);
30892                        var u = this.Ad;
30893                        u.remove(t), this.rp(o, a, s, 1);
30894                        var c = {segment: [r[0], n], feature: e, geometry: o, depth: s, index: a};
30895                        u.insert(xn(c.segment), c), this.Rd.push([c, 1]);
30896                        var h = {segment: [n, r[1]], feature: e, geometry: o, depth: s, index: a + 1};
30897                        u.insert(xn(h.segment), h), this.Rd.push([h, 0]), this.Td = !0
30898                    }, n.prototype.removePoint = function () {
30899                        if (this.Jd && this.Jd.type != da.POINTERDRAG) {
30900                            var t = this.Jd;
30901                            this.Zd(t, this.Rd);
30902                            var n = this.ep();
30903                            return this.Ed && this.dispatchEvent(new yE(pE, this.Ed, t)), this.Ed = null, n
30904                        }
30905                        return !1
30906                    }, n.prototype.ep = function () {
30907                        var t, n, i, r, e, s, a, u, c, h, f, l = this.Rd, v = {}, d = !1;
30908                        for (e = l.length - 1; e >= 0; --e) f = o((h = (i = l[e])[0]).feature), h.depth && (f += "-" + h.depth.join("-")), f in v || (v[f] = {}), 0 === i[1] ? (v[f].right = h, v[f].index = h.index) : 1 == i[1] && (v[f].left = h, v[f].index = h.index + 1);
30909                        for (f in v) {
30910                            switch (c = v[f].right, a = v[f].left, (u = (s = v[f].index) - 1) < 0 && (u = 0), t = n = (r = (h = void 0 !== a ? a : c).geometry).getCoordinates(), d = !1, r.getType()) {
30911                                case Pt.MULTI_LINE_STRING:
30912                                    n[h.depth[0]].length > 2 && (n[h.depth[0]].splice(s, 1), d = !0);
30913                                    break;
30914                                case Pt.LINE_STRING:
30915                                    n.length > 2 && (n.splice(s, 1), d = !0);
30916                                    break;
30917                                case Pt.MULTI_POLYGON:
30918                                    t = t[h.depth[1]];
30919                                case Pt.POLYGON:
30920                                    (t = t[h.depth[0]]).length > 4 && (s == t.length - 1 && (s = 0), t.splice(s, 1), d = !0, 0 === s && (t.pop(), t.push(t[0]), u = t.length - 1))
30921                            }
30922                            if (d) {
30923                                this.np(r, n);
30924                                var p = [];
30925                                if (void 0 !== a && (this.Ad.remove(a), p.push(a.segment[0])), void 0 !== c && (this.Ad.remove(c), p.push(c.segment[1])), void 0 !== a && void 0 !== c) {
30926                                    var y = {
30927                                        depth: h.depth,
30928                                        feature: h.feature,
30929                                        geometry: h.geometry,
30930                                        index: u,
30931                                        segment: p
30932                                    };
30933                                    this.Ad.insert(xn(y.segment), y)
30934                                }
30935                                this.rp(r, s, h.depth, -1), this.yd && (this.Zv.getSource().removeFeature
30935(this.yd), this.yd = null), l.length = 0
30936                            }
30937                        }
30938                        return d
30939                    }, n.prototype.np = function (t, n) {
30940                        this.Cd = !0, t.setCoordinates(n), this.Cd = !1
30941                    }, n.prototype.rp = function (t, n, i, r) {
30942                        this.Ad.forEachInExtent(t.getExtent(), (function (e) {
30943                            e.geometry === t && (void 0 === i || void 0 === e.depth || x(e.depth, i)) && e.index > n && (e.index += r)
30944                        }))
30945                    }, n
30946                }(Tu), xE = function () {
30947                    var t = function (n, i) {
30948                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
30949                            t.__proto__ = n
30950                        } || function (t, n) {
30951                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
30952                        })(n, i)
30953                    };
30954                    return function (n, i) {
30955                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
30956
30957                        function r() {
30958                            this.constructor = n
30959                        }
30960
30961                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
30962                    }
30963                }(), jE = "select", SE = function (t) {
30964                    function n(n, i, r, e) {
30965                        var o = t.call(this, n) || this;
30966                        return o.selected = i, o.deselected = r, o.mapBrowserEvent = e, o
30967                    }
30968
30969                    return xE(n, t), n
30970                }(f), kE = {};
30971                var ME = function (t) {
30972                    function n(n) {
30973                        var i = t.call(this) || this;
30974                        i.on, i.once, i.un;
30975                        var r, e, o = n || {};
30976                        if (i.op = i.Vd.bind(i), i.sp = i.$d.bind(i), i.Jr = o.condition ? o.condition : Fu, i.ap = o.addCondition ? o.addCondition : zu, i.up = o.removeCondition ? o.removeCondition : zu, i.cp = o.toggleCondition ? o.toggleCondition : Gu, i.hp = !!o.multi && o.multi, i.fp = o.filter ? o.filter : k, i.lp = o.hitTolerance ? o.hitTolerance : 0, i.K = void 0 !== o.style ? o.style : (b((r = Jv())[Pt.POLYGON], r[Pt.LINE_STRING]), b(r[Pt.GEOMETRY_COLLECTION], r[Pt.LINE_STRING]), function (t) {
30977                            return t.getGeometry() ? r[t.getGeometry().getType()] : null
30978                        }), i.Fe = o.features || new ft, o.layers) if ("function" == typeof o.layers) e = o.layers; else {
30979                            var s = o.layers;
30980                            e = function (t) {
30981                                return y(s, t)
30982                            }
30983                        } else e = k;
30984                        return i.vp = e, i.dp = {}, i
30985                    }
30986
30987                    return xE(n, t), n.prototype.pp = function (t, n) {
30988                        this.dp[o(t)] = n
30989                    }, n.prototype.getFeatures = function () {
30990                        return this.Fe
30991                    }, n.prototype.getHitTolerance = function () {
30992                        return this.lp
30993                    }, n.prototype.getLayer = function (t) {
30994                        return this.dp[o(t)]
30995                    }, n.prototype.setHitTolerance = function (t) {
30996                        this.lp = t
30997                    }, n.prototype.setMap = function (n) {
30998                        this.getMap() && this.K && this.Fe.forEach(this.yp.bind(this)), t.prototype.setMap.call(this, n), n ? (this.Fe.addEventListener(st, this.op), this.Fe.addEventListener(at, this.sp), this.K && this.Fe.forEach(this.mp.bind(this))) : (this.Fe.removeEventListener(st, this.op), this.Fe.removeEventListener(at, this.sp))
30999                    }, n.prototype.Vd = function (t) {
31000                        var n = t.element;
31001                        if (this.K && this.mp(n), !this.getLayer(n)) {
31002                            var i = this.getMap().getAllLayers().find((function (t) {
31003                                if (t instanceof Rj && t.getSource() && t.getSource().hasFeature(n)) return t
31004                            }));
31005                            i && this.pp(n, i)
31006                        }
31007                    }, n.prototype.$d = function (t) {
31008                        var n = t.element;
31009                        this.K && this.yp(n)
31010                    }, n.prototype.getStyle = function () {
31011                        return this.K
31012                    }, n.prototype.mp = function (t) {
31013                        var n = o(t);
31014                        n in kE || (kE[n] = t.getStyle()), t.setStyle(this.K)
31015                    }, n.prototype.yp = function (t) {
31016                        for (var i = this.getMap().getInteractions().getArray(), r = i.length - 1; r >= 0; --r) {
31017                            var e = i[r];
31018                            if (e !== this && e instanceof n && e.getStyle() && -1 !== e.getFeatures().getArray().lastIndexOf(t)) return void t.setStyle(e.getStyle())
31019                        }
31020                        var s = o(t);
31021                        t.setStyle(kE[s]), delete kE[s]
31022                    }, n.prototype.wp = function (t) {
31023                        delete this.dp[o(t)]
31024                    }, n.prototype.handleEvent = function (t) {
31025                        if (!this.Jr(t)) return !0;
31026                        var n = this.ap(t), i = this.up(t), r = this.cp(t), e = !n && !i && !r, o = t.map,
31027                            s = this.getFeatures(), a = [], u = [];
31028                        if (e) {
31029                            A(this.dp), o.forEachFeatureAtPixel(t.pixel, function (t, n) {
31030                                if (this.fp(t, n)) return this.pp(t, n), u.push(t), !this.hp
31031                            }.bind(this), {layerFilter: this.vp, hitTolerance: this.lp});
31032                            for (var c = s.getLength() - 1; c >= 0; --c) {
31033                                var h = s.item(c), f = u.indexOf(h);
31034                                f > -1 ? u.splice(f, 1) : (s.remove(h), a.push(h))
31035                            }
31036                            0 !== u.length && s.extend(u)
31037                        } else {
31038                            o.forEachFeatureAtPixel(t.pixel, function (t, e) {
31039                                if (this.fp(t, e)) return !n && !r || y(s.getArray(), t) ? (i || r) && y(s.getArray(), t) && (a.push(t), this.wp(t)) : (this.pp(t, e), u.push(t)), !this.hp
31040                            }.bind(this), {layerFilter: this.vp, hitTolerance: this.lp});
31041                            for (var l = a.length - 1; l >= 0; --l) s.remove(a[l]);
31042                            s.extend(u)
31043                        }
31044                        return (u.length > 0 || a.length > 0) && this.dispatchEvent(new SE(jE, u, a, t)), !0
31045                    }, n
31046                }(Su), _E = function () {
31047                    var t = function (n, i) {
31048                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31049                            t.__proto__ = n
31050                        } || function (t, n) {
31051                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31052                        })(n, i)
31053                    };
31054                    return function (n, i) {
31055                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31056
31057                        function r() {
31058                            this.constructor = n
31059                        }
31060
31061                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31062                    }
31063                }();
31064
31065                function OE(t) {
31066                    return t.feature ? t.feature : t.element ? t.element : void 0
31067                }
31068
31069                var TE = [], EE = function (t) {
31070                    function n(n) {
31071                        var i = this, r = n || {}, e = r;
31072                        return e.handleDownEvent || (e.handleDownEvent = k), e.stopDown || (e.stopDown = M), (i = t.call(this, e) || this).Mv = r.source ? r.source : null, i.bp = void 0 === r.vertex || r.vertex, i.gp = void 0 === r.edge || r.edge, i.Fe = r.features ? r.features : null, i.xp = [], i.jp = {}, i.Sp = {}, i.kp = {}, i.ld = void 0 !== r.pixelTolerance ? r.pixelTolerance : 10, i.Ad = new id, i.Pd = {
31073                            Point: i.Id.bind(i),
31074                            LineString: i.Nd.bind(i),
31075                            LinearRing: i.Nd.bind(i),
31076                            Polygon: i.zd.bind(i),
31077                            MultiPoint: i.Fd.bind(i),
31078                            MultiLineString: i.Ld.bind(i),
31079                            MultiPolygon: i.Gd.bind(i),
31080                            GeometryCollection: i.Ud.bind(i),
31081                            Circle: i.Dd.bind(i)
31082                        }, i
31083                    }
31084
31085                    return _E(n, t), n.prototype.addFeature = function (t, n) {
31086                        var i = void 0 === n || n, r = o(t), e = t.getGeometry();
31087                        if (e) {
31088                            var s = this.Pd[e.getType()];
31089                            s && (this.Sp[r] = e.getExtent([1 / 0, 1 / 0, -1 / 0, -1 / 0]), s(t, e))
31090                        }
31091                        i && (this.jp[r] = Y(t, N, this.Ju, this))
31092                    }, n.prototype.Mp = function (t) {
31093                        this.addFeature(t)
31094                    }, n.prototype._p = function (t) {
31095                        this.removeFeature(t)
31096                    }, n.prototype.Op = function () {
31097                        var t;
31098                        return this.Fe ? t = this.Fe : this.Mv && (t = this.Mv.getFeatures()), t
31099                    }, n.prototype.handleEvent = function (n) {
31100                        var i = this.snapTo(n.pixel, n.coordinate, n.map);
31101                        return i.snapped && (n.coordinate = i.vertex.slice(0, 2), n.pixel = i.vertexPixel), t.prototype.handleEvent.call(this, n)
31102                    }, n.prototype.Xd = function (t) {
31103                        var n = OE(t);
31104                        this.addFeature(n)
31105                    }, n.prototype.Hd = function (t) {
31106                        var n = OE(t);
31107                        this.removeFeature(n)
31108                    }, n.prototype.Ju = function (t) {
31109                        var n = t.target;
31110                        if (this.handlingDownUpSequence) {
31111                            var i = o(n);
31112                            i in this.kp || (this.kp[i] = n)
31113                        } else this.Tp(n)
31114                    }, n.prototype.handleUpEvent = function (t) {
31115                        var n = C(this.kp);
31116                        return n.length && (n.forEach(this.Tp.bind(this)), this.kp = {}), !1
31117                    }, n.prototype.removeFeature = function (t, n) {
31118                        var i = void 0 === n || n, r = o(t), e = this.Sp[r];
31119                        if (e) {
31120                            var s = this.Ad, a = [];
31121                            s.forEachInExtent(e, (function (n) {
31122                                t === n.feature && a.push(n)
31123                            }));
31124                            for (var u = a.length - 1; u >= 0; --u) s.remove(a[u])
31125                        }
31126                        i && ($(this.jp[r]), delete this.jp[r])
31127                    }, n.prototype.setMap = function (n) {
31128                        var i = this.getMap(), r = this.xp, e = this.Op();
31129                        i && (r.forEach($), r.length = 0, e.forEach(this._p.bind(this))), t.prototype.setMap.call(this, n), n && (this.Fe ? r.push(Y(this.Fe, st, this.Xd, this), Y(this.Fe, at, this.Hd, this)) : this.Mv && r.push(Y(this.Mv, Md, this.Xd, this), Y(this.Mv, Td, this.Hd, this)), e.forEach(this.Mp.bind(this)))
31130                    }, n.prototype.snapTo = function (t, n, i) {
31131                        var r = xn([i.getCoordinateFromPixel([t[0] - this.ld, t[1] + this.ld]), i.getCoordinateFromPixel([t[0] + this.ld, t[1] - this.ld])]),
31132                            e = this.Ad.getInExtent(r);
31133                        this.bp && !this.gp && (e = e.filter((function (t) {
31134                            return t.feature.getGeometry().getType() !== Pt.CIRCLE
31135                        })));
31136                        var o = !1, s = null, a = null;
31137                        if (0 === e.length) return {snapped: o, vertex: s, vertexPixel: a};
31138                        for (var u, c = i.getView().getProjection(), h = zr(n, c), f = 1 / 0, l = 0; l < e.length; ++l) {
31139                            var v = e[l];
31140                            TE[0] = zr(v.segment[0], c), TE[1] = zr(v.segment[1], c);
31141                            var d = er(h, TE);
31142                            d < f && (u = v, f = d)
31143                        }
31144                        var p = u.segment;
31145                        if (this.bp && !this.gp) {
31146                            var y = i.getPixelFromCoordinate(p[0]), m = i.getPixelFromCoordinate(p[1]), w = ir(t, y),
31147                                b = ir(t, m);
31148                            Math.sqrt(Math.min(w, b)) <= this.ld && (o = !0, s = w > b ? p[1] : p[0], a = i.getPixelFromCoordinate(s))
31149                        } else if (this.gp) {
31150                            var g = u.feature.getGeometry().getType() === Pt.CIRCLE;
31151                            if (g) {
31152                                var x = u.feature.getGeometry(), j = Ir();
31153                                j && (x = x.clone().transform(j, c)), s = Nr(Ki(h, x), c)
31154                            }
31154 else TE[0] = zr(p[0], c), TE[1] = zr(p[1], c), s = Nr(Yi(h, TE), c);
31155                            if (rr(t, a = i.getPixelFromCoordinate(s)) <= this.ld && (o = !0, this.bp && !g)) {
31156                                y = i.getPixelFromCoordinate(p[0]), m = i.getPixelFromCoordinate(p[1]), w = ir(a, y), b = ir(a, m);
31157                                Math.sqrt(Math.min(w, b)) <= this.ld && (s = w > b ? p[1] : p[0], a = i.getPixelFromCoordinate(s))
31158                            }
31159                        }
31160                        return o && (a = [Math.round(a[0]), Math.round(a[1])]), {snapped: o, vertex: s, vertexPixel: a}
31161                    }, n.prototype.Tp = function (t) {
31162                        this.removeFeature(t, !1), this.addFeature(t, !1)
31163                    }, n.prototype.Dd = function (t, n) {
31164                        var i = this.getMap().getView().getProjection(), r = n, e = Ir();
31165                        e && (r = r.clone().transform(e, i));
31166                        var o = $e(r);
31167                        e && o.transform(i, e);
31168                        for (var s = o.getCoordinates()[0], a = 0, u = s.length - 1; a < u; ++a) {
31169                            var c = s.slice(a, a + 2), h = {feature: t, segment: c};
31170                            this.Ad.insert(xn(c), h)
31171                        }
31172                    }, n.prototype.Ud = function (t, n) {
31173                        for (var i = n.getGeometriesArray(), r = 0; r < i.length; ++r) {
31174                            var e = this.Pd[i[r].getType()];
31175                            e && e(t, i[r])
31176                        }
31177                    }, n.prototype.Nd = function (t, n) {
31178                        for (var i = n.getCoordinates(), r = 0, e = i.length - 1; r < e; ++r) {
31179                            var o = i.slice(r, r + 2), s = {feature: t, segment: o};
31180                            this.Ad.insert(xn(o), s)
31181                        }
31182                    }, n.prototype.Ld = function (t, n) {
31183                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length - 1; s < a; ++s) {
31184                            var u = o.slice(s, s + 2), c = {feature: t, segment: u};
31185                            this.Ad.insert(xn(u), c)
31186                        }
31187                    }, n.prototype.Fd = function (t, n) {
31188                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) {
31189                            var o = i[r], s = {feature: t, segment: [o, o]};
31190                            this.Ad.insert(n.getExtent(), s)
31191                        }
31192                    }, n.prototype.Gd = function (t, n) {
31193                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length; s < a; ++s) for (var u = o[s], c = 0, h = u.length - 1; c < h; ++c) {
31194                            var f = u.slice(c, c + 2), l = {feature: t, segment: f};
31195                            this.Ad.insert(xn(f), l)
31196                        }
31197                    }, n.prototype.Id = function (t, n) {
31198                        var i = n.getCoordinates(), r = {feature: t, segment: [i, i]};
31199                        this.Ad.insert(n.getExtent(), r)
31200                    }, n.prototype.zd = function (t, n) {
31201                        for (var i = n.getCoordinates(), r = 0, e = i.length; r < e; ++r) for (var o = i[r], s = 0, a = o.length - 1; s < a; ++s) {
31202                            var u = o.slice(s, s + 2), c = {feature: t, segment: u};
31203                            this.Ad.insert(xn(u), c)
31204                        }
31205                    }, n
31206                }(Tu), AE = function () {
31207                    var t = function (n, i) {
31208                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31209                            t.__proto__ = n
31210                        } || function (t, n) {
31211                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31212                        })(n, i)
31213                    };
31214                    return function (n, i) {
31215                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31216
31217                        function r() {
31218                            this.constructor = n
31219                        }
31220
31221                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31222                    }
31223                }(), CE = "translatestart", RE = "translating", PE = "translateend", IE = function (t) {
31224                    function n(n, i, r, e, o) {
31225                        var s = t.call(this, n) || this;
31226                        return s.features = i, s.coordinate = r, s.startCoordinate = e, s.mapBrowserEvent = o, s
31227                    }
31228
31229                    return AE(n, t), n
31230                }(f), NE = function (t) {
31231                    function n(n) {
31232                        var i, r = this, e = n || {};
31233                        if ((r = t.call(this, e) || this).on, r.once, r.un, r.Ep = null, r.Ap = null, r.Fe = void 0 !== e.features ? e.features : null, e.layers && !r.Fe) if ("function" == typeof e.layers) i = e.layers; else {
31234                            var o = e.layers;
31235                            i = function (t) {
31236                                return y(o, t)
31237                            }
31238                        } else i = k;
31239                        return r.vp = i, r.fp = e.filter && !r.Fe ? e.filter : k, r.lp = e.hitTolerance ? e.hitTolerance : 0, r.Jr = e.condition ? e.condition : Iu, r.Cp = null, r.addChangeListener(bu, r.Rp), r
31240                    }
31241
31242                    return AE(n, t), n.prototype.handleDownEvent = function (t) {
31243                        if (!t.originalEvent || !this.Jr(t)) return !1;
31244                        if (this.Cp = this.Pp(t.pixel, t.map), !this.Ep && this.Cp) {
31245                            this.Ap = t.coordinate, this.Ep = t.coordinate, this.handleMoveEvent(t);
31246                            var n = this.Fe || new ft([this.Cp]);
31247                            return this.dispatchEvent(new IE(CE, n, t.coordinate, this.Ap, t)), !0
31248                        }
31249                        return !1
31250                    }, n.prototype.handleUpEvent = function (t) {
31251                        if (this.Ep) {
31252                            this.Ep = null, this.handleMoveEvent(t);
31253                            var n = this.Fe || new ft([this.Cp]);
31254                            return this.dispatchEvent(new IE(PE, n, t.coordinate, this.Ap, t)), this.Ap = null, !0
31255                        }
31256                        return !1
31257                    }, n.prototype.handleDragEvent = function (t) {
31258                        if (this.Ep) {
31259                            var n = t.coordinate, i = n[0] - this.Ep[0], r = n[1] - this.Ep[1],
31260                                e = this.Fe || new ft([this.Cp]);
31261                            e.forEach((function (t) {
31262                                var n = t.getGeometry();
31263                                n.translate(i, r), t.setGeometry(n)
31264                            })), this.Ep = n, this.dispatchEvent(new IE(RE, e, n, this.Ap, t))
31265                        }
31266                    }, n.prototype.handleMoveEvent = function (t) {
31267                        var n = t.map.getViewport();
31268                        this.Pp(t.pixel, t.map) ? (n.classList.remove(this.Ep ? "ol-grab" : "ol-grabbing"), n.classList.add(this.Ep ? "ol-grabbing" : "ol-grab")) : n.classList.remove("ol-grab", "ol-grabbing")
31269                    }, n.prototype.Pp = function (t, n) {
31270                        return n.forEachFeatureAtPixel(t, function (t, n) {
31271                            if (this.fp(t, n) && (!this.Fe || y(this.Fe.getArray(), t))) return t
31272                        }.bind(this), {layerFilter: this.vp, hitTolerance: this.lp})
31273                    }, n.prototype.getHitTolerance = function () {
31274                        return this.lp
31275                    }, n.prototype.setHitTolerance = function (t) {
31276                        this.lp = t
31277                    }, n.prototype.setMap = function (n) {
31278                        var i = this.getMap();
31279                        t.prototype.setMap.call(this, n), this.Qv(i)
31280                    }, n.prototype.Rp = function () {
31281                        this.Qv(null)
31282                    }, n.prototype.Qv = function (t) {
31283                        var n = this.getMap(), i = this.getActive();
31284                        n && i || (n = n || t) && n.getViewport().classList.remove("ol-grab", "ol-grabbing")
31285                    }, n
31286                }(Tu);
31287
31288                function zE(t, n, i, r, e, o) {
31289                    var s, a;
31290                    void 0 !== e ? (s = e, a = void 0 !== o ? o : 0) : (s = [], a = 0);
31291                    for (var u = n; u < i;) {
31292                        var c = t[u++];
31293                        s[a++] = t[u++], s[a++] = c;
31294                        for (var h = 2; h < r; ++h) s[a++] = t[u++]
31295                    }
31296                    return s.length = a, s
31297                }
31298
31299                var FE = function () {
31300                    var t = function (n, i) {
31301                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31302                            t.__proto__ = n
31303                        } || function (t, n) {
31304                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31305                        })(n, i)
31306                    };
31307                    return function (n, i) {
31308                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31309
31310                        function r() {
31311                            this.constructor = n
31312                        }
31313
31314                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31315                    }
31316                }(), LE = {};
31317                LE[Pt.POINT] = function (t) {
31318                    var n;
31319                    n = void 0 !== t.m && void 0 !== t.z ? new Oe([t.x, t.y, t.z, t.m], Rt) : void 0 !== t.z ? new Oe([t.x, t.y, t.z], At) : void 0 !== t.m ? new Oe([t.x, t.y, t.m], Ct) : new Oe([t.x, t.y]);
31320                    return n
31321                }, LE[Pt.LINE_STRING] = function (t) {
31322                    var n = UE(t);
31323                    return new xj(t.paths[0], n)
31324                }, LE[Pt.POLYGON] = function (t) {
31325                    var n = UE(t);
31326                    return new Ke(t.rings, n)
31327                }, LE[Pt.MULTI_POINT] = function (t) {
31328                    var n = UE(t);
31329                    return new yj(t.points, n)
31330                }, LE[Pt.MULTI_LINE_STRING] = function (t) {
31331                    var n = UE(t);
31332                    return new Sj(t.paths, n)
31333                }, LE[Pt.MULTI_POLYGON] = function (t) {
31334                    var n = UE(t);
31335                    return new _j(t.rings, n)
31336                };
31337                var GE = {};
31338
31339                function DE(t, n) {
31340                    var i, r, e;
31341                    if (!t) return null;
31342                    if ("number" == typeof t.x && "number" == typeof t.y) e = Pt.POINT; else if (t.points) e = Pt.MULTI_POINT; else if (t.paths) {
31343                        e = 1 === t.paths.length ? Pt.LINE_STRING : Pt.MULTI_LINE_STRING
31344                    } else if (t.rings) {
31345                        var o = t, s = UE(o), a = function (t, n) {
31346                            var i, r, e = [], o = [], s = [];
31347                            for (i = 0, r = t.length; i < r; ++i) {
31348                                e.length = 0, ue(e, 0, t[i], n.length), Ue(e, 0, e.length, n.length) ? o.push([t[i]]) : s.push(t[i])
31349                            }
31350                            for (; s.length;) {
31351                                var a = s.shift(), u = !1;
31352                                for (i = o.length - 1; i >= 0; i--) {
31353                                    var c = o[i][0];
31354                                    if (_n(new Me(c).getExtent(), new Me(a).getExtent())) {
31355                                        o[i].push(a), u = !0;
31356                                        break
31357                                    }
31358                                }
31359                                u || o.push([a.reverse()])
31360                            }
31361                            return o
31362                        }(o.rings, s);
31363                        1 === a.length ? (e = Pt.POLYGON, t = E({}, t, ((i = {}).rings = a[0], i))) : (e = Pt.MULTI_POLYGON, t = E({}, t, ((r = {}).rings = a, r)))
31364                    }
31365                    return Hj((0, LE[e])(t), !1, n)
31366                }
31367
31368                function UE(t) {
31369                    var n = Et;
31370                    return !0 === t.hasZ && !0 === t.hasM ? n = Rt : !0 === t.hasZ ? n = At : !0 === t.hasM && (n = Ct), n
31371                }
31372
31373                function qE(t) {
31374                    var n = t.getLayout();
31375                    return {hasZ: n === At || n === Rt, hasM: n === Ct || n === Rt}
31376                }
31377
31378                function BE(t, n) {
31379                    return (0, GE[t.getType()])(Hj(t, !0, n), n)
31380                }
31381
31382                GE[Pt.POINT] = function (t, n) {
31383                    var i, r = t.getCoordinates(), e = t.getLayout();
31384                    e === At ? i = {x: r[0], y: r[1], z: r[2]} : e === Ct ? i = {
31385                        x: r[0],
31386                        y: r[1],
31387                        m: r[2]
31388                    } : e === Rt ? i = {x: r[0], y: r[1], z: r[2], m: r[3]} : e === Et ? i = {
31389                        x: r[0],
31390                        y: r[1]
31391                    } : Mt(!1, 34);
31392                    return i
31393                }, GE[Pt.LINE_STRING] = function (t, n) {
31394                    var i = qE(t);
31395                    return {hasZ: i.hasZ, hasM: i.hasM, paths: [t.getCoordinates()]}
31396                }, GE[Pt.POLYGON] = function (t, n) {
31397                    var i = qE(t);
31398                    return {hasZ: i.hasZ, hasM: i.hasM, rings: t.getCoordinates(!1)}
31399                }, GE[Pt.MULTI_POINT] = function (t, n) {
31400                    var i = qE(t);
31401                    return {hasZ: i.hasZ, hasM: i.hasM, points: t.getCoordinates()}
31402                }, GE[Pt.MULTI_LINE_STRING] = function (t, n) {
31403                    var i = qE(t);
31404                    return {hasZ: i.hasZ, hasM: i.hasM, paths: t.getCoordinates()}
31405                }, GE[Pt.MULTI_POLYGON] = function (t, n) {
31406                    for (var i = qE(t), r = t.getCoordinates(!1), e = [], o = 0; o < r.length; o++) for (var s = r[o].length - 1; s >= 0; s--) e.push(r[o][s]);
31407                    return {hasZ: i.hasZ, hasM: i.hasM, rings: e}
31408                };
31409                var WE = function (t) {
31410                    function n(n) {
31411                        var i = this, r = n || {};
31412                        return (i = t.call(this) || this).H = r.geometryName, i
31413                    }
31414
31415                    return FE(n, t), n.prototype.readFeatureFromObject = function (t, n, i) {
31416                        var r = t, e = DE(r.geometry, n), o = new Tt;
31417                        if (this.H && o.setGeometryName(this.H), o.setGeometry(e), r.attributes) {
31418                            o.setProperties(r.attributes, !0);
31419                            var s = r.attributes[i];
31420                            void 0 !== s && o.setId(s)
31421                        }
31422                        return o
31423                    }, n.prototype.readFeaturesFromObject = function (t, n) {
31424                        var i = n || {};
31425                        if (t.features) {
31426                            for (var r = [], e = t.features, o = 0, s = e.length; o < s; ++o) r.push(this.readFeatureFromObject(e[o], i, t.objectIdFieldName));
31427                            return r
31428                        }
31429                        return [this.readFeatureFromObject(t, i)]
31430                    }, n.prototype.readGeometryFromObject = function (t, n) {
31431                        return DE(t, n)
31432                    }, n.prototype.readProjectionFromObject = function (t) {
31433                        return t.spatialReference && void 0 !== t.spatialReference.wkid ? br("EPSG:" + t.spatialReference.wkid) : null
31434                    }, n.prototype.writeGeometryObject = function (t, n) {
31435                        return BE(t, this.adaptOptions(n))
31436                    }, n.prototype.writeFeatureObject = function (t, n) {
31437                        n = this.adaptOptions(n);
31438                        var i = {};
31439                        if (!t.hasProperties()) return i.attributes = {}, i;
31440                        var r = t.getProperties(), e = t.getGeometry();
31441                        if (e) {
31442                            i.geometry = BE(e, n);
31443                            var o = n && (n.dataProjection || n.featureProjection);
31444                            o && (i.geometry.spatialReference = {wkid: Number(br(o).getCode().split(":").pop())}), delete r[t.getGeometryName()]
31445                        }
31446                        return R(r) ? i.attributes = {} : i.attributes = r, i
31447                    }, n.prototype.writeFeaturesObject = function (t, n) {
31448                        n = this.adaptOptions(n);
31449                        for (var i = [], r = 0, e = t.length; r < e; ++r) i.push(this.writeFeatureObject(t[r], n));
31450                        return {features: i}
31451                    }, n
31452                }(cS), VE = function () {
31453                    var t = function (n, i) {
31454                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31455                            t.__proto__ = n
31456                        } || function (t, n) {
31457                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31458                        })(n, i)
31459                    };
31460                    return function (n, i) {
31461                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31462
31463                        function r() {
31464                            this.constructor = n
31465                        }
31466
31467                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31468                    }
31469                }(), XE = function (t) {
31470                    function n() {
31471                        var n = t.call(this) || this;
31472                        return n.Ip = Ff(), n
31473                    }
31474
31475                    return VE(n, t), n.prototype.getType = function () {
31476                        return uh
31477                    }, n.prototype.readFeature = function (t, n) {
31478                        if (t) {
31479                            if ("string" == typeof t) {
31480                                var i = gf(t);
31481                                return this.readFeatureFromDocument(i, n)
31482                            }
31483                            return wf(t) ? this.readFeatureFromDocument(t, n) : this.readFeatureFromNode(t, n)
31484                        }
31485                        return null
31486                    }, n.prototype.readFeatureFromDocument = function (t, n) {
31487                        var i = this.readFeaturesFromDocument(t, n);
31488                        return i.length > 0 ? i[0] : null
31489                    }, n.prototype.readFeatureFromNode = function (t, n) {
31490                        return null
31491                    }, n.prototype.readFeatures = function (t, n) {
31492                        if (t) {
31493                            if ("string" == typeof t) {
31494                                var i = gf(t);
31495                                return this.readFeaturesFromDocument(i, n)
31496                            }
31497                            return wf(t) ? this.readFeaturesFromDocument(t, n) : this.readFeaturesFromNode(t, n)
31498                        }
31499                        return []
31500                    }, n.prototype.readFeaturesFromDocument = function (t, n) {
31501                        for (var i = [], r = t.firstChild; r; r = r.nextSibling) r.nodeType == Node.ELEMENT_NODE && b(i, this.readFeaturesFromNode(r, n));
31502                        return i
31503                    }, n.prototype.readFeaturesFromNode = function (t, n) {
31504                        return r()
31505                    }, n.prototype.readGeometry = function (t, n) {
31506                        if (t) {
31507                            if ("string" == typeof t) {
31508                                var i = gf(t);
31509                                return this.readGeometryFromDocument(i, n)
31510                            }
31511                            return wf(t) ? this.readGeometryFromDocument(t, n) : this.readGeometryFromNode(t, n)
31512                        }
31513                        return null
31514                    }, n.prototype.readGeometryFromDocument = function (t, n) {
31515                        return null
31516                    }, n.prototype.readGeometryFromNode = function (t, n) {
31517                        return null
31518                    }, n.prototype.readProjection = function (t) {
31519                        if (t) {
31520                            if ("string" == typeof t) {
31521                                var n = gf(t);
31522                                return this.readProjectionFromDocument(n)
31523                            }
31524                            return wf(t) ? this.readProjectionFromDocument(t) : this.readProjectionFromNode(t)
31525                        }
31526                        return null
31527                    }, n.prototype.readProjectionFromDocument = function (t) {
31528                        return this.dataProjection
31529                    }, n.prototype.readProjectionFromNode = function (t) {
31530                        return this.dataProjection
31531                    }, n.prototype.writeFeature = function (t, n) {
31532                        var i = this.writeFeatureNode(t, n);
31533                        return this.Ip.serializeToString(i)
31534                    }, n.prototype.writeFeatureNode = function (t, n) {
31535                        return null
31536                    }, n.prototype.writeFeatures = function (t, n) {
31537                        var i = this.writeFeaturesNode(t, n);
31538                        return this.Ip.serializeToString(i)
31539                    }, n.prototype.writeFeaturesNode = function (t, n) {
31540                        return null
31541                    }, n.prototype.writeGeometry = function (t, n) {
31542                        var i = this.writeGeometryNode(t, n);
31543                        return this.Ip.serializeToString(i)
31544                    }, n.prototype.writeGeometryNode = function (t, n) {
31545                        return null
31546                    }, n
31547                }(Xj), HE = function () {
31548                    var t = function (n, i) {
31549                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31550                            t.__proto__ = n
31551                        } || function (t, n) {
31552                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31553                        })(n, i)
31554                    };
31555                    return function (n, i) {
31556                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31557
31558                        function r() {
31559                            this.constructor = n
31560                        }
31561
31562                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31563                    }
31564                }(), JE = "http://www.opengis.net/gml", KE = /^[\s\xa0]*$/, YE = function (t) {
31565                    function n(n) {
31566                        var i = t.call(this) || this, r = n || {};
31567                        return i.featureType = r.featureType, i.featureNS = r.featureNS, i.srsName = r.srsName, i.schemaLocation = "", i.FEATURE_COLLECTION_PARSERS = {}, i.FEATURE_COLLECTION_PARSERS[i.namespace] = {
31568                            featureMember: jf(i.readFeaturesInternal),
31569                            featureMembers: Sf(i.readFeaturesInternal)
31570                        }, i.supportedMediaTypes = ["application/gml+xml"], i
31571                    }
31572
31573                    return HE(n, t), n.prototype.readFeaturesInternal = function (t, n) {
31574                        var i = t.localName, r = null;
31575                        if ("FeatureCollection" == i) r = Pf([], this.FEATURE_COLLECTION_PARSERS, t, n, this); else if ("featureMembers" == i || "featureMember" == i || "member" == i) {
31576                            var e = n[0], o = e.featureType, s = e.featureNS;
31577                            if (!o && t.childNodes) {
31578                                o = [], s = {};
31579                                for (var a = 0, u = t.childNodes.length; a < u; ++a) {
31580                                    var c = t.childNodes[a];
31581                                    if (1 === c.nodeType) {
31582                                        var h = c.nodeName.split(":").pop();
31583                                        if (-1 === o.indexOf(h)) {
31584                                            var f = "", l = 0, v = c.namespaceURI;
31585                                            for (var d in s) {
31586                                                if (s[d] === v) {
31587                                                    f = d;
31588                                                    break
31589                                                }
31590                                                ++l
31591                                            }
31592                                            f || (s[f = "p" + l] = v), o.push(f + ":" + h)
31593                                        }
31594                                    }
31595                                }
31596                                "featureMember" != i && (e.featureType = o, e.featureNS = s)
31597                            }
31598                            if ("string" == typeof s) {
31599                                var p = s;
31600                                (s = {}).p0 = p
31601                            }
31602                            var y = {}, m = Array.isArray(o) ? o : [o];
31603                            for (var w in s) {
31604                                var b = {};
31605                                for (a = 0, u = m.length; a < u; ++a) {
31606                                    (-1 === m[a].indexOf(":") ? "p0" : m[a].split(":")[0]) === w && (b[m[a].split(":").pop()] = "featureMembers" == i ? jf(this.readFeatureElement, this) : Sf(this.readFeatureElement, this))
31607                                }
31608                                y[s[w]] = b
31609                            }
31610                            r = Pf("featureMember" == i || "member" == i ? void 0 : [], y, t, n)
31611                        }
31612                        return null === r && (r = []), r
31613                    }, n.prototype.readGeometryElement = function (t, n) {
31614                        var i = n[0];
31615                        i.srsName = t.firstElementChild.getAttribute("srsName"), i.srsDimension = t.firstElementChild.getAttribute("srsDimension");
31616                        var r = Pf(null, this.GEOMETRY_PARSERS, t, n, this);
31617                        return r ? Array.isArray(r) ? Jj(r, i) : Hj(r, !1, i) : void 0
31618                    }, n.prototype.readFeatureElementInternal = function (t, n, i) {
31619                        for (var r, e = {}, o = t.firstElementChild; o; o = o.nextElementSibling) {
31620                            var s = void 0, a = o.localName;
31621                            0 === o.childNodes.length || 1 === o.childNodes.length && (3 === o.firstChild.nodeType || 4 === o.firstChild.nodeType) ? (s = yf(o, !1), KE.test(s) && (s = void 0)) : (i && (s = this.readGeometryElement(o, n)
31621), s ? "boundedBy" !== a && (r = a) : s = this.readFeatureElementInternal(o, n, !1)), e[a] ? (e[a] instanceof Array || (e[a] = [e[a]]), e[a].push(s)) : e[a] = s;
31622                            var u = o.attributes.length;
31623                            if (u > 0) {
31624                                e[a] = {Np: e[a]};
31625                                for (var c = 0; c < u; c++) {
31626                                    var h = o.attributes[c].name;
31627                                    e[a][h] = o.attributes[c].value
31628                                }
31629                            }
31630                        }
31631                        if (i) {
31632                            var f = new Tt(e);
31633                            r && f.setGeometryName(r);
31634                            var l = t.getAttribute("fid") || bf(t, this.namespace, "id");
31635                            return l && f.setId(l), f
31636                        }
31637                        return e
31638                    }, n.prototype.readFeatureElement = function (t, n) {
31639                        return this.readFeatureElementInternal(t, n, !0)
31640                    }, n.prototype.readPoint = function (t, n) {
31641                        var i = this.readFlatCoordinatesFromNode(t, n);
31642                        if (i) return new Oe(i, At)
31643                    }, n.prototype.readMultiPoint = function (t, n) {
31644                        var i = Pf([], this.MULTIPOINT_PARSERS, t, n, this);
31645                        return i ? new yj(i) : void 0
31646                    }, n.prototype.readMultiLineString = function (t, n) {
31647                        var i = Pf([], this.MULTILINESTRING_PARSERS, t, n, this);
31648                        if (i) return new Sj(i)
31649                    }, n.prototype.readMultiPolygon = function (t, n) {
31650                        var i = Pf([], this.MULTIPOLYGON_PARSERS, t, n, this);
31651                        if (i) return new _j(i)
31652                    }, n.prototype.pointMemberParser = function (t, n) {
31653                        Rf(this.POINTMEMBER_PARSERS, t, n, this)
31654                    }, n.prototype.lineStringMemberParser = function (t, n) {
31655                        Rf(this.LINESTRINGMEMBER_PARSERS, t, n, this)
31656                    }, n.prototype.polygonMemberParser = function (t, n) {
31657                        Rf(this.POLYGONMEMBER_PARSERS, t, n, this)
31658                    }, n.prototype.readLineString = function (t, n) {
31659                        var i = this.readFlatCoordinatesFromNode(t, n);
31660                        return i ? new xj(i, At) : void 0
31661                    }, n.prototype.readFlatLinearRing = function (t, n) {
31662                        var i = Pf(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS, t, n, this);
31663                        return i || void 0
31664                    }, n.prototype.readLinearRing = function (t, n) {
31665                        var i = this.readFlatCoordinatesFromNode(t, n);
31666                        if (i) return new Me(i, At)
31667                    }, n.prototype.readPolygon = function (t, n) {
31668                        var i = Pf([null], this.FLAT_LINEAR_RINGS_PARSERS, t, n, this);
31669                        if (i && i[0]) {
31670                            var r, e = i[0], o = [e.length], s = void 0;
31671                            for (s = 1, r = i.length; s < r; ++s) b(e, i[s]), o.push(e.length);
31672                            return new Ke(e, At, o)
31673                        }
31674                    }, n.prototype.readFlatCoordinatesFromNode = function (t, n) {
31675                        return Pf(null, this.GEOMETRY_FLAT_COORDINATES_PARSERS, t, n, this)
31676                    }, n.prototype.readGeometryFromNode = function (t, n) {
31677                        var i = this.readGeometryElement(t, [this.getReadOptions(t, n || {})]);
31678                        return i || null
31679                    }, n.prototype.readFeaturesFromNode = function (t, n) {
31680                        var i = {featureType: this.featureType, featureNS: this.featureNS};
31681                        return n && E(i, this.getReadOptions(t, n)), this.readFeaturesInternal(t, [i]) || []
31682                    }, n.prototype.readProjectionFromNode = function (t) {
31683                        return br(this.srsName ? this.srsName : t.firstElementChild.getAttribute("srsName"))
31684                    }, n
31685                }(XE);
31686                YE.prototype.namespace = JE, YE.prototype.FLAT_L
31686INEAR_RINGS_PARSERS = {"http://www.opengis.net/gml": {}}, YE.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {"http://www.opengis.net/gml": {}}, YE.prototype.GEOMETRY_PARSERS = {"http://www.opengis.net/gml": {}}, YE.prototype.MULTIPOINT_PARSERS = {
31687                    "http://www.opengis.net/gml": {
31688                        pointMember: jf(YE.prototype.pointMemberParser),
31689                        pointMembers: jf(YE.prototype.pointMemberParser)
31690                    }
31691                }, YE.prototype.MULTILINESTRING_PARSERS = {
31692                    "http://www.opengis.net/gml": {
31693                        lineStringMember: jf(YE.prototype.lineStringMemberParser),
31694                        lineStringMembers: jf(YE.prototype.lineStringMemberParser)
31695                    }
31696                }, YE.prototype.MULTIPOLYGON_PARSERS = {
31697                    "http://www.opengis.net/gml": {
31698                        polygonMember: jf(YE.prototype.polygonMemberParser),
31699                        polygonMembers: jf(YE.prototype.polygonMemberParser)
31700                    }
31701                }, YE.prototype.POINTMEMBER_PARSERS = {"http://www.opengis.net/gml": {Point: jf(YE.prototype.readFlatCoordinatesFromNode)}}, YE.prototype.LINESTRINGMEMBER_PARSERS = {"http://www.opengis.net/gml": {LineString: jf(YE.prototype.readLineString)}}, YE.prototype.POLYGONMEMBER_PARSERS = {"http://www.opengis.net/gml": {Polygon: jf(YE.prototype.readPolygon)}}, YE.prototype.RING_PARSERS = {"http://www.opengis.net/gml": {LinearRing: Sf(YE.prototype.readFlatLinearRing)}};
31702                var ZE = YE;
31703
31704                function $E(t) {
31705                    return QE(yf(t, !1))
31706                }
31707
31708                function QE(t) {
31709                    var n = /^\s*(true|1)|(false|0)\s*$/.exec(t);
31710                    return n ? void 0 !== n[1] || !1 : void 0
31711                }
31712
31713                function tA(t) {
31714                    var n = yf(t, !1), i = Date.parse(n);
31715                    return isNaN(i) ? void 0 : i / 1e3
31716                }
31717
31718                function nA(t) {
31719                    return iA(yf(t, !1))
31720                }
31721
31722                function iA(t) {
31723                    var n = /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)\s*$/i.exec(t);
31724                    return n ? parseFloat(n[1]) : void 0
31725                }
31726
31727                function rA(t) {
31728                    return eA(yf(t, !1))
31729                }
31730
31731                function eA(t) {
31732                    var n = /^\s*(\d+)\s*$/.exec(t);
31733                    return n ? parseInt(n[1], 10) : void 0
31734                }
31735
31736                function oA(t) {
31737                    return yf(t, !1).trim()
31738                }
31739
31740                function sA(t, n) {
31741                    fA(t, n ? "1" : "0")
31742                }
31743
31744                function aA(t, n) {
31745                    t.appendChild(Gf().createCDATASection(n))
31746                }
31747
31748                function uA(t, n) {
31749                    var i = new Date(1e3 * n),
31750                        r = i.getUTCFullYear() + "-" + Xi(i.getUTCMonth() + 1, 2) + "-" + Xi(i.getUTCDate(), 2) + "T" + Xi(i.getUTCHours(), 2) + ":" + Xi(i.getUTCMinutes(), 2) + ":" + Xi(i.getUTCSeconds(), 2) + "Z";
31751                    t.appendChild(Gf().createTextNode(r))
31752                }
31753
31754                function cA(t, n) {
31755                    var i = n.toPrecision();
31756                    t.appendChild(Gf().createTextNode(i))
31757                }
31758
31759                function hA(t, n) {
31760                    var i = n.toString();
31761                    t.appendChild(Gf().createTextNode(i))
31762                }
31763
31764                function fA(t, n) {
31765                    t.appendChild(Gf().createTextNode(n))
31766                }
31767
31768                var lA = function () {
31769                    var t = function (n, i) {
31770                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31771                            t.__proto__ = n
31772                        } || function (t, n) {
31773                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
31774                        })(n, i)
31775                    };
31776                    return function (n, i) {
31777                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
31778
31779                        function r() {
31780                            this.constructor = n
31781                        }
31782
31783                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
31784                    }
31785                }(), vA = {
31786                    MultiLineString: "lineStringMember",
31787                    MultiCurve: "curveMember",
31788                    MultiPolygon: "polygonMember",
31789                    MultiSurface: "surfaceMember"
31790                }, dA = function (t) {
31791                    function n(n) {
31792                        var i = this, r = n || {};
31793                        return (i = t.call(this, r) || this).FEATURE_COLLECTION_PARSERS[JE].featureMember = jf(i.readFeaturesInternal), i.schemaLocation = r.schemaLocation ? r.schemaLocation : "http://www.opengis.net/gml http://schemas.opengis.net/gml/2.1.2/feature.xsd", i
31794                    }
31795
31796                    return lA(n, t), n.prototype.readFlatCoordinates = function (t, n) {
31797                        var i = yf(t, !1).replace(/^\s*|\s*$/g, ""), r = n[0].srsName, e = "enu";
31798                        if (r) {
31799                            var o = br(r);
31800                            o && (e = o.getAxisOrientation())
31801                        }
31802                        for (var s = i.trim().split(/\s+/), a = [], u = 0, c = s.length; u < c; u++) {
31803                            var h = s[u].split(/,+/), f = parseFloat(h[0]), l = parseFloat(h[1]),
31804                                v = 3 === h.length ? parseFloat(h[2]) : 0;
31805                            "en" === e.substr(0, 2) ? a.push(f, l, v) : a.push(l, f, v)
31806                        }
31807                        return a
31808                    }, n.prototype.readBox = function (t, n) {
31809                        var i = Pf([null], this.zp, t, n, this);
31810                        return An(i[1][0], i[1][1], i[1][3], i[1][4])
31811                    }, n.prototype.innerBoundaryIsParser = function (t, n) {
31812                        var i = Pf(void 0, this.RING_PARSERS, t, n, this);
31813                        i && n[n.length - 1].push(i)
31814                    }, n.prototype.outerBoundaryIsParser = function (t, n) {
31815                        var i = Pf(void 0, this.RING_PARSERS, t, n, this);
31816                        i && (n[n.length - 1][0] = i)
31817                    }, n.prototype.Fp = function (t, n, i) {
31818                        var r, e = n[n.length - 1], o = e.multiSurface, s = e.surface, a = e.multiCurve;
31819                        return Array.isArray(t) ? r = "Envelope" : "MultiPolygon" === (r = t.getType()) && !0 === o ? r = "MultiSurface" : "Polygon" === r && !0 === s ? r = "Surface" : "MultiLineString" === r && !0 === a && (r = "MultiCurve"), pf("http://www.opengis.net/gml", r)
31820                    }, n.prototype.writeFeatureElement = function (t, n, i) {
31821                        var r = n.getId();
31822                        r && t.setAttribute("fid", r);
31823                        var e = i[i.length - 1], o = e.featureNS, s = n.getGeometryName();
31824                        e.serializers || (e.serializers = {}, e.serializers[o] = {});
31825                        var a = [], u = [];
31826                        if (n.hasProperties()) {
31827                            var c = n.getProperties();
31828                            for (var h in c) {
31829                                var f = c[h];
31830                                null !== f && (a.push(h), u.push(f), h == s || "function" == typeof f.getSimplifiedGeometry ? h in e.serializers[o] || (e.serializers[o][h] = _f(this.writeGeometryElement, this)) : h in e.serializers[o] || (e.serializers[o][h] = _f(fA)))
31831                            }
31832                        }
31833                        var l = E({}, e);
31834                        l.node = t, Nf(l, e.serializers, Tf(void 0, o), u, i, a)
31835                    }, n.prototype.writeCurveOrLineString = function (t, n, i) {
31836                        var r = i[i.length - 1].srsName;
31837                        if ("LineStringSegment" !== t.nodeName && r && t.setAttribute("srsName", r), "LineString" === t.nodeName || "LineStringSegment" === t.nodeName) {
31838                            var e = this.Lp(t.namespaceURI);
31839                            t.appendChild(e), this.Gp(e, n, i)
31840                        } else if ("Curve" === t.nodeName) {
31841                            var o = pf(t.namespaceURI, "segments");
31842                            t.appendChild(o), this.Dp(o, n, i)
31843                        }
31844                    }, n.prototype.writeLineStringOrCurveMember = function (t, n, i) {
31845                        var r = this.Fp(n, i);
31846                        r && (t.appendChild(r), this.writeCurveOrLineString(r, n, i))
31847                    }, n.prototype.writeMultiCurveOrLineString = function (t, n, i) {
31848                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName, s = r.curve;
31849                        o && t.setAttribute("srsName", o);
31850                        var a = n.getLineStrings();
31851                        Nf({
31852                            node: t,
31853                            hasZ: e,
31854                            srsName: o,
31855                            curve: s
31856                        }, this.LINESTRINGORCURVEMEMBER_SERIALIZERS, this.Up, a, i, void 0, this)
31857                    }, n.prototype.writeGeometryElement = function (t, n, i) {
31858                        var r, e = i[i.length - 1], o = E({}, e);
31859                        o.node = t, r = Array.isArray(n) ? Jj(n, e) : Hj(n, !0, e), Nf(o, this.GEOMETRY_SERIALIZERS, this.Fp, [r], i, void 0, this)
31860                    }, n.prototype.Lp = function (t) {
31861                        var n = pf(t, "coordinates");
31862                        return n.setAttribute("decimal", "."), n.setAttribute("cs", ","), n.setAttribute("ts", " "), n
31863                    }, n.prototype.Gp = function (t, n, i) {
31864                        for (var r = i[i.length - 1], e = r.hasZ, o = r.srsName, s = n.getCoordinates(), a = s.length, u = new Array(a), c = 0; c < a; ++c) {
31865                            var h = s[c];
31866                            u[c] = this.qp(h, o, e)
31867                        }
31868                        fA(t, u.join(" "))
31869                    }, n.prototype.Dp = function (t, n, i) {
31870                        var r = pf(t.namespaceURI, "LineStringSegment");
31871                        t.appendChild(r), this.writeCurveOrLineString(r, n, i)
31872                    }, n.prototype.writeSurfaceOrPolygon = function (t, n, i) {
31873                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName;
31874                        if ("PolygonPatch" !== t.nodeName && o && t.setAttribute("srsName", o), "Polygon" === t.nodeName || "PolygonPatch" === t.nodeName) {
31875                            var s = n.getLinearRings();
31876                            Nf({node: t, hasZ: e, srsName: o}, this.RING_SERIALIZERS, this.Bp, s, i, void 0, this)
31877                        } else if ("Surface" === t.nodeName) {
31878                            var a = pf(t.namespaceURI, "patches");
31879                            t.appendChild(a), this.Wp(a, n, i)
31880                        }
31881                    }, n.prototype.Bp = function (t, n, i) {
31882                        var r = n[n.length - 1], e = r.node, o = r.exteriorWritten;
31883                        return void 0 === o && (r.exteriorWritten = !0), pf(e.namespaceURI, void 0 !== o ? "innerBoundaryIs" : "outerBoundaryIs")
31884                    }, n.prototype.Wp = function (t, n, i) {
31885                        var r = pf(t.namespaceURI, "PolygonPatch");
31886                        t.appendChild(r), this.writeSurfaceOrPolygon(r, n, i)
31887                    }, n.prototype.writeRing = function (t, n, i) {
31888                        var r = pf(t.namespaceURI, "LinearRing");
31889                        t.appendChild(r), this.writeLinearRing(r, n, i)
31890                    }, n.prototype.qp = function (t, n, i) {
31891                        var r = "enu";
31892                        n && (r = br(n).getAxisOrientation());
31893                        var e = "en" === r.substr(0, 2) ? t[0] + "," + t[1] : t[1] + "," + t[0];
31894                        i && (e += "," + (t[2] || 0));
31895                        return e
31896                    }, n.prototype.writePoint = function (t, n, i) {
31897                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName;
31898                        o && t.setAttribute("srsName", o);
31899                        var s = this.Lp(t.namespaceURI);
31900                        t.appendChild(s);
31901                        var a = n.getCoordinates();
31902                        fA(s, this.qp(a, o, e))
31903                    }, n.prototype.writeMultiPoint = function (t, n, i) {
31904                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName;
31905                        o && t.setAttribute("srsName", o);
31906                        var s = n.getPoints();
31907                        Nf({
31908                            node: t,
31909                            hasZ: e,
31910                            srsName: o
31911                        }, this.POINTMEMBER_SERIALIZERS, Tf("pointMember"), s, i, void 0, this)
31912                    }, n.prototype.writePointMember = function (t, n, i) {
31913                        var r = pf(t.namespaceURI, "Point");
31914                        t.appendChild(r), this.writePoint(r, n, i)
31915                    }, n.prototype.writeLinearRing = function (t, n, i) {
31916                        var r = i[i.length - 1].srsName;
31917                        r && t.setAttribute("srsName", r);
31918                        var e = this.Lp(t.namespaceURI);
31919                        t.appendChild(e), this.Gp(e, n, i)
31920                    }, n.prototype.writeMultiSurfaceOrPolygon = function (t, n, i) {
31921                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName, s = r.surface;
31922                        o && t.setAttribute("srsName", o);
31923                        var a = n.getPolygons();
31924                        Nf({
31925                            node: t,
31926                            hasZ: e,
31927                            srsName: o,
31928                            surface: s
31929                        }, this.SURFACEORPOLYGONMEMBER_SERIALIZERS, this.Up, a, i, void 0, this)
31930                    }, n.prototype.writeSurfaceOrPolygonMember = function (t, n, i) {
31931                        var r = this.Fp(n, i);
31932                        r && (t.appendChild(r), this.writeSurfaceOrPolygon(r, n, i))
31933                    }, n.prototype.writeEnvelope = function (t, n, i) {
31934                        var r = i[i.length - 1].srsName;
31935                        r && t.setAttribute("srsName", r);
31936                        var e = [n[0] + " " + n[1], n[2] + " " + n[3]];
31937                        Nf({node: t}, this.ENVELOPE_SERIALIZERS, Ef, e, i, ["lowerCorner", "upperCorner"], this)
31938                    }, n.prototype.Up = function (t, n, i) {
31939                        var r = n[n.length - 1].node;
31940                        return pf("http://www.opengis.net/gml", vA[r.nodeName])
31941                    }, n
31942                }(ZE);
31943                dA.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {"http://www.opengis.net/gml": {coordinates: Sf(dA.prototype.readFlatCoordinates)}}, dA.prototype.FLAT_LINEAR_RINGS_PARSERS = {
31944                    "http://www.opengis.net/gml": {
31945                        innerBoundaryIs: dA.prototype.innerBoundaryIsParser,
31946                        outerBoundaryIs: dA.prototype.outerBoundaryIsParser
31947                    }
31948                }, dA.prototype.zp = {"http://www.opengis.net/gml": {coordinates: jf(dA.prototype.readFlatCoordinates)}}, dA.prototype.GEOMETRY_PARSERS = {
31949                    "http://www.opengis.net/gml": {
31950                        Point: Sf(ZE.prototype.readPoint),
31951                        MultiPoint: Sf(ZE.prototype.readMultiPoint),
31952                        LineString: Sf(ZE.prototype.readLineString),
31953                        MultiLineString: Sf(ZE.prototype.readMultiLineString),
31954                        LinearRing: Sf(ZE.prototype.readLinearRing),
31955                        Polygon: Sf(ZE.prototype.readPolygon),
31956                        MultiPolygon: Sf(ZE.prototype.readMultiPolygon),
31957                        Box: Sf(dA.prototype.readBox)
31958                    }
31959                }, dA.prototype.GEOMETRY_SERIALIZERS = {
31960                    "http://www.opengis.net/gml": {
31961                        Curve: _f(dA.prototype.writeCurveOrLineString),
31962                        MultiCurve: _f(dA.prototype.writeMultiCurveOrLineString),
31963                        Point: _f(dA.prototype.writePoint),
31964                        MultiPoint: _f(dA.prototype.writeMultiPoint),
31965                        LineString: _f(dA.prototype.writeCurveOrLineString),
31966                        MultiLineString: _f(dA.prototype.writeMultiCurveOrLineString),
31967                        LinearRing: _f(dA.prototype.writeLinearRing),
31968                        Polygon: _f(dA.prototype.writeSurfaceOrPolygon),
31969                        MultiPolygon: _f(dA.prototype.writeMultiSurfaceOrPolygon),
31970                        Surface: _f(dA.prototype.writeSurfaceOrPolygon),
31971                        MultiSurface: _f(dA.prototype.writeMultiSurfaceOrPolygon),
31972                        Envelope: _f(dA.prototype.writeEnvelope)
31973                    }
31974                }, dA.prototype.LINESTRINGORCURVEMEMBER_SERIALIZERS = {
31975                    "http://www.opengis.net/gml": {
31976                        lineStringMember: _f(dA.prototype.writeLineStringOrCurveMember),
31977                        curveMember: _f(dA.prototype.writeLineStringOrCurveMember)
31978                    }
31979                }, dA.prototype.RING_SERIALIZERS = {
31980                    "http://www.opengis.net/gml": {
31981                        outerBoundaryIs: _f(dA.prototype.writeRing),
31982                        innerBoundaryIs: _f(dA.prototype.writeRing)
31983                    }
31984                }, dA.prototype.POINTMEMBER_SERIALIZERS = {"http://www.opengis.net/gml": {pointMember: _f(dA.prototype.writePointMember)}}, dA.prototype.SURFACEORPOLYGONMEMBER_SERIALIZERS = {
31985                    "http://www.opengis.net/gml": {
31986                        surfaceMember: _f(dA.prototype.writeSurfaceOrPolygonMember),
31987                        polygonMember: _f(dA.prototype.writeSurfaceOrPolygonMember)
31988                    }
31989                }, dA.prototype.ENVELOPE_SERIALIZERS = {
31990                    "http://www.opengis.net/gml": {
31991                        lowerCorner: _f(fA),
31992                        upperCorner: _f(fA)
31993                    }
31994                };
31995                var pA = dA, yA = function () {
31996                    var t = function (n, i) {
31997                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
31998                            t.__proto__ = n
31999                        } || function (t, n) {
32000                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32001                        })(n, i)
32002                    };
32003                    return function (n, i) {
32004                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32005
32006                        function r() {
32007                            this.constructor = n
32008                        }
32009
32010                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32011                    }
32012                }(), mA = {
32013                    MultiLineString: "lineStringMember",
32014                    MultiCurve: "curveMember",
32015                    MultiPolygon: "polygonMember",
32016                    MultiSurface: "surfaceMember"
32017                }, wA = function (t) {
32018                    function n(n) {
32019                        var i = this, r = n || {};
32020                        return (i = t.call(this, r) || this).Vp = void 0 !== r.surface && r.surface, i.Xp = void 0 !== r.curve && r.curve, i.Hp = void 0 === r.multiCurve || r.multiCurve, i.Jp = void 0 === r.multiSurface || r.multiSurface, i.schemaLocation = r.schemaLocation ? r.schemaLocation : "http://www.opengis.net/gml http://schemas.opengis.net/gml/3.1.1/profiles/gmlsfProfile/1.0.0/gmlsf.xsd", i.hasZ = void 0 !== r.hasZ && r.hasZ, i
32021                    }
32022
32023                    return yA(n, t), n.prototype.readMultiCurve = function (t, n) {
32024                        var i = Pf([], this.MULTICURVE_PARSERS, t, n, this);
32025                        return i ? new Sj(i) : void 0
32026                    }, n.prototype.readMultiSurface = function (t, n) {
32027                        var i = Pf([], this.MULTISURFACE_PARSERS, t, n, this);
32028                        if (i) return new _j(i)
32029                    }, n.prototype.curveMemberParser = function (t, n) {
32030                        Rf(this.CURVEMEMBER_PARSERS, t, n, this)
32031                    }, n.prototype.surfaceMemberParser = function (t, n) {
32032                        Rf(this.SURFACEMEMBER_PARSERS, t, n, this)
32033                    }, n.prototype.readPatch = function (t, n) {
32034                        return Pf([null], this.PATCHES_PARSERS, t, n, this)
32035                    }, n.prototype.readSegment = function (t, n) {
32036                        return Pf([null], this.SEGMENTS_PARSERS, t, n, this)
32037                    }, n.prototype.readPolygonPatch = function (t, n) {
32038                        return Pf([null], this.FLAT_LINEAR_RINGS_PARSERS, t, n, this)
32039                    }, n.prototype.readLineStringSegment = function (t, n) {
32040                        return Pf([null], this.GEOMETRY_FLAT_COORDINATES_PARSERS, t, n, this)
32041                    }, n.prototype.interiorParser = function (t, n) {
32042                        var i = Pf(void 0, this.RING_PARSERS, t, n, this);
32043                        i && n[n.length - 1].push(i)
32044                    }, n.prototype.exteriorParser = function (t, n) {
32045                        var i = Pf(void 0, this.RING_PARSERS, t, n, this);
32046                        i && (n[n.length - 1][0] = i)
32047                    }, n.prototype.readSurface = function (t, n) {
32048                        var i = Pf([null], this.SURFACE_PARSERS, t, n, this);
32049                        if (i && i[0]) {
32050                            var r, e = i[0], o = [e.length], s = void 0;
32051                            for (s = 1, r = i.length; s < r; ++s) b(e, i[s]), o.push(e.length);
32052                            return new Ke(e, At, o)
32053                        }
32054                    }, n.prototype.readCurve = function (t, n) {
32055                        var i = Pf([null], this.CURVE_PARSERS, t, n, this);
32056                        return i ? new xj(i, At) : void 0
32057                    }, n.prototype.readEnvelope = function (t, n) {
32058                        var i = Pf([null], this.ENVELOPE_PARSERS, t, n, this);
32059                        return An(i[1][0], i[1][1], i[2][0], i[2][1])
32060                    }
32060, n.prototype.readFlatPos = function (t, n) {
32061                        for (var i, r = yf(t, !1), e = /^\s*([+\-]?\d*\.?\d+(?:[eE][+\-]?\d+)?)\s*/, o = []; i = e.exec(r);) o.push(parseFloat(i[1])), r = r.substr(i[0].length);
32062                        if ("" === r) {
32063                            var s = n[0].srsName, a = "enu";
32064                            if (s) a = br(s).getAxisOrientation();
32065                            if ("neu" === a) {
32066                                var u, c = void 0;
32067                                for (c = 0, u = o.length; c < u; c += 3) {
32068                                    var h = o[c], f = o[c + 1];
32069                                    o[c] = f, o[c + 1] = h
32070                                }
32071                            }
32072                            var l = o.length;
32073                            if (2 == l && o.push(0), 0 !== l) return o
32074                        }
32075                    }, n.prototype.readFlatPosList = function (t, n) {
32076                        var i = yf(t, !1).replace(/^\s*|\s*$/g, ""), r = n[0], e = r.srsName, o = r.srsDimension,
32077                            s = "enu";
32078                        e && (s = br(e).getAxisOrientation());
32079                        var a, u, c, h = i.split(/\s+/), f = 2;
32080                        t.getAttribute("srsDimension") ? f = eA(t.getAttribute("srsDimension")) : t.getAttribute("dimension") ? f = eA(t.getAttribute("dimension")) : t.parentNode.getAttribute("srsDimension") ? f = eA(t.parentNode.getAttribute("srsDimension")) : o && (f = eA(o));
32081                        for (var l = [], v = 0, d = h.length; v < d; v += f) a = parseFloat(h[v]), u = parseFloat(h[v + 1]), c = 3 === f ? parseFloat(h[v + 2]) : 0, "en" === s.substr(0, 2) ? l.push(a, u, c) : l.push(u, a, c);
32082                        return l
32083                    }, n.prototype.Kp = function (t, n, i) {
32084                        var r = i[i.length - 1], e = r.hasZ, o = e ? "3" : "2";
32085                        t.setAttribute("srsDimension", o);
32086                        var s = r.srsName, a = "enu";
32087                        s && (a = br(s).getAxisOrientation());
32088                        var u, c = n.getCoordinates();
32089                        (u = "en" === a.substr(0, 2) ? c[0] + " " + c[1] : c[1] + " " + c[0], e) && (u += " " + (c[2] || 0));
32090                        fA(t, u)
32091                    }, n.prototype.qp = function (t, n, i) {
32092                        var r = "enu";
32093                        n && (r = br(n).getAxisOrientation());
32094                        var e = "en" === r.substr(0, 2) ? t[0] + " " + t[1] : t[1] + " " + t[0];
32095                        i && (e += " " + (t[2] || 0));
32096                        return e
32097                    }, n.prototype.Yp = function (t, n, i) {
32098                        var r = i[i.length - 1], e = r.hasZ, o = e ? "3" : "2";
32099                        t.setAttribute("srsDimension", o);
32100                        for (var s, a = r.srsName, u = n.getCoordinates(), c = u.length, h = new Array(c), f = 0; f < c; ++f) s = u[f], h[f] = this.qp(s, a, e);
32101                        fA(t, h.join(" "))
32102                    }, n.prototype.writePoint = function (t, n, i) {
32103                        var r = i[i.length - 1].srsName;
32104                        r && t.setAttribute("srsName", r);
32105                        var e = pf(t.namespaceURI, "pos");
32106                        t.appendChild(e), this.Kp(e, n, i)
32107                    }, n.prototype.writeEnvelope = function (t, n, i) {
32108                        var r = i[i.length - 1].srsName;
32109                        r && t.setAttribute("srsName", r);
32110                        var e = [n[0] + " " + n[1], n[2] + " " + n[3]];
32111                        Nf({node: t}, this.ENVELOPE_SERIALIZERS, Ef, e, i, ["lowerCorner", "upperCorner"], this)
32112                    }, n.prototype.writeLinearRing = function (t, n, i) {
32113                        var r = i[i.length - 1].srsName;
32114                        r && t.setAttribute("srsName", r);
32115                        var e = pf(t.namespaceURI, "posList");
32116                        t.appendChild(e), this.Yp(e, n, i)
32117                    }, n.prototype.Bp = function (t, n, i) {
32118                        var r = n[n.length - 1], e = r.node, o = r.exteriorWritten;
32119                        return void 0 === o && (r.exteriorWritten = !0), pf(e.namespaceURI, void 0 !== o ? "interior" : "exterior")
32120                    }, n.prototype.writeSurfaceOrPolygon = function (t, n, i) {
32121                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName;
32122                        if ("PolygonPatch" !== t.nodeName && o && t.setAttribute("srsName", o), "Polygon" === t.nodeName || "PolygonPatch" === t.nodeName) {
32123                            var s = n.getLinearRings();
32124                            Nf({node: t, hasZ: e, srsName: o}, this.RING_SERIALIZERS, this.Bp, s, i, void 0, this)
32125                        } else if ("Surface" === t.nodeName) {
32126                            var a = pf(t.namespaceURI, "patches");
32127                            t.appendChild(a), this.Wp(a, n, i)
32128                        }
32129                    }, n.prototype.writeCurveOrLineString = function (t, n, i) {
32130                        var r = i[i.length - 1].srsName;
32131                        if ("LineStringSegment" !== t.nodeName && r && t.setAttribute("srsName", r), "LineString" === t.nodeName || "LineStringSegment" === t.nodeName) {
32132                            var e = pf(t.namespaceURI, "posList");
32133                            t.appendChild(e), this.Yp(e, n, i)
32134                        } else if ("Curve" === t.nodeName) {
32135                            var o = pf(t.namespaceURI, "segments");
32136                            t.appendChild(o), this.Dp(o, n, i)
32137                        }
32138                    }, n.prototype.writeMultiSurfaceOrPolygon = function (t, n, i) {
32139                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName, s = r.surface;
32140                        o && t.setAttribute("srsName", o);
32141                        var a = n.getPolygons();
32142                        Nf({
32143                            node: t,
32144                            hasZ: e,
32145                            srsName: o,
32146                            surface: s
32147                        }, this.SURFACEORPOLYGONMEMBER_SERIALIZERS, this.Up, a, i, void 0, this)
32148                    }, n.prototype.writeMultiPoint = function (t, n, i) {
32149                        var r = i[i.length - 1], e = r.srsName, o = r.hasZ;
32150                        e && t.setAttribute("srsName", e);
32151                        var s = n.getPoints();
32152                        Nf({
32153                            node: t,
32154                            hasZ: o,
32155                            srsName: e
32156                        }, this.POINTMEMBER_SERIALIZERS, Tf("pointMember"), s, i, void 0, this)
32157                    }, n.prototype.writeMultiCurveOrLineString = function (t, n, i) {
32158                        var r = i[i.length - 1], e = r.hasZ, o = r.srsName, s = r.curve;
32159                        o && t.setAttribute("srsName", o);
32160                        var a = n.getLineStrings();
32161                        Nf({
32162                            node: t,
32163                            hasZ: e,
32164                            srsName: o,
32165                            curve: s
32166                        }, this.LINESTRINGORCURVEMEMBER_SERIALIZERS, this.Up, a, i, void 0, this)
32167                    }, n.prototype.writeRing = function (t, n, i) {
32168                        var r = pf(t.namespaceURI, "LinearRing");
32169                        t.appendChild(r), this.writeLinearRing(r, n, i)
32170                    }, n.prototype.writeSurfaceOrPolygonMember = function (t, n, i) {
32171                        var r = this.Fp(n, i);
32172                        r && (t.appendChild(r), this.writeSurfaceOrPolygon(r, n, i))
32173                    }, n.prototype.writePointMember = function (t, n, i) {
32174                        var r = pf(t.namespaceURI, "Point");
32175                        t.appendChild(r), this.writePoint(r, n, i)
32176                    }, n.prototype.writeLineStringOrCurveMember = function (t, n, i) {
32177                        var r = this.Fp(n, i);
32178                        r && (t.appendChild(r), this.writeCurveOrLineString(r, n, i))
32179                    }, n.prototype.Wp = function (t, n, i) {
32180                        var r = pf(t.namespaceURI, "PolygonPatch");
32181                        t.appendChild(r), this.writeSurfaceOrPolygon(r, n, i)
32182                    }, n.prototype.Dp = function (t, n, i) {
32183                        var r = pf(t.namespaceURI, "LineStringSegment");
32184                        t.appendChild(r), this.writeCurveOrLineString(r, n, i)
32185                    }, n.prototype.writeGeometryElement = function (t, n, i) {
32186                        var r, e = i[i.length - 1], o = E({}, e);
32187                        o.node = t, r = Array.isArray(n) ? Jj(n, e) : Hj(n, !0, e), Nf(o, this.GEOMETRY_SERIALIZERS, this.Fp, [r], i, void 0, this)
32188                    }, n.prototype.writeFeatureElement = function (t, n, i) {
32189                        var r = n.getId();
32190                        r && t.setAttribute("fid", r);
32191                        var e = i[i.length - 1], o = e.featureNS, s = n.getGeometryName();
32192                        e.serializers || (e.serializers = {}, e.serializers[o] = {});
32193                        var a = [], u = [];
32194                        if (n.hasProperties()) {
32195                            var c = n.getProperties();
32196                            for (var h in c) {
32197                                var f = c[h];
32198                                null !== f && (a.push(h), u.push(f), h == s || "function" == typeof f.getSimplifiedGeometry ? h in e.serializers[o] || (e.serializers[o][h] = _f(this.writeGeometryElement, this)) : h in e.serializers[o] || (e.serializers[o][h] = _f(fA)))
32199                            }
32200                        }
32201                        var l = E({}, e);
32202                        l.node = t, Nf(l, e.serializers, Tf(void 0, o), u, i, a)
32203                    }, n.prototype.Zp = function (t, n, i) {
32204                        var r = i[i.length - 1], e = r.featureType, o = r.featureNS, s = {};
32205                        s[o] = {}, s[o][e] = _f(this.writeFeatureElement, this);
32206                        var a = E({}, r);
32207                        a.node = t, Nf(a, s, Tf(e, o), n, i)
32208                    }, n.prototype.Up = function (t, n, i) {
32209                        var r = n[n.length - 1].node;
32210                        return pf(this.namespace, mA[r.nodeName])
32211                    }, n.prototype.Fp = function (t, n, i) {
32212                        var r, e = n[n.length - 1], o = e.multiSurface, s = e.surface, a = e.curve, u = e.multiCurve;
32213                        return Array.isArray(t) ? r = "Envelope" : "MultiPolygon" === (r = t.getType()) && !0 === o ? r = "MultiSurface" : "Polygon" === r && !0 === s ? r = "Surface" : "LineString" === r && !0 === a ? r = "Curve" : "MultiLineString" === r && !0 === u && (r = "MultiCurve"), pf(this.namespace, r)
32214                    }, n.prototype.writeGeometryNode = function (t, n) {
32215                        n = this.adaptOptions(n);
32216                        var i = pf(this.namespace, "geom"), r = {
32217                            node: i,
32218                            hasZ: this.hasZ,
32219                            srsName: this.srsName,
32220                            curve: this.Xp,
32221                            surface: this.Vp,
32222                            multiSurface: this.Jp,
32223                            multiCurve: this.Hp
32224                        };
32225                        return n && E(r, n), this.writeGeometryElement(i, t, [r]), i
32226                    }, n.prototype.writeFeaturesNode = function (t, n) {
32227                        n = this.adaptOptions(n);
32228                        var i = pf(this.namespace, "featureMembers");
32229                        i.setAttributeNS(df, "xsi:schemaLocation", this.schemaLocation);
32230                        var r = {
32231                            srsName: this.srsName,
32232                            hasZ: this.hasZ,
32233                            curve: this.Xp,
32234                            surface: this.Vp,
32235                            multiSurface: this.Jp,
32236                            multiCurve: this.Hp,
32237                            featureNS: this.featureNS,
32238                            featureType: this.featureType
32239                        };
32240                        return n && E(r, n), this.Zp(i, t, [r]), i
32241                    }, n
32242                }(ZE);
32243                wA.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {
32244                    "http://www.opengis.net/gml": {
32245                        pos: Sf(wA.prototype.readFlatPos),
32246                        posList: Sf(wA.prototype.readFlatPosList),
32247                        coordinates: Sf(pA.prototype.readFlatCoordinates)
32248                    }
32249                }
32249, wA.prototype.FLAT_LINEAR_RINGS_PARSERS = {
32250                    "http://www.opengis.net/gml": {
32251                        interior: wA.prototype.interiorParser,
32252                        exterior: wA.prototype.exteriorParser
32253                    }
32254                }, wA.prototype.GEOMETRY_PARSERS = {
32255                    "http://www.opengis.net/gml": {
32256                        Point: Sf(ZE.prototype.readPoint),
32257                        MultiPoint: Sf(ZE.prototype.readMultiPoint),
32258                        LineString: Sf(ZE.prototype.readLineString),
32259                        MultiLineString: Sf(ZE.prototype.readMultiLineString),
32260                        LinearRing: Sf(ZE.prototype.readLinearRing),
32261                        Polygon: Sf(ZE.prototype.readPolygon),
32262                        MultiPolygon: Sf(ZE.prototype.readMultiPolygon),
32263                        Surface: Sf(wA.prototype.readSurface),
32264                        MultiSurface: Sf(wA.prototype.readMultiSurface),
32265                        Curve: Sf(wA.prototype.readCurve),
32266                        MultiCurve: Sf(wA.prototype.readMultiCurve),
32267                        Envelope: Sf(wA.prototype.readEnvelope)
32268                    }
32269                }, wA.prototype.MULTICURVE_PARSERS = {
32270                    "http://www.opengis.net/gml": {
32271                        curveMember: jf(wA.prototype.curveMemberParser),
32272                        curveMembers: jf(wA.prototype.curveMemberParser)
32273                    }
32274                }, wA.prototype.MULTISURFACE_PARSERS = {
32275                    "http://www.opengis.net/gml": {
32276                        surfaceMember: jf(wA.prototype.surfaceMemberParser),
32277                        surfaceMembers: jf(wA.prototype.surfaceMemberParser)
32278                    }
32279                }, wA.prototype.CURVEMEMBER_PARSERS = {
32280                    "http://www.opengis.net/gml": {
32281                        LineString: jf(ZE.prototype.readLineString),
32282                        Curve: jf(wA.prototype.readCurve)
32283                    }
32284                }, wA.prototype.SURFACEMEMBER_PARSERS = {
32285                    "http://www.opengis.net/gml": {
32286                        Polygon: jf(ZE.prototype.readPolygon),
32287                        Surface: jf(wA.prototype.readSurface)
32288                    }
32289                }, wA.prototype.SURFACE_PARSERS = {"http://www.opengis.net/gml": {patches: Sf(wA.prototype.readPatch)}}, wA.prototype.CURVE_PARSERS = {"http://www.opengis.net/gml": {segments: Sf(wA.prototype.readSegment)}}, wA.prototype.ENVELOPE_PARSERS = {
32290                    "http://www.opengis.net/gml": {
32291                        lowerCorner: jf(wA.prototype.readFlatPosList),
32292                        upperCorner: jf(wA.prototype.readFlatPosList)
32293                    }
32294                }, wA.prototype.PATCHES_PARSERS = {"http://www.opengis.net/gml": {PolygonPatch: Sf(wA.prototype.readPolygonPatch)}}, wA.prototype.SEGMENTS_PARSERS = {"http://www.opengis.net/gml": {LineStringSegment: Sf(wA.prototype.readLineStringSegment)}}, wA.prototype.writeFeatures, wA.prototype.RING_SERIALIZERS = {
32295                    "http://www.opengis.net/gml": {
32296                        exterior: _f(wA.prototype.writeRing),
32297                        interior: _f(wA.prototype.writeRing)
32298                    }
32299                }, wA.prototype.ENVELOPE_SERIALIZERS = {
32300                    "http://www.opengis.net/gml": {
32301                        lowerCorner: _f(fA),
32302                        upperCorner: _f(fA)
32303                    }
32304                }, wA.prototype.SURFACEORPOLYGONMEMBER_SERIALIZERS = {
32305                    "http://www.opengis.net/gml": {
32306                        surfaceMember: _f(wA.prototype.writeSurfaceOrPolygonMember),
32307                        polygonMember: _f(wA.prototype.writeSurfaceOrPolygonMember)
32308                    }
32309                }, wA.prototype.POINTMEMBER_SERIALIZERS = {"http://www.opengis.net/gml": {pointMember: _f(wA.prototype.writePointMember)}}, wA.prototype.LINESTRINGORCURVEMEMBER_SERIALIZERS = {
32310                    "http://www.opengis.net/gml": {
32311                        lineStringMember: _f(wA.prototype.writeLineStringOrCurveMember),
32312                        curveMember: _f(wA.prototype.writeLineStringOrCurveMember)
32313                    }
32314                }, wA.prototype.GEOMETRY_SERIALIZERS = {
32315                    "http://www.opengis.net/gml": {
32316                        Curve: _f(wA.prototype.writeCurveOrLineString),
32317                        MultiCurve: _f(wA.prototype.writeMultiCurveOrLineString),
32318                        Point: _f(wA.prototype.writePoint),
32319                        MultiPoint: _f(wA.prototype.writeMultiPoint),
32320                        LineString: _f(wA.prototype.writeCurveOrLineString),
32321                        MultiLineString: _f(wA.prototype.writeMultiCurveOrLineString),
32322                        LinearRing: _f(wA.prototype.writeLinearRing),
32323                        Polygon: _f(wA.prototype.writeSurfaceOrPolygon),
32324                        MultiPolygon: _f(wA.prototype.writeMultiSurfaceOrPolygon),
32325                        Surface: _f(wA.prototype.writeSurfaceOrPolygon),
32326                        MultiSurface: _f(wA.prototype.writeMultiSurfaceOrPolygon),
32327                        Envelope: _f(wA.prototype.writeEnvelope)
32328                    }
32329                };
32330                var bA = wA, gA = bA;
32331                gA.prototype.writeFeatures, gA.prototype.writeFeaturesNode;
32332                var xA = gA, jA = function () {
32333                    var t = function (n, i) {
32334                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
32335                            t.__proto__ = n
32336                        } || function (t, n) {
32337                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32338                        })(n, i)
32339                    };
32340                    return function (n, i) {
32341                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32342
32343                        function r() {
32344                            this.constructor = n
32345                        }
32346
32347                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32348                    }
32349                }(), SA = function (t) {
32350                    function n(n) {
32351                        var i = this, r = n || {};
32352                        return (i = t.call(this, r) || this).schemaLocation = r.schemaLocation ? r.schemaLocation : i.namespace + " http://schemas.opengis.net/gml/3.2.1/gml.xsd", i
32353                    }
32354
32355                    return jA(n, t), n
32356                }(bA);
32357                SA.prototype.namespace = "http://www.opengis.net/gml/3.2", SA.prototype.GEOMETRY_FLAT_COORDINATES_PARSERS = {
32358                    "http://www.opengis.net/gml/3.2": {
32359                        pos: Sf(bA.prototype.readFlatPos),
32360                        posList: Sf(bA.prototype.readFlatPosList),
32361                        coordinates: Sf(pA.prototype.readFlatCoordinates)
32362                    }
32363                }
32363, SA.prototype.FLAT_LINEAR_RINGS_PARSERS = {
32364                    "http://www.opengis.net/gml/3.2": {
32365                        interior: bA.prototype.interiorParser,
32366                        exterior: bA.prototype.exteriorParser
32367                    }
32368                }, SA.prototype.GEOMETRY_PARSERS = {
32369                    "http://www.opengis.net/gml/3.2": {
32370                        Point: Sf(ZE.prototype.readPoint),
32371                        MultiPoint: Sf(ZE.prototype.readMultiPoint),
32372                        LineString: Sf(ZE.prototype.readLineString),
32373                        MultiLineString: Sf(ZE.prototype.readMultiLineString),
32374                        LinearRing: Sf(ZE.prototype.readLinearRing),
32375                        Polygon: Sf(ZE.prototype.readPolygon),
32376                        MultiPolygon: Sf(ZE.prototype.readMultiPolygon),
32377                        Surface: Sf(SA.prototype.readSurface),
32378                        MultiSurface: Sf(bA.prototype.readMultiSurface),
32379                        Curve: Sf(SA.prototype.readCurve),
32380                        MultiCurve: Sf(bA.prototype.readMultiCurve),
32381                        Envelope: Sf(SA.prototype.readEnvelope)
32382                    }
32383                }, SA.prototype.MULTICURVE_PARSERS = {
32384                    "http://www.opengis.net/gml/3.2": {
32385                        curveMember: jf(bA.prototype.curveMemberParser),
32386                        curveMembers: jf(bA.prototype.curveMemberParser)
32387                    }
32388                }, SA.prototype.MULTISURFACE_PARSERS = {
32389                    "http://www.opengis.net/gml/3.2": {
32390                        surfaceMember: jf(bA.prototype.surfaceMemberParser),
32391                        surfaceMembers: jf(bA.prototype.surfaceMemberParser)
32392                    }
32393                }, SA.prototype.CURVEMEMBER_PARSERS = {
32394                    "http://www.opengis.net/gml/3.2": {
32395                        LineString: jf(ZE.prototype.readLineString),
32396                        Curve: jf(bA.prototype.readCurve)
32397                    }
32398                }, SA.prototype.SURFACEMEMBER_PARSERS = {
32399                    "http://www.opengis.net/gml/3.2": {
32400                        Polygon: jf(ZE.prototype.readPolygon),
32401                        Surface: jf(bA.prototype.readSurface)
32402                    }
32403                }, SA.prototype.SURFACE_PARSERS = {"http://www.opengis.net/gml/3.2": {patches: Sf(bA.prototype.readPatch)}}, SA.prototype.CURVE_PARSERS = {"http://www.opengis.net/gml/3.2": {segments: Sf(bA.prototype.readSegment)}}, SA.prototype.ENVELOPE_PARSERS = {
32404                    "http://www.opengis.net/gml/3.2": {
32405                        lowerCorner: jf(bA.prototype.readFlatPosList),
32406                        upperCorner: jf(bA.prototype.readFlatPosList)
32407                    }
32408                }, SA.prototype.PATCHES_PARSERS = {"http://www.opengis.net/gml/3.2": {PolygonPatch: Sf(bA.prototype.readPolygonPatch)}}, SA.prototype.SEGMENTS_PARSERS = {"http://www.opengis.net/gml/3.2": {LineStringSegment: Sf(bA.prototype.readLineStringSegment)}}, SA.prototype.MULTIPOINT_PARSERS = {
32409                    "http://www.opengis.net/gml/3.2": {
32410                        pointMember: jf(ZE.prototype.pointMemberParser),
32411                        pointMembers: jf(ZE.prototype.pointMemberParser)
32412                    }
32413                }, SA.prototype.MULTILINESTRING_PARSERS = {
32414                    "http://www.opengis.net/gml/3.2": {
32415                        lineStringMember: jf(ZE.prototype.lineStringMemberParser),
32416                        lineStringMembers: jf(ZE.prototype.lineStringMemberParser)
32417                    }
32418                }, SA.prototype.MULTIPOLYGON_PARSERS = {
32419                    "http://www.opengis.net/gml/3.2": {
32420                        polygonMember: jf(ZE.prototype.polygonMemberParser),
32421                        polygonMembers: jf(ZE.prototype.polygonMemberParser)
32422                    }
32423                }, SA.prototype.POINTMEMBER_PARSERS = {"http://www.opengis.net/gml/3.2": {Point: jf(ZE.prototype.readFlatCoordinatesFromNode)}}, SA.prototype.LINESTRINGMEMBER_PARSERS = {"http://www.opengis.net/gml/3.2": {LineString: jf(ZE.prototype.readLineString)}}, SA.prototype.POLYGONMEMBER_PARSERS = {"http://www.opengis.net/gml/3.2": {Polygon: jf(ZE.prototype.readPolygon)}}, SA.prototype.RING_PARSERS = {"http://www.opengis.net/gml/3.2": {LinearRing: Sf(ZE.prototype.readFlatLinearRing)}}, SA.prototype.RING_SERIALIZERS = {
32424                    "http://www.opengis.net/gml/3.2": {
32425                        exterior: _f(bA.prototype.writeRing),
32426                        interior: _f(bA.prototype.writeRing)
32427                    }
32428                }, SA.prototype.ENVELOPE_SERIALIZERS = {
32429                    "http://www.opengis.net/gml/3.2": {
32430                        lowerCorner: _f(fA),
32431                        upperCorner: _f(fA)
32432                    }
32433                }, SA.prototype.SURFACEORPOLYGONMEMBER_SERIALIZERS = {
32434                    "http://www.opengis.net/gml/3.2": {
32435                        surfaceMember: _f(bA.prototype.writeSurfaceOrPolygonMember),
32436                        polygonMember: _f(bA.prototype.writeSurfaceOrPolygonMember)
32437                    }
32438                }, SA.prototype.POINTMEMBER_SERIALIZERS = {"http://www.opengis.net/gml/3.2": {pointMember: _f(bA.prototype.writePointMember)}}, SA.prototype.LINESTRINGORCURVEMEMBER_SERIALIZERS = {
32439                    "http://www.opengis.net/gml/3.2": {
32440                        lineStringMember: _f(bA.prototype.writeLineStringOrCurveMember),
32441                        curveMember: _f(bA.prototype.writeLineStringOrCurveMember)
32442                    }
32443                }, SA.prototype.GEOMETRY_SERIALIZERS = {
32444                    "http://www.opengis.net/gml/3.2": {
32445                        Curve: _f(bA.prototype.writeCurveOrLineString),
32446                        MultiCurve: _f(bA.prototype.writeMultiCurveOrLineString),
32447                        Point: _f(SA.prototype.writePoint),
32448                        MultiPoint: _f(bA.prototype.writeMultiPoint),
32449                        LineString: _f(bA.prototype.writeCurveOrLineString),
32450                        MultiLineString: _f(bA.prototype.writeMultiCurveOrLineString),
32451                        LinearRing: _f(bA.prototype.writeLinearRing),
32452                        Polygon: _f(bA.prototype.writeSurfaceOrPolygon),
32453                        MultiPolygon: _f(bA.prototype.writeMultiSurfaceOrPolygon),
32454                        Surface: _f(bA.prototype.writeSurfaceOrPolygon),
32455                        MultiSurface: _f(bA.prototype.writeMultiSurfaceOrPolygon),
32456                        Envelope: _f(bA.prototype.writeEnvelope)
32457                    }
32458                };
32459                var kA = SA, MA = function () {
32460                        var t = function (n, i) {
32461                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
32462                                t.__proto__ = n
32463                            } || function (t, n) {
32464                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32465                            })(n, i)
32466                        };
32467                        return function (n, i) {
32468                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32469
32470                            function r() {
32471                                this.constructor = n
32472                            }
32473
32474                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32475                        }
32476                    }(), _A = [null, "http://www.topografix.com/GPX/1/0", "http://www.topografix.com/GPX/1/1"],
32477                    OA = {rte: nC, trk: iC, wpt: rC}, TA = Cf(_A, {rte: jf(nC), trk: jf(iC), wpt: jf(rC)}),
32478                    EA = Cf(_A, {text: Mf(oA, "linkText"), type: Mf(oA, "linkType")}), AA = Cf(_A, {
32479                        rte: _f((function (t, n, i) {
32480                            var r = i[0], e = n.getProperties(), o = {node: t};
32481                            o.properties = e;
32482                            var s = n.getGeometry();
32483                            if (s.getType() == Pt.LINE_STRING) {
32484                                var a = Hj(s, !0, r);
32485                                o.geometryLayout = a.getLayout(), e.rtept = a.getCoordinates()
32486                            }
32487                            var u = i[i.length - 1].node, c = DA[u.namespaceURI], h = Af(e, c);
32488                            Nf(o, UA, Ef, h, i, c)
32489                        })), trk: _f((function (t, n, i) {
32490                            var r = i[0], e = n.getProperties(), o = {node: t};
32491                            o.properties = e;
32492                            var s = n.getGeometry();
32493                            if (s.getType() == Pt.MULTI_LINE_STRING) {
32494                                var a = Hj(s, !0, r);
32495                                e.trkseg = a.getLineStrings()
32496                            }
32497                            var u = i[i.length - 1].node, c = BA[u.namespaceURI], h = Af(e, c);
32498                            Nf(o, WA, Ef, h, i, c)
32499                        })), wpt: _f((function (t, n, i) {
32500                            var r = i[0], e = i[i.length - 1];
32501                            e.properties = n.getProperties();
32502                            var o = n.getGeometry();
32503                            if (o.getType() == Pt.POINT) {
32504                                var s = Hj(o, !0, r);
32505                                e.geometryLayout = s.getLayout(), oC(t, s.getCoordinates(), i)
32506                            }
32507                        }))
32508                    }), CA = function (t) {
32509                        function n(n) {
32510                            var i = t.call(this) || this, r = n || {};
32511                            return i.dataProjection = br("EPSG:4326"), i.$p = r.readExtensions, i
32512                        }
32513
32514                        return MA(n, t), n.prototype.Qp = function (t) {
32515                            t || (t = []);
32516                            for (var n = 0, i = t.length; n < i; ++n) {
32517                                var r = t[n];
32518                                if (this.$p) {
32519                                    var e = r.get("extensionsNode_") || null;
32520                                    this.$p(r, e)
32521                                }
32522                                r.set("extensionsNode_", void 0)
32523                            }
32524                        }, n.prototype.readFeatureFromNode = function (t, n) {
32525                            if (!y(_A, t.namespaceURI)) return null;
32526                            var i = OA[t.localName];
32527                            if (!i) return null;
32528                            var r = i(t, [this.getReadOptions(t, n)]);
32529                            return r ? (this.Qp([r]), r) : null
32530                        }
32530, n.prototype.readFeaturesFromNode = function (t, n) {
32531                            if (!y(_A, t.namespaceURI)) return [];
32532                            if ("gpx" == t.localName) {
32533                                var i = Pf([], TA, t, [this.getReadOptions(t, n)]);
32534                                return i ? (this.Qp(i), i) : []
32535                            }
32536                            return []
32537                        }, n.prototype.writeFeaturesNode = function (t, n) {
32538                            n = this.adaptOptions(n);
32539                            var i = pf("http://www.topografix.com/GPX/1/1", "gpx");
32540                            return i.setAttributeNS("http://www.w3.org/2000/xmlns/", "xmlns:xsi", df), i.setAttributeNS(df, "xsi:schemaLocation", "http://www.topografix.com/GPX/1/1 http://www.topografix.com/GPX/1/1/gpx.xsd"), i.setAttribute("version", "1.1"), i.setAttribute("creator", "OpenLayers"), Nf({node: i}, AA, YA, t, [n]), i
32541                        }, n
32542                    }(XE), RA = Cf(_A, {
32543                        name: Mf(oA),
32544                        cmt: Mf(oA),
32545                        desc: Mf(oA),
32546                        src: Mf(oA),
32547                        link: QA,
32548                        number: Mf(rA),
32549                        extensions: tC,
32550                        type: Mf(oA),
32551                        rtept: function (t, n) {
32552                            var i = Pf({}, PA, t, n);
32553                            if (i) {
32554                                var r = n[n.length - 1], e = r.flatCoordinates, o = r.layoutOptions;
32555                                ZA(e, o, t, i)
32556                            }
32557                        }
32558                    }), PA = Cf(_A, {ele: Mf(nA), time: Mf(tA)}), IA = Cf(_A, {
32559                        name: Mf(oA),
32560                        cmt: Mf(oA),
32561                        desc: Mf(oA),
32562                        src: Mf(oA),
32563                        link: QA,
32564                        number: Mf(rA),
32565                        type: Mf(oA),
32566                        extensions: tC,
32567                        trkseg: function (t, n) {
32568                            var i = n[n.length - 1];
32569                            Rf(NA, t, n);
32570                            var r = i.flatCoordinates;
32571                            i.ends.push(r.length)
32572                        }
32573                    }), NA = Cf(_A, {
32574                        trkpt: function (t, n) {
32575                            var i = Pf({}, zA, t, n);
32576                            if (i) {
32577                                var r = n[n.length - 1], e = r.flatCoordinates, o = r.layoutOptions;
32578                                ZA(e, o, t, i)
32579                            }
32580                        }
32581                    }), zA = Cf(_A, {ele: Mf(nA), time: Mf(tA)}), FA = Cf(_A, {
32582                        ele: Mf(nA),
32583                        time: Mf(tA),
32584                        magvar: Mf(nA),
32585                        geoidheight: Mf(nA),
32586                        name: Mf(oA),
32587                        cmt: Mf(oA),
32588                        desc: Mf(oA),
32589                        src: Mf(oA),
32590                        link: QA,
32591                        sym: Mf(oA),
32592                        type: Mf(oA),
32593                        fix: Mf(oA),
32594                        sat: Mf(rA),
32595                        hdop: Mf(nA),
32596                        vdop: Mf(nA),
32597                        pdop: Mf(nA),
32598                        ageofdgpsdata: Mf(nA),
32599                        dgpsid: Mf(rA),
32600                        extensions: tC
32601                    }), LA = ["text", "type"], GA = Cf(_A, {text: _f(fA), type: _f(fA)}),
32602                    DA = Cf(_A, ["name", "cmt", "desc", "src", "link", "number", "type", "rtept"]), UA = Cf(_A, {
32603                        name: _f(fA),
32604                        cmt: _f(fA),
32605                        desc: _f(fA),
32606                        src: _f(fA),
32607                        link: _f(eC),
32608                        number: _f(hA),
32609                        type: _f(fA),
32610                        rtept: Of(_f(oC))
32611                    }), qA = Cf(_A, ["ele", "time"]),
32612                    BA = Cf(_A, ["name", "cmt", "desc", "src", "link", "number", "type", "trkseg"]), WA = Cf(_A, {
32613                        name: _f(fA),
32614                        cmt: _f(fA),
32615                        desc: _f(fA),
32616                        src: _f(fA),
32617                        link: _f(eC),
32618                        number: _f(hA),
32619                        type: _f(fA),
32620                        trkseg: Of(_f((function (t, n, i) {
32621                            var r = {node: t};
32622                            r.geometryLayout = n.getLayout(), r.properties = {}, Nf(r, XA, VA, n.getCoordinates(), i)
32623                        })))
32624                    }), VA = Tf("trkpt"), XA = Cf(_A, {trkpt: _f(oC)}),
32625                    HA = Cf(_A, ["ele", "time", "magvar", "geoidheight", "name", "cmt", "desc", "src", "link", "sym", "type", "fix", "sat", "hdop", "vdop", "pdop", "ageofdgpsdata", "dgpsid"]),
32626                    JA = Cf(_A, {
32627                        ele: _f(cA),
32628                        time: _f(uA),
32629                        magvar: _f(cA),
32630                        geoidheight: _f(cA),
32631                        name: _f(fA),
32632                        cmt: _f(fA),
32633                        desc: _f(fA),
32634                        src: _f(fA),
32635                        link: _f(eC),
32636                        sym: _f(fA),
32637                        type: _f(fA),
32638                        fix: _f(fA),
32639                        sat: _f(hA),
32640                        hdop: _f(cA),
32641                        vdop: _f(cA),
32642                        pdop: _f(cA),
32643                        ageofdgpsdata: _f(cA),
32644                        dgpsid: _f(hA)
32645                    }), KA = {Point: "wpt", LineString: "rte", MultiLineString: "trk"};
32646
32647                function YA(t, n, i) {
32648                    var r = t.getGeometry();
32649                    if (r) {
32650                        var e = KA[r.getType()];
32651                        if (e) return pf(n[n.length - 1].node.namespaceURI, e)
32652                    }
32653                }
32654
32655                function ZA(t, n, i, r) {
32656                    return t.push(parseFloat(i.getAttribute("lon")), parseFloat(i.getAttribute("lat"))), "ele" in r ? (t.push(r.ele), delete r.ele, n.hasZ = !0) : t.push(0), "time" in r ? (t.push(r.time), delete r.time, n.hasM = !0) : t.push(0), t
32657                }
32658
32659                function $A(t, n, i) {
32660                    var r = Et, e = 2;
32661                    if (t.hasZ && t.hasM ? (r = Rt, e = 4) : t.hasZ ? (r = At, e = 3) : t.hasM && (r = Ct, e = 3), 4 
32661!== e) {
32662                        for (var o = 0, s = n.length / 4; o < s; o++) n[o * e] = n[4 * o], n[o * e + 1] = n[4 * o + 1], t.hasZ && (n[o * e + 2] = n[4 * o + 2]), t.hasM && (n[o * e + 2] = n[4 * o + 3]);
32663                        if (n.length = n.length / 4 * e, i) for (o = 0, s = i.length; o < s; o++) i[o] = i[o] / 4 * e
32664                    }
32665                    return r
32666                }
32667
32668                function QA(t, n) {
32669                    var i = n[n.length - 1], r = t.getAttribute("href");
32670                    null !== r && (i.link = r), Rf(EA, t, n)
32671                }
32672
32673                function tC(t, n) {
32674                    n[n.length - 1].ty = t
32675                }
32676
32677                function nC(t, n) {
32678                    var i = n[0], r = Pf({flatCoordinates: [], layoutOptions: {}}, RA, t, n);
32679                    if (r) {
32680                        var e = r.flatCoordinates;
32681                        delete r.flatCoordinates;
32682                        var o = r.layoutOptions;
32683                        delete r.layoutOptions;
32684                        var s = $A(o, e), a = new xj(e, s);
32685                        Hj(a, !1, i);
32686                        var u = new Tt(a);
32687                        return u.setProperties(r, !0), u
32688                    }
32689                }
32690
32691                function iC(t, n) {
32692                    var i = n[0], r = Pf({flatCoordinates: [], ends: [], layoutOptions: {}}, IA, t, n);
32693                    if (r) {
32694                        var e = r.flatCoordinates;
32695                        delete r.flatCoordinates;
32696                        var o = r.ends;
32697                        delete r.ends;
32698                        var s = r.layoutOptions;
32699                        delete r.layoutOptions;
32700                        var a = $A(s, e, o), u = new Sj(e, a, o);
32701                        Hj(u, !1, i);
32702                        var c = new Tt(u);
32703                        return c.setProperties(r, !0), c
32704                    }
32705                }
32706
32707                function rC(t, n) {
32708                    var i = n[0], r = Pf({}, FA, t, n);
32709                    if (r) {
32710                        var e = {}, o = ZA([], e, t, r), s = $A(e, o), a = new Oe(o, s);
32711                        Hj(a, !1, i);
32712                        var u = new Tt(a);
32713                        return u.setProperties(r, !0), u
32714                    }
32715                }
32716
32717                function eC(t, n, i) {
32718                    t.setAttribute("href", n);
32719                    var r = i[i.length - 1].properties, e = [r.linkText, r.linkType];
32720                    Nf({node: t}, GA, Ef, e, i, LA)
32721                }
32722
32723                function oC(t, n, i) {
32724                    var r = i[i.length - 1], e = r.node.namespaceURI, o = r.properties;
32725                    switch (t.setAttributeNS(null, "lat", String(n[1])), t.setAttributeNS(null, "lon", String(n[0])), r.geometryLayout) {
32726                        case Rt:
32727                            0 !== n[3] && (o.time = n[3]);
32728                        case At:
32729                            0 !== n[2] && (o.ele = n[2]);
32730                            break;
32731                        case Ct:
32732                            0 !== n[2] && (o.time = n[2])
32733                    }
32734                    var s = "rtept" == t.nodeName ? qA[e] : HA[e], a = Af(o, s);
32735                    Nf({node: t, properties: o}, JA, Ef, a, i, s)
32736                }
32737
32738                var sC = CA, aC = function () {
32739                    var t = function (n, i) {
32740                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
32741                            t.__proto__ = n
32742                        } || function (t, n) {
32743                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32744                        })(n, i)
32745                    };
32746                    return function (n, i) {
32747                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32748
32749                        function r() {
32750                            this.constructor = n
32751                        }
32752
32753                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32754                    }
32755                }();
32756
32757                function uC(t) {
32758                    return "string" == typeof t ? t : ""
32759                }
32760
32761                var cC = function (t) {
32762                        function n() {
32763                            return t.call(this) || this
32764                        }
32765
32766                        return aC(n, t), n.prototype.getType = function () {
32767                            return ah
32768                        }, n.prototype.readFeature = function (t, n) {
32769                            return this.readFeatureFromText(uC(t), this.adaptOptions(n))
32770                        }, n.prototype.readFeatureFromText = function (t, n) {
32771                            return r()
32772                        }, n.prototype.readFeatures = function (t, n) {
32773                            return this.readFeaturesFromText(uC(t), this.adaptOptions(n))
32774                        }, n.prototype.readFeaturesFromText = function (t, n) {
32775                            return r()
32776                        }, n.prototype.readGeometry = function (t, n) {
32777                            return this.readGeometryFromText(uC(t), this.adaptOptions(n))
32778                        }, n.prototype.readGeometryFromText = function (t, n) {
32779                            return r()
32780                        }, n.prototype.readProjection = function (t) {
32781                            return this.readProjectionFromText(uC(t))
32782                        }, n.prototype.readProjectionFromText = function (t) {
32783                            return this.dataProjection
32784                        }, n.prototype.writeFeature = function (t, n) {
32785                            return this.writeFeatureText(t, this.adaptOptions(n))
32786                        }, n.prototype.writeFeatureText = function (t, n) {
32787                            return r()
32788                        }, n.prototype.writeFeatures = function (t, n) {
32789                            return this.writeFeaturesText(t, this.adaptOptions(n))
32790                        }, n.prototype.writeFeaturesText = function (t, n) {
32791                            return r()
32792                        }, n.prototype.writeGeometry = function (t, n) {
32793                            return this.writeGeometryText(t, this.adaptOptions(n))
32794                        }, n.prototype.writeGeometryText = function (t, n) {
32795                            return r()
32796                        }, n
32797                    }(Xj), hC = function () {
32798                        var t = function (n, i) {
32799                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
32800                                t.__proto__ = n
32801                            } || function (t, n) {
32802                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32803                            })(n, i)
32804                        };
32805                        return function (n, i) {
32806                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32807
32808                            function r() {
32809                                this.constructor = n
32810                            }
32811
32812                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32813                        }
32814                    }(), fC = "barometric", lC = "gps", vC = "none",
32815                    dC = /^B(\d{2})(\d{2})(\d{2})(\d{2})(\d{5})([NS])(\d{3})(\d{5})([EW])([AV])(\d{5})(\d{5})/,
32816                    pC = /^H.([A-Z]{3}).*?:(.*)/, yC = /^HFDTE(\d{2})(\d{2})(\d{2})/, mC = /\r\n|\r|\n/,
32817                    wC = function (t) {
32818                        function n(n) {
32819                            var i = t.call(this) || this, r = n || {};
32820                            return i.dataProjection = br("EPSG:4326"), i.ny = r.altitudeMode ? r.altitudeMode : vC, i
32821                        }
32822
32823                        return hC(n, t), n.prototype.readFeatureFromText = function (t, n) {
32824                            var i, r, e = this.ny, o = t.split(mC), s = {}, a = [], u = 2e3, c = 0, h = 1, f = -1;
32825                            for (i = 0, r = o.length; i < r; ++i) {
32826                                var l = o[i], v = void 0;
32827                                if ("B" == l.charAt(0)) {
32828                                    if (v = dC.exec(l)) {
32829                                        var d = parseInt(v[1], 10), p = parseInt(v[2], 10), y = parseInt(v[3], 10),
32830                                            m = parseInt(v[4], 10) + parseInt(v[5], 10) / 6e4;
32831                                        "S" == v[6] && (m = -m);
32832                                        var w = parseInt(v[7], 10) + parseInt(v[8], 10) / 6e4;
32833                                        if ("W" == v[9] && (w = -w), a.push(w, m), e != vC) {
32834                                            var b = void 0;
32835                                            b = e == lC ? parseInt(v[11], 10) : e == fC ? parseInt(v[12], 10) : 0, a.push(b)
32836                                        }
32837                                        var g = Date.UTC(u, c, h, d, p, y);
32838                                        g < f && (g = Date.UTC(u, c, h + 1, d, p, y)), a.push(g / 1e3), f = g
32839                                    }
32840                                } else "H" == l.charAt(0) && ((v = yC.exec(l)) ? (h = parseInt(v[1], 10), c = parseInt(v[2], 10) - 1, u = 2e3 + parseInt(v[3], 10)) : (v = pC.exec(l)) && (s[v[1]] = v[2].trim()))
32841                            }
32842                            if (0 === a.length) return null;
32843                            var x = new xj(a, e == vC ? Ct : Rt), j = new Tt(Hj(x, !1, n));
32844                            return j.setProperties(s, !0), j
32845                        }, n.prototype.readFeaturesFromText = function (t, n) {
32846                            var i = this.readFeatureFromText(t, n);
32847                            return i ? [i] : []
32848                        }, n
32849                    }(cC);
32850
32851                function bC(t) {
32852                    return (bC = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (t) {
32853                        return typeof t
32854                    } : function (t) {
32855                        return t && "function" == typeof Symbol && t.constructor === Symbol && t !== Symbol.prototype ? "symbol" : typeof t
32856                    })(t)
32857                }
32858
32859                var gC, xC, jC, SC, kC, MC, _C = function () {
32860                        var t = function (n, i) {
32861                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
32862                                t.__proto__ = n
32863                            } || function (t, n) {
32864                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
32865                            })(n, i)
32866                        };
32867                        return function (n, i) {
32868                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
32869
32870                            function r() {
32871                                this.constructor = n
32872                            }
32873
32874                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
32875                        }
32876                    }(), OC = ["http://www.google.com/kml/ext/2.2"],
32877                    TC = [null, "http://earth.google.com/kml/2.0", "http://earth.google.com/kml/2.1", "http://earth.google.com/kml/2.2", "http://www.opengis.net/kml/2.2"],
32878                    EC = {fraction: Ev, pixels: Av, insetPixels: Av}, AC = Cf(TC, {
32879                        ExtendedData: OR,
32880                        Region: TR,
32881                        MultiGeometry: Mf(wR, "geometry"),
32882                        LineString: Mf(pR, "geometry"),
32883                        LinearRing: Mf(yR, "geometry"),
32884                        Point: Mf(bR, "geometry"),
32885                        Polygon: Mf(xR, "geometry"),
32886                        Style: Mf(SR),
32887                        StyleMap: function (t, n) {
32888                            var i = nR.call(this, t, n);
32889                            if (!i) return;
32890                            var r = n[n.length - 1];
32891                            Array.isArray(i) ? r.Style = i : "string" == typeof i ? r.styleUrl = i : Mt(!1, 38)
32892                        },
32893                        address: Mf(oA),
32894                        description: Mf(oA),
32895                        name: Mf(oA),
32896                        open: Mf($E),
32897                        phoneNumber: Mf(oA),
32898                        styleUrl: Mf($C),
32899                        visibility: Mf($E)
32900                    }, Cf(OC, {
32901                        MultiTrack: Mf((function (t, n) {
32902                            var i = Pf([], uR, t, n);
32903                            if (!i) return;
32904                            return new Sj(i)
32905                        }), "geometry"), Track: Mf(hR, "geometry")
32906                    })), CC = Cf(TC, {
32907                        ExtendedData: OR,
32908                        Region: TR,
32909                        Link: function (t, n) {
32910                            Rf(RC, t, n)
32911                        },
32912                        address: Mf(oA),
32913                        description: Mf(oA),
32914                        name: Mf(oA),
32915                        open: Mf($E),
32916                        phoneNumber: Mf(oA),
32917                        visibility: Mf($E)
32918                    }), RC = Cf(TC, {href: Mf(ZC)}), PC = Cf(TC, {
32919                        LatLonAltBox: function (t, n) {
32920                            var i = Pf({}, CR, t, n);
32921                            if (!i) return;
32922                            var r = n[n.length - 1],
32923                                e = [parseFloat(i.west), parseFloat(i.south), parseFloat(i.east), parseFloat(i.north)];
32924                            r.extent = e, r.altitudeMode = i.altitudeMode, r.minAltitude = parseFloat(i.minAltitude), r.maxAltitude = parseFloat(i.maxAltitude)
32925                        }, Lod: function (t, n) {
32926                            var i = Pf({}, RR, t, n);
32927                            if (!i) return;
32928                            var r = n[n.length - 1];
32929                            r.minLodPixels = parseFloat(i.minLodPixels), r.maxLodPixels = parseFloat(i.maxLodPixels), r.minFadeExtent = parseFloat(i.minFadeExtent), r.maxFadeExtent = parseFloat(i.maxFadeExtent)
32930                        }
32931                    }), IC = Cf(TC, ["Document", "Placemark"]), NC = Cf(TC, {
32932                        Document: _f((function (t, n, i) {
32933                            Nf({node: t}, FR, LR, n, i, void 0, this)
32934                        })), Placemark: _f(uP)
32935                    }), zC = null;
32936                var FC, LC = null;
32937                var GC, DC = null;
32938                var UC = null;
32939                var qC = null;
32940                var BC, WC = null;
32941
32942                function VC(t) {
32943                    return 32 / Math.min(t[0], t[1])
32944                }
32945
32946                function XC(t) {
32947                    return t
32948                }
32949
32950                var HC = function (t) {
32951                    function n(n) {
32952                        var i = t.call(this) || this, r = n || {};
32953                        return WC || (zC = new Tv({color: gC = [255, 255, 255, 1]}), MC = "https://maps.google.com/mapfiles/kml/pushpin/ylw-pushpin.png", LC = new Uv({
32954                            anchor: xC = [20, 2],
32955                            anchorOrigin: Cv,
32956                            anchorXUnits: jC = Av,
32957                            anchorYUnits: SC = Av,
32958                            crossOrigin: "anonymous",
32959                            rotation: 0,
32960                            scale: VC(kC = [64, 64]),
32961                            size: kC,
32962                            src: MC
32963                        }), FC = "NO_IMAGE", DC = new qv({color: gC, width: 1}), GC = new qv({
32964                            color: [51, 51, 51, 1],
32965                            width: 2
32966                        }), UC = new Qv({
32967                            font: "bold 16px Helvetica",
32968                            fill: zC,
32969                            stroke: GC,
32970                            scale: .8
32971                        }), qC = new Yv({
32972                            fill: zC,
32973                            image: LC,
32974                            text: UC,
32975                            stroke: DC,
32976                            zIndex: 0
32977                        }), WC = [qC]), i.dataProjection = br("EPSG:4326"), i.iy = r.defaultStyle ? r.defaultStyle : WC, i.ey = void 0 === r.extractStyles || r.extractStyles, i.oy = void 0 === r.writeStyles || r.writeStyles, i.sy = {}, i.uy = void 0 === r.showPointNames || r.showPointNames, i.Bt = void 0 !== r.crossOrigin ? r.crossOrigin : "anonymous", i.hy = r.iconUrlFunction ? r.iconUrlFunction : XC, i.supportedMediaTypes = ["application/vnd.google-earth.kml+xml"], i
32978                    }
32979
32980                    return _C(n, t), n.prototype.ly = function (t, n) {
32981                        var i = Pf([], Cf(TC, {
32982                            Document: xf(this.ly, this),
32983                            Folder: xf(this.ly, this),
32984                            Placemark: jf(this.vy, this),
32985                            Style: this.py.bind(this),
32986                            StyleMap: this.my.bind(this)
32987                        }), t, n, this);
32988                        return i || void 0
32989                    }, n.prototype.vy = function (t, n) {
32990                        var i = Pf({geometry: null}, AC, t, n, this);
32991                        if (i) {
32992                            var r = new Tt, e = t.getAttribute("id");
32993                            null !== e && r.setId(e);
32994                            var o = n[0], s = i.geometry;
32995                            if (s && Hj(s, !1, o), r.setGeometry(s), delete i.geometry, this.ey) {
32996                                var a = function (t, n, i, r, e) {
32997                                    return function (o, s) {
32998                                        var a = e, u = "", c = [];
32999                                        if (a) {
33000                                            var h = o.getGeometry();
33001                                            if (h) if (h instanceof sS) a = (c = h.getGeometriesArrayRecursive().filter((function (t) {
33002                                                var n = t.getType();
33003                                                return n === Pt.POINT || n === Pt.MULTI_POINT
33004                                            }))).length > 0; else {
33005                                                var f = h.getType();
33006                                                a = f === Pt.POINT || f === Pt.MULTI_POINT
33007                                            }
33008                                        }
33009                                        a && (u = o.get("name"), (a = a && !!u) && u.search(/&[^&]+;/) > -1 && (BC || (BC = document.createElement("textarea")), BC.innerHTML = u, u = BC.value));
33010                                        var l = i;
33011                                        if (t ? l = t : n && (l = JC(n, i, r)), a) {
33012                                            var v = function (t, n) {
33013                                                var i = [0, 0], r = "start", e = t.getImage();
33014                                                if (e) {
33015                                                    var o = e.getSize();
33016                                                    if (o && 2 == o.length) {
33017                                                        var s = e.getScaleArray(), a = e.getAnchor();
33018                                                        i[0] = s[0] * (o[0] - a[0]), i[1] = s[1] * (o[1] / 2 - a[1]), r = "left"
33019                                                    }
33020                                                }
33021                                                var u = t.getText();
33022                                                u ? ((u = u.clone()).setFont(u.getFont() || UC.getFont()), u.setScale(u.getScale() || UC.getScale()), u.setFill(u.getFill
33022() || UC.getFill()), u.setStroke(u.getStroke() || GC)) : u = UC.clone();
33023                                                return u.setText(n), u.setOffsetX(i[0]), u.setOffsetY(i[1]), u.setTextAlign(r), new Yv({
33024                                                    image: e,
33025                                                    text: u
33026                                                })
33027                                            }(l[0], u);
33028                                            return c.length > 0 ? (v.setGeometry(new sS(c)), [v, new Yv({
33029                                                geometry: l[0].getGeometry(),
33030                                                image: null,
33031                                                fill: l[0].getFill(),
33032                                                stroke: l[0].getStroke(),
33033                                                text: null
33034                                            })].concat(l.slice(1))) : v
33035                                        }
33036                                        return l
33037                                    }
33038                                }(i.Style, i.styleUrl, this.iy, this.sy, this.uy);
33039                                r.setStyle(a)
33040                            }
33041                            return delete i.Style, r.setProperties(i, !0), r
33042                        }
33043                    }, n.prototype.py = function (t, n) {
33044                        var i = t.getAttribute("id");
33045                        if (null !== i) {
33046                            var r = SR.call(this, t, n);
33047                            if (r) {
33048                                var e = void 0, o = t.baseURI;
33049                                if (o && "about:blank" != o || (o = window.location.href), o) e = new URL("#" + i, o).href; else e = "#" + i;
33050                                this.sy[e] = r
33051                            }
33052                        }
33053                    }, n.prototype.my = function (t, n) {
33054                        var i = t.getAttribute("id");
33055                        if (null !== i) {
33056                            var r = nR.call(this, t, n);
33057                            if (r) {
33058                                var e, o = t.baseURI;
33059                                if (o && "about:blank" != o || (o = window.location.href), o) e = new URL("#" + i, o).href; else e = "#" + i;
33060                                this.sy[e] = r
33061                            }
33062                        }
33063                    }, n.prototype.readFeatureFromNode = function (t, n) {
33064                        if (!y(TC, t.namespaceURI)) return null;
33065                        var i = this.vy(t, [this.getReadOptions(t, n)]);
33066                        return i || null
33067                    }, n.prototype.readFeaturesFromNode = function (t, n) {
33068                        if (!y(TC, t.namespaceURI)) return [];
33069                        var i, r = t.localName;
33070                        if ("Document" == r || "Folder" == r) return (i = this.ly(t, [this.getReadOptions(t, n)])) || [];
33071                        if ("Placemark" == r) {
33072                            var e = this.vy(t, [this.getReadOptions(t, n)]);
33073                            return e ? [e] : []
33074                        }
33075                        if ("kml" == r) {
33076                            i = [];
33077                            for (var o = t.firstElementChild; o; o = o.nextElementSibling) {
33078                                var s = this.readFeaturesFromNode(o, n);
33079                                s && b(i, s)
33080                            }
33081                            return i
33082                        }
33083                        return []
33084                    }, n.prototype.readName = function (t) {
33085                        if (t) {
33086                            if ("string" == typeof t) {
33087                                var n = gf(t);
33088                                return this.readNameFromDocument(n)
33089                            }
33090                            return wf(t) ? this.readNameFromDocument(t) : this.readNameFromNode(t)
33091                        }
33092                    }, n.prototype.readNameFromDocument = function (t) {
33093                        for (var n = t.firstChild; n; n = n.nextSibling) if (n.nodeType == Node.ELEMENT_NODE) {
33094                            var i = this.readNameFromNode(n);
33095                            if (i) return i
33096                        }
33097                    }, n.prototype.readNameFromNode = function (t) {
33098                        for (var n = t.firstElementChild; n; n = n.nextElementSibling) if (y(TC, n.namespaceURI) && "name" == n.localName) return oA(n);
33099                        for (n = t.firstElementChild; n; n = n.nextElementSibling) {
33100                            var i = n.localName;
33101                            if (y(TC, n.namespaceURI) && ("Document" == i || "Folder" == i || "Placemark" == i || "kml" == i)) {
33102                                var r = this.readNameFromNode(n);
33103                                if (r) return r
33104                            }
33105                        }
33106                    }, n.prototype.readNetworkLinks = function (t) {
33107                        var n = [];
33108                        if ("string" == typeof t) {
33109                            var i = gf(t);
33110                            b(n, this.readNetworkLinksFromDocument(i))
33111                        } else wf(t) ? b(n, this.readNetworkLinksFromDocument(t)) : b(n, this.readNetworkLinksFromNode(t));
33112                        return n
33113                    }, n.prototype.readNetworkLinksFromDocument = function (t) {
33114                        for (var n = [], i = t.firstChild; i; i = i.nextSibling) i.nodeType == Node.ELEMENT_NODE && b(n, this.readNetworkLinksFromNode(i));
33115                        return n
33116                    }, n.prototype.readNetworkLinksFromNode = function (t) {
33117                        for (var n = [], i = t.firstElementChild; i; i = i.nextElementSibling) if (y(TC, i.namespaceURI) && "NetworkLink" == i.localName) {
33118                            var r = Pf({}, CC, i, []);
33119                            n.push(r)
33120                        }
33121                        for (i = t.firstElementChild; i; i = i.nextElementSibling) {
33122                            var e = i.localName;
33123                            !y(TC, i.namespaceURI) || "Document" != e && "Folder" != e && "kml" != e || b(n, this.readNetworkLinksFromNode(i))
33124                        }
33125                        return n
33126                    }, n.prototype.readRegion = function (t) {
33127                        var n = [];
33128                        if ("string" == typeof t) {
33129                            var i = gf(t);
33130                            b(n, this.readRegionFromDocument(i))
33131                        } else wf(t) ? b(n, this.readRegionFromDocument(t)) : b(n, this.readRegionFromNode(t));
33132                        return n
33133                    }, n.prototype.readRegionFromDocument = function (t) {
33134                        for (var n = [], i = t.firstChild; i; i = i.nextSibling) i.nodeType == Node.ELEMENT_NODE && b(n, this.readRegionFromNode(i));
33135                        return n
33136                    }, n.prototype.readRegionFromNode = function (t) {
33137                        for (var n = [], i = t.firstElementChild; i; i = i.nextElementSibling) if (y(TC, i.namespaceURI) && "Region" == i.localName) {
33138                            var r = Pf({}, PC, i, []);
33139                            n.push(r)
33140                        }
33141                        for (i = t.firstElementChild; i; i = i.nextElementSibling) {
33142                            var e = i.localName;
33143                            !y(TC, i.namespaceURI) || "Document" != e && "Folder" != e && "kml" != e || b(n, this.readRegionFromNode(i))
33144                        }
33145                        return n
33146                    }, n.prototype.writeFeaturesNode = function (t, n) {
33147                        n = this.adaptOptions(n);
33148                        var i = pf(TC[4], "kml"), r = "http://www.w3.org/2000/xmlns/";
33149                        i.setAttributeNS(r, "xmlns:gx", OC[0]), i.setAttributeNS(r, "xmlns:xsi", df), i.setAttributeNS(df, "xsi:schemaLocation", "http://www.opengis.net/kml/2.2 https://developers.google.com/kml/schema/kml22gx.xsd");
33150                        var e = {node: i}, o = {};
33151                        t.length > 1 ? o.Document = t : 1 == t.length && (o.Placemark = t[0]);
33152                        var s = IC[i.namespaceURI], a = Af(o, s);
33153                        return Nf(e, NC, Ef, a, [n], s, this), i
33154                    }, n
33155                }(XE);
33156
33157                function JC(t, n, i) {
33158                    return Array.isArray(t) ? t : "string" == typeof t ? JC(i[t], n, i) : n
33159                }
33160
33161                function KC(t) {
33162                    var n = yf(t, !1), i = /^\s*#?\s*([0-9A-Fa-f]{8})\s*$/.exec(n);
33163                    if (i) {
33164                        var r = i[1];
33165                        return [parseInt(r.substr(6, 2), 16), parseInt(r.substr(4, 2), 16), parseInt(r.substr(2, 2), 16), parseInt(r.substr(0, 2), 16) / 255]
33166                    }
33167                }
33168
33169                function YC(t) {
33170                    var n = yf(t, !1), i = [];
33171                    n = n.replace(/\s*,\s*/g, ",");
33172                    for (var r, e = /^\s*([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?),([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|,|$)(?:([+\-]?\d*\.?\d+(?:e[+\-]?\d+)?)(?:\s+|$))?\s*/i; r = e.exec(n);) {
33173                        var o = parseFloat(r[1]), s = parseFloat(r[2]), a = r[3] ? parseFloat(r[3]) : 0;
33174                        i.push(o, s, a), n = n.substr(r[0].length)
33175                    }
33176                    if ("" === n) return i
33177                }
33178
33179                function ZC(t) {
33180                    var n = yf(t, !1).trim(), i = t.baseURI;
33181                    return i && "about:blank" != i || (i = window.location.href), i ? new URL(n, i).href : n
33182                }
33183
33184                function $C(t) {
33185                    var n = yf(t, !1).trim().replace(/^(?!.*#)/, "#"), i = t.baseURI;
33186                    return i && "about:blank" != i || (i = window.location.href), i ? new URL(n, i).href : n
33187                }
33188
33189                function QC(t) {
33190                    return nA(t)
33191                }
33192
33193                var tR = Cf(TC, {
33194                    Pair: function (t, n) {
33195                        var i = Pf({}, ER, t, n, this);
33196                        if (!i) return;
33197                        var r = i.key;
33198                        if (r && "normal" == r) {
33199                            var e = i.styleUrl;
33200                            e && (n[n.length - 1] = e);
33201                            var o = i.Style;
33202                            o && (n[n.length - 1] = o)
33203                        }
33204                    }
33205                });
33206
33207                function nR(t, n) {
33208                    return Pf(void 0, tR, t, n, this)
33209                }
33210
33211                var iR = Cf(TC, {
33212                    Icon: Mf((function (t, n) {
33213                        var i = Pf({}, fR, t, n);
33214                        return i || null
33215                    })), color: Mf(KC), heading: Mf(nA), hotSpot: Mf((function (t) {
33216                        var n, i = t.getAttribute("xunits"), r = t.getAttribute("yunits");
33217                        return n = "insetPixels" !== i ? "insetPixels" !== r ? Cv : Pv : "insetPixels" !== r ? Rv : Iv, {
33218                            x: parseFloat(t.getAttribute("x")),
33219                            xunits: EC[i],
33220                            y: parseFloat(t.getAttribute("y")),
33221                            yunits: EC[r],
33222                            origin: n
33223                        }
33224                    })), scale: Mf(QC)
33225                });
33226                var rR = Cf(TC, {color: Mf(KC), scale: Mf(QC)});
33227                var eR = Cf(TC, {color: Mf(KC), width: Mf(nA)});
33228                var oR = Cf(TC, {color: Mf(KC), fill: Mf($E), outline: Mf($E)});
33229                var sR = Cf(TC, {coordinates: Sf(YC)});
33230
33231                function aR(t, n) {
33232                    return Pf(null, sR, t, n)
33233                }
33234
33235                var uR = Cf(OC, {Track: jf(hR)});
33236                var cR = Cf(TC, {
33237                    when: function (t, n) {
33238                        var i = n[n.length - 1].whens, r = yf(t, !1), e = Date.parse(r);
33239                        i.push(isNaN(e) ? 0 : e)
33240                    }
33241                }, Cf(OC, {
33242                    coord: function (t, n) {
33243                        var i = n[n.length - 1].coordinates, r = yf(t, !1),
33244                            e = /^\s*([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s+([+\-]?\d+(?:\.\d*)?(?:e[+\-]?\d*)?)\s*$/i.exec(r);
33245                        if (e) {
33246                            var o = parseFloat(e[1]), s = parseFloat(e[2]), a = parseFloat(e[3]);
33247                            i.push([o, s, a])
33248                        } else i.push([])
33249                    }
33250                }));
33251
33252                function hR(t, n) {
33253                    var i = Pf({coordinates: [], whens: []}, cR, t, n);
33254                    if (i) {
33255                        for (var r = [], e = i.coordinates, o = i.whens, s = 0, a = Math.min(e.length, o.length); s < a; ++s) 3 == e[s].length && r.push(e[s][0], e[s][1], e[s][2], o[s]);
33256                        return new xj(r, Rt)
33257                    }
33258                }
33259
33260                var fR = Cf(TC, {href: Mf(ZC)}, Cf(OC, {x: Mf(nA), y: Mf(nA), w: Mf(nA), h: Mf(nA)}));
33261                var lR = Cf(TC, {coordinates: Sf(YC)});
33262
33263                function vR(t, n) {
33264                    return Pf(null, lR, t, n)
33265                }
33266
33267                var dR = Cf(TC, {extrude: Mf($E), tessellate: Mf($E), altitudeMode: Mf(oA)});
33268
33269                function pR(t, n) {
33270                    var i = Pf({}, dR, t, n), r = vR(t, n);
33271                    if (r) {
33272                        var e = new xj(r, At);
33273                        return e.setProperties(i, !0), e
33274                    }
33275                }
33276
33277                function yR(t, n) {
33278                    var i = Pf({}, dR, t, n), r = vR(t, n);
33279                    if (r) {
33280                        var e = new Ke(r, At, [r.length]);
33281                        return e.setProperties(i, !0), e
33282                    }
33283                }
33284
33285                var mR = Cf(TC, {
33286                    LineString: jf(pR),
33287                    LinearRing: jf(yR),
33288                    MultiGeometry: jf(wR),
33289                    Point: jf(bR),
33290                    Polygon: jf(xR)
33291                });
33292
33293                function wR(t, n) {
33294                    var i, r = Pf([], mR, t, n);
33295                    if (!r) return null;
33296                    if (0 === r.length) return new sS(r);
33297                    for (var e = !0, o = r[0].getType(), s = 1, a = r.length; s < a; ++s) if (r[s].getType() != o) {
33298                        e = !1;
33299                        break
33300                    }
33301                    if (e) {
33302                        var u = void 0, c = void 0;
33303                        if (o == Pt.POINT) {
33304                            var h = r[0];
33305                            u = h.getLayout(), c = h.getFlatCoordinates();
33306                            for (s = 1, a = r.length; s < a; ++s) b(c, r[s].getFlatCoordinates());
33307                            kR(i = new yj(c, u), r)
33308                        } else o == Pt.LINE_STRING ? kR(i = new Sj(r), r) : o == Pt.POLYGON ? kR(i = new _j(r), r) : o == Pt.GEOMETRY_COLLECTION ? i = new sS(r) : Mt(!1, 37)
33309                    } else i = new sS(r);
33310                    return i
33311                }
33312
33313                function bR(t, n) {
33314                    var i = Pf({}, dR, t, n), r = vR(t, n);
33315                    if (r) {
33316                        var e = new Oe(r, At);
33317                        return e.setProperties(i, !0), e
33318                    }
33319                }
33320
33321                var gR = Cf(TC, {
33322                    innerBoundaryIs: function (t, n) {
33323                        var i = Pf([], PR, t, n);
33324                        if (i.length > 0) {
33325                            var r = n[n.length - 1];
33326                            r.push.apply(r, i)
33327                        }
33328                    }, outerBoundaryIs: function (t, n) {
33329                        var i = Pf(void 0, IR, t, n);
33330                        if (i) {
33331                            n[n.length - 1][0] = i
33332                        }
33333                    }
33334                });
33335
33336                function xR(t, n) {
33337                    var i = Pf({}, dR, t, n), r = Pf([null], gR, t, n);
33338                    if (r && r[0]) {
33339                        for (var e = r[0], o = [e.length], s = 1, a = r.length; s < a; ++s) b(e, r[s]), o.push(e.length);
33340                        var u = new Ke(e, At, o);
33341                        return u.setProperties(i, !0), u
33342                    }
33343                }
33344
33345                var jR = Cf(TC, {
33346                    IconStyle: function (t, n) {
33347                        var i = Pf({}, iR, t, n);
33348                        if (i) {
33349                            var r, e, o, s, a = n[n.length - 1], u = "Icon" in i ? i.Icon : {},
33350                                c = !("Icon" in i) || Object.keys(u).length > 0, h = u.href;
33351                            h ? r = h : c && (r = MC);
33352                            var f, l = Cv, v = i.hotSpot;
33353                            v ? (e = [v.x, v.y], o = v.xunits, s = v.yunits, l = v.origin) : /^http:\/\/maps\.(?:google|gstatic)\.com\//.test(r) && (/pushpin/.test(r) ? (e = xC, o = jC, s = SC) : /arrow-reverse/.test(r) ? (e = [54, 42], o = jC, s = SC) : /paddle/.test(r) && (e = [32, 1], o = jC, s = SC));
33354                            var d, p = u.x, y = u.y;
33355                            void 0 !== p && void 0 !== y && (f = [p, y]);
33356                            var m, w = u.w, b = u.h;
33357                            void 0 !== w && void 0 !== b && (d = [w, b]);
33358                            var g = i.heading;
33359                            void 0 !== g && (m = pi(g));
33360                            var x = i.scale, j = i.color;
33361                            if (c) {
33362                                r == MC && (d = kC);
33363                                var S = new Uv({
33364                                    anchor: e,
33365                                    anchorOrigin: l,
33366                                    anchorXUnits: o,
33367                                    anchorYUnits: s,
33368                                    crossOrigin: this.Bt,
33369                                    offset: f,
33370                                    offsetOrigin: Cv,
33371                                    rotation: m,
33372                                    scale: x,
33373                                    size: d,
33374                                    src: this.hy(r),
33375                                    color: j
33376                                }), k = S.getScaleArray()[0], M = S.getSize();
33377                                if (null === M) {
33378                                    var _ = S.getImageState();
33379                                    if (_ === yo || _ === mo) {
33380                                        S.listenImageChange((function t() {
33381                                            var n = S.getImageState();
33382                                            if (n !== yo && n !== mo) {
33383                                                var i = S.getSize();
33384                                                if (i && 2 == i.length) {
33385                                                    var r = VC(i);
33386                                                    S.setScale(k * r)
33387                                                }
33388                                                S.unlistenImageChange(t)
33389                                            }
33390                                        })), _ === yo && S.load()
33391                                    }
33392                                } else if (2 == M.length) {
33393                                    var O = VC(M);
33394                                    S.setScale(k * O)
33395                                }
33396                                a.imageStyle = S
33397                            } else a.imageStyle = FC
33398                        }
33399                    }, LabelStyle: function (t, n) {
33400                        var i = Pf({}, rR, t, n);
33401                        if (i) {
33402                            var r = n[n.length - 1],
33403                                e = new Qv({fill: new Tv({color: "color" in i ? i.color : gC}), scale: i.scale});
33404                            r.textStyle = e
33405                        }
33406                    }, LineStyle: function (t, n) {
33407                        var i = Pf({}, eR, t, n);
33408                        if (i) {
33409                            var r = n[n.length - 1],
33410                                e = new qv({color: "color" in i ? i.color : gC, width: "width" in i ? i.width : 1});
33411                            r.strokeStyle = e
33412                        }
33413                    }, PolyStyle: function (t, n) {
33414                        var i = Pf({}, oR, t, n);
33415                        if (i) {
33416                            var r = n[n.length - 1], e = new Tv({color: "color" in i ? i.color : gC});
33417                            r.fillStyle = e;
33418                            var o = i.fill;
33419                            void 0 !== o && (r.fill = o);
33420                            var s = i.outline;
33421                            void 0 !== s && (r.outline = s)
33422                        }
33423                    }
33424                });
33425
33426                function SR(t, n) {
33427                    var i = Pf({}, jR, t, n, this);
33428                    if (!i) return null;
33429                    var r, e = "fillStyle" in i ? i.fillStyle : zC, o = i.fill;
33430                    void 0 === o || o || (e = null), "imageStyle" in i ? i.imageStyle != FC && (r = i.imageStyle) : r = LC;
33431                    var s = "textStyle" in i ? i.textStyle : UC, a = "strokeStyle" in i ? i.strokeStyle : DC,
33432                        u = i.outline;
33433                    return void 0 === u || u ? [new Yv({
33434                        fill: e,
33435                        image: r,
33436                        stroke: a,
33437                        text: s,
33438                        zIndex: void 0
33439                    })] : [new Yv({
33440                        geometry: function (t) {
33441                            var n = t.getGeometry(), i = n.getType();
33442                            return i === Pt.GEOMETRY_COLLECTION ? new sS(n.getGeometriesArrayRecursive().filter((function (t) {
33443                                var n = t.getType();
33444                                return n !== Pt.POLYGON && n !== Pt.MULTI_POLYGON
33445                            }))) : i !== Pt.POLYGON && i !== Pt.MULTI_POLYGON ? n : void 0
33446                        }, fill: e, image: r, stroke: a, text: s, zIndex: void 0
33447                    }), new Yv({
33448                        geometry: function (t) {
33449                            var n = t.getGeometry(), i = n.getType();
33450                            return i === Pt.GEOMETRY_COLLECTION ? new sS(n.getGeometriesArrayRecursive().filter((function (t) {
33451                                var n = t.getType();
33452                                return n === Pt.POLYGON || n === Pt.MULTI_POLYGON
33453                            }))) : i === Pt.POLYGON || i === Pt.MULTI_POLYGON ? n : void 0
33454                        }, fill: e, stroke: null, zIndex: void 0
33455                    })]
33456                }
33457
33458                function kR(t, n) {
33459                    var i, r, e, o = n.length, s = new Array(n.length), a = new Array(n.length),
33460                        u = new Array(n.length);
33461                    i = !1, r = !1, e = !1;
33462                    for (var c = 0; c < o; ++c) {
33463                        var h = n[c];
33464                        s[c] = h.get("extrude"), a[c] = h.get("tessellate"), u[c] = h.get("altitudeMode"), i = i || void 0 !== s[c], r = r || void 0 !== a[c], e = e || u[c]
33465                    }
33466                    i && t.set("extrude", s), r && t.set("tessellate", a), e && t.set("altitudeMode", u)
33467                }
33468
33469                var MR = Cf(TC, {displayName: Mf(oA), value: Mf(oA)});
33470                var _R = Cf(TC, {
33471                    Data: function (t, n) {
33472                        var i = t.getAttribute("name");
33473                        Rf(MR, t, n);
33474                        var r = n[n.length - 1];
33475                        i && r.displayName ? r[i] = {
33476                            value: r.value, displayName: r.displayName, toString: function () {
33477                                return r.value
33478                            }
33479                        } : null !== i ? r[i] = r.value : null !== r.displayName && (r[r.displayName] = r.value), delete r.value
33480                    }, SchemaData: function (t, n) {
33481                        Rf(AR, t, n)
33482                    }
33483                });
33484
33485                function OR(t, n) {
33486                    Rf(_R, t, n)
33487                }
33488
33489                function TR(t, n) {
33490                    Rf(PC, t, n)
33491                }
33492
33493                var ER = Cf(TC, {Style: Mf(SR), key: Mf(oA), styleUrl: Mf($C)});
33494                var AR = Cf(TC, {
33495                    SimpleData: function (t, n) {
33496                        var i = t.getAttribute("name");
33497                        if (null !== i) {
33498                            var r = oA(t);
33499                            n[n.length - 1][i] = r
33500                        }
33501                    }
33502                });
33503                var CR = Cf(TC, {
33504                    altitudeMode: Mf(oA),
33505                    minAltitude: Mf(nA),
33506                    maxAltitude: Mf(nA),
33507                    north: Mf(nA),
33508                    south: Mf(nA),
33509                    east: Mf(nA),
33510                    west: Mf(nA)
33511                });
33512                var RR = Cf(TC, {
33513                    minLodPixels: Mf(nA),
33514                    maxLodPixels: Mf(nA),
33515                    minFadeExtent: Mf(nA),
33516                    maxFadeExtent: Mf(nA)
33517                });
33518                var PR = Cf(TC, {LinearRing: jf(aR)});
33519                var IR = Cf(TC, {LinearRing: Sf(aR)});
33520
33521                function NR(t, n) {
33522                    for (var i = Uo(n), r = [255 * (4 == i.length ? i[3] : 1), i[2], i[1], i[0]], e = 0; e < 4; ++e) {
33523                        var o = Math.floor(r[e]).toString(16);
33524                        r[e] = 1 == o.length ? "0" + o : o
33525                    }
33526                    fA(t, r.join(""))
33527                }
33528
33529                var zR = Cf(TC, {
33530                    Data: _f((function (t, n, i) {
33531                        t.setAttribute("name", n.name);
33532                        var r = {node: t}, e = n.value;
33533                        "object" == bC(e) ? (null !== e && e.displayName && Nf(r, zR, Ef, [e.displayName], i, ["displayName"]), null !== e && e.value && Nf(r, zR, Ef, [e.value], i, ["value"])) : Nf(r, zR, Ef, [e], i, ["value"])
33534                    })), value: _f((function (t, n) {
33535                        fA(t, n)
33536                    })), displayName: _f((function (t, n) {
33537                        aA(t, n)
33538                    }))
33539                });
33540                var FR = Cf(TC, {Placemark: _f(uP)}), LR = function (t, n, i) {
33541                    return pf(n[n.length - 1].node.namespaceURI, "Placemark")
33542                };
33543                var GR = Tf("Data");
33544                var DR = Cf(TC, ["href"], Cf(OC, ["x", "y", "w", "h"])),
33545                    UR = Cf(TC, {href: _f(fA)}, Cf(OC, {x: _f(cA), y: _f(cA), w: _f(cA), h: _f(cA)})),
33546                    qR = function (t, n, i) {
33547                        return pf(OC[0], "gx:" + i)
33548                    };
33549                var BR = Cf(TC, ["scale", "heading", "Icon", "color", "hotSpot"]), WR = Cf(TC, {
33550                    Icon: _f((function (t, n, i) {
33551                        var r = {node: t}, e = i[i.length - 1].node, o = DR[e.namespaceURI], s = Af(n, o);
33552                        Nf(r, UR, Ef, s, i, o), s = Af(n, o = DR[OC[0]]), Nf(r, UR, qR, s, i, o)
33553                    })), color: _f(NR), heading: _f(cA), hotSpot: _f((function (t, n) {
33554                        t.setAttribute("x", String(n.x)), t.setAttribute("y", String(n.y)), t.setAttribute("xunits", n.xunits), t.setAttribute("yunits", n.yunits)
33555                    })), scale: _f(wP)
33556                });
33557                var VR = Cf(TC, ["color", "scale"]), XR = Cf(TC, {color: _f(NR), scale: _f(wP)});
33558                var HR = Cf(TC, ["color", "width"]), JR = Cf(TC, {color: _f(NR), width: _f(cA)});
33559                var KR = {
33560                        Point: "Point",
33561                        LineString: "LineString",
33562                        LinearRing: "LinearRing",
33563                        Polygon: "Polygon",
33564                        MultiPoint: "MultiGeometry",
33565                        MultiLineString: "MultiGeometry",
33566                        MultiPolygon: "MultiGeometry",
33567                        GeometryCollection: "MultiGeometry"
33568                    }, YR = function (t, n, i) {
33569                        if (t) return pf(n[n.length - 1].node.namespaceURI, KR[t.getType()])
33570                    }, ZR = Tf("Point"), $R = Tf("LineString"), QR = Tf("LinearRing"), tP = Tf("Polygon"),
33571                    nP = Cf(TC, {LineString: _f(fP), Point: _f(fP), Polygon: _f(yP), GeometryCollection: _f(iP)});
33572
33573                function iP(t, n, i) {
33574                    var r, e = {node: t}, o = n.getType(), s = [];
33575                    o === Pt.GEOMETRY_COLLECTION ? (n.getGeometriesArrayRecursive().forEach((function (t) {
33576                        var n = t.getType();
33577                        n === Pt.MULTI_POINT ? s = s.concat(t.getPoints()) : n === Pt.MULTI_LINE_STRING ? s = s.concat(t.getLineStrings()) : n === Pt.MULTI_POLYGON ? s = s.concat(t.getPolygons()) : n === Pt.POINT || n === Pt.LINE_STRING || n === Pt.POLYGON ? s.push(t) : Mt(!1, 39)
33578                    })), r = YR) : o === Pt.MULTI_POINT ? (s = n.getPoints(), r = ZR) : o === Pt.MULTI_LINE_STRING ? (s = n.getLineStrings(), r = $R) : o === Pt.MULTI_POLYGON ? (s = n.getPolygons(), r = tP) : Mt(!1, 39), Nf(e, nP, r, s, i)
33579                }
33580
33581                var rP = Cf(TC, {LinearRing: _f(fP)});
33582
33583                function eP(t, n, i) {
33584                    Nf({node: t}, rP, QR, [n], i)
33585                }
33586
33587                var oP = Cf(TC, {
33588                        ExtendedData: _f((function (t, n, i) {
33589                            for (var r = {node: t}, e = n.names, o = n.values, s = e.length, a = 0; a < s;
33589 a++) Nf(r, zR, GR, [{
33590                                name: e[a],
33591                                value: o[a]
33592                            }], i)
33593                        })),
33594                        MultiGeometry: _f(iP),
33595                        LineString: _f(fP),
33596                        LinearRing: _f(fP),
33597                        Point: _f(fP),
33598                        Polygon: _f(yP),
33599                        Style: _f((function (t, n, i) {
33600                            var r = {node: t}, e = {};
33601                            if (n.pointStyles.length) {
33602                                var o = n.pointStyles[0].getText();
33603                                o && (e.LabelStyle = o);
33604                                var s = n.pointStyles[0].getImage();
33605                                s && "function" == typeof s.getSrc && (e.IconStyle = s)
33606                            }
33607                            if (n.lineStyles.length) {
33608                                (a = n.lineStyles[0].getStroke()) && (e.LineStyle = a)
33609                            }
33610                            if (n.polyStyles.length) {
33611                                var a;
33612                                (a = n.polyStyles[0].getStroke()) && !e.LineStyle && (e.LineStyle = a), e.PolyStyle = n.polyStyles[0]
33613                            }
33614                            var u = i[i.length - 1].node, c = bP[u.namespaceURI], h = Af(e, c);
33615                            Nf(r, gP, Ef, h, i, c)
33616                        })),
33617                        address: _f(fA),
33618                        description: _f(fA),
33619                        name: _f(fA),
33620                        open: _f(sA),
33621                        phoneNumber: _f(fA),
33622                        styleUrl: _f(fA),
33623                        visibility: _f(sA)
33624                    }),
33625                    sP = Cf(TC, ["name", "open", "visibility", "address", "phoneNumber", "description", "styleUrl", "Style"]),
33626                    aP = Tf("ExtendedData");
33627
33628                function uP(t, n, i) {
33629                    var r = {node: t};
33630                    n.getId() && t.setAttribute("id", n.getId());
33631                    var e = n.getProperties(),
33632                        o = {address: 1, description: 1, name: 1, open: 1, phoneNumber: 1, styleUrl: 1, visibility: 1};
33633                    o[n.getGeometryName()] = 1;
33634                    var s = Object.keys(e || {}).sort().filter((function (t) {
33635                        return !o[t]
33636                    })), a = n.getStyleFunction();
33637                    if (a) {
33638                        var u = a(n, 0);
33639                        if (u) {
33640                            var c = Array.isArray(u) ? u : [u], h = c;
33641                            if (n.getGeometry() && (h = c.filter((function (t) {
33642                                var i = t.getGeometryFunction()(n);
33643                                if (i) {
33644                                    var r = i.getType();
33645                                    return r === Pt.GEOMETRY_COLLECTION ? i.getGeometriesArrayRecursive().filter((function (t) {
33646                                        var n = t.getType();
33647                                        return n === Pt.POINT || n === Pt.MULTI_POINT
33648                                    })).length : r === Pt.POINT || r === Pt.MULTI_POINT
33649                                }
33650                            }))), this.oy) {
33651                                var f = c, l = c;
33652                                n.getGeometry() && (f = c.filter((function (t) {
33653                                    var i = t.getGeometryFunction()(n);
33654                                    if (i) {
33655                                        var r = i.getType();
33656                                        return r === Pt.GEOMETRY_COLLECTION ? i.getGeometriesArrayRecursive().filter((function (t) {
33657                                            var n = t.getType();
33658                                            return n === Pt.LINE_STRING || n === Pt.MULTI_LINE_STRING
33659                                        })).length : r === Pt.LINE_STRING || r === Pt.MULTI_LINE_STRING
33660                                    }
33661                                })), l = c.filter((function (t) {
33662                                    var i = t.getGeometryFunction()(n);
33663                                    if (i) {
33664                                        var r = i.getType();
33665                                        return r === Pt.GEOMETRY_COLLECTION ? i.getGeometriesArrayRecursive().filter((function (t) {
33666                                            var n = t.getType();
33667                                            return n === Pt.POLYGON || n === Pt.MULTI_POLYGON
33668                                        })).length : r === Pt.POLYGON || r === Pt.MULTI_POLYGON
33669                                    }
33670                                }))), e.Style = {pointStyles: h, lineStyles: f, polyStyles: l}
33671                            }
33672                            if (h.length && void 0 === e.name) {
33673                                var v = h[0].getText();
33674                                v && (e.name = v.getText())
33675                            }
33676                        }
33677                    }
33678                    var d = i[i.length - 1].node, p = sP[d.namespaceURI], y = Af(e, p);
33679                    if (Nf(r, oP, Ef, y, i, p), s.length > 0) {
33680                        var m = Af(e, s);
33681                        Nf(r, oP, aP, [{names: s, values: m}], i)
33682                    }
33683                    var w = i[0], b = n.getGeometry();
33684                    b && (b = Hj(b, !0, w)), Nf(r, oP, YR, [b], i)
33685                }
33686
33687                var cP = Cf(TC, ["extrude", "tessellate", "altitudeMode", "coordinates"]), hP = Cf(TC, {
33688                    extrude: _f(sA),
33689                    tessellate: _f(sA),
33690                    altitudeMode: _f(fA),
33691                    coordinates: _f((function (t, n, i) {
33692                        var r, e = i[i.length - 1], o = e.layout, s = e.stride;
33693                        o == Et || o == Ct ? r = 2 : o == At || o == Rt ? r = 3 : Mt(!1, 34);
33694                        var a = n.length, u = "";
33695                        if (a > 0) {
33696                            u += n[0];
33697                            for (var c = 1; c < r; ++c) u += "," + n[c];
33698                            for (var h = s; h < a; h += s) {
33699                                u += " " + n[h];
33700                                for (c = 1; c < r; ++c) u += "," + n[h + c]
33701                            }
33702                        }
33703                        fA(t, u)
33704                    }))
33705                });
33706
33707                function fP(t, n, i) {
33708                    var r = n.getFlatCoordinates(), e = {node: t};
33709                    e.layout = n.getLayout(), e.stride = n.getStride();
33710                    var o = n.getProperties();
33711                    o.coordinates = r;
33712                    var s = i[i.length - 1].node, a = cP[s.namespaceURI], u = Af(o, a);
33713                    Nf(e, hP, Ef, u, i, a)
33714                }
33715
33716                var lP = Cf(TC, ["color", "fill", "outline"]),
33717                    vP = Cf(TC, {outerBoundaryIs: _f(eP), innerBoundaryIs: _f(eP)}), dP = Tf("innerBoundaryIs"),
33718                    pP = Tf("outerBoundaryIs");
33719
33720                function yP(t, n, i) {
33721                    var r = n.getLinearRings(), e = r.shift(), o = {node: t};
33722                    Nf(o, vP, dP, r, i), Nf(o, vP, pP, [e], i)
33723                }
33724
33725                var mP = Cf(TC, {color: _f(NR), fill: _f(sA), outline: _f(sA)});
33726
33727                function wP(t, n) {
33728                    cA(t, Math.round(1e6 * n) / 1e6)
33729                }
33730
33731                var bP = Cf(TC, ["IconStyle", "LabelStyle", "LineStyle", "PolyStyle"]), gP = Cf(TC, {
33732                    IconStyle: _f((function (t, n, i) {
33733                        var r = {node: t}, e = {}, o = n.getSrc(), s = n.getSize(), a = n.getImageSize(), u = {href: o};
33734                        if (s) {
33735                            u.w = s[0], u.h = s[1];
33736                            var c = n.getAnchor(), h = n.getOrigin();
33737                            if (h && a && 0 !== h[0] && h[1] !== s[1] && (u.x = h[0], u.y = a[1] - (h[1] + s[1])), c && (c[0] !== s[0] / 2 || c[1] !== s[1] / 2)) {
33738                                var f = {x: c[0], xunits: Av, y: s[1] - c[1], yunits: Av};
33739                                e.hotSpot = f
33740                            }
33741                        }
33742                        e.Icon = u;
33743                        var l = n.getScaleArray()[0], v = s;
33744                        null === v && (v = kC), 2 == v.length && (l /= VC(v)), 1 !== l && (e.scale = l);
33745                        var d = n.getRotation();
33746                        0 !== d && (e.heading = d);
33747                        var p = n.getColor();
33748                        p && (e.color = p);
33749                        var y = i[i.length - 1].node, m = BR[y.namespaceURI], w = Af(e, m);
33750                        Nf(r, WR, Ef, w, i, m)
33751                    })), LabelStyle: _f((function (t, n, i) {
33752                        var r = {node: t}, e = {}, o = n.getFill();
33753                        o && (e.color = o.getColor());
33754                        var s = n.getScale();
33755                        s && 1 !== s && (e.scale = s);
33756                        var a = i[i.length - 1].node, u = VR[a.namespaceURI], c = Af(e, u);
33757                        Nf(r, XR, Ef, c, i, u)
33758                    })), LineStyle: _f((function (t, n, i) {
33759                        var r = {node: t}, e = {color: n.getColor(), width: Number(n.getWidth()) || 1},
33760                            o = i[i.length - 1].node, s = HR[o.namespaceURI], a = Af(e, s);
33761                        Nf(r, JR, Ef, a, i, s)
33762                    })), PolyStyle: _f((function (t, n, i) {
33763                        var r = {node: t}, e = n.getFill(), o = n.getStroke(),
33764                            s = {color: e ? e.getColor() : void 0, fill: !!e && void 0, outline: !!o && void 0},
33765                            a = i[i.length - 1].node, u = lP[a.namespaceURI], c = Af(s, u);
33766                        Nf(r, mP, Ef, c, i, u)
33767                    }))
33768                });
33769                var xP = HC, jP = function () {
33770                    var t = function (n, i) {
33771                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
33772                            t.__proto__ = n
33773                        } || function (t, n) {
33774                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
33775                        })(n, i)
33776                    };
33777                    return function (n, i) {
33778                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
33779
33780                        function r() {
33781                            this.constructor = n
33782                        }
33783
33784                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
33785                    }
33786                }(), SP = [null], kP = Cf(SP, {
33787                    nd: function (t, n) {
33788                        n[n.length - 1].ndrefs.push(t.getAttribute("ref"))
33789                    }, tag: TP
33790                }), MP = Cf(SP, {
33791                    node: function (t, n) {
33792                        var i = n[0], r = n[n.length - 1], e = t.getAttribute("id"),
33793                            o = [parseFloat(t.getAttribute("lon")), parseFloat(t.getAttribute("lat"))];
33794                        r.nodes[e] = o;
33795                        var s = Pf({tags: {}}, OP, t, n);
33796                        if (!R(s.tags)) {
33797                            var a = new Oe(o);
33798                            Hj(a, !1, i);
33799                            var u = new Tt(a);
33800                            void 0 !== e && u.setId(e), u.setProperties(s.tags, !0), r.features.push(u)
33801                        }
33802                    }, way: function (t, n) {
33803                        var i = Pf({id: t.getAttribute("id"), ndrefs: [], tags: {}}, kP, t, n);
33804                        n[n.length - 1].ways.push(i)
33805                    }
33806                }), _P = function (t) {
33807                    function n() {
33808                        var n = t.call(this) || this;
33809                        return n.dataProjection = br("EPSG:4326"), n
33810                    }
33811
33812                    return jP(n, t), n.prototype.readFeaturesFromNode = function (t, n) {
33813                        var i = this.getReadOptions(t, n);
33814                        if ("osm" == t.localName) {
33815                            for (var r = Pf({
33816                                nodes: {},
33817                                ways: [],
33818                                features: []
33819                            }, MP, t, [i]), e = 0; e < r.ways.length; e++) {
33820                                for (var o = r.ways[e], s = [], a = 0, u = o.ndrefs.length; a < u; a++) {
33821                                    b(s, r.nodes[o.ndrefs[a]])
33822                                }
33823                                var c = void 0;
33824                                Hj(c = o.ndrefs[0] == o.ndrefs[o.ndrefs.length - 1] ? new Ke(s, Et, [s.length]) : new xj(s, Et), !1, i);
33825                                var h = new Tt(c);
33826                                void 0 !== o.id && h.setId(o.id), h.setProperties(o.tags, !0), r.features.push(h)
33827                            }
33828                            if (r.features) return r.features
33829                        }
33830                        return []
33831                    }, n
33832                }(XE), OP = Cf(SP, {tag: TP});
33833
33834                function TP(t, n) {
33835                    n[n.length - 1].tags[t.getAttribute("k")] = t.getAttribute("v")
33836                }
33837
33838                var EP = _P, AP = function () {
33839                    function t() {
33840                    }
33841
33842                    return t.prototype.read = function (t) {
33843                        if (t) {
33844                            if ("string" == typeof t) {
33845                                var n = gf(t);
33846                                return this.readFromDocument(n)
33847                            }
33848                            return wf(t) ? this.readFromDocument(t) : this.readFromNode(t)
33849                        }
33850                        return null
33851                    }, t.prototype.readFromDocument = function (t) {
33852                        for (var n = t.firstChild; n; n = n.nextSibling) if (n.nodeType == Node.ELEMENT_NODE) return this.readFromNode(n);
33853                        return null
33854                    }, t.prototype.readFromNode = function (t) {
33855                    }, t
33856                }();
33857
33858                function CP(t) {
33859                    return t.getAttributeNS("http://www.w3.org/1999/xlink", "href")
33860                }
33861
33862                var RP = function () {
33863                    var t = function (n, i) {
33864                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
33865                            t.__proto__ = n
33866                        } || function (t, n) {
33867                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
33868                        })(n, i)
33869                    };
33870                    return function (n, i) {
33871                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
33872
33873                        function r() {
33874                            this.constructor = n
33875                        }
33876
33877                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
33878                    }
33879                }(), PP = [null, "http://www.opengis.net/ows/1.1"], IP = Cf(PP, {
33880                    ServiceIdentification: Mf((function (t, n) {
33881                        return Pf({}, HP, t, n)
33882                    })), ServiceProvider: Mf((function (t, n) {
33883                        return Pf({}, JP, t, n)
33884                    })), OperationsMetadata: Mf((function (t, n) {
33885                        return Pf({}, BP, t, n)
33886                    }))
33887                }), NP = function (t) {
33888                    function n() {
33889                        return t.call(this) || this
33890                    }
33891
33892                    return RP(n, t), n.prototype.readFromNode = function (t) {
33893                        var n = Pf({}, IP, t, []);
33894                        return n || null
33895                    }, n
33896                }(AP), zP = Cf(PP, {
33897                    DeliveryPoint: Mf(oA),
33898                    City: Mf(oA),
33899                    AdministrativeArea: Mf(oA),
33900                    PostalCode: Mf(oA),
33901                    Country: Mf(oA),
33902                    ElectronicMailAddress: Mf(oA)
33903                }), FP = Cf(PP, {
33904                    Value: kf((function (t, n) {
33905                        return oA(t)
33906                    }))
33907                }), LP = Cf(PP, {
33908                    AllowedValues: Mf((function (t, n) {
33909                        return Pf({}, FP, t, n)
33910                    }))
33911                }), GP = Cf(PP, {
33912                    Phone: Mf((function (t, n) {
33913                        return Pf({}, WP, t, n)
33914                    })), Address: Mf((function (t, n) {
33915                        return Pf({}, zP, t, n)
33916                    }))
33917                }), DP = Cf(PP, {
33918                    HTTP: Mf((function (t, n) {
33919                        return Pf({}, UP, t, n)
33920                    }))
33921                }), UP = Cf(PP, {
33922                    Get: kf((function (t, n) {
33923                        var i = CP(t);
33924                        if (!i) return;
33925                        return Pf({href: i}, VP, t, n)
33926                    })), Post: void 0
33927                }), qP = Cf(PP, {
33928                    DCP: Mf((function (t, n) {
33929                        return Pf({}, DP, t, n)
33930                    }))
33931                }), BP = Cf(PP, {
33932                    Operation: function (t, n) {
33933                        var i = t.getAttribute("name"), r = Pf({}, qP, t, n);
33934                        if (!r) return;
33935                        n[n.length - 1][i] = r
33936                    }
33937                }), WP = Cf(PP, {Voice: Mf(oA), Facsimile: Mf(oA)}), VP = Cf(PP, {
33938                    Constraint: kf((function (t, n) {
33939                        var i = t.getAttribute("name");
33940                        if (!i) return;
33941                        return Pf({name: i}, LP, t, n)
33942                    }))
33943                }), XP = Cf(PP, {
33944                    IndividualName: Mf(oA), PositionName: Mf(oA), ContactInfo: Mf((function (t, n) {
33945                        return Pf({}, GP, t, n)
33946                    }))
33947                }), HP = Cf(PP, {
33948                    Abstract: Mf(oA),
33949                    AccessConstraints: Mf(oA),
33950                    Fees: Mf(oA),
33951                    Title: Mf(oA),
33952                    ServiceTypeVersion: Mf(oA),
33953                    ServiceType: Mf(oA)
33954                }), JP = Cf(PP, {
33955                    ProviderName: Mf(oA), ProviderSite: Mf(CP), ServiceContact: Mf((function (t, n) {
33956                        return Pf({}, XP, t, n)
33957                    }))
33958                });
33959                var KP = NP, YP = function () {
33960                    var t = function (n, i) {
33961                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
33962                            t.__proto__ = n
33963                        } || function (t, n) {
33964                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
33965                        })(n, i)
33966                    };
33967                    return function (n, i) {
33968                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
33969
33970                        function r() {
33971                            this.constructor = n
33972                        }
33973
33974                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
33975                    }
33976                }();
33977
33978                function ZP(t, n, i) {
33979                    var r, e = i || 1e5, o = new Array(n);
33980                    for (r = 0; r < n; ++r) o[r] = 0;
33981                    for (var s = 0, a = t.length; s < a;) for (r = 0; r < n; ++r, ++s) {
33982                        var u = t[s], c = u - o[r];
33983                        o[r] = u, t[s] = c
33984                    }
33985                    return QP(t, e)
33986                }
33987
33988                function $P(t, n, i) {
33989                    var r, e = i || 1e5, o = new Array(n);
33990                    for (r = 0; r < n; ++r) o[r] = 0;
33991                    for (var s = tI(t, e), a = 0, u = s.length; a < u;) for (r = 0; r < n; ++r, ++a) o[r] += s[a], s[a] = o[r];
33992                    return s
33993                }
33994
33995                function QP(t, n) {
33996                    for (var i = n || 1e5, r = 0, e = t.length; r < e; ++r) t[r] = Math.round(t[r] * i);
33997                    return nI(t)
33998                }
33999
34000                function tI(t, n) {
34001                    for (var i = n || 1e5, r = iI(t), e = 0, o = r.length; e < o; ++e) r[e] /= i;
34002                    return r
34003                }
34004
34005                function nI(t) {
34006                    for (var n = 0, i = t.length; n < i; ++n) {
34007                        var r = t[n];
34008                        t[n] = r < 0 ? ~(r << 1) : r << 1
34009                    }
34010                    return rI(t)
34011                }
34012
34013                function iI(t) {
34014                    for (var n = eI(t), i = 0, r = n.length; i < r; ++i) {
34015                        var e = n[i];
34016                        n[i] = 1 & e ? ~(e >> 1) : e >> 1
34017                    }
34018                    return n
34019                }
34020
34021                function rI(t) {
34022                    for (var n = "", i = 0, r = t.length; i < r; ++i) n += oI(t[i]);
34023                    return n
34024                }
34025
34026                function eI(t) {
34027                    for (var n = [], i = 0, r = 0, e = 0, o = t.length; e < o; ++e) {
34028                        var s = t.charCodeAt(e) - 63;
34029                        i |= (31 & s) << r, s < 32 ? (n.push(i), i = 0, r = 0) : r += 5
34030                    }
34031                    return n
34032                }
34033
34034                function oI(t) {
34035                    for (var n, i = ""; t >= 32;) n = 63 + (32 | 31 & t), i += String.fromCharCode(n), t >>= 5;
34036                    return n = t + 63, i += String.fromCharCode(n)
34037                }
34038
34039                var sI = function (t) {
34040                    function n(n) {
34041                        var i = t.call(this) || this, r = n || {};
34042                        return i.dataProjection = br("EPSG:4326"), i.wy = r.factor ? r.factor : 1e5, i.gy = r.geometryLayout ? r.geometryLayout : Et, i
34043                    }
34044
34045                    return YP(n, t), n.prototype.readFeatureFromText = function (t, n) {
34046                        var i = this.readGeometryFromText(t, n);
34047                        return new Tt(i)
34048                    }, n.prototype.readFeaturesFromText = function (t, n) {
34049                        return [this.readFeatureFromText(t, n)]
34050                    }, n.prototype.readGeometryFromText = function (t, n) {
34051                        var i = Zr(this.gy), r = $P(t, i, this.wy);
34052                        zE(r, 0, r.length, i, r);
34053                        var e = we(r, 0, r.length, i);
34054                        return Hj(new xj(e, this.gy), !1, this.adaptOptions(n))
34055                    }, n.prototype.writeFeatureText = function (t, n) {
34056                        var i = t.getGeometry();
34057                        return i ? this.writeGeometryText(i, n) : (Mt(!1, 40), "")
34058                    }, n.prototype.writeFeaturesText = function (t, n) {
34059                        return this.writeFeatureText(t[0], n)
34060                    }, n.prototype.writeGeometryText = function (t, n) {
34061                        var i = (t = Hj(t, !0, this.adaptOptions(n))
vendor: 32,768 bytes, lines 34061-34717
34061).getFlatCoordinates(), r = t.getStride();
34062                        return zE(i, 0, i.length, r, i), ZP(i, r, this.wy)
34063                    }, n
34064                }(cC), aI = function () {
34065                    var t = function (n, i) {
34066                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34067                            t.__proto__ = n
34068                        } || function (t, n) {
34069                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34070                        })(n, i)
34071                    };
34072                    return function (n, i) {
34073                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34074
34075                        function r() {
34076                            this.constructor = n
34077                        }
34078
34079                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34080                    }
34081                }(), uI = function (t) {
34082                    function n(n) {
34083                        var i = t.call(this) || this, r = n || {};
34084                        return i.Ql = r.layerName, i.Uc = r.layers ? r.layers : null, i.dataProjection = br(r.dataProjection ? r.dataProjection : "EPSG:4326"), i
34085                    }
34086
34087                    return aI(n, t), n.prototype.readFeaturesFromObject = function (t, n) {
34088                        if ("Topology" == t.type) {
34089                            var i = t, r = void 0, e = null, o = null;
34090                            i.transform && (e = (r = i.transform).scale, o = r.translate);
34091                            var s = i.arcs;
34092                            r && function (t, n, i) {
34093                                for (var r = 0, e = t.length; r < e; ++r) vI(t[r], n, i)
34094                            }(s, e, o);
34095                            var a = [], u = i.objects, c = this.Ql, h = void 0;
34096                            for (var f in u) this.Uc && -1 == this.Uc.indexOf(f) || ("GeometryCollection" === u[f].type ? (h = u[f], a.push.apply(a, fI(h, s, e, o, c, f, n))) : (h = u[f], a.push(lI(h, s, e, o, c, f, n))));
34097                            return a
34098                        }
34099                        return []
34100                    }, n.prototype.readProjectionFromObject = function (t) {
34101                        return this.dataProjection
34102                    }, n
34103                }(cS), cI = {
34104                    Point: function (t, n, i) {
34105                        var r = t.coordinates;
34106                        n && i && dI(r, n, i);
34107                        return new Oe(r)
34108                    }, LineString: function (t, n) {
34109                        var i = hI(t.arcs, n);
34110                        return new xj(i)
34111                    }, Polygon: function (t, n) {
34112                        for (var i = [], r = 0, e = t.arcs.length; r < e; ++r) i[r] = hI(t.arcs[r], n);
34113                        return new Ke(i)
34114                    }, MultiPoint: function (t, n, i) {
34115                        var r = t.coordinates;
34116                        if (n && i) for (var e = 0, o = r.length; e < o; ++e) dI(r[e], n, i);
34117                        return new yj(r)
34118                    }, MultiLineString: function (t, n) {
34119                        for (var i = [], r = 0, e = t.arcs.length; r < e; ++r) i[r] = hI(t.arcs[r], n);
34120                        return new Sj(i)
34121                    }, MultiPolygon: function (t, n) {
34122                        for (var i = [], r = 0, e = t.arcs.length; r < e; ++r) {
34123                            for (var o = t.arcs[r], s = [], a = 0, u = o.length; a < u; ++a) s[a] = hI(o[a], n);
34124                            i[r] = s
34125                        }
34126                        return new _j(i)
34127                    }
34128                };
34129
34130                function hI(t, n) {
34131                    for (var i, r = [], e = 0, o = t.length; e < o; ++e) if (i = t[e], e > 0 && r.pop(), i >= 0) for (var s = 0, a = (u = n[i]).length; s < a; ++s) r.push(u[s].slice(0)); else {
34132                        var u;
34133                        for (s = (u = n[~i]).length - 1; s >= 0; --s) r.push(u[s].slice(0))
34134                    }
34135                    return r
34136                }
34137
34138                function fI(t, n, i, r, e, o, s) {
34139                    for (var a = t.geometries, u = [], c = 0, h = a.length; c < h; ++c) u[c] = lI(a[c], n, i, r, e, o, s);
34140                    return u
34141                }
34142
34143                function lI(t, n, i, r, e, o, s) {
34144                    var a = null, u = t.type;
34145                    if (u) {
34146                        var c = cI[u];
34147                        a = Hj(a = "Point" === u || "MultiPoint" === u ? c(t, i, r) : c(t, n), !1, s)
34148                    }
34149                    var h = new Tt({geometry: a});
34150                    void 0 !== t.id && h.setId(t.id);
34151                    var f = t.properties;
34152                    return e && (f || (f = {}), f[e] = o), f && h.setProperties(f, !0), h
34153                }
34154
34155                function vI(t, n, i) {
34156                    for (var r = 0, e = 0, o = 0, s = t.length; o < s; ++o) {
34157                        var a = t[o];
34158                        r += a[0], e += a[1], a[0] = r, a[1] = e, dI(a, n, i)
34159                    }
34160                }
34161
34162                function dI(t, n, i) {
34163                    t[0] = t[0] * n[0] + i[0], t[1] = t[1] * n[1] + i[1]
34164                }
34165
34166                var pI = uI, yI = function () {
34167                    function t(t) {
34168                        this.xy = t
34169                    }
34170
34171                    return t.prototype.getTagName = function () {
34172                        return this.xy
34173                    }, t
34174                }(), mI = function () {
34175                    var t = function (n, i) {
34176                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34177                            t.__proto__ = n
34178                        } || function (t, n) {
34179                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34180                        })(n, i)
34181                    };
34182                    return function (n, i) {
34183                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34184
34185                        function r() {
34186                            this.constructor = n
34187                        }
34188
34189                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34190                    }
34191                }(), wI = function (t) {
34192                    function n(n, i) {
34193                        var r = t.call(this, n) || this;
34194                        return r.conditions = i, Mt(r.conditions.length >= 2, 57), r
34195                    }
34196
34197                    return mI(n, t), n
34198                }(yI), bI = function () {
34199                    var t = function (n, i) {
34200                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34201                            t.__proto__ = n
34202                        } || function (t, n) {
34203                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34204                        })(n, i)
34205                    };
34206                    return function (n, i) {
34207                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34208
34209                        function r() {
34210                            this.constructor = n
34211                        }
34212
34213                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34214                    }
34215                }(), gI = function (t) {
34216                    function n(n) {
34217                        return t.call(this, "And", Array.prototype.slice.call(arguments)) || this
34218                    }
34219
34220                    return bI(n, t), n
34221                }(wI), xI = function () {
34222                    var t = function (n, i) {
34223                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34224                            t.__proto__ = n
34225                        } || function (t, n) {
34226                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34227                        })(n, i)
34228                    };
34229                    return function (n, i) {
34230                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34231
34232                        function r() {
34233                            this.constructor = n
34234                        }
34235
34236                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34237                    }
34238                }(), jI = function (t) {
34239                    function n(n, i, r) {
34240                        var e = t.call(this, "BBOX") || this;
34241                        if (e.geometryName = n, e.extent = i, 4 !== i.length) throw new Error("Expected an extent with four values ([minX, minY, maxX, maxY])");
34242                        return e.srsName = r, e
34243                    }
34244
34245                    return xI(n, t), n
34246                }(yI), SI = function () {
34247                    var t = function (n, i) {
34248                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34249                            t.__proto__ = n
34250                        } || function (t, n) {
34251                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34252                        })(n, i)
34253                    };
34254                    return function (n, i) {
34255                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34256
34257                        function r() {
34258                            this.constructor = n
34259                        }
34260
34261                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34262                    }
34263                }(), kI = function (t) {
34264                    function n(n, i, r, e) {
34265                        var o = t.call(this, n) || this;
34266                        return o.geometryName = i || "the_geom", o.geometry = r, o.srsName = e, o
34267                    }
34268
34269                    return SI(n, t), n
34270                }(yI), MI = function () {
34271                    var t = function (n, i) {
34272                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34273                            t.__proto__ = n
34274                        } || function (t, n) {
34275                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34276                        })(n, i)
34277                    };
34278                    return function (n, i) {
34279                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34280
34281                        function r() {
34282                            this.constructor = n
34283                        }
34284
34285                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34286                    }
34287                }(), _I = function (t) {
34288                    function n(n, i, r) {
34289                        return t.call(this, "Contains", n, i, r) || this
34290                    }
34291
34292                    return MI(n, t), n
34293                }(kI), OI = function () {
34294                    var t = function (n, i) {
34295                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34296                            t.__proto__ = n
34297                        } || function (t, n) {
34298                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34299                        })(n, i)
34300                    };
34301                    return function (n, i) {
34302                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34303
34304                        function r() {
34305                            this.constructor = n
34306                        }
34307
34308                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34309                    }
34310                }(), TI = function (t) {
34311                    function n(n, i, r, e, o) {
34312                        var s = t.call(this, "DWithin", n, i, o) || this;
34313                        return s.distance = r, s.unit = e, s
34314                    }
34315
34316                    return OI(n, t), n
34317                }(kI), EI = function () {
34318                    var t = function (n, i) {
34319                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34320                            t.__proto__ = n
34321                        } || function (t, n) {
34322                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34323                        })(n, i)
34324                    };
34325                    return function (n, i) {
34326                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34327
34328                        function r() {
34329                            this.constructor = n
34330                        }
34331
34332                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34333                    }
34334                }(), AI = function (t) {
34335                    function n(n, i, r) {
34336                        return t.call(this, "Disjoint", n, i, r) || this
34337                    }
34338
34339                    return EI(n, t), n
34340                }(kI), CI = function () {
34341                    var t = function (n, i) {
34342                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34343                            t.__proto__ = n
34344                        } || function (t, n) {
34345                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34346                        })(n, i)
34347                    };
34348                    return function (n, i) {
34349                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34350
34351                        function r() {
34352                            this.constructor = n
34353                        }
34354
34355                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34356                    }
34357                }(), RI = function (t) {
34358                    function n(n, i) {
34359                        var r = t.call(this, n) || this;
34360                        return r.propertyName = i, r
34361                    }
34362
34363                    return CI(n, t), n
34364                }(yI), PI = function () {
34365                    var t = function (n, i) {
34366                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34367                            t.__proto__ = n
34368                        } || function (t, n) {
34369                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34370                        })(n, i)
34371                    };
34372                    return function (n, i) {
34373                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34374
34375                        function r() {
34376                            this.constructor = n
34377                        }
34378
34379                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34380                    }
34381                }(), II = function (t) {
34382                    function n(n, i, r) {
34383                        var e = t.call(this, "During", n) || this;
34384                        return e.begin = i, e.end = r, e
34385                    }
34386
34387                    return PI(n, t), n
34388                }(RI), NI = function () {
34389                    var t = function (n, i) {
34390                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34391                            t.__proto__ = n
34392                        } || function (t, n) {
34393                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34394                        })(n, i)
34395                    };
34396                    return function (n, i) {
34397                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34398
34399                        function r() {
34400                            this.constructor = n
34401                        }
34402
34403                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34404                    }
34405                }(), zI = function (t) {
34406                    function n(n, i, r, e) {
34407                        var o = t.call(this, n, i) || this;
34408                        return o.expression = r, o.matchCase = e, o
34409                    }
34410
34411                    return NI(n, t), n
34412                }(RI), FI = function () {
34413                    var t = function (n, i) {
34414                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34415                            t.__proto__ = n
34416                        } || function (t, n) {
34417                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34418                        })(n, i)
34419                    };
34420                    return function (n, i) {
34421                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34422
34423                        function r() {
34424                            this.constructor = n
34425                        }
34426
34427                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34428                    }
34429                }(), LI = function (t) {
34430                    function n(n, i, r) {
34431                        return t.call(this, "PropertyIsEqualTo", n, i, r) || this
34432                    }
34433
34434                    return FI(n, t), n
34435                }(zI), GI = function () {
34436                    var t = function (n, i) {
34437                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34438                            t.__proto__ = n
34439                        } || function (t, n) {
34440                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34441                        })(n, i)
34442                    };
34443                    return function (n, i) {
34444                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34445
34446                        function r() {
34447                            this.constructor = n
34448                        }
34449
34450                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34451                    }
34452                }(), DI = function (t) {
34453                    function n(n, i) {
34454                        return t.call(this, "PropertyIsGreaterThan", n, i) || this
34455                    }
34456
34457                    return GI(n, t), n
34458                }(zI), UI = function () {
34459                    var t = function (n, i) {
34460                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34461                            t.__proto__ = n
34462                        } || function (t, n) {
34463                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34464                        })(n, i)
34465                    };
34466                    return function (n, i) {
34467                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34468
34469                        function r() {
34470                            this.constructor = n
34471                        }
34472
34473                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34474                    }
34475                }(), qI = function (t) {
34476                    function n(n, i) {
34477                        return t.call(this, "PropertyIsGreaterThanOrEqualTo", n, i) || this
34478                    }
34479
34480                    return UI(n, t), n
34481                }(zI), BI = function () {
34482                    var t = function (n, i) {
34483                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34484                            t.__proto__ = n
34485                        } || function (t, n) {
34486                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34487                        })(n, i)
34488                    };
34489                    return function (n, i) {
34490                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34491
34492                        function r() {
34493                            this.constructor = n
34494                        }
34495
34496                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34497                    }
34498                }(), WI = function (t) {
34499                    function n(n, i, r) {
34500                        return t.call(this, "Intersects", n, i, r) || this
34501                    }
34502
34503                    return BI(n, t), n
34504                }(kI), VI = function () {
34505                    var t = function (n, i) {
34506                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34507                            t.__proto__ = n
34508                        } || function (t, n) {
34509                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34510                        })(n, i)
34511                    };
34512                    return function (n, i) {
34513                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34514
34515                        function r() {
34516                            this.constructor = n
34517                        }
34518
34519                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34520                    }
34521                }(), XI = function (t) {
34522                    function n(n, i, r) {
34523                        var e = t.call(this, "PropertyIsBetween", n) || this;
34524                        return e.lowerBoundary = i, e.upperBoundary = r, e
34525                    }
34526
34527                    return VI(n, t), n
34528                }(RI), HI = function () {
34529                    var t = function (n, i) {
34530                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34531                            t.__proto__ = n
34532                        } || function (t, n) {
34533                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34534                        })(n, i)
34535                    };
34536                    return function (n, i) {
34537                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34538
34539                        function r() {
34540                            this.constructor = n
34541                        }
34542
34543                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34544                    }
34545                }(), JI = function (t) {
34546                    function n(n, i, r, e, o, s) {
34547                        var a = t.call(this, "PropertyIsLike", n) || this;
34548                        return a.pattern = i, a.wildCard = void 0 !== r ? r : "*", a.singleChar = void 0 !== e ? e : ".", a.escapeChar = void 0 !== o ? o : "!", a.matchCase = s, a
34549                    }
34550
34551                    return HI(n, t), n
34552                }(RI), KI = function () {
34553                    var t = function (n, i) {
34554                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34555                            t.__proto__ = n
34556                        } || function (t, n) {
34557                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34558                        })(n, i)
34559                    };
34560                    return function (n, i) {
34561                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34562
34563                        function r() {
34564                            this.constructor = n
34565                        }
34566
34567                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34568                    }
34569                }(), YI = function (t) {
34570                    function n(n) {
34571                        return t.call(this, "PropertyIsNull", n) || this
34572                    }
34573
34574                    return KI(n, t), n
34575                }(RI), ZI = function () {
34576                    var t = function (n, i) {
34577                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34578                            t.__proto__ = n
34579                        } || function (t, n) {
34580                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34581                        })(n, i)
34582                    };
34583                    return function (n, i) {
34584                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34585
34586                        function r() {
34587                            this.constructor = n
34588                        }
34589
34590                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34591                    }
34592                }(), $I = function (t) {
34593                    function n(n, i) {
34594                        return t.call(this, "PropertyIsLessThan", n, i) || this
34595                    }
34596
34597                    return ZI(n, t), n
34598                }(zI), QI = function () {
34599                    var t = function (n, i) {
34600                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34601                            t.__proto__ = n
34602                        } || function (t, n) {
34603                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34604                        })(n, i)
34605                    };
34606                    return function (n, i) {
34607                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34608
34609                        function r() {
34610                            this.constructor = n
34611                        }
34612
34613                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34614                    }
34615                }(), tN = function (t) {
34616                    function n(n, i) {
34617                        return t.call(this, "PropertyIsLessThanOrEqualTo", n, i) || this
34618                    }
34619
34620                    return QI(n, t), n
34621                }(zI), nN = function () {
34622                    var t = function (n, i) {
34623                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34624                            t.__proto__ = n
34625                        } || function (t, n) {
34626                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34627                        })(n, i)
34628                    };
34629                    return function (n, i) {
34630                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34631
34632                        function r() {
34633                            this.constructor = n
34634                        }
34635
34636                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34637                    }
34638                }(), iN = function (t) {
34639                    function n(n) {
34640                        var i = t.call(this, "Not") || this;
34641                        return i.condition = n, i
34642                    }
34643
34644                    return nN(n, t), n
34645                }(yI), rN = function () {
34646                    var t = function (n, i) {
34647                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34648                            t.__proto__ = n
34649                        } || function (t, n) {
34650                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34651                        })(n, i)
34652                    };
34653                    return function (n, i) {
34654                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34655
34656                        function r() {
34657                            this.constructor = n
34658                        }
34659
34660                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34661                    }
34662                }(), eN = function (t) {
34663                    function n(n, i, r) {
34664                        return t.call(this, "PropertyIsNotEqualTo", n, i, r) || this
34665                    }
34666
34667                    return rN(n, t), n
34668                }(zI), oN = function () {
34669                    var t = function (n, i) {
34670                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34671                            t.__proto__ = n
34672                        } || function (t, n) {
34673                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34674                        })(n, i)
34675                    };
34676                    return function (n, i) {
34677                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34678
34679                        function r() {
34680                            this.constructor = n
34681                        }
34682
34683                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34684                    }
34685                }(), sN = function (t) {
34686                    function n(n) {
34687                        return t.call(this, "Or", Array.prototype.slice.call(arguments)) || this
34688                    }
34689
34690                    return oN(n, t), n
34691                }(wI), aN = function () {
34692                    var t = function (n, i) {
34693                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34694                            t.__proto__ = n
34695                        } || function (t, n) {
34696                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34697                        })(n, i)
34698                    };
34699                    return function (n, i) {
34700                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34701
34702                        function r() {
34703                            this.constructor = n
34704                        }
34705
34706                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34707                    }
34708                }(), uN = function (t) {
34709                    function n(n) {
34710                        var i = t.call(this, "ResourceId") || this;
34711                        return i.rid = n, i
34712                    }
34713
34714                    return aN(n, t), n
34715                }(yI), cN = function () {
34716                    var t = function (n, i) {
34717                        return (t = Object.setProto
34717typeOf || {__proto__: []} instanceof Array && function (t, n) {
34718                            t.__proto__ = n
34719                        } || function (t, n) {
34720                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34721                        })(n, i)
34722                    };
34723                    return function (n, i) {
34724                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34725
34726                        function r() {
34727                            this.constructor = n
34728                        }
34729
34730                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34731                    }
34732                }(), hN = function (t) {
34733                    function n(n, i, r) {
34734                        return t.call(this, "Within", n, i, r) || this
34735                    }
34736
34737                    return cN(n, t), n
34738                }(kI);
34739
34740                function fN(t) {
34741                    var n = [null].concat(Array.prototype.slice.call(arguments));
34742                    return new (Function.prototype.bind.apply(gI, n))
34743                }
34744
34745                function lN(t, n, i) {
34746                    return new jI(t, n, i)
34747                }
34748
34749                var vN = function () {
34750                    var t = function (n, i) {
34751                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
34752                            t.__proto__ = n
34753                        } || function (t, n) {
34754                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
34755                        })(n, i)
34756                    };
34757                    return function (n, i) {
34758                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
34759
34760                        function r() {
34761                            this.constructor = n
34762                        }
34763
34764                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
34765                    }
34766                }(), dN = {
34767                    "http://www.opengis.net/gml": {boundedBy: Mf(ZE.prototype.readGeometryElement, "bounds")},
34768                    "http://www.opengis.net/wfs/2.0": {member: jf(ZE.prototype.readFeaturesInternal)}
34769                }, pN = {
34770                    "http://www.opengis.net/wfs": {
34771                        totalInserted: Mf(rA),
34772                        totalUpdated: Mf(rA),
34773                        totalDeleted: Mf(rA)
34774                    },
34775                    "http://www.opengis.net/wfs/2.0": {
34776                        totalInserted: Mf(rA),
34777                        totalUpdated: Mf(rA),
34778                        totalDeleted: Mf(rA)
34779                    }
34780                }, yN = {
34781                    "http://www.opengis.net/wfs": {
34782                        TransactionSummary: Mf(TN, "transactionSummary"),
34783                        InsertResults: Mf(RN, "insertIds")
34784                    },
34785                    "http://www.opengis.net/wfs/2.0": {
34786                        TransactionSummary: Mf(TN, "transactionSummary"),
34787                        InsertResults: Mf(RN, "insertIds")
34788                    }
34789                }, mN = {
34790                    "http://www.opengis.net/wfs": {PropertyName: _f(fA)},
34791                    "http://www.opengis.net/wfs/2.0": {PropertyName: _f(fA)}
34792                }, wN = {
34793                    "http://www.opengis.net/wfs": {
34794                        Insert: _f(PN),
34795                        Update: _f(FN),
34796                        Delete: _f(zN),
34797                        Property: _f(LN),
34798                        Native: _f(GN)
34799                    },
34800                    "http://www.opengis.net/wfs/2.0": {
34801                        Insert: _f(PN),
34802                        Update: _f(FN),
34803                        Delete: _f(zN),
34804                        Property: _f(LN),
34805                        Native: _f(GN)
34806                    }
34807                }, bN = "feature", gN = "http://www.w3.org/2000/xmlns/", xN = {
34808                    "2.0.0": "http://www.opengis.net/ogc/1.1",
34809                    "1.1.0": "http://www.opengis.net/ogc",
34810                    "1.0.0": "http://www.opengis.net/ogc"
34811                }, jN = {
34812                    "2.0.0": "http://www.opengis.net/wfs/2.0",
34813                    "1.1.0": "http://www.opengis.net/wfs",
34814                    "1.0.0": "http://www.opengis.net/wfs"
34815                }, SN = {
34816                    "2.0.0": "http://www.opengis.net/fes/2.0",
34817                    "1.1.0": "http://www.opengis.net/fes",
34818                    "1.0.0": "http://www.opengis.net/fes"
34819                }, kN = {
34820                    "2.0.0": "http://www.opengis.net/wfs/2.0 http://schemas.opengis.net/wfs/2.0/wfs.xsd",
34821                    "1.1.0": "http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.1.0/wfs.xsd",
34822                    "1.0.0": "http://www.opengis.net/wfs http://schemas.opengis.net/wfs/1.0.0/wfs.xsd"
34823                }, MN = {"2.0.0": kA, "1.1.0": bA, "1.0.0": pA}, _N = function (t) {
34824                    function n(n) {
34825                        var i = t.call(this) || this, r = n || {};
34826                        return i.oh = r.version ? r.version : "1.1.0", i.jy = r.featureType, i.Sy = r.featureNS, i.ky = r.gmlFormat ? r.gmlFormat : new MN[i.oh], i.My 
34826= r.schemaLocation ? r.schemaLocation : kN[i.oh], i
34827                    }
34828
34829                    return vN(n, t), n.prototype.getFeatureType = function () {
34830                        return this.jy
34831                    }, n.prototype.setFeatureType = function (t) {
34832                        this.jy = t
34833                    }, n.prototype.readFeaturesFromNode = function (t, n) {
34834                        var i = {node: t};
34835                        E(i, {featureType: this.jy, featureNS: this.Sy}), E(i, this.getReadOptions(t, n || {}));
34836                        var r = [i],
34837                            e = Pf([], "2.0.0" === this.oh ? dN : this.ky.FEATURE_COLLECTION_PARSERS, t, r, this.ky);
34838                        return e || (e = []), e
34839                    }, n.prototype.readTransactionResponse = function (t) {
34840                        if (t) {
34841                            if ("string" == typeof t) {
34842                                var n = gf(t);
34843                                return this.readTransactionResponseFromDocument(n)
34844                            }
34845                            return wf(t) ? this.readTransactionResponseFromDocument(t) : this.readTransactionResponseFromNode(t)
34846                        }
34847                    }, n.prototype.readFeatureCollectionMetadata = function (t) {
34848                        if (t) {
34849                            if ("string" == typeof t) {
34850                                var n = gf(t);
34851                                return this.readFeatureCollectionMetadataFromDocument(n)
34852                            }
34853                            return wf(t) ? this.readFeatureCollectionMetadataFromDocument(t) : this.readFeatureCollectionMetadataFromNode(t)
34854                        }
34855                    }, n.prototype.readFeatureCollectionMetadataFromDocument = function (t) {
34856                        for (var n = t.firstChild; n; n = n.nextSibling) if (n.nodeType == Node.ELEMENT_NODE) return this.readFeatureCollectionMetadataFromNode(n)
34857                    }, n.prototype.readFeatureCollectionMetadataFromNode = function (t) {
34858                        var n = {}, i = eA(t.getAttribute("numberOfFeatures"));
34859                        return n.numberOfFeatures = i, Pf(n, dN, t, [], this.ky)
34860                    }, n.prototype.readTransactionResponseFromDocument = function (t) {
34861                        for (var n = t.firstChild; n; n = n.nextSibling) if (n.nodeType == Node.ELEMENT_NODE) return this.readTransactionResponseFromNode(n)
34862                    }, n.prototype.readTransactionResponseFromNode = function (t) {
34863                        return Pf({}, yN, t, [])
34864                    }, n.prototype.writeGetFeature = function (t) {
34865                        var n = this, i = pf(jN[this.oh], "GetFeature");
34866                        i.setAttribute("service", "WFS"), i.setAttribute("version", this.oh), t.handle && i.setAttribute("handle", t.handle), t.outputFormat && i.setAttribute("outputFormat", t.outputFormat), void 0 !== t.maxFeatures && i.setAttribute("maxFeatures", String(t.maxFeatures)), t.resultType && i.setAttribute("resultType", t.resultType), void 0 !== t.startIndex && i.setAttribute("startIndex", String(t.startIndex)), void 0 !== t.count && i.setAttribute("count", String(t.count)), void 0 !== t.viewParams && i.setAttribute("viewParams", t.viewParams), i.setAttributeNS(df, "xsi:schemaLocation", this.My);
34867                        var r = {node: i};
34868                        if (E(r, {
34869                            version: this.oh,
34870                            srsName: t.srsName,
34871                            featureNS: t.featureNS ? t.featureNS : this.Sy,
34872                            featurePrefix: t.featurePrefix,
34873                            propertyNames: t.propertyNames ? t.propertyNames : []
34874                        }), Mt(Array.isArray(t.featureTypes), 11), "string" == typeof t.featureTypes[0]) {
34875                            var e = t.filter;
34876                            t.bbox && (Mt(t.geometryName, 12), e = this.combineBboxAndFilter(t.geometryName, t.bbox, t.srsName, e)), E(r, {
34877                                geometryName: t.geometryName,
34878                                filter: e
34879                            }), rz(i, t.featureTypes, [r])
34880                        }
34880 else t.featureTypes.forEach((function (e) {
34881                            var o = n.combineBboxAndFilter(e.geometryName, e.bbox, t.srsName, t.filter);
34882                            E(r, {geometryName: e.geometryName, filter: o}), rz(i, [e.name], [r])
34883                        }));
34884                        return i
34885                    }, n.prototype.combineBboxAndFilter = function (t, n, i, r) {
34886                        var e = lN(t, n, i);
34887                        return r ? fN(r, e) : e
34888                    }, n.prototype.writeTransaction = function (t, n, i, r) {
34889                        var e, o = [], s = r.version ? r.version : this.oh, a = pf(jN[s], "Transaction");
34890                        a.setAttribute("service", "WFS"), a.setAttribute("version", s), r && (e = r.gmlOptions ? r.gmlOptions : {}, r.handle && a.setAttribute("handle", r.handle)), a.setAttributeNS(df, "xsi:schemaLocation", kN[s]);
34891                        var u = function (t, n, i, r) {
34892                            var e, o = r.featurePrefix ? r.featurePrefix : bN;
34893                            "1.0.0" === i ? e = 2 : "1.1.0" === i ? e = 3 : "2.0.0" === i && (e = 3.2);
34894                            return E({node: t}, {
34895                                version: i,
34896                                featureNS: r.featureNS,
34897                                featureType: r.featureType,
34898                                featurePrefix: o,
34899                                gmlVersion: e,
34900                                hasZ: r.hasZ,
34901                                srsName: r.srsName
34902                            }, n)
34903                        }(a, e, s, r);
34904                        return t && ON("Insert", t, o, u), n && ON("Update", n, o, u), i && ON("Delete", i, o, u), r.nativeElements && ON("Native", r.nativeElements, o, u), a
34905                    }, n.prototype.readProjectionFromDocument = function (t) {
34906                        for (var n = t.firstChild; n; n = n.nextSibling) if (n.nodeType == Node.ELEMENT_NODE) return this.readProjectionFromNode(n);
34907                        return null
34908                    }, n.prototype.readProjectionFromNode = function (t) {
34909                        if (t.firstElementChild && t.firstElementChild.firstElementChild) for (var n = (t = t.firstElementChild.firstElementChild).firstElementChild; n; n = n.nextElementSibling) if (0 !== n.childNodes.length && (1 !== n.childNodes.length || 3 !== n.firstChild.nodeType)) {
34910                            var i = [{}];
34911                            return this.ky.readGeometryElement(n, i), br(i.pop().srsName)
34912                        }
34913                        return null
34914                    }, n
34915                }(XE);
34916
34917                function ON(t, n, i, r) {
34918                    Nf(r, wN, Tf(t), n, i)
34919                }
34920
34921                function TN(t, n) {
34922                    return Pf({}, pN, t, n)
34923                }
34924
34925                var EN = {
34926                    "http://www.opengis.net/ogc": {
34927                        FeatureId: jf((function (t, n) {
34928                            return t.getAttribute("fid")
34929                        }))
34930                    }, "http://www.opengis.net/ogc/1.1": {
34931                        FeatureId: jf((function (t, n) {
34932                            return t.getAttribute("fid")
34933                        }))
34934                    }
34935                };
34936
34937                function AN(t, n) {
34938                    Rf(EN, t, n)
34939                }
34940
34941                var CN = {"http://www.opengis.net/wfs": {Feature: AN}, "http://www.opengis.net/wfs/2.0": {Feature: AN}};
34942
34943                function RN(t, n) {
34944                    return Pf([], CN, t, n)
34945                }
34946
34947                function PN(t, n, i) {
34948                    var r = i[i.length - 1], e = r.featureType, o = r.featureNS, s = r.gmlVersion, a = pf(o, e);
34949                    t.appendChild(a), 2 === s ? pA.prototype.writeFeatureElement(a, n, i) : 3 === s ? bA.prototype.writeFeatureElement(a, n, i) : kA.prototype.writeFeatureElement(a, n, i)
34950                }
34951
34952                function IN(t, n, i) {
34953                    var r = i[i.length - 1].version, e = xN[r], o = pf(e, "Filter"), s = pf(e, "FeatureId");
34954                    o.appendChild(s), s.setAttribute("fid", n), t.appendChild(o)
34955                }
34956
34957                function NN(t, n) {
34958                    var i = (t = t || bN) + ":";
34959                    return 0 === n.indexOf(i) ? n : i + n
34960                }
34961
34962                function zN(t, n, i) {
34963                    var r = i[i.length - 1];
34964                    Mt(void 0 !== n.getId(), 26);
34965                    var e = r.featureType, o = r.featurePrefix, s = r.featureNS, a = NN(o, e);
34966                    t.setAttribute("typeName", a), t.setAttributeNS(gN, "xmlns:" + o, s);
34967                    var u = n.getId();
34968                    void 0 !== u && IN(t, u, i)
34969                }
34970
34971                function FN(t, n, i) {
34972                    var r = i[i.length - 1];
34973                    Mt(void 0 !== n.getId(), 27);
34974                    var e = r.version, o = r.featureType, s = r.featurePrefix, a = r.featureNS, u = NN(s, o),
34975                        c = n.getGeometryName();
34976                    t.setAttribute("typeName", u), t.setAttributeNS(gN, "xmlns:" + s, a);
34977                    var h = n.getId();
34978                    if (void 0 !== h) {
34979                        for (var f = n.getKeys(), l = [], v = 0, d = f.length; v < d; v++) {
34980                            var p = n.get(f[v]);
34981                            if (void 0 !== p) {
34982                                var y = f[v];
34983                                p && "function" == typeof p.getSimplifiedGeometry && (y = c), l.push({
34984                                    name: y,
34985                                    value: p
34986                                })
34987                            }
34988                        }
34989                        Nf({
34990                            version: e,
34991                            gmlVersion: r.gmlVersion,
34992                            node: t,
34993                            hasZ: r.hasZ,
34994                            srsName: r.srsName
34995                        }, wN, Tf("Property"), l, i), IN(t, h, i)
34996                    }
34997                }
34998
34999                function LN(t, n, i) {
35000                    var r = i[i.length - 1], e = r.version, o = jN[e], s = pf(o, "Name"), a = r.gmlVersion;
35001                    if (t.appendChild(s), fA(s, n.name), void 0 !== n.value && null !== n.value) {
35002                        var u = pf(o, "Value");
35003                        t.appendChild(u), n.value && "function" == typeof n.value.getSimplifiedGeometry ? 2 === a ? pA.prototype.writeGeometryElement(u, n.value, i) : 3 === a ? bA.prototype.writeGeometryElement(u, n.value, i) : kA.prototype.writeGeometryElement(u, n.value, i) : fA(u, n.value)
35004                    }
35005                }
35006
35007                function GN(t, n, i) {
35008                    n.vendorId && t.setAttribute("vendorId", n.vendorId), void 0 !== n.safeToIgnore && t.setAttribute("safeToIgnore", Str
35008ing(n.safeToIgnore)), void 0 !== n.value && fA(t, n.value)
35009                }
35010
35011                var DN = {
35012                    "http://www.opengis.net/wfs": {Query: _f(UN)},
35013                    "http://www.opengis.net/wfs/2.0": {Query: _f(UN)},
35014                    "http://www.opengis.net/ogc": {
35015                        During: _f(XN),
35016                        And: _f(HN),
35017                        Or: _f(HN),
35018                        Not: _f(JN),
35019                        BBOX: _f(BN),
35020                        Contains: _f(WN),
35021                        Intersects: _f(WN),
35022                        Within: _f(WN),
35023                        DWithin: _f(VN),
35024                        PropertyIsEqualTo: _f(KN),
35025                        PropertyIsNotEqualTo: _f(KN),
35026                        PropertyIsLessThan: _f(KN),
35027                        PropertyIsLessThanOrEqualTo: _f(KN),
35028                        PropertyIsGreaterThan: _f(KN),
35029                        PropertyIsGreaterThanOrEqualTo: _f(KN),
35030                        PropertyIsNull: _f(YN),
35031                        PropertyIsBetween: _f(ZN),
35032                        PropertyIsLike: _f($N)
35033                    },
35034                    "http://www.opengis.net/fes/2.0": {
35035                        During: _f(XN),
35036                        And: _f(HN),
35037                        Or: _f(HN),
35038                        Not: _f(JN),
35039                        BBOX: _f(BN),
35040                        Contains: _f(WN),
35041                        Disjoint: _f(WN),
35042                        Intersects: _f(WN),
35043                        ResourceId: _f((function (t, n, i) {
35044                            t.setAttribute("rid", n.rid)
35045                        })),
35046                        Within: _f(WN),
35047                        DWithin: _f(VN),
35048                        PropertyIsEqualTo: _f(KN),
35049                        PropertyIsNotEqualTo: _f(KN),
35050                        PropertyIsLessThan: _f(KN),
35051                        PropertyIsLessThanOrEqualTo: _f(KN),
35052                        PropertyIsGreaterThan: _f(KN),
35053                        PropertyIsGreaterThanOrEqualTo: _f(KN),
35054                        PropertyIsNull: _f(YN),
35055                        PropertyIsBetween: _f(ZN),
35056                        PropertyIsLike: _f($N)
35057                    }
35058                };
35059
35060                function UN(t, n, i) {
35061                    var r, e, o = i[i.length - 1], s = o.version, a = o.featurePrefix, u = o.featureNS,
35062                        c = o.propertyNames, h = o.srsName;
35063                    r = a ? NN(a, n) : n, e = "2.0.0" === s ? "typeNames" : "typeName", t.setAttribute(e, r), h && t.setAttribute("srsName", h), u && t.setAttributeNS(gN, "xmlns:" + a, u);
35064                    var f = E({}, o);
35065                    f.node = t, Nf(f, mN, Tf("PropertyName"), c, i);
35066                    var l = o.filter;
35067                    if (l) {
35068                        var v = pf(ez(s), "Filter");
35069                        t.appendChild(v), qN(v, l, i)
35070                    }
35071                }
35072
35073                function qN(t, n, i) {
35074                    var r = i[i.length - 1], e = {node: t};
35075                    E(e, {context: r}), Nf(e, DN, Tf(n.getTagName()), [n], i)
35076                }
35077
35078                function BN(t, n, i) {
35079                    var r = i[i.length - 1], e = r.context.version;
35080                    r.srsName = n.srsName;
35081                    var o = MN[e];
35082                    nz(e, t, n.geometryName), o.prototype.writeGeometryElement(t, n.extent, i)
35083                }
35084
35085                function WN(t, n, i) {
35086                    var r = i[i.length - 1], e = r.context.version;
35087                    r.srsName = n.srsName;
35088                    var o = MN[e];
35089                    nz(e, t, n.geometryName), o.prototype.writeGeometryElement(t, n.geometry, i)
35090                }
35091
35092                function VN(t, n, i) {
35093                    var r = i[i.length - 1].context.version;
35094                    WN(t, n, i);
35095                    var e = pf(ez(r), "Distance");
35096                    fA(e, n.distance.toString()), "2.0.0" === r ? e.setAttribute("uom", n.unit) : e.setAttribute("units", n.unit), t.appendChild(e)
35097                }
35098
35099                function XN(t, n, i) {
35100                    var r = i[i.length - 1].context.version;
35101                    QN(SN[r], "ValueReference", t, n.propertyName);
35102                    var e = pf(JE, "TimePeriod");
35103                    t.appendChild(e);
35104                    var o = pf(JE, "begin");
35105                    e.appendChild(o), iz(o, n.begin);
35106                    var s = pf(JE, "end");
35107                    e.appendChild(s), iz(s, n.end)
35108                }
35109
35110                function HN(t, n, i) {
35111                    var r = i[i.length - 1].context, e = {node: t};
35112                    E(e, {context: r});
35113                    for (var o = n.conditions, s = 0, a = o.length; s < a; ++s) {
35114                        var u = o[s];
35115                        Nf(e, DN, Tf(u.getTagName()), [u], i)
35116                    }
35117                }
35118
35119                function JN(t, n, i) {
35120                    var r = i[i.length - 1].context, e = {node: t};
35121                    E(e, {context: r});
35122                    var o = n.condition;
35123                    Nf(e, DN, Tf(o.getTagName()), [o], i)
35124                }
35125
35126                function KN(t, n, i) {
35127                    var r = i[i.length - 1].context.version;
35128                    void 0 !== n.matchCase && t.setAttribute("matchCase", n.matchCase.toString()), nz(r, t, n.propertyName), tz(r, t, "" + n.expression)
35129                }
35130
35131                function YN(t, n, i) {
35132                    nz(i[i.length - 1].context.version, t, n.propertyName)
35133                }
35134
35135                function ZN(t, n, i) {
35136                    var r = i[i.length - 1].context.version, e = ez(r);
35137                    nz(r, t, n.propertyName);
35138                    var o = pf(e, "LowerBoundary");
35139                    t.appendChild(o), tz(r, o, "" + n.lowerBoundary);
35140                    var s = pf(e, "UpperBoundary");
35141                    t.appendChild(s), tz(r, s, "" + n.upperBoundary)
35142                }
35143
35144                function $N(t, n, i) {
35145                    var r = i[i.length - 1].context.version;
35146                    t.setAttribute("wildCard", n.wildCard), t.setAttribute("singleChar", n.singleChar), t.setAttribute("escapeChar", n.escapeChar), void 0 !== n.matchCase && t.setAttribute("matchCase", n.matchCase.toString()), nz(r, t, n.propertyName), tz(r, t, "" + n.pattern)
35147                }
35148
35149                function QN(t, n, i, r) {
35150                    var e = pf(t, n);
35151                    fA(e, r), i.appendChild(e)
35152                }
35153
35154                function tz(t, n, i) {
35155                    QN(ez(t), "Literal", n, i)
35156                }
35157
35158                function nz(t, n, i) {
35159                    "2.0.0" === t ? QN(SN[t], "ValueReference", n, i) : QN(xN[t], "PropertyName", n, i)
35160                }
35161
35162                function iz(t, n) {
35163                    var i = pf(JE, "TimeInstant");
35164                    t.appendChild(i);
35165                    var r = pf(JE, "timePosition");
35166                    i.appendChild(r), fA(r, n)
35167                }
35168
35169                function rz(t, n, i) {
35170                    var r = i[i.length - 1], e = E({}, r);
35171                    e.node = t, Nf(e, DN, Tf("Query"), n, i)
35172                }
35173
35174                function ez(t) {
35175                    return "2.0.0" === t ? SN[t] : xN[t]
35176                }
35177
35178                var oz = _N, sz = function () {
35179                        var t = function (n, i) {
35180                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
35181                                t.__proto__ = n
35182                            } || function (t, n) {
35183                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
35184                            })(n, i)
35185                        };
35186                        return function (n, i) {
35187                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
35188
35189                            function r() {
35190                                this.constructor = n
35191                            }
35192
35193                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
35194                        }
35195                    }(), az = 1, uz = 2, cz = 3, hz = 4, fz = 5, lz = 6, vz = 7, dz = 15, pz = 16, yz = 17,
35196                    mz = function () {
35197                        function t(t) {
35198                            this._y = t, this.Oy = 0, this.Ty = !1, this.Ey = !1, this.Ay = !1, this.Cy = !1, this.Ry 
35198= null, this.Py = Et
35199                        }
35200
35201                        return t.prototype.readUint8 = function () {
35202                            return this._y.getUint8(this.Oy++)
35203                        }, t.prototype.readUint32 = function (t) {
35204                            return this._y.getUint32((this.Oy += 4) - 4, void 0 !== t ? t : this.Ey)
35205                        }, t.prototype.readDouble = function (t) {
35206                            return this._y.getFloat64((this.Oy += 8) - 8, void 0 !== t ? t : this.Ey)
35207                        }, t.prototype.readPoint = function () {
35208                            var t = [];
35209                            return t.push(this.readDouble()), t.push(this.readDouble()), this.Ay && t.push(this.readDouble()), this.Cy && t.push(this.readDouble()), t
35210                        }, t.prototype.readLineString = function () {
35211                            for (var t = this.readUint32(), n = [], i = 0; i < t; i++) n.push(this.readPoint());
35212                            return n
35213                        }, t.prototype.readPolygon = function () {
35214                            for (var t = this.readUint32(), n = [], i = 0; i < t; i++) n.push(this.readLineString());
35215                            return n
35216                        }, t.prototype.readWkbHeader = function (t) {
35217                            var n = this.readUint8() > 0, i = this.readUint32(n), r = Math.floor((268435455 & i) / 1e3),
35218                                e = Boolean(2147483648 & i) || 1 === r || 3 === r,
35219                                o = Boolean(1073741824 & i) || 2 === r || 3 === r, s = Boolean(536870912 & i),
35220                                a = (268435455 & i) % 1e3, u = ["XY", e ? "Z" : "", o ? "M" : ""].join(""),
35221                                c = s ? this.readUint32(n) : null;
35222                            if (void 0 !== t && t !== a) throw new Error("Unexpected WKB geometry type " + a);
35223                            if (this.Ty) {
35224                                if (this.Ey !== n) throw new Error("Inconsistent endian");
35225                                if (this.Py !== u) throw new Error("Inconsistent geometry layout");
35226                                if (c && this.Ry !== c) throw new Error("Inconsistent coordinate system (SRID)")
35227                            } else this.Ey = n, this.Ay = e, this.Cy = o, this.Py = u, this.Ry = c, this.Ty = !0;
35228                            return a
35229                        }, t.prototype.readWkbPayload = function (t) {
35230                            switch (t) {
35231                                case az:
35232                                    return this.readPoint();
35233                                case uz:
35234                                    return this.readLineString();
35235                                case cz:
35236                                case yz:
35237                                    return this.readPolygon();
35238                                case hz:
35239                                    return this.readMultiPoint();
35240                                case fz:
35241                                    return this.readMultiLineString();
35242                                case lz:
35243                                case dz:
35244                                case pz:
35245                                    return this.readMultiPolygon();
35246                                case vz:
35247                                    return this.readGeometryCollection();
35248                                default:
35249                                    throw new Error("Unsupported WKB geometry type " + t + " is found")
35250                            }
35251                        }, t.prototype.readWkbBlock = function (t) {
35252                            return this.readWkbPayload(this.readWkbHeader(t))
35253                        }, t.prototype.readWkbCollection = function (t, n) {
35254                            for (var i = this.readUint32(), r = [], e = 0; e < i; e++) {
35255                                var o = t.call(this, n);
35256                                o && r.push(o)
35257                            }
35258                            return r
35259                        }, t.prototype.readMultiPoint = function () {
35260                            return this.readWkbCollection(this.readWkbBlock, az)
35261                        }, t.prototype.readMultiLineString = function () {
35262                            return this.readWkbCollection(this.readWkbBlock, uz)
35263                        }, t.prototype.readMultiPolygon = function () {
35264                            return this.readWkbCollection(this.readWkbBlock, cz)
35265                        }, t.prototype.readGeometryCollection = function () {
35266                            return this.readWkbCollection(this.readGeometry)
35267                        }, t.prototype.readGeometry = function () {
35268                            var t = this.readWkbHeader(), n = this.readWkbPayload(t);
35269                            switch (t) {
35270                                case az:
35271                                    return new Oe(n, this.Py);
35272                                case uz:
35273                                    return new xj(n, this.Py);
35274                                case cz:
35275                                case yz:
35276                                    return new Ke(n, this.Py);
35277                                case hz:
35278                                    return new yj(n, this.Py);
35279                                case fz:
35280                                    return new Sj(n, this.Py);
35281                                case lz:
35282                                case dz:
35283                                case pz:
35284                                    return new _j(n, this.Py);
35285                                case vz:
35286                                    return new sS(n);
35287                                default:
35288                                    return null
35289                            }
35290                        }, t.prototype.getSrid = function () {
35291                            return this.Ry
35292                        }, t
35293                    }(), wz = function () {
35294                        function t(t) {
35295                            t = t || {}, this.Py = t.layout, this.Ey = !1 !== t.littleEndian, this.Iy = !1 !== t.ewkb, this.Ny = [], this.zy = E({
35296                                X: 0,
35297                                Y: 0,
35298                                Z: 0,
35299                                M: 0
35300                            }, t.nodata)
35301                        }
35302
35303                        return t.prototype.writeUint8 = function (t) {
35304                            this.Ny.push([1, t])
35305                        }, t.prototype.writeUint32 = function (t) {
35306                            this.Ny.push([4, t])
35307                        }, t.prototype.writeDouble = function (t) {
35308                            this.Ny.push([8, t])
35309                        }, t.prototype.writePoint = function (t, n) {
35310                            for (var i = E.apply(null, n.split("").map((function (n, i) {
35311                                var r;
35312                                return (r = {})[n] = t[i], r
35313                            }))), r = 0, e = this.Py; r < e.length; r++) {
35314                                var o = e[r];
35315                                this.writeDouble(o in i ? i[o] : this.zy[o])
35316                            }
35317                        }, t.prototype.writeLineString = function (t, n) {
35318                            this.writeUint32(t.length);
35319                            for (var i = 0; i < t.length; i++) this.writePoint(t[i], n)
35320                        }, t.prototype.writePolygon = function (t, n) {
35321                            this.writeUint32(t.length);
35322                            for (var i = 0; i < t.length; i++) this.writeLineString(t[i], n)
35323                        }, t.prototype.writeWkbHeader = function (t, n) {
35324                            t %= 1e3, this.Py.indexOf("Z") >= 0 && (t += this.Iy ? 2147483648 : 1e3), this.Py.indexOf("M") >= 0 && (t += this.Iy ? 1073741824 : 2e3), this.Iy && Number.isInteger(n) && (t |= 536870912), this.writeUint8(this.Ey ? 1 : 0), this.writeUint32(t), this.Iy && Number.isInteger(n) && this.writeUint32(n)
35325                        }, t.prototype.writeMultiPoint = function (t, n) {
35326                            this.writeUint32(t.length);
35327                            for (var i = 0; i < t.length; i++) this.writeWkbHeader(1), this.writePoint(t[i], n)
35328                        }, t.prototype.writeMultiLineString = function (t, n) {
35329                            this.writeUint32(t.length);
35330                            for (var i = 0; i < t.length; i++) this.writeWkbHeader(2), this.writeLineString(t[i], n)
35331                        }, t.prototype.writeMultiPolygon = function (t, n) {
35332                            this.writeUint32(t.length);
35333                            for (var i = 0; i < t.length; i++) this.writeWkbHeader(3), this.writePolygon(t[i], n)
35334                        }, t.prototype.writeGeometryCollection = function (t) {
35335                            this.writeUint32(t.length);
35336                            for (var n = 0; n < t.length; n++) this.writeGeometry(t[n])
35337                        }, t.prototype.findMinimumLayout = function (t, n) {
35338                            void 0 === n && (n = Rt);
35339                            var i, r;
35340                            if (t instanceof Qr) return (i = t.getLayout()) === (r = n) ? i : i === Rt ? r : r === Rt ? i : Et;
35341                            if (t instanceof sS) for (var e = t.getGeometriesArray(), o = 0; o < e.length && n !== Et; o++) n = this.findMinimumLayout(e[o], n);
35342                            return n
35343                        }, t.prototype.writeGeometry = function (t, n) {
35344                            var i, r,
35345                                e = ((i = {})[Pt.POINT] = az, i[Pt.LINE_STRING] = uz, i[Pt.POLYGON] = cz, i[Pt.MULTI_POINT] = hz, i[Pt.MULTI_LINE_STRING] = fz, i[Pt.MULTI_POLYGON] = lz, i[Pt.GEOMETRY_COLLECTION] = vz, i),
35346                                o = t.getType(), s = e[o];
35347                            if (!s) throw new Error("GeometryType " + o + " is not supported");
35348                            (this.Py || (this.Py = this.findMinimumLayout(t)), this.writeWkbHeader(s, n), t instanceof Qr) ? ((r = {})[Pt.POINT] = this.writePoint, r[Pt.LINE_STRING] = this.writeLineString, r[Pt.POLYGON] = this.writePolygon, r[Pt.MULTI_POINT] = this.writeMultiPoint, r[Pt.MULTI_LINE_STRING] = this.writeMultiLineString, r[Pt.MULTI_POLYGON] = this.writeMultiPolygon, r)[o].call(this, t.getCoordinates(), t.getLayout()) : t instanceof sS && this.writeGeometryCollection(t.getGeometriesArray())
35349                        }, t.prototype.getBuffer = function () {
35350                            var t = this, n = this.Ny.reduce((function (t, n) {
35351                                return t + n[0]
35352                            }), 0), i = new ArrayBuffer(n), r = new DataView(i), e = 0;
35353                            return this.Ny.forEach((function (n) {
35354                                switch (n[0]) {
35355                                    case 1:
35356                                        r.setUint8(e, n[1]);
35357                                        break;
35358                                    case 4:
35359                                        r.setUint32(e, n[1], t.Ey);
35360                                        break;
35361                                    case 8:
35362                                        r.setFloat64(e, n[1], t.Ey)
35363                                }
35364                                e += n[0]
35365                            })), i
35366                        }, t
35367                    }();
35368
35369                function bz(t) {
35370                    return "string" == typeof t ? function (t) {
35371                        for (var n = new Uint8Array(t.length / 2), i = 0; i < t.length / 2; i++) n[i] = parseInt(t.substr(2 * i, 2), 16);
35372                        return new DataView(n.buffer)
35373                    }(t) : ArrayBuffer.isView(t) ? t instanceof DataView ? t : new DataView(t.buffer, t.byteOffset, t.byteLength) : t instanceof ArrayBuffer ? new DataView(t) : null
35374                }
35375
35376                var gz = function (t) {
35377                    function n(n) {
35378                        var i = t.call(this) || this, r = n || {};
35379                        return i.splitCollection = Boolean(r.splitCollection), i.Fy = null, i.Ly = !1 !== r.hex, i.Gy = !1 !== r.littleEndian, i.Dy = !1 !== r.ewkb, i.Py = r.geometryLayout, i.Uy = r.nodataZ || 0, i.qy = r.nodataM || 0, i.Ry = r.srid, i
35380                    }
35381
35382                    return sz(n, t), n.prototype.getType = function () {
35383                        return this.Ly ? ah : oh
35384                    }, n.prototype.readFeature = function (t, n) {
35385                        return new Tt({geometry: this.readGeometry(t, n)})
35386                    }, n.prototype.readFeatures = function (t, n) {
35387                        var i = this.readGeometry(t, n);
35388                        return (this.splitCollection && i instanceof sS ? i.getGeometriesArray() : [i]).map((function (t) {
35389                            return new Tt({geometry: t})
35390                        }))
35391                    }, n.prototype.readGeometry = function (t, n) {
35392                        var i = bz(t);
35393                        if (!i) return null;
35394                        var r = new mz(i).readGeometry();
35395                        this.Fy = i;
35396                        var e = this.getReadOptions(t, n);
35397                        return this.Fy = null, Hj(r, !1, e)
35398                    }, n.prototype.readProjection = function (t) {
35399                        var n = this.Fy || bz(t);
35400                        if (n) {
35401                            var i = new mz(n);
35402                            return i.readWkbHeader(), i.getSrid() && br("EPSG:" + i.getSrid()) || void 0
35403                        }
35404                    }, n.prototype.writeFeature = function (t, n) {
35405                        return this.writeGeometry(t.getGeometry(), n)
35406                    }, n.prototype.writeFeatures = function (t, n) {
35407                        return this.writeGeometry(new sS(t.map((function (t) {
35408                            return t.getGeometry()
35409                        }))), n)
35410                    }, n.prototype.writeGeometry = function (t, n) {
35411                        var i = this.adaptOptions(n), r = new wz({
35412                            layout: this.Py,
35413                            littleEndian: this.Gy,
35414                            ewkb: this.Dy,
35415                            nodata: {Z: this.Uy, M: this.qy}
35416                        }), e = Number.isInteger(this.Ry) ? Number(this.Ry) : null;
35417                        if (!1 !== this.Ry && !Number.isInteger(this.Ry)) {
35418                            var o = i.dataProjection && br(i.dataProjection);
35419                            if (o) {
35420                                var s = o.getCode();
35421                                0 === s.indexOf("EPSG:") && (e = Number(s.substring(5)))
35422                            }
35423                        }
35424                        r.writeGeometry(Hj(t, !0, i), e);
35425                        var a = r.getBuffer();
35426                        return this.Ly ? function (t) {
35427                            var n = new Uint8Array(t);
35428                            return Array.from(n.values()).map((function (t) {
35429                                return (t < 16 ? "0" : "") + Number(t).toString(16).toUpperCase()
35430                            })).join("")
35431                        }(a) : a
35432                    }, n
35433                }(Xj), xz = function () {
35434                    var t = function (n, i) {
35435                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
35436                            t.__proto__ = n
35437                        } || function (t, n) {
35438                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
35439                        })(n, i)
35440                    };
35441                    return function (n, i) {
35442                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
35443
35444                        function r() {
35445                            this.constructor = n
35446                        }
35447
35448                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
35449                    }
35450                }(), jz = {
35451                    POINT: Oe,
35452                    LINESTRING: xj,
35453                    POLYGON: Ke,
35454                    MULTIPOINT: yj,
vendor: 14,732 bytes, lines 35455-35735
35455                    MULTILINESTRING: Sj,
35456                    MULTIPOLYGON: _j
35457                }, Sz = "EMPTY", kz = 0, Mz = 1, _z = 2, Oz = 3, Tz = 4, Ez = 5, Az = 6, Cz = {};
35458                for (var Rz in Pt) Cz[Rz] = Pt[Rz].toUpperCase();
35459                var Pz = function () {
35460                    function t(t) {
35461                        this.wkt = t, this.By = -1
35462                    }
35463
35464                    return t.prototype.Wy = function (t) {
35465                        return t >= "a" && t <= "z" || t >= "A" && t <= "Z"
35466                    }, t.prototype.Vy = function (t, n) {
35467                        return t >= "0" && t <= "9" || "." == t && !(void 0 !== n && n)
35468                    }, t.prototype.Xy = function (t) {
35469                        return " " == t || "\t" == t || "\r" == t || "\n" == t
35470                    }, t.prototype.Hy = function () {
35471                        return this.wkt.charAt(++this.By)
35472                    }, t.prototype.nextToken = function () {
35473                        var t, n = this.Hy(), i = this.By, r = n;
35474                        if ("(" == n) t = _z; else if ("," == n) t = Ez; else if (")" == n) t = Oz; else if (this.Vy(n) || "-" == n) t = Tz, r = this.Jy(); else if (this.Wy(n)) t = Mz, r = this.Ky(); else {
35475                            if (this.Xy(n)) return this.nextToken();
35476                            if ("" !== n) throw new Error("Unexpected character: " + n);
35477                            t = Az
35478                        }
35479                        return {position: i, value: r, type: t}
35480                    }, t.prototype.Jy = function () {
35481                        var t, n = this.By, i = !1, r = !1;
35482                        do {
35483                            "." == t ? i = !0 : "e" != t && "E" != t || (r = !0), t = this.Hy()
35484                        } while (this.Vy(t, i) || !r && ("e" == t || "E" == t) || r && ("-" == t || "+" == t));
35485                        return parseFloat(this.wkt.substring(n, this.By--))
35486                    }, t.prototype.Ky = function () {
35487                        var t, n = this.By;
35488                        do {
35489                            t = this.Hy()
35490                        } while (this.Wy(t));
35491                        return this.wkt.substring(n, this.By--).toUpperCase()
35492                    }, t
35493                }(), Iz = function () {
35494                    function t(t) {
35495                        this.Yy = t, this.Zy = {position: 0, type: kz}, this.Py = Et
35496                    }
35497
35498                    return t.prototype.$y = function () {
35499                        this.Zy = this.Yy.nextToken()
35500                    }, t.prototype.isTokenType = function (t) {
35501                        return this.Zy.type == t
35502                    }, t.prototype.match = function (t) {
35503                        var n = this.isTokenType(t);
35504                        return n && this.$y(), n
35505                    }, t.prototype.parse = function () {
35506                        return this.$y(), this.Qy()
35507                    }, t.prototype.tm = function () {
35508                        var t = Et, n = this.Zy;
35509                        if (this.isTokenType(Mz)) {
35510                            var i = n.value;
35511                            "Z" === i ? t = At : "M" === i ? t = Ct : "ZM" === i && (t = Rt), t !== Et && this.$y()
35512                        }
35513                        return t
35514                    }, t.prototype.nm = function () {
35515                        if (this.match(_z)) {
35516                            var t = [];
35517                            do {
35518                                t.push(this.Qy())
35519                            } while (this.match(Ez));
35520                            if (this.match(Oz)) return t
35521                        }
35522                        throw new Error(this.im())
35523                    }, t.prototype.rm = function () {
35524                        if (this.match(_z)) {
35525                            var t = this.om();
35526                            if (this.match(Oz)) return t
35527                        }
35528                        throw new Error(this.im())
35529                    }, t.prototype.sm = function () {
35530                        if (this.match(_z)) {
35531                            var t = this.am();
35532                            if (this.match(Oz)) return t
35533                        }
35534                        throw new Error(this.im())
35535                    }, t.prototype.um = function () {
35536                        if (this.match(_z)) {
35537                            var t = this.hm();
35538                            if (this.match(Oz)) return t
35539                        }
35540                        throw new Error(this.im())
35541                    }, t.prototype.fm = function () {
35542                        if (this.match(_z)) {
35543                            var t = void 0;
35544                            if (t = this.Zy.type == _z ? this.lm() : this.am(), this.match(Oz)) return t
35545                        }
35546                        throw new Error(this.im())
35547                    }, t.prototype.vm = function () {
35548                        if (this.match(_z)) {
35549                            var t = this.hm();
35550                            if (this.match(Oz)) return t
35551                        }
35552                        throw new Error(this.im())
35553                    }, t.prototype.dm = function () {
35554                        if (this.match(_z)) {
35555                            var t = this.pm();
35556                            if (this.match(Oz)) return t
35557                        }
35558                        throw new Error(this.im())
35559                    }, t.prototype.om = function () {
35560                        for (var t = [], n = this.Py.length, i = 0; i < n; ++i) {
35561                            var r = this.Zy;
35562                            if (!this.match(Tz)) break;
35563                            t.push(r.value)
35564                        }
35565                        if (t.length == n) return t;
35566                        throw new Error(this.im())
35567                    }, t.prototype.am = function () {
35568                        for (var t = [this.om()]; this.match(Ez);) t.push(this.om());
35569                        return t
35570                    }, t.prototype.lm = function () {
35571                        for (var t = [this.rm()]; this.match(Ez);) t.push(this.rm());
35572                        return t
35573                    }, t.prototype.hm = function () {
35574                        for (var t = [this.sm()]; this.match(Ez);) t.push(this.sm());
35575                        return t
35576                    }, t.prototype.pm = function () {
35577                        for (var t = [this.um()]; this.match(Ez);) t.push(this.um());
35578                        return t
35579                    }, t.prototype.ym = function () {
35580                        var t = this.isTokenType(Mz) && this.Zy.value == Sz;
35581                        return t && this.$y(), t
35582                    }, t.prototype.im = function () {
35583                        return "Unexpected `" + this.Zy.value + "` at position " + this.Zy.position + " in `" + this.Yy.wkt + "`"
35584                    }, t.prototype.Qy = function () {
35585                        var t = this.Zy;
35586                        if (this.match(Mz)) {
35587                            var n = t.value;
35588                            this.Py = this.tm();
35589                            var i = this.ym();
35590                            if ("GEOMETRYCOLLECTION" == n) {
35591                                if (i) return new sS([]);
35592                                var r = this.nm();
35593                                return new sS(r)
35594                            }
35595                            var e = jz[n];
35596                            if (!e) throw new Error("Invalid geometry type: " + n);
35597                            var o = void 0;
35598                            if (i) o = "POINT" == n ? [NaN, NaN] : []; else switch (n) {
35599                                case"POINT":
35600                                    o = this.rm();
35601                                    break;
35602                                case"LINESTRING":
35603                                    o = this.sm();
35604                                    break;
35605                                case"POLYGON":
35606                                    o = this.um();
35607                                    break;
35608                                case"MULTIPOINT":
35609                                    o = this.fm();
35610                                    break;
35611                                case"MULTILINESTRING":
35612                                    o = this.vm();
35613                                    break;
35614                                case"MULTIPOLYGON":
35615                                    o = this.dm()
35616                            }
35617                            return new e(o, this.Py)
35618                        }
35619                        throw new Error(this.im())
35620                    }, t
35621                }(), Nz = function (t) {
35622                    function n(n) {
35623                        var i = t.call(this) || this, r = n || {};
35624                        return i.wm = void 0 !== r.splitCollection && r.splitCollection, i
35625                    }
35626
35627                    return xz(n, t), n.prototype.bm = function (t) {
35628                        var n = new Pz(t);
35629                        return new Iz(n).parse()
35630                    }, n.prototype.readFeatureFromText = function (t, n) {
35631                        var i = this.readGeometryFromText(t, n), r = new Tt;
35632                        return r.setGeometry(i), r
35633                    }, n.prototype.readFeaturesFromText = function (t, n) {
35634                        for (var i = [], r = this.readGeometryFromText(t, n), e = [], o = 0, s = (i = this.wm && r.getType() == Pt.GEOMETRY_COLLECTION ? r.getGeometriesArray() : [r]).length; o < s; ++o) {
35635                            var a = new Tt;
35636                            a.setGeometry(i[o]), e.push(a)
35637                        }
35638                        return e
35639                    }, n.prototype.readGeometryFromText = function (t, n) {
35640                        return Hj(this.bm(t), !1, n)
35641                    }, n.prototype.writeFeatureText = function (t, n) {
35642                        var i = t.getGeometry();
35643                        return i ? this.writeGeometryText(i, n) : ""
35644                    }, n.prototype.writeFeaturesText = function (t, n) {
35645                        if (1 == t.length) return this.writeFeatureText(t[0], n);
35646                        for (var i = [], r = 0, e = t.length; r < e; ++r) i.push(t[r].getGeometry());
35647                        var o = new sS(i);
35648                        return this.writeGeometryText(o, n)
35649                    }, n.prototype.writeGeometryText = function (t, n) {
35650                        return Dz(Hj(t, !0, n))
35651                    }, n
35652                }(cC);
35653
35654                function zz(t) {
35655                    var n = t.getCoordinates();
35656                    return 0 === n.length ? "" : n.join(" ")
35657                }
35658
35659                function Fz(t) {
35660                    for (var n = t.getCoordinates(), i = [], r = 0, e = n.length; r < e; ++r) i.push(n[r].join(" "));
35661                    return i.join(",")
35662                }
35663
35664                function Lz(t) {
35665                    for (var n = [], i = t.getLinearRings(), r = 0, e = i.length; r < e; ++r) n.push("(" + Fz(i[r]) + ")");
35666                    return n.join(",")
35667                }
35668
35669                var Gz = {
35670                    Point: zz, LineString: Fz, Polygon: Lz, MultiPoint: function (t) {
35671                        for (var n = [], i = t.getPoints(), r = 0, e = i.length; r < e; ++r) n.push("(" + zz(i[r]) + ")");
35672                        return n.join(",")
35673                    }, MultiLineString: function (t) {
35674                        for (var n = [], i = t.getLineStrings(), r = 0, e = i.length; r < e; ++r) n.push("(" + Fz(i[r]) + ")");
35675                        return n.join(",")
35676                    }, MultiPolygon: function (t) {
35677                        for (var n = [], i = t.getPolygons(), r = 0, e = i.length; r < e; ++r) n.push("(" + Lz(i[r]) + ")");
35678                        return n.join(",")
35679                    }, GeometryCollection: function (t) {
35680                        for (var n = [], i = t.getGeometries(), r = 0, e = i.length; r < e; ++r) n.push(Dz(i[r]));
35681                        return n.join(",")
35682                    }
35683                };
35684
35685                function Dz(t) {
35686                    var n = t.getType(), i = (0, Gz[n])(t);
35687                    if (n = n.toUpperCase(), "function" == typeof t.getFlatCoordinates) {
35688                        var r = function (t) {
35689                            var n = t.getLayout(), i = "";
35690                            return n !== At && n !== Rt || (i += "Z"), n !== Ct && n !== Rt || (i += "M"), i
35691                        }(t);
35692                        r.length > 0 && (n += " " + r)
35693                    }
35694                    return 0 === i.length ? n + " " + Sz : n + "(" + i + ")"
35695                }
35696
35697                var Uz = Nz, qz = function () {
35698                    var t = function (n, i) {
35699                        return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
35700                            t.__proto__ = n
35701                        } || function (t, n) {
35702                            for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
35703                        })(n, i)
35704                    };
35705                    return function (n, i) {
35706                        if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
35707
35708                        function r() {
35709                            this.constructor = n
35710                        }
35711
35712                        t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
35713                    }
35714                }(), Bz = [null, "http://www.opengis.net/wms"], Wz = Cf(Bz, {
35715                    Service: Mf((function (t, n) {
35716                        return Pf({}, Hz, t, n)
35717                    })), Capability: Mf((function (t, n) {
35718                        return Pf({}, Vz, t, n)
35719                    }))
35720                }), Vz = Cf(Bz, {
35721                    Request: Mf((function (t, n) {
35722                        return Pf({}, nF, t, n)
35723                    })), Exception: Mf((function (t, n) {
35724                        return Pf([], Zz, t, n)
35725                    })), Layer: Mf((function (t, n) {
35726                        var i = Pf({}, $z, t, n);
35727                        if (void 0 === i.Layer) return Object.assign(i, uF(t, n));
35728                        return i
35729                    }))
35730                }), Xz = function (t) {
35731                    function n() {
35732                        var n = t.call(this) || this;
35733                        return n.version = void 0, n
35734                    }
35735
35736                    return qz(n, t), n.prototype.readFromNode = function (t) {
35737                        this.version = t.getAttribute("version").trim();
35738                        var n = Pf({version: this.version}, Wz, t, []);
35739                        return n || null
35740                    }, n
35741                }(AP), Hz = Cf(Bz, {
35742                    Name: Mf(oA),
35743                    Title: Mf(oA),
35744                    Abstract: Mf(oA),
35745                    KeywordList: Mf(lF),
35746                    OnlineResource: Mf(CP),
35747                    ContactInformation: Mf((function (t, n) {
35748                        return Pf({}, Jz, t, n)
35749                    })),
35750                    Fees: Mf(oA),
35751                    AccessConstraints: Mf(oA),
35752                    LayerLimit: Mf(rA),
35753                    MaxWidth: Mf(rA),
35754                    MaxHeight: Mf(rA)
35755                }), Jz = Cf(Bz, {
35756                    ContactPersonPrimary: Mf((function (t, n) {
35757                        return Pf({}, Kz, t, n)
35758                    })),
35759                    ContactPosition: Mf(oA),
35760                    ContactAddress: Mf((function (t, n) {
35761                        return Pf({}, Yz, t, n)
35762                    })),
35763                    ContactVoiceTelephone: Mf(oA),
35764                    ContactFacsimileTelephone: Mf(oA),
35765                    ContactElectronicMailAddress: Mf(oA)
35766                }), Kz = Cf(Bz, {ContactPerson: Mf(oA), ContactOrganization: Mf(oA)}), Yz = Cf(Bz, {
35767                    AddressType: Mf(oA),
35768                    Address: Mf(oA),
35769                    City: Mf(oA),
35770                    StateOrProvince: Mf(oA),
35771                    PostCode: Mf(oA),
35772                    Country: Mf(oA)
35773                }), Zz = Cf(Bz, {Format: jf(oA)}), $z = Cf(Bz, {
35774                    Name: Mf(oA),
35775                    Title: Mf(oA),
35776                    Abstract: Mf(oA),
35777                    KeywordList: Mf(lF),
35778                    CRS: kf(oA),
35779                    EX_GeographicBoundingBox: Mf((function (t, n) {
35780                        var i = Pf({}, tF, t, n);
35781                        if (!i) return;
35782                        var r = i.westBoundLongitude, e = i.southBoundLatitude, o = i.eastBoundLongitude,
35783                            s = i.northBoundLatitude;
35784                        if (void 0 === r || void 0 === e || void 0 === o || void 0 === s) return;
35785                        return [r, e, o, s]
35786                    })),
35787                    BoundingBox: kf((function (t, n) {
35788                        var i = [iA(t.getAttribute("minx")), iA(t.getAttribute("miny")), iA(t.getAttribute("maxx")), iA(t.getAttribute("maxy"))],
35789                            r = [iA(t.getAttribute("resx")), iA(t.getAttribute("resy"))];
35790                        return {crs: t.getAttribute("CRS"), extent: i, res: r}
35791                    })),
35792                    Dimension: kf((function (t, n) {
35793                        return {
35794                            name: t.getAttribute("name"),
35795                            units: t.getAttribute("units"),
35796                            unitSymbol: t.getAttribute("unitSymbol"),
35797                            default: t.getAttribute("default"),
35798                            multipleValues: QE(t.getAttribute("multipleValues")),
35799                            nearestValue: QE(t.getAttribute("nearestValue")),
35800                            current: QE(t.getAttribute("current")),
35801                            values: oA(t)
35802                        }
35803                    })),
35804                    Attribution: Mf((function (t, n) {
35805                        return Pf({}, Qz, t, n)
35806                    })),
35807                    AuthorityURL: kf((function (t, n) {
35808                        var i = cF(t, n);
35809                        if (i) return i.name = t.getAttribute("name"), i;
35810                        return
35811                    })),
35812                    Identifier: kf(oA),
35813                    MetadataURL: kf((function (t, n) {
35814                        var i = cF(t, n);
35815                        if (i) return i.type = t.getAttribute("type"), i;
35816                        return
35817                    })),
35818                    DataURL: kf(cF),
35819                    FeatureListURL: kf(cF),
35820                    Style: kf((function (t, n) {
35821                        return Pf({}, oF, t, n)
35822                    })),
35823                    MinScaleDenominator: Mf(nA),
35824                    MaxScaleDenominator: Mf(nA),
35825                    Layer: kf(uF)
35826                }), Qz = Cf(Bz, {Title: Mf(oA), OnlineResource: Mf(CP), LogoURL: Mf(fF)}), tF = Cf(Bz, {
35827                    westBoundLongitude: Mf(nA),
35828                    eastBoundLongitude: Mf(nA),
35829                    southBoundLatitude: Mf(nA),
35830                    northBoundLatitude: Mf(nA)
35831                }), nF = Cf(Bz, {GetCapabilities: Mf(hF), GetMap: Mf(hF), GetFeatureInfo: Mf(hF)}), iF = Cf(Bz, {
35832                    Format: kf(oA), DCPType: kf((function (t, n) {
35833                        return Pf({}, rF, t, n)
35834                    }))
35835                }), rF = Cf(Bz, {
35836                    HTTP: Mf((function (t, n) {
35837                        return Pf({}, eF, t, n)
35838                    }))
35839                }), eF = Cf(Bz, {Get: Mf(cF), Post: Mf(cF)}), oF = Cf(Bz, {
35840                    Name: Mf(oA),
35841                    Title: Mf(oA),
35842                    Abstract: Mf(oA),
35843                    LegendURL: kf(fF),
35844                    StyleSheetURL: Mf(cF),
35845                    StyleURL: Mf(cF)
35846                }), sF = Cf(Bz, {Format: Mf(oA), OnlineResource: Mf(CP)}), aF = Cf(Bz, {Keyword: jf(oA)});
35847
35848                function uF(t, n) {
35849                    var i = n[n.length - 1], r = Pf({}, $z, t, n);
35850                    if (r) {
35851                        var e = QE(t.getAttribute("queryable"));
35852                        void 0 === e && (e = i.queryable), r.queryable = void 0 !== e && e;
35853                        var o = eA(t.getAttribute("cascaded"));
35854                        void 0 === o && (o = i.cascaded), r.cascaded = o;
35855                        var s = QE(t.getAttribute("opaque"));
35856                        void 0 === s && (s = i.opaque), r.opaque = void 0 !== s && s;
35857                        var a = QE(t.getAttribute("noSubsets"));
35858                        void 0 === a && (a = i.noSubsets), r.noSubsets = void 0 !== a && a;
35859                        var u = iA(t.getAttribute("fixedWidth"));
35860                        u || (u = i.fixedWidth), r.fixedWidth = u;
35861                        var c = iA(t.getAttribute("fixedHeight"));
35862                        c || (c = i.fixedHeight), r.fixedHeight = c;
35863                        ["Style", "CRS", "AuthorityURL"].forEach((function (t) {
35864                            if (t in i) {
35865                                var n = r[t] || [];
35866                                r[t] = n.concat(i[t])
35867                            }
35868                        }));
35869                        return ["EX_GeographicBoundingBox", "BoundingBox", "Dimension", "Attribution", "MinScaleDenominator", "MaxScaleDenominator"].forEach((function (t) {
35870                            if (!(t in r)) {
35871                                var n = i[t];
35872                                r[t] = n
35873                            }
35874                        })), r
35875                    }
35876                }
35877
35878                function cF(t, n) {
35879                    return Pf({}, sF, t, n)
35880                }
35881
35882                function hF(t, n) {
35883                    return Pf({}, iF, t, n)
35884                }
35885
35886                function fF(t, n) {
35887                    var i = cF(t, n);
35888                    if (i) {
35889                        var r = [eA(t.getAttribute("width")), eA(t.getAttribute("height"))];
35890                        return i.size = r, i
35891                    }
35892                }
35893
35894                function lF(t, n) {
35895                    return Pf([], aF, t, n)
35896                }
35897
35898                var vF = Xz, dF = function () {
35899                        var t = function (n, i) {
35900                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
35901                                t.__proto__ = n
35902                            } || function (t, n) {
35903                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
35904                            })(n, i)
35905                        };
35906                        return function (n, i) {
35907                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
35908
35909                            function r() {
35910                                this.constructor = n
35911                            }
35912
35913                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
35914                        }
35915                    }(), pF = function (t) {
35916                        function n(n) {
35917                            var i = t.call(this) || this, r = n || {};
35918                            return i.Sy = "http://mapserver.gis.umn.edu/mapserver", i.ky = new pA, i.Uc = r.layers ? r.layers : null, i
35919                        }
35920
35921                        return dF(n, t), n.prototype.getLayers = function () {
35922                            return this.Uc
35923                        }, n.prototype.setLayers = function (t) {
35924                            this.Uc = t
35925                        }, n.prototype.gm = function (t, n) {
35926                            t.setAttribute("namespaceURI", this.Sy);
35927                            var i = t.localName, r = [];
35928                            if (0 === t.childNodes.length) return r;
35929                            if ("msGMLOutput" == i) for (var e = 0, o = t.childNodes.length; e < o; e++) {
35930                                var s = t.childNodes[e];
35931                                if (s.nodeType === Node.ELEMENT_NODE) {
35932                                    var a = s, u = n[0], c = a.localName.replace("_layer", "");
35933                                    if (!this.Uc || y(this.Uc, c)) {
35934                                        var h = c + "_feature";
35935                                        u.featureType = h, u.featureNS = this.Sy;
35936                                        var f = {};
35937                                        f[h] = jf(this.ky.readFeatureElement, this.ky);
35938                                        var l = Cf([u.featureNS, null], f);
35939                                        a.setAttribute("namespaceURI", this.Sy);
35940                                        var v = Pf([], l, a, n, this.ky);
35941                                        v && b(r, v)
35942                                    }
35943                                }
35944                            }
35945                            if ("FeatureCollection" == i) {
35946                                var d = Pf([], this.ky.FEATURE_COLLECTION_PARSERS, t, [{}], this.ky);
35947                                d && (r = d)
35948                            }
35949                            return r
35950                        }
35950, n.prototype.readFeaturesFromNode = function (t, n) {
35951                            var i = {};
35952                            return n && E(i, this.getReadOptions(t, n)), this.gm(t, [i])
35953                        }, n
35954                    }(XE), yF = function () {
35955                        var t = function (n, i) {
35956                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
35957                                t.__proto__ = n
35958                            } || function (t, n) {
35959                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
35960                            })(n, i)
35961                        };
35962                        return function (n, i) {
35963                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
35964
35965                            function r() {
35966                                this.constructor = n
35967                            }
35968
35969                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
35970                        }
35971                    }(), mF = [null, "http://www.opengis.net/wmts/1.0"], wF = [null, "http://www.opengis.net/ows/1.1"],
35972                    bF = Cf(mF, {
35973                        Contents: Mf((function (t, n) {
35974                            return Pf({}, xF, t, n)
35975                        }))
35976                    }), gF = function (t) {
35977                        function n() {
35978                            var n = t.call(this) || this;
35979                            return n.xm = new KP, n
35980                        }
35981
35982                        return yF(n, t), n.prototype.readFromNode = function (t) {
35983                            var n = t.getAttribute("version");
35984                            n && (n = n.trim());
35985                            var i = this.xm.readFromNode(t);
35986                            return i ? (i.version = n, (i = Pf(i, bF, t, [])) || null) : null
35987                        }, n
35988                    }(AP), xF = Cf(mF, {
35989                        Layer: kf((function (t, n) {
35990                            return Pf({}, jF, t, n)
35991                        })), TileMatrixSet: kf((function (t, n) {
35992                            return Pf({}, EF, t, n)
35993                        }))
35994                    }), jF = Cf(mF, {
35995                        Style: kf((function (t, n) {
35996                            var i = Pf({}, SF, t, n);
35997                            if (!i) return;
35998                            var r = "true" === t.getAttribute("isDefault");
35999                            return i.isDefault = r, i
36000                        })), Format: kf(oA), TileMatrixSetLink: kf((function (t, n) {
36001                            return Pf({}, kF, t, n)
36002                        })), Dimension: kf((function (t, n) {
36003                            return Pf({}, OF, t, n)
36004                        })), ResourceURL: kf((function (t, n) {
36005                            var i = t.getAttribute("format"), r = t.getAttribute("template"),
36006                                e = t.getAttribute("resourceType"), o = {};
36007                            i && (o.format = i);
36008                            r && (o.template = r);
36009                            e && (o.resourceType = e);
36010                            return o
36011                        }))
36012                    }, Cf(wF, {Title: Mf(oA), Abstract: Mf(oA), WGS84BoundingBox: Mf(CF), Identifier: Mf(oA)})),
36013                    SF = Cf(mF, {
36014                        LegendURL: kf((function (t, n) {
36015                            var i = {};
36016                            return i.format = t.getAttribute("format"), i.href = CP(t), i
36017                        }))
36018                    }, Cf(wF, {Title: Mf(oA), Identifier: Mf(oA)})), kF = Cf(mF, {
36019                        TileMatrixSet: Mf(oA), TileMatrixSetLimits: Mf((function (t, n) {
36020                            return Pf([], MF, t, n)
36021                        }))
36022                    }), MF = Cf(mF, {
36023                        TileMatrixLimits: jf((function (t, n) {
36024                            return Pf({}, _F, t, n)
36025                        }))
36026                    }), _F = Cf(mF, {
36027                        TileMatrix: Mf(oA),
36028                        MinTileRow: Mf(rA),
36029                        MaxTileRow: Mf(rA),
36030                        MinTileCol: Mf(rA),
36031                        MaxTileCol: Mf(rA)
36032                    }), OF = Cf(mF, {Default: Mf(oA), Value: kf(oA)}, Cf(wF, {Identifier: Mf(oA)})),
36033                    TF = Cf(wF, {LowerCorner: jf(RF), UpperCorner: jf(RF)}), EF = Cf(mF, {
36034                        WellKnownScaleSet: Mf(oA), TileMatrix: kf((function (t, n) {
36035                            return Pf({}, AF, t, n)
36036                        }))
36037                    }, Cf(wF, {SupportedCRS: Mf(oA), Identifier: Mf(oA), BoundingBox: Mf(CF)})), AF = Cf(mF, {
36038                        TopLeftCorner: Mf(RF),
36039                        ScaleDenominator: Mf(nA),
36040                        TileWidth: Mf(rA),
36041                        TileHeight: Mf(rA),
36042                        MatrixWidth: Mf(rA),
36043                        MatrixHeight: Mf(rA)
36044                    }, Cf(wF, {Identifier: Mf(oA)}));
36045
36046                function CF(t, n) {
36047                    var i = Pf([], TF, t, n);
36048                    if (2 == i.length) return xn(i)
36049                }
36050
36051                function RF(t, n) {
36052                    var i = oA(t).split(/\s+/);
36053                    if (i && 2 == i.length) {
36054                        var r = +i[0], e = +i[1];
36055                        if (!isNaN(r) && !isNaN(e)) return [r, e]
36056                    }
36057                }
36058
36059                var PF = gF, IF = function () {
36060                        var t = function (n, i) {
36061                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36062                                t.__proto__ = n
36063                            } || function (t, n) {
36064                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36065                            })(n, i)
36066                        };
36067                        return function (n, i) {
36068                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36069
36070                            function r() {
36071                                this.constructor = n
36072                            }
36073
36074                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36075                        }
36076                    }(), NF = ["fullscreenchange", "webkitfullscreenchange", "MSFullscreenChange"], zF = "enterfullscreen",
36077                    FF = "leavefullscreen";
36078
36079                function LF(t) {
36080                    var n = t.body;
36081                    return !!(n.webkitRequestFullscreen || n.msRequestFullscreen && t.msFullscreenEnabled || n.requestFullscreen && t.fullscreenEnabled)
36082                }
36083
36084                function GF(t) {
36085                    return !!(t.webkitIsFullScreen || t.msFullscreenElement || t.fullscreenElement)
36086                }
36087
36088                function DF(t) {
36089                    t.requestFullscreen ? t.requestFullscreen() : t.msRequestFullscreen ? t.msRequestFullscreen() : t.webkitRequestFullscreen && t.webkitRequestFullscreen()
36090                }
36091
36092                var UF = function (t) {
36093                        function n(n) {
36094                            var i = this, r = n || {};
36095                            (i = t.call(this, {
36096                                element: document.createElement("div"),
36097                                target: r.target
36098                            }) || this).on, i.once, i.un, i.jm = void 0 !== r.className ? r.className : "ol-full-screen", i.Sm = [], i.km = void 0 !== r.activeClassName ? r.activeClassName.split(" ") : [i.jm + "-true"], i.Mm = void 0 !== r.inactiveClassName ? r.inactiveClassName.split(" ") : [i.jm + "-false"];
36099                            var e = void 0 !== r.label ? r.label : "⤢";
36100                            i._m = "string" == typeof e ? document.createTextNode(e) : e;
36101                            var o = void 0 !== r.labelActive ? r.labelActive : "×";
36102                            i.Om = "string" == typeof o ? document.createTextNode(o) : o, i.Tm = document.createElement("button");
36103                            var s = r.tipLabel ? r.tipLabel : "Toggle full-screen";
36104                            return i.Tm.setAttribute("type", "button"), i.Tm.title = s, i.Tm.appendChild(i._m), i.Tm.addEventListener(G, i.Cr.bind(i), !1), i.element.className = "".concat(i.jm, " ").concat(Os, " ").concat(Es), i.element.appendChild(i.Tm), i.th = void 0 !== r.keys && r.keys, i.Mv = r.source, i.Em = !1, i.Am = i.Cm.bind(i), i
36105                        }
36106
36107                        return IF(n, t), n.prototype.Cr = function (t) {
36108                            t.preventDefault(), this.Rm()
36109                        }, n.prototype.Rm = function () {
36110                            var t = this.getMap();
36111                            if (t) {
36112                                var n = t.getOwnerDocument();
36113                                if (LF(n)) if (GF(n)) !function (t) {
36114                                    t.exitFullscreen ? t.exitFullscreen() : t.msExitFullscreen ? t.msExitFullscreen() : t.webkitExitFullscreen && t.webkitExitFullscreen()
36115                                }(n); else {
36116                                    var i = void 0;
36117                                    i = this.Mv ? "string" == typeof this.Mv ? n.getElementById(this.Mv) : this.Mv : t.getTargetElement(), this.th ? function (t) {
36118                                        t.webkitRequestFullscreen ? t.webkitRequestFullscreen() : DF(t)
36119                                    }(i) : DF(i)
36120                                }
36121                            }
36122                        }, n.prototype.Pm = function () {
36123                            var t = this.getMap();
36124                            if (t) {
36125                                var n = this.Em;
36126                                this.Em = GF(t.getOwnerDocument()), n !== this.Em && (this.Im(this.Tm, this.Em), this.Em ? (Eo(this.Om, this._m), this.dispatchEvent(zF)) : (Eo(this._m, this.Om), this.dispatchEvent(FF)), t.updateSize())
36127                            }
36128                        }, n.prototype.Im = function (t, n) {
36129                            var i, r, e, o = this.km, s = this.Mm, a = n ? o : s;
36130                            (i = t.classList).remove.apply(i, o), (r = t.classList).remove.apply(r, s), (e = t.classList).add.apply(e, a)
36131                        }, n.prototype.setMap = function (n) {
36132                            var i = this.getMap();
36133                            i && i.removeChangeListener(_a, this.Am), t.prototype.setMap.call(this, n), this.Cm(), n && n.addChangeListener(_a, this.Am)
36134                        }, n.prototype.Cm = function () {
36135                            for (var t = this.Sm, n = 0, i = t.length; n < i; ++n) $(t[n]);
36136                            t.length = 0;
36137                            var r = this.getMap();
36138                            if (r) {
36139                                var e = r.getOwnerDocument();
36140                                LF(e) ? this.element.classList.remove(Ts) : this.element.classList.add(Ts);
36141                                for (n = 0, i = NF.length; n < i; ++n) t.push(Y(e, NF[n], this.Pm, this));
36142                                this.Pm()
36143                            }
36144                        }, n
36145                    }(fu), qF = function () {
36146                        var t = function (n, i) {
36147                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36148                                t.__proto__ = n
36149                            } || function (t, n) {
36150                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36151                            })(n, i)
36152                        };
36153                        return function (n, i) {
36154                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36155
36156                            function r() {
36157                                this.constructor = n
36158                            }
36159
36160                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36161                        }
36162                    }(), BF = "projection", WF = "coordinateFormat", VF = function (t) {
36163                        function n(n) {
36164                            var i = this, r = n || {}, e = document.createElement("div");
36165                            e.className = void 0 !== r.className ? r.className : "ol-mouse-position", (i = t.call(this, {
36166                                element: e,
36167                                render: r.render,
36168                                target: r.target
36169                            }) || this).on, i.once, i.un, i.addChangeListener(BF, i.Tt), r.coordinateFormat && i.setCoordinateFormat(r.coordinateFormat), r.projection && i.setProjection(r.projection);
36170                            var o = !0, s = "&#160;";
36171                            return "undefinedHTML" in r ? (void 0 !== r.undefinedHTML && (s = r.undefinedHTML), o = !!s) : "placeholder" in r && (!1 === r.placeholder ? o = !1 : s = String(r.placeholder)), i.Nm = s, i.zm = o, i.Fm = e.innerHTML, i.Lm = null, i._t = null, i
36172                        }
36173
36174                        return qF(n, t), n.prototype.Tt = function () {
36175                            this._t = null
36176                        }, n.prototype.getCoordinateFormat = function () {
36177                            return this.get(WF)
36178                        }, n.prototype.getProjection = function () {
36179                            return this.get(BF)
36180                        }, n.prototype.handleMouseMove = function (t) {
36181                            var n = this.getMap();
36182                            this.Gm(n.getEventPixel(t))
36183                        }, n.prototype.handleMouseOut = function (t) {
36184                            this.Gm(null)
36185                        }, n.prototype.setMap = function (n) {
36186                            if (t.prototype.setMap.call(this, n), n) {
36187                                var i = n.getViewport();
36188                                this.listenerKeys.push(Y(i, pa, this.handleMouseMove, this)), this.zm && this.listenerKeys.push(Y(i, wa, this.handleMouseOut, this)), this.Gm(null)
36189                            }
36190                        }, n.prototype.setCoordinateFormat = function (t) {
36191                            this.set(WF, t)
36192                        }, n.prototype.setProjection = function (t) {
36193                            this.set(BF, br(t))
36194                        }, n.prototype.Gm = function (t) {
36195                            var n = this.Nm;
36196                            if (t && this.Lm) {
36197                                if (!this._t) {
36198                                    var i = this.getProjection();
36199                                    this._t = i ? Tr(this.Lm, i) : yr
36200                                }
36201                                var r = this.getMap().getCoordinateFromPixelInternal(t);
36202                                if (r) {
36203                                    var e = Ir();
36204                                    e && (this._t = Tr(this.Lm, e)), this._t(r, r);
36205                                    var o = this.getCoordinateFormat();
36206                                    n = o ? o(r) : r.toString()
36207                                }
36208                            }
36209                            this.Fm && n === this.Fm || (this.element.innerHTML = n, this.Fm = n)
36210                        }, n.prototype.render = function (t) {
36211                            var n = t.frameState;
36212                            n ? this.Lm != n.viewState.projection && (this.Lm = n.viewState.projection, this._t = null) : this.Lm = null
36213                        }, n
36214                    }(fu), XF = function () {
36215                        var t = function (n, i) {
36216                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36217                                t.__proto__ = n
36218  
36218                          } || function (t, n) {
36219                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36220                            })(n, i)
36221                        };
36222                        return function (n, i) {
36223                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36224
36225                            function r() {
36226                                this.constructor = n
36227                            }
36228
36229                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36230                        }
36231                    }(), HF = .75, JF = .1, KF = function (t) {
36232                        function n() {
36233                            return null !== t && t.apply(this, arguments) || this
36234                        }
36235
36236                        return XF(n, t), n.prototype.createRenderer = function () {
36237                            return new oa(this)
36238                        }, n
36239                    }(cu), YF = function (t) {
36240                        function n(n) {
36241                            var i = this, r = n || {};
36242                            (i = t.call(this, {
36243                                element: document.createElement("div"),
36244                                render: r.render,
36245                                target: r.target
36246                            }) || this).Dm = i.Um.bind(i), i.Sr = void 0 === r.collapsed || r.collapsed, i._r = void 0 === r.collapsible || r.collapsible, i._r || (i.Sr = !1), i.ua = void 0 !== r.rotateWithView && r.rotateWithView, i.qm = void 0;
36247                            var e = void 0 !== r.className ? r.className : "ol-overviewmap",
36248                                o = void 0 !== r.tipLabel ? r.tipLabel : "Overview map",
36249                                s = void 0 !== r.collapseLabel ? r.collapseLabel : "‹";
36250                            "string" == typeof s ? (i.Tr = document.createElement("span"), i.Tr.textContent = s) : i.Tr = s;
36251                            var a = void 0 !== r.label ? r.label : "›";
36252                            "string" == typeof a ? (i.Er = document.createElement("span"), i.Er.textContent = a) : i.Er = a;
36253                            var u = i._r && !i.Sr ? i.Tr : i.Er, c = document.createElement("button");
36254                            c.setAttribute("type", "button"), c.title = o, c.appendChild(u), c.addEventListener(G, i.Cr.bind(i), !1), i.Bm = document.createElement("div"), i.Bm.className = "ol-overviewmap-map", i._y = r.view, i.Wm = new KF({view: r.view});
36255                            var h = i.Wm;
36256                            r.layers && r.layers.forEach((function (t) {
36257                                h.addLayer(t)
36258                            }));
36259                            var f = document.createElement("div");
36260                            f.className = "ol-overviewmap-box", f.style.boxSizing = "border-box", i.Vm = new Gc({
36261                                position: [0, 0],
36262                                positioning: Oc,
36263                                element: f
36264                            }), i.Wm.addOverlay(i.Vm);
36265                            var l = e + " " + "ol-unselectable " + Es + (i.Sr && i._r ? " ol-collapsed" : "") + (i._r ? "" : " ol-uncollapsible"),
36266                                v = i.element;
36267                            v.className = l, v.appendChild(i.Bm), v.appendChild(c);
36268                            var d = i, p = i.Vm, y = i.Vm.getElement(), m = function (t) {
36269                                var n, i = {clientX: (n = t).clientX, clientY: n.clientY},
vendor: 16,744 bytes, lines 36270-36486
36270                                    r = h.getEventCoordinateInternal(i);
36271                                p.setPosition(r)
36272                            }, w = function t(n) {
36273                                var i = h.getEventCoordinateInternal(n);
36274                                d.getMap().getView().setCenterInternal(i), window.removeEventListener("mousemove", m), window.removeEventListener("mouseup", t)
36275                            };
36276                            return y.addEventListener("mousedown", (function () {
36277                                window.addEventListener("mousemove", m), window.addEventListener("mouseup", w)
36278                            })), i
36279                        }
36280
36281                        return XF(n, t), n.prototype.setMap = function (n) {
36282                            var i = this.getMap();
36283                            if (n !== i) {
36284                                if (i) {
36285                                    var r = i.getView();
36286                                    r && this.Xm(r), this.Wm.setTarget(null)
36287                                }
36288                                if (t.prototype.setMap.call(this, n), n) {
36289                                    this.Wm.setTarget(this.Bm), this.listenerKeys.push(Y(n, l, this.Hm, this));
36290                                    var e = n.getView();
36291                                    e && (this.Jm(e), e.isDef() && (this.Wm.updateSize(), this.Km())), this.Wm.isRendered() || this.Ym()
36292                                }
36293                            }
36294                        }, n.prototype.Hm = function (t) {
36295                            if (t.key === Oa) {
36296                                var n = t.oldValue;
36297                                n && this.Xm(n);
36298                                var i = this.getMap().getView();
36299                                this.Jm(i)
36300                            } else this.Wm.isRendered() || t.key !== _a && t.key !== Ma || this.Wm.updateSize()
36301                        }, n.prototype.Jm = function (t) {
36302                            if (!this._y) {
36303                                var n = new nu({projection: t.getProjection()});
36304                                this.Wm.setView(n)
36305                            }
36306                            t.addChangeListener(Na.ROTATION, this.Dm), this.Um()
36307                        }, n.prototype.Xm = function (t) {
36308                            t.removeChangeListener(Na.ROTATION, this.Dm)
36309                        }, n.prototype.Um = function () {
36310                            this.ua && this.Wm.getView().setRotation(this.getMap().getView().getRotation())
36311                        }, n.prototype.Zm = function () {
36312                            var t = this.getMap(), n = this.Wm;
36313                            if (t.isRendered() && n.isRendered()) {
36314                                var i = t.getSize(), r = t.getView().calculateExtentInternal(i);
36315                                if (!this.qm || !In(r, this.qm)) {
36316                                    this.qm = r;
36317                                    var e = n.getSize(), o = n.getView().calculateExtentInternal(e),
36318                                        s = n.getPixelFromCoordinateInternal(Zn(r)),
36319                                        a = n.getPixelFromCoordinateInternal(Vn(r)), u = Math.abs(s[0] - a[0]),
36320                                        c = Math.abs(s[1] - a[1]), h = e[0], f = e[1];
36321                                    u < h * JF || c < f * JF || u > h * HF || c > f * HF ? this.Km() : _n(o, r) || this.$m()
36322                                }
36323                            }
36324                        }, n.prototype.Km = function () {
36325                            var t = this.getMap(), n = this.Wm, i = t.getSize(), r = t.getView().calculateExtentInternal(i),
36326                                e = n.getView(), o = Math.log(7.5) / Math.LN2;
36327                            ri(r, 1 / (Math.pow(2, o / 2) * JF)), e.fitInternal(Ze(r))
36328                        }, n.prototype.$m = function () {
36329                            var t = this.getMap(), n = this.Wm, i = t.getView();
36330                            n.getView().setCenterInternal(i.getCenterInternal())
36331                        }, n.prototype.Qm = function () {
36332                            var t = this.getMap(), n = this.Wm;
36333                            if (t.isRendered() && n.isRendered()) {
36334                                var i = t.getSize(), r = t.getView(), e = n.getView(), o = this.ua ? 0 : -r.getRotation(),
36335                                    s = this.Vm, a = this.Vm.getElement(), u = r.getCenterInternal(), c = r.getResolution(),
36336                                    h = e.getResolution(), f = i[0] * c / h, l = i[1] * c / h;
36337                                if (s.setPosition(u), a) {
36338                                    a.style.width = f + "px", a.style.height = l + "px";
36339                                    var v = "rotate(" + o + "rad)";
36340                                    a.style.transform = v
36341                                }
36342                            }
36343                        }, n.prototype.Ym = function () {
36344                            this.tw || (this.tw = Z(this.Wm, xa, (function (t) {
36345                                delete this.tw, this.Qm()
36346                            }), this))
36347                        }, n.prototype.Cr = function (t) {
36348                            t.preventDefault(), this.Nr()
36349                        }, n.prototype.Nr = function () {
36350                            this.element.classList.toggle(As), this.Sr ? Eo(this.Tr, this.Er) : Eo(this.Er, this.Tr), this.Sr = !this.Sr;
36351                            var t = this.Wm;
36352                            if (!this.Sr) {
36353                                if (t.isRendered()) return this.qm = void 0, void t.render();
36354                                t.updateSize(), this.Km(), this.Ym()
36355                            }
36356                        }, n.prototype.getCollapsible = function () {
36357                            return this._r
36358                        }, n.prototype.setCollapsible = function (t) {
36359                            this._r !== t && (this._r = t, this.element.classList.toggle("ol-uncollapsible"), !t && this.Sr && this.Nr())
36360                        }, n.prototype.setCollapsed = function (t) {
36361                            this._r && this.Sr !== t && this.Nr()
36362                        }, n.prototype.getCollapsed = function () {
36363                            return this.Sr
36364                        }, n.prototype.getRotateWithView = function () {
36365                            return this.ua
36366                        }, n.prototype.setRotateWithView = function (t) {
36367                            this.ua !== t && (this.ua = t, 0 !== this.getMap().getView().getRotation() && (this.ua ? this.Um() : this.Wm.getView().setRotation(0), this.qm = void 0, this.Zm(), this.Qm()))
36368                        }, n.prototype.getOverviewMap = function () {
36369                            return this.Wm
36370                        }, n.prototype.render = function (t) {
36371                            this.Zm(), this.Qm()
36372                        }, n
36373                    }(fu), ZF = function () {
36374                        var t = function (n, i) {
36375                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36376                                t.__proto__ = n
36377                            } || function (t, n) {
36378                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36379                            })(n, i)
36380                        };
36381                        return function (n, i) {
36382                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36383
36384                            function r() {
36385                                this.constructor = n
36386                            }
36387
36388                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36389                        }
36390                    }(), $F = "units", QF = "degrees", tL = "imperial", nL = "nautical", iL = "metric", rL = "us",
36391                    eL = [1, 2, 5], oL = 25.4 / .28, sL = function (t) {
36392                        function n(n) {
36393                            var i = this, r = n || {},
36394                                e = void 0 !== r.className ? r.className : r.bar ? "ol-scale-bar" : "ol-scale-line";
36395                            return (i = t.call(this, {
36396                                element: document.createElement("div"),
36397                                render: r.render,
36398                                target: r.target
36399                            }) || this).on, i.once, i.un, i.nw = document.createElement("div"), i.nw.className = e + "-inner", i.element.className = e + " " + Os, i.element.appendChild(i.nw), i.iw = null, i.rw = void 0 !== r.minWidth ? r.minWidth : 64, i.mn = !1, i.ew = void 0, i.Fm = "", i.addChangeListener($F, i.ow), i.setUnits(r.units || iL), i.sw = r.bar || !1, i.aw = r.steps || 4, i.uw = r.text || !1, i.cw = r.dpi || void 0, i
36400                        }
36401
36402                        return ZF(n, t), n.prototype.getUnits = function () {
36403                            return this.get($F)
36404                        }, n.prototype.ow = function () {
36405                            this.Ir()
36406                        }, n.prototype.setUnits = function (t) {
36407                            this.set($F, t)
36408                        }, n.prototype.setDpi = function (t) {
36409                            this.cw = t
36410                        }, n.prototype.Ir = function () {
36411                            var t = this.iw;
36412                            if (t) {
36413                                var n = t.center, i = t.projection, r = this.getUnits(),
36414                                    e = r == QF ? Gt.DEGREES : Gt.METERS, o = gr(i, t.resolution, n, e),
36415                                    s = this.rw * (this.cw || oL) / oL, a = s * o, u = "";
36416                                if (r == QF) {
36417                                    var c = Ft[Gt.DEGREES];
36418                                    (a *= c) < c / 60 ? (u = "″", o *= 3600) : a < c ? (u = "′", o *= 60) : u = "°"
36419                                } else r == tL ? a < .9144 ? (u = "in", o /= .0254) : a < 1609.344 ? (u = "ft", o /= .3048) : (u = "mi", o /= 1609.344) : r == nL ? (o /= 1852, u = "nm") : r == iL ? a < .001 ? (u = "μm", o *= 1e6) : a < 1 ? (u = "mm", o *= 1e3) : a < 1e3 ? u = "m" : (u = "km", o /= 1e3) : r == rL ? a < .9144 ? (u = "in", o *= 39.37) : a < 1609.344 ? (u = "ft", o /= .30480061) : (u = "mi", o /= 1609.3472) : Mt(!1, 33);
36420                                for (var h, f, l, v, d = 3 * Math.floor(Math.log(s * o) / Math.log(10)); ;) {
36421                                    l = Math.floor(d / 3);
36422                                    var p = Math.pow(10, l);
36423                                    if (h = eL[(d % 3 + 3) % 3] * p, f = Math.round(h / o), isNaN(f)) return this.element.style.display = "none", void (this.mn = !1);
36424                                    if (f >= s) break;
36425                                    ++d
36426                                }
36427                                v = this.sw ? this.createScaleBar(f, h, u) : h.toFixed(l < 0 ? -l : 0) + " " + u, this.Fm != v && (this.nw.innerHTML = v, this.Fm = v), this.ew != f && (this.nw.style.width = f + "px", this.ew = f), this.mn || (this.element.style.display = "", this.mn = !0)
36428                            } else this.mn && (this.element.style.display = "none", this.mn = !1)
36429                        }, n.prototype.createScaleBar = function (t, n, i) {
36430                            for (var r = "1 : " + Math.round(this.getScaleForResolution()).toLocaleString(), e = [], o = t / this.aw, s = "#ffffff", a = 0; a < this.aw; a++) 0 === a && e.push(this.createMarker("absolute", a)), e.push('<div><div class="ol-scale-singlebar" style="width: ' + o + "px;background-color: " + s + ';"></div>' + this.createMarker("relative", a) + (a % 2 == 0 || 2 === this.aw ? this.createStepText(a, t, !1, n, i) : "") + "</div>"), a === this.aw - 1 && e.push(this.createStepText(a + 1, t, !0, n, i)), s = "#ffffff" === s ? "#000000" : "#ffffff";
36431                            return '<div style="display: flex;">' + (this.uw ? '<div class="ol-scale-text" style="width: ' + t + 'px;">' + r + "</div>" : "") + e.join("") + "</div>"
36432                        }, n.prototype.createMarker = function (t, n) {
36433                            return '<div class="ol-scale-step-marker" style="position: ' + t + ";top: " + ("absolute" === t ? 3 : -10) + 'px;"></div>'
36434                        }, n.prototype.createStepText = function (t, n, i, r, e) {
36435                            var o = (0 === t ? 0 : Math.round(r / this.aw * t * 100) / 100) + (0 === t ? "" : " " + e);
36436                            return '<div class="ol-scale-step-text" style="margin-left: ' + (0 === t ? -3 : n / this.aw * -1) + "px;text-align: " + (0 === t ? "left" : "center") + "; min-width: " + (0 === t ? 0 : n / this.aw * 2) + "px;left: " + (i ? n + "px" : "unset") + ';">' + o + "</div>"
36437                        }, n.prototype.getScaleForResolution = function () {
36438                            var t = gr(this.iw.projection, this.iw.resolution, this.iw.center, Gt.METERS),
36439                                n = this.cw || oL;
36440                            return parseFloat(t.toString()) * (1e3 / 25.4) * n
36441                        }, n.prototype.render = function (t) {
36442                            var n = t.frameState;
36443                            this.iw = n ? n.viewState : null, this.Ir()
36444                        }, n
36445                    }(fu), aL = function () {
36446                        var t = function (n, i) {
36447                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36448                                t.__proto__ = n
36449                            } || function (t, n) {
36450                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36451                            })(n, i)
36452                        };
36453                        return function (n, i) {
36454                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36455
36456                            function r() {
36457                                this.constructor = n
36458                            }
36459
36460                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36461                        }
36462                    }(), uL = 0, cL = 1, hL = function (t) {
36463                        function n(n) {
36464                            var i = this, r = n || {};
36465                            (i = t.call(this, {
36466                                element: document.createElement("div"),
36467                                render: r.render
36468                            }) || this).Rn = [], i.hw = void 0, i.fw = uL, i.Cn, i.lw = 0, i.dw = 0, i.pw, i.yw, i.mw = null, i.ww = !1, i.Fr = void 0 !== r.duration ? r.duration : 200;
36469                            var e = void 0 !== r.className ? r.className : "ol-zoomslider",
36470                                o = document.createElement("button");
36471                            o.setAttribute("type", "button"), o.className = e + "-thumb " + Os;
36472                            var s = i.element;
36473                            return s.className = e + " " + "ol-unselectable " + Es, s.appendChild(o), s.addEventListener(ya, i.bw.bind(i), !1), s.addEventListener(pa, i.gw.bind(i), !1), s.addEventListener(ma, i.xw.bind(i), !1), s.addEventListener(G, i.jw.bind(i), !1), o.addEventListener(G, h, !1), i
36474                        }
36475
36476                        return aL(n, t), n.prototype.setMap = function (n) {
36477                            t.prototype.setMap.call(this, n), n && n.render()
36478                        }, n.prototype.Sw = function () {
36479                            var t = this.element, n = t.offsetWidth, i = t.offsetHeight;
36480                            if (0 === n && 0 === i) return this.ww = !1;
36481                            var r = getComputedStyle(t);
36482                            n -= parseFloat(r.paddingRight) + parseFloat(r.paddingLeft), i -= parseFloat(r.paddingTop) + parseFloat(r.paddingBottom);
36483                            var e = t.firstElementChild, o = getComputedStyle(e),
36484                                s = e.offsetWidth + parseFloat(o.marginRight) + parseFloat(o.marginLeft),
36485                                a = e.offsetHeight + parseFloat(o.marginTop) + parseFloat(o.marginBottom);
36486                            return this.mw = [s, a], n > i ? (this.fw = cL, this.dw = n - s) : (this.fw = uL, this.lw = i 
36486- a), this.ww = !0
36487                        }, n.prototype.jw = function (t) {
36488                            var n = this.getMap().getView(),
36489                                i = this.kw(t.offsetX - this.mw[0] / 2, t.offsetY - this.mw[1] / 2), r = this.Mw(i),
36490                                e = n.getConstrainedZoom(n.getZoomForResolution(r));
36491                            n.animateInternal({zoom: e, duration: this.Fr, easing: wt})
36492                        }, n.prototype.bw = function (t) {
36493                            if (!this.Cn && t.target === this.element.firstElementChild) {
36494                                var n = this.element.firstElementChild;
36495                                if (this.getMap().getView().beginInteraction(), this.pw = t.clientX - parseFloat(n.style.left), this.yw = t.clientY - parseFloat(n.style.top), this.Cn = !0, 0 === this.Rn.length) {
36496                                    var i = this.gw, r = this.xw, e = this.getMap().getOwnerDocument();
36497                                    this.Rn.push(Y(e, pa, i, this), Y(e, ma, r, this))
36498                                }
36499                            }
36500                        }, n.prototype.gw = function (t) {
36501                            if (this.Cn) {
36502                                var n = t.clientX - this.pw, i = t.clientY - this.yw, r = this.kw(n, i);
36503                                this.hw = this.Mw(r), this.getMap().getView().setResolution(this.hw)
36504                            }
36505                        }, n.prototype.xw = function (t) {
36506                            this.Cn && (this.getMap().getView().endInteraction(), this.Cn = !1, this.pw = void 0, this.yw = void 0, this.Rn.forEach($), this.Rn.length = 0)
36507                        }, n.prototype._w = function (t) {
36508                            var n = this.Ow(t), i = this.element.firstElementChild;
36509                            this.fw == cL ? i.style.left = this.dw * n + "px" : i.style.top = this.lw * n + "px"
36510                        }, n.prototype.kw = function (t, n) {
36511                            return ui(this.fw === cL ? t / this.dw : n / this.lw, 0, 1)
36512                        }, n.prototype.Mw = function (t) {
36513                            return this.getMap().getView().getResolutionForValueFunction()(1 - t)
36514                        }, n.prototype.Ow = function (t) {
36515                            return ui(1 - this.getMap().getView().getValueForResolutionFunction()(t), 0, 1)
36516                        }, n.prototype.render = function (t) {
36517                            if (t.frameState && (this.ww || this.Sw())) {
36518                                var n = t.frameState.viewState.resolution;
36519                                this.hw = n, this._w(n)
36520                            }
36521                        }, n
36522                    }(fu), fL = function () {
36523                        var t = function (n, i) {
36524                            return (t = Object.setPrototypeOf || {__proto__: []} instanceof Array && function (t, n) {
36525                                t.__proto__ = n
36526                            } || function (t, n) {
36527                                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
36528                            })(n, i)
36529                        };
36530                        return function (n, i) {
36531                            if ("function" != typeof i && null !== i) throw new TypeError("Class extends value " + String(i) + " is not a constructor or null");
36532
36533                            function r() {
36534                                this.constructor = n
36535                            }
36536
36537                            t(n, i), n.prototype = null === i ? Object.create(i) : (r.prototype = i.prototype, new r)
36538                        }
36539                    }(), lL = function (t) {
36540                        function n(n) {
36541                            var i = this, r = n || {};
36542                            (i = t.call(this, {
36543                                element: document.createElement("div"),
36544                                target: r.target
36545                            }) || this).extent = r.extent ? r.extent : null;
36546                            var e = void 0 !== r.className ? r.className : "ol-zoom-extent",
36547                                o = void 0 !== r.label ? r.label : "E",
36548                                s = void 0 !== r.tipLabel ? r.tipLabel : "Fit to extent",
36549                                a = document.createElement("button");
36550                            a.setAttribute("type", "button"), a.title = s, a.appendChild("string" == typeof o ? document.createTextNode(o) : o), a.addEventListener(G, i.Cr.bind(i), !1);
36551                            var u = e + " " + "ol-unselectable " + Es, c = i.element;
36552                            return c.className = u, c.appendChild(a), i
36553                        }
36554
36555                        return fL(n, t), n.prototype.Cr = function (t) {
36556                            t.preventDefault(), this.handleZoomToExtent()
36557                        }, n.prototype.handleZoomToExtent = function () {
36558                            var t = this.getMap().getView(), n = this.extent ? this.extent : t.getProjection().getExtent();
36559                            t.fitInternal(Ze(n))
36560                        }, n
36561                    }(fu), vL = {};
36562                vL.AssertionError = c, vL.Collection = ft, vL.Collection.CollectionEvent = ht, vL.DataTile = kt, vL.Disposable = v, vL.Feature = Tt, vL.Feature.createStyleFunction = Ot, vL.Geolocation = lo, vL.Image = So, vL.Image.listenImage = jo, vL.ImageBase = po, vL.ImageCanvas = Mo, vL.ImageTile = Io, vL.Kinetic = No, vL.Map = jc, vL.MapBrowserEvent = va, vL.MapBrowserEventHandler = ga, vL.MapEvent = fa, vL.Object = ot, vL.Object.ObjectEvent = et, vL.Observable = it, vL.Observable.unByKey = nt, vL.Overlay = Gc, vL.PluggableMap = cu, vL.Tile = jt, vL.TileCache = Kc, vL.TileQueue = Ca, vL.TileQueue.getTilePriority = Ra, vL.TileRange = $c, vL.TileRange.createOrUpdate = Zc, vL.VectorRenderTile = nh, vL.VectorTile = rh, vL.View = nu, vL.View.createCenterConstraint = Ya, vL.View.createResolutionConstraint = Za, vL.View.createRotationConstraint = $a, vL.View.isNoopAnimation = Qa, vL.array = {}, vL.array.binarySearch = d, vL.array.equals = x, vL.array.extend = b, vL.array.find = g, vL.array.findIndex = j, vL.array.includes = y, vL.array.isSorted = S, vL.array.linearFindNearest = m, vL.array.numberSafeCompareFunction = p, vL.array.remove = function (t, n) {
36563                    var i = t.indexOf(n), r = i > -1;
36564                    return r && t.splice(i, 1), r
36565                }, vL.array.reverseSubArray = w, vL.array.stableSort = function (t, n) {
36566                    var i, r = t.length, e = Array(t.length);
36567                    for (i = 0; i < r;
36567 i++) e[i] = {index: i, value: t[i]};
36568                    for (e.sort((function (t, i) {
36569                        return n(t.value, i.value) || t.index - i.index
36570                    })), i = 0; i < t.length; i++) t[i] = e[i].value
36571                }, vL.asserts = {}, vL.asserts.assert = Mt, vL.centerconstraint = {}, vL.centerconstraint.createExtent = Fa, vL.centerconstraint.none = La, vL.color = {}, vL.color.asArray = Uo, vL.color.asString = Lo, vL.color.fromString = Do, vL.color.isStringColor = Wo, vL.color.normalize = qo, vL.color.toString = Bo, vL.colorlike = {}, vL.colorlike.asColorLike = eh, vL.control = {}, vL.control.Attribution = vu, vL.control.Control = fu, vL.control.FullScreen = UF, vL.control.MousePosition = VF, vL.control.OverviewMap = YF, vL.control.Rotate = pu, vL.control.ScaleLine = sL, vL.control.Zoom = mu, vL.control.ZoomSlider = hL, vL.control.ZoomToExtent = lL, vL.control.defaults = wu, vL.coordinate = {}, vL.coordinate.add = Ji, vL.coordinate.closestOnCircle = Ki, vL.coordinate.closestOnSegment = Yi, vL.coordinate.createStringXY = function (t) {
36572                    return function (n) {
36573                        return or(n, t)
36574                    }
36575                }, vL.coordinate.degreesToStringHDMS = Zi, vL.coordinate.distance = rr, vL.coordinate.equals = Qi, vL.coordinate.format = $i, vL.coordinate.getWorldsAway = ar, vL.coordinate.rotate = tr, vL.coordinate.scale = nr, vL.coordinate.squaredDistance = ir, vL.coordinate.squaredDistanceToSegment = er, vL.coordinate.toStringHDMS = function (t, n) {
36576                    return t ? Zi("NS", t[1], n) + " " + Zi("EW", t[0], n) : ""
36577                }, vL.coordinate.toStringXY = or, vL.coordinate.wrapX = sr, vL.css = {}, vL.css.CLASS_COLLAPSED = As, vL.css.CLASS_CONTROL = Es, vL.css.CLASS_HIDDEN = Ms, vL.css.CLASS_SELECTABLE = _s, vL.css.CLASS_UNSELECTABLE = Os, vL.css.CLASS_UNSUPPORTED = Ts, vL.css.cssOpacity = Is,vL.css.getFontParameters = Ps,vL.dom = {},vL.dom.createCanvasContext2D = _o,vL.dom.outerHeight = To,vL.dom.outerWidth = Oo,vL.dom.removeChildren = Co,vL.dom.removeNode = Ao,vL.dom.replaceChildren = Ro,vL.dom.replaceNode = Eo,vL.easing = {},vL.easing.easeIn = mt,vL.easing.easeOut = wt,vL.easing.inAndOut = bt,vL.easing.linear = gt,vL.easing.upAndDown = function (t) {
36578                    return t < .5 ? bt(2 * t) : 1 - bt(2 * (t - .5))
36579                },vL.events = {},vL.events.Event = f,vL.events.Event.preventDefault = function (t) {
36580                    t.preventDefault()
36581                },vL.events.Event.stopPropagation = h,vL.events.Target = I,vL.events.condition = {}
36581,vL.events.condition.all = Eu,vL.events.condition.altKeyOnly = Au,vL.events.condition.altShiftKeysOnly = Cu,vL.events.condition.always = Iu,vL.events.condition.click = function (t) {
36582                    return t.type == da.CLICK
36583                },vL.events.condition.doubleClick = function (t) {
36584                    return t.type == da.DBLCLICK
36585                },vL.events.condition.focus = Ru,vL.events.condition.focusWithTabindex = Pu,vL.events.condition.mouseActionButton = Nu,vL.events.condition.mouseOnly = Uu,vL.events.condition.never = zu,vL.events.condition.noModifierKeys = Lu,vL.events.condition.penOnly = function (t) {
36586                    var n = t.originalEvent;
36587                    return Mt(void 0 !== n, 56), "pen" === n.pointerType
36588                },vL.events.condition.platformModifierKeyOnly = function (t) {
36589                    var n = t.originalEvent;
36590                    return !n.altKey && (Wt ? n.metaKey : n.ctrlKey) && !n.shiftKey
36591                },vL.events.condition.pointerMove = function (t) {
36592                    return "pointermove" == t.type
36593                },vL.events.condition.primaryAction = qu,vL.events.condition.shiftKeyOnly = Gu,vL.events.condition.singleClick = Fu,vL.events.condition.targetNotEditable = Du,vL.events.condition.touchOnly = function (t) {
36594                    var n = t.originalEvent;
36595                    return Mt(void 0 !== n, 56), "touch" === n.pointerType
36596                },vL.events.listen = Y,vL.events.listenOnce = Z,vL.events.unlistenByKey = $,vL.extent = {},vL.extent.applyTransform = oi,vL.extent.approximatelyEquals = Nn,vL.extent.boundingExtent = xn,vL.extent.buffer = jn,vL.extent.clone = Sn,vL.extent.closestSquaredDistanceXY = kn,vL.extent.containsCoordinate = Mn,vL.extent.containsExtent = _n,vL.extent.containsXY = On,vL.extent.coordinateRelationship = Tn,vL.extent.createEmpty = En,vL.extent.createOrUpdate = An,vL.extent.createOrUpdateEmpty = Cn,vL.extent.createOrUpdateFromCoordinate = Rn,vL.extent.createOrUpdateFromCoordinates = function (t, n) {
36597                    return Ln(Cn(n), t)
36598                },vL.extent.createOrUpdateFromFlatCoordinates = Pn,vL.extent.createOrUpdateFromRings = function (t, n) {
36599                    return Dn(Cn(n), t)
36600                },vL.extent.equals = In,vL.extent.extend = zn,vL.extent.extendCoordinate = Fn,vL.extent.extendCoordinates = Ln,vL.extent.extendFlatCoordinates = Gn,vL.extent.extendRings = Dn,vL.extent.extendXY = Un,vL.extent.forEachCorner = qn,vL.extent.getArea = Bn,vL.extent.getBottomLeft = Wn,vL.extent.getBottomRight = Vn,vL.extent.getCenter = Xn,vL.extent.getCorner = Hn,vL.extent.getEnlargedArea = function (t, n) {
36601                    var i = Math.min(t[0], n[0]), r = Math.min(t[1], n[1]);
36602                    return (Math.max(t[2], n[2]) - i) * (Math.max(t[3], n[3]) - r)
36603                },vL.extent.getForViewAndSize = Jn,vL.extent.getHeight = Kn,vL.extent.getIntersection = Yn,vL.extent.getIntersectionArea = function (t, n) {
36604                    return Bn(Yn(t, n))
36605                },vL.extent.getMargin = function (t) {
36606                    return Qn(t) + Kn(t)
36607                },vL.extent.getSize = function (t) {
36608                    return [t[2] - t[0], t[3] - t[1]]
36609                },vL.extent.getTopLeft = Zn,vL.extent.getTopRight = $n,vL.extent.getWidth = Qn,vL.extent.intersects = ti,vL.extent.intersectsSegment = ei,vL.extent.isEmpty = ni,vL.extent.returnOrUpdate = ii,vL.extent.scaleFromCenter = ri,vL.extent.wrapX = si,vL.featureloader = {},vL.featureloader.loadFeaturesXhr = hh,vL.featureloader.setWithCredentials = function (t) {
36610                    ch = t
36611                },vL.featureloader.xhr = fh,vL.format = {},vL.format.EsriJSON = WE,vL.format.Feature = Xj,vL.format.Feature.transformExtentWithOptions = Jj,vL.format.Feature.transformGeometryWithOptions = Hj,vL.format.GML = xA,vL.format.GML2 = pA,vL.format.GML3 = bA,vL.format.GML32 = kA,vL.format.GMLBase = ZE,vL.format.GMLBase.GMLNS = JE,vL.format.GPX = sC,vL.format.GeoJSON = vS,vL.format.IGC = wC,vL.format.IIIFInfo = jb,vL.format.JSONFeature = cS,vL.format.KML = xP,vL.format.KML.getDefaultFillStyle = function () {
36612                    return zC
36613                },vL.format.KML.getDefaultImageStyle = function () {
36614                    return LC
36615                },vL.format.KML.getDefaultStrokeStyle = function () {
36616                    return DC
36617                },vL.format.KML.getDefaultStyle = function () {
36618                    return qC
36619                },vL.format.KML.getDefaultStyleArray = function () {
36620                    return WC
36621                },vL.format.KML.getDefaultTextStyle = function () {
36622                    return UC
36623                },vL.format.KML.readFlatCoordinates = YC,vL.format.MVT = nS,vL.format.OSMXML = EP,vL.format.OWS = 
36623KP,vL.format.Polyline = sI,vL.format.Polyline.decodeDeltas = $P,vL.format.Polyline.decodeFloats = tI,vL.format.Polyline.decodeSignedIntegers = iI,vL.format.Polyline.decodeUnsignedIntegers = eI,vL.format.Polyline.encodeDeltas = ZP,vL.format.Polyline.encodeFloats = QP,vL.format.Polyline.encodeSignedIntegers = nI,vL.format.Polyline.encodeUnsignedInteger = oI,vL.format.Polyline.encodeUnsignedIntegers = rI,vL.format.TextFeature = cC,vL.format.TopoJSON = pI,vL.format.WFS = oz,vL.format.WFS.writeFilter = function (t, n) {
36624                    var i = n || "1.1.0", r = pf(ez(i), "Filter"), e = {node: r};
36625                    return E(e, {version: i, filter: t}), qN(r, t, [e]), r
36626                },vL.format.WKB = gz,vL.format.WKT = Uz,vL.format.WMSCapabilities = vF,vL.format.WMSGetFeatureInfo = pF,vL.format.WMTSCapabilities = PF,vL.format.XML = AP,vL.format.XMLFeature = XE,vL.format.filter = {},vL.format.filter.And = gI,vL.format.filter.Bbox = jI,vL.format.filter.Comparison = RI,vL.format.filter.ComparisonBinary = zI,vL.format.filter.Contains = _I,vL.format.filter.DWithin = TI,vL.format.filter.Disjoint = AI,vL.format.filter.During = II,vL.format.filter.EqualTo = LI,vL.format.filter.Filter = yI,vL.format.filter.GreaterThan = DI,vL.format.filter.GreaterThanOrEqualTo = qI,vL.format.filter.Intersects = WI,vL.format.filter.IsBetween = XI,vL.format.filter.IsLike = JI,vL.format.filter.IsNull = YI,vL.format.filter.LessThan = $I,vL.format.filter.LessThanOrEqualTo = tN,vL.format.filter.LogicalNary = wI,vL.format.filter.Not = iN,vL.format.filter.NotEqualTo = eN,vL.format.filter.Or = sN,vL.format.filter.ResourceId = uN,vL.format.filter.Spatial = kI,vL.format.filter.Within = hN,vL.format.filter.and = fN,vL.format.filter.bbox = lN,vL.format.filter.between = function (t, n, i) {
36627                    return new XI(t, n, i)
36628                },vL.format.filter.contains = function (t, n, i) {
36629                    return new _I(t, n, i)
36630                },vL.format.filter.disjoint = function (t, n, i) {
36631                    return new AI(t, n, i)
36632                },vL.format.filter.during = function (t, n, i) {
36633                    return new II(t, n, i)
36634                },vL.format.filter.dwithin = function (t, n, i, r, e) {
36635                    return new TI(t, n, i, r, e)
36636                },vL.format.filter.equalTo = function (t, n, i) {
36637                    return new LI(t, n, i)
36638                },vL.format.filter.greaterThan = function (t, n) {
36639                    return new DI(t, n)
36640                },vL.format.filter.greaterThanOrEqualTo = function (t, n) {
36641                    return new qI(t, n)
36642                },vL.format.filter.intersects = function (t, n, i) {
36643                    return new WI(t, n, i)
36644                },vL.format.filter.isNull = function (t) {
36645                    return new YI(t)
36646                },vL.format.filter.lessThan = function (t, n) {
36647                    return new $I(t, n)
36648                },vL.format.filter.lessThanOrEqualTo = function (t, n) {
36649                    return new tN(t, n)
36650                },vL.format.filter.like = function (t, n, i, r, e, o) {
36651                    return new JI(t, n, i, r, e, o)
36652                },vL.format.filter.not = function (t) {
36653                    return new iN(t)
36654                },vL.format.filter.notEqualTo = function (t, n, i) {
36655                    return new eN(t, n, i)
36656                },vL.format.filter.or = function (t) {
36657                    var n = [null].concat(Array.prototype.slice.call(arguments));
36658                    return new (Function.prototype.bind.apply(sN, n))
36659                },vL.format.filter.resourceId = function (t) {
36660                    return new uN(t)
36661                },vL.format.filter.within = function (t, n, i) {
36662                    return new hN(t, n, i)
36663                },vL.format.xlink = {},vL.format.xlink.readHref = CP,vL.format.xsd = {},vL.format.xsd.readBoolean = $E,vL.format.xsd.readBooleanString = QE,vL.format.xsd.readDateTime = tA,vL.format.xsd.readDecimal = nA,vL.format.xsd.readDecimalString = iA,vL.format.xsd.readNonNegativeIntegerString = eA,vL.format.xsd.readPositiveInteger = rA,vL.format.xsd.readString = oA,vL.format.xsd.writeBooleanTextNode = sA,vL.format.xsd.writeCDATASection = aA,vL.format.xsd.writeDateTimeTextNode = uA,vL.format.xsd.writeDecimalTextNode = cA,vL.format.xsd.writeNonNegativeIntegerTextNode = hA,vL.format.xsd.writeStringTextNode = fA,vL.functions = {},vL.functions.FALSE = M,vL.functions.TRUE = k,vL.functions.VOID = _,vL.functions.memoizeOne = O,vL.functions.toProm
36663ise = T,vL.geom = {},vL.geom.Circle = XT,vL.geom.Geometry = Kr,vL.geom.GeometryCollection = sS,vL.geom.LineString = xj,vL.geom.LinearRing = Me,vL.geom.MultiLineString = Sj,vL.geom.MultiPoint = yj,vL.geom.MultiPolygon = _j,vL.geom.Point = Oe,vL.geom.Polygon = Ke,vL.geom.Polygon.circular = Ye,vL.geom.Polygon.fromCircle = $e,vL.geom.Polygon.fromExtent = Ze,vL.geom.Polygon.makeRegular = Qe,vL.geom.SimpleGeometry = Qr,vL.geom.SimpleGeometry.getStrideForLayout = Zr,vL.geom.SimpleGeometry.transformGeom2D = $r,vL.geom.flat = {},vL.geom.flat.area = {},vL.geom.flat.area.linearRing = xe,vL.geom.flat.area.linearRings = je,vL.geom.flat.area.linearRingss = Se,vL.geom.flat.center = {},vL.geom.flat.center.linearRingss = kj,vL.geom.flat.closest = {},vL.geom.flat.closest.arrayMaxSquaredDelta = ie,vL.geom.flat.closest.assignClosestArrayPoint = oe,vL.geom.flat.closest.assignClosestMultiArrayPoint = se,vL.geom.flat.closest.assignClosestPoint = ee,vL.geom.flat.closest.maxSquaredDelta = ne,vL.geom.flat.closest.multiArrayMaxSquaredDelta = re,vL.geom.flat.contains = {},vL.geom.flat.contains.linearRingContainsExtent = Te,vL.geom.flat.contains.linearRingContainsXY = Ee,vL.geom.flat.contains.linearRingsContainsXY = Ae,vL.geom.flat.contains.linearRingssContainsXY = Ce,vL.geom.flat.deflate = {},vL.geom.flat.deflate.deflateCoordinate = ae,vL.geom.flat.deflate.deflateCoordinates = ue,vL.geom.flat.deflate.deflateCoordinatesArray = ce,vL.geom.flat.deflate.deflateMultiCoordinatesArray = he,vL.geom.flat.flip = {},vL.geom.flat.flip.flipXY = zE,vL.geom.flat.geodesic = {},vL.geom.flat.geodesic.greatCircleArc = function (t, n, i, r, e, o) {
36664                    var s = br("EPSG:4326"), a = Math.cos(pi(n)), u = Math.sin(pi(n)), c = Math.cos(pi(r)),
36665                        h = Math.sin(pi(r)), f = Math.cos(pi(i - t)), l = Math.sin(pi(i - t)), v = u * h + a * c * f;
36666                    return Pj((function (n) {
36667                        if (1 <= v) return [i, r];
36668                        var e = n * Math.acos(v), o = Math.cos(e), s = Math.sin(e), d = l * c, p = a * h - u * c * f,
36669                            y = Math.atan2(d, p), m = Math.asin(u * o + a * s * Math.cos(y));
36670                        return [di(pi(t) + Math.atan2(Math.sin(y) * s * a, o - u * Math.sin(m))), di(m)]
36671                    }), Er(s, e), o)
36672                },vL.geom.flat.geodesic.meridian = Ij,vL.geom.flat.geodesic.parallel = Nj,vL.geom.flat.inflate = {},vL.geom.flat.inflate.inflateCoordinates = we,vL.geom.flat.inflate.inflateCoordinatesArray = be,vL.geom.flat.inflate.inflateMultiCoordinatesArray = ge,vL.geom.flat.interiorpoint = {},vL.geom.flat.interiorpoint.getInteriorPointOfArray = Re,vL.geom.flat.interiorpoint.getInteriorPointsOfMultiArray = Pe,vL.geom.flat.interpolate = {},vL.geom.flat.interpolate.interpolatePoint = mj,vL.geom.flat.interpolate.lineStringCoordinateAtM = wj,vL.geom.flat.interpolate.lineStringsCoordinateAtM = bj,vL.geom.flat.intersectsextent = {},vL.geom.flat.intersectsextent.intersectsLineString = Ne,vL.geom.flat.intersectsextent.intersectsLineStringArray = ze,vL.geom.flat.intersectsextent.intersectsLinearRing = Fe,vL.geom.flat.intersectsextent.intersectsLinearRingArray = Le,vL.geom.flat.intersectsextent.intersectsLinearRingMultiArray = Ge,vL.geom.flat.length = {},vL.geom.flat.length.lineStringLength = Gx,vL.geom.flat.length.linearRingLength = function (t, n, i, r) {
36673                    var e = Gx(t, n, i, r), o = t[i - r] - t[n], s = t[i - r + 1] - t[n + 1];
36674                    return e += Math.sqrt(o * o + s * s)
36675                },vL.geom.flat.orient = {},vL.geom.flat.orient.inflateEnds = Xe,vL.geom.flat.orient.linearRingIsClockwise = Ue,vL.geom.flat.orient.linearRingsAreOriented = qe,vL.geom.flat.orient.linearRingssAreOriented = Be,vL.geom.flat.orient.orientLinearRings = We,vL.geom.flat.orient.orientLinearRingsArray = Ve,vL.geom.flat.reverse = {},vL.geom.flat.reverse.coordinates = De,vL.geom.flat.segments = {},vL.geom.flat.segments.forEach = Ie,vL.geom.flat.simplify = {},vL.geom.flat.simplify.douglasPeucker = fe,vL.geom.flat.simplify.douglasPeuckerArray = le,vL.geom.flat.simplify.douglasPeuckerMultiArray = function (t, n, i, r, e, o, s, a) {
36676                    for (var u = 0, c = i.length; u < c; ++u) {
36677                        var h = i[u], f = [];
36678                        s = le(t, n, h, r, e, o, s, f), a.push(f), n = h[h.length - 1]
36679                    }
36680                    return s
36681                },vL.geom.flat.simplify.quantize = pe,vL.geom.flat.simplify.quantizeArray = ye,vL.geom.flat.simplify.quantizeMultiArray = me,vL.geom.flat.simplify.radialDistance = ve,vL.geom.flat.simplify.simplifyLineString = function (t, n, i, r, e, o, s) {
36682                    var a = void 0 !== s ? s : [];
36683                    return o || (i = ve(t, n, i, r, e, a, 0), t = a, n = 0, r = 2), a.length = fe(t, n, i, r, e, a, 0), a
36684                },vL.geom.flat.simplify.snap = de,vL.geom.flat.straightchunk = {},vL.geom.flat.straightchunk.matchingChunk = Rx,vL.geom.flat.textpath = {},vL.geom.flat.textpath.drawTextOnPath = Lx,vL.geom.flat.topology = {},vL.geom.flat.topology.lineStringIsClosed = function (t, n, i, r) {
36685                    var e = i - r;
36686                    return t[n] === t[e] && t[n + 1] === t[e + 1] && (i - n) / r > 3 && !!xe(t, n, i, r)
36687                },vL.geom.flat.transform = {},vL.geom.flat.transform.rotate = Wr,vL.geom.flat.transform.scale = Vr,vL.geom.flat.transform.transform2D = Br,vL.geom.flat.transform.translate = Xr,vL.has = {},vL.has.DEVICE_PIXEL_RATIO = Vt,vL.has.FIREFOX = Ut,vL.has.IMAGE_DECODE = Ht,vL.has.MAC = Wt,vL.has.PASSIVE_EVENT_LISTENERS = Jt,vL.has.SAFARI = qt,vL.has.WEBKIT = Bt,vL.has.WORKER_OFFSCREEN_CANVAS = Xt,vL.interaction = {},vL.interaction.DoubleClickZoom = Mu,vL.interaction.DragAndDrop = UT,vL.interaction.DragAndDrop.DragAndDropEvent = DT,vL.interaction.DragBox = nc,vL.interaction.DragBox.DragBoxEvent = tc,vL.interaction.DragPan 
36687= Wu,vL.interaction.DragRotate = Xu,vL.interaction.DragRotateAndZoom = BT,vL.interaction.DragZoom = rc,vL.interaction.Draw = iE,vL.interaction.Draw.DrawEvent = nE,vL.interaction.Draw.createBox = function () {
36688                    return function (t, n, i) {
36689                        var r = xn([t[0], t[t.length - 1]].map((function (t) {
36690                            return zr(t, i)
36691                        }))), e = [[Wn(r), Vn(r), $n(r), Zn(r), Wn(r)]], o = n;
36692                        o ? o.setCoordinates(e) : o = new Ke(e);
36693                        var s = Ir();
36694                        return s && o.transform(i, s), o
36695                    }
36696                },vL.interaction.Draw.createRegularPolygon = function (t, n) {
36697                    return function (i, r, e) {
36698                        var o = zr(i[0], e), s = zr(i[i.length - 1], e), a = Math.sqrt(ir(o, s)),
36699                            u = r || $e(new XT(o), t), c = n;
36700                        if (!n && 0 !== n) {
36701                            var h = s[0] - o[0], f = s[1] - o[1];
36702                            c = Math.atan2(f, h)
36703                        }
36704                        Qe(u, o, a, c);
36705                        var l = Ir();
36706                        return l && u.transform(e, l), u
36707                    }
36708                },vL.interaction.Extent = cE,vL.interaction.Extent.ExtentEvent = oE,vL.interaction.Interaction = Su,vL.interaction.Interaction.pan = xu,vL.interaction.Interaction.zoomByDelta = ju,vL.interaction.KeyboardPan = cc,vL.interaction.KeyboardZoom = fc,vL.interaction.Modify = gE,vL.interaction.Modify.ModifyEvent = yE,vL.interaction.MouseWheelZoom = pc,vL.interaction.PinchRotate = mc,vL.interaction.PinchZoom = bc,vL.interaction.Pointer = Tu,vL.interaction.Pointer.centroid = Ou,vL.interaction.Select = ME,vL.interaction.Select.SelectEvent = SE,vL.interaction.Snap = EE,vL.interaction.Translate = NE,vL.interaction.Translate.TranslateEvent = IE,vL.interaction.defaults = gc,vL.layer = {},vL.layer.Base = as,vL.layer.BaseImage = dg,vL.layer.BaseTile = _g,vL.layer.BaseVector = px,vL.layer.Graticule = Gj,vL.layer.Group = ca,vL.layer.Group.GroupEvent = aa,vL.layer.Heatmap = Vj,vL.layer.Image = jg,vL.layer.Layer = bs,vL.layer.Layer.inView = ws,vL.layer.MapboxVector = ET,vL.layer.MapboxVector.getMapboxPath = jT,vL.layer.MapboxVector.normalizeGlyphsUrl = kT,vL.layer.MapboxVector.normalizeSourceUrl = _T,vL.layer.MapboxVector.normalizeSpriteUrl = ST,vL.layer.MapboxVector.normalizeStyleUrl = MT,vL.layer.Tile = Ag,vL.layer.Vector = Rj,vL.layer.VectorImage = CT,vL.layer.VectorTile = rS,vL.layer.WebGLPoints = PT,vL.layer.WebGLTile = FT,vL.loadingstrategy = {},vL.loadingstrategy.all = lh,vL.loadingstrategy.bbox = function (t, n) {
36709                    return [t]
36710                },vL.loadingstrategy.tile = function (t) {
36711                    return function (n, i, r) {
36712                        var e = t.getZForResolution(Dr(i, r)), o = t.getTileRangeForExtentAndZ(Lr(n, r), e), s = [],
36713                            a = [e, 0, 0];
36714                        for (a[1] = o.minX; a[1] <= o.maxX; ++a[1]) for (a[2] = o.minY; a[2] <= o.maxY; ++a[2]) s.push(Fr(t.getTileCoordExtent(a), r));
36715                        return s
36716                    }
36717                },vL.math = {},vL.math.ceil = xi,vL.math.clamp = ui,vL.math.cosh = ci,vL.math.floor = gi,vL.math.lerp = mi,vL.math.log2 = hi,vL.math.modulo = yi,vL.math.round = bi,vL.math.solveLinearSystem = vi,vL.math.squaredDistance = li,vL.math.squaredSegmentDistance = fi,vL.math.toDegrees = di,vL.math.toFixed = wi,vL.math.toRadians = pi,vL.net = {},vL.net.ClientError = mh,vL.net.ResponseError = yh,vL.net.getJSON = wh,vL.net.jsonp = dh,vL.net.overrideXHR = function (t) {
36718                    "undefined" != typeof XMLHttpRequest && (ph = XMLHttpRequest), global.XMLHttpRequest = t
36719                },vL.net.resolveUrl = bh,vL.net.restoreXHR = function () {
36720                    global.XMLHttpRequest = ph
36721                },vL.obj = {},vL.obj.assign = E,vL.obj.clear = A,vL.obj.getValues = C,vL.obj.isEmpty = R,vL.proj = {},vL.proj.Projection = ai,vL.proj.Units = {},vL.proj.Units.METERS_PER_UNIT = Ft,vL.proj.Units.fromCode = zt,vL.proj.addCommon = qr,vL.proj.addCoordinateTransforms = Mr,vL.proj.addEquivalentProjections = xr,vL.proj.addEquivalentTransforms = jr,vL.proj.addProjection = mr,vL.proj.addProjections = wr,vL.proj.clearAllProjections = function () {
36722                    Gi(), Bi()
36723                },vL.proj.clearUserProjection = function () {
36724                    Rr = null
36725                },vL.proj.cloneTransform = pr,vL.proj.createProjection = Sr,vL.proj.createSafeCoordinateTransform = Ur,vL.proj.createTransformFromCoordinateTransform = kr,vL.proj.disableCoordinateWarning = dr,vL.proj.epsg3857 = {},vL.proj.epsg3857.EXTENT = Mi,vL.proj.epsg3857.HALF_SIZE = ki,vL.proj.epsg3857.MAX_SAFE_Y = Oi,vL.proj.epsg3857.PROJECTIONS = Ei,vL.proj.epsg3857.RADIUS = Si,vL.proj.epsg3857.WORLD_EXTENT = _i,vL.proj.epsg3857.fromEPSG4326 = Ai,vL.proj.epsg3857.toEPSG4326 = Ci,vL.proj.epsg4326 = {},vL.proj.epsg4326.EXTENT = Ii,vL.proj.epsg4326.METERS_PER_UNIT = Ni,vL.proj.epsg4326.PROJECTIONS = Fi,vL.proj.epsg4326.RADIUS = Pi,vL.proj.equivalent = Or,vL.proj.fromLonLat = _r,vL.proj.fromUserCoordinate = zr,vL.proj.fromUserExtent = Lr,vL.proj.fromUserResolution = Dr,vL.proj.get = br,vL.proj.getPointResolution = gr,vL.proj.getTransform = Er,vL.proj.getTransformFromProjections = Tr,vL.proj.getUserProjection = Ir,vL.proj.identityTransform = yr,vL.proj.proj4 = {},vL.proj.proj4.register = function (t) {
36726                    var n, i, r = Object.keys(t.defs), e = r.length;
36727                    for (n = 0; n < e; ++n) {
36728                        var o = r[n];
36729                        if (!br(o)) {
36730                            var s = t.defs(o), a = s.units;
36731                            a || "longlat" !== s.projName || (a = Gt.DEGREES), mr(new ai({
36732                                code: o,
36733                                axisOrientation: s.axis,
36734                                metersPerUnit: s.to_meter,
36735                                units: a
36736                            }))
36737                        }
36738                    }
36739                    for (n = 0; n < e; ++n) {
36740                        var u = r[n], c = br(u);
36741                        for (i = 0; i < e; ++i) {
36742                            var h = r[i], f = br(h);
36743                            if (!Vi(u, h)) if (t.defs[u] === t.defs[h
36743]) xr([c, f]); else {
36744                                var l = t(u, h);
36745                                Mr(c, f, Ur(c, f, l.forward), Ur(f, c, l.inverse))
36746                            }
36747                        }
36748                    }
36749                },vL.proj.projections = {},vL.proj.projections.add = Ui,vL.proj.projections.clear = Gi,vL.proj.projections.get = Di,vL.proj.setUserProjection = Pr,vL.proj.toLonLat = function (t, n) {
36750                    var i = Ar(t, void 0 !== n ? n : "EPSG:3857", "EPSG:4326"), r = i[0];
36751                    return (r < -180 || r > 180) && (i[0] = yi(r + 180, 360) - 180), i
36752                },vL.proj.toUserCoordinate = Nr,vL.proj.toUserExtent = Fr,vL.proj.toUserResolution = Gr,vL.proj.transform = Ar,vL.proj.transformExtent = Cr,vL.proj.transformWithProjections = function (t, n, i) {
36753                    return Tr(n, i)(t)
36754                },vL.proj.transforms = {},vL.proj.transforms.add = Wi,vL.proj.transforms.clear = Bi,vL.proj.transforms.get = Vi,vL.proj.transforms.remove = function (t, n) {
36755                    var i = t.getCode(), r = n.getCode(), e = qi[i][r];
36756                    return delete qi[i][r], R(qi[i]) && delete qi[i], e
36757                },vL.proj.useGeographic = function () {
36758                    Pr("EPSG:4326")
36759                },vL.render = {},vL.render.Box = Ju,vL.render.Event = ks,vL.render.Feature = Aj,vL.render.Feature.toFeature = function (t, n) {
36760                    var i = t.getId(), r = Ej(t), e = t.getProperties(), o = new Tt;
36761                    return void 0 !== n && o.setGeometryName(n), o.setGeometry(r), void 0 !== i && o.setId(i), o.setProperties(e, !0), o
36762                },vL.render.Feature.toGeometry = Ej,vL.render.VectorContext = gh,vL.render.canvas = {},vL.render.canvas.Builder = Mx,vL.render.canvas.BuilderGroup = Fx,vL.render.canvas.Executor = Kx,vL.render.canvas.ExecutorGroup = tj,vL.render.canvas.ExecutorGroup.getPixelIndexArray = Qx,vL.render.canvas.ImageBuilder = Ox,vL.render.canvas.Immediate = jh,vL.render.canvas.Instruction = {},vL.render.canvas.Instruction.beginPathInstruction = xx,vL.render.canvas.Instruction.closePathInstruction = jx,vL.render.canvas.Instruction.fillInstruction = bx,vL.render.canvas.Instruction.strokeInstruction = gx,vL.render.canvas.LineStringBuilder = Ex,vL.render.canvas.PolygonBuilder = Cx,vL.render.canvas.TextBuilder = Nx,vL.render.canvas.checkedFonts = Vs,vL.render.canvas.defaultFillStyle = zs,vL.render.canvas.defaultFont = Ns,vL.render.canvas.defaultLineCap = Fs,vL.render.canvas.defaultLineDash = Ls,vL.render.canvas.defaultLineDashOffset = 0,vL.render.canvas.defaultLineJoin = Gs,vL.render.canvas.defaultLineWidth = 1,vL.render.canvas.defaultMiterLimit = Ds,vL.render.canvas.defaultPadding = Ws,vL.render.canvas.defaultStrokeStyle = Us,vL.render.canvas.defaultTextAlign = qs,vL.render.canvas.defaultTextBaseline = Bs,vL.render.canvas.drawImageOrLabel = ra,vL.render.canvas.getTextDimensions = ia,vL.render.canvas.hitdetect = {},vL.render.canvas.hitdetect.HIT_DETECT_RESOLUTION = nj,vL.render.canvas.hitdetect.createHitDetectionImageData = ij,vL.render.canvas.hitdetect.hitDetect = rj,vL.render.canvas.labelCache = Xs,vL.render.canvas.measureAndCacheTextWidth = na,vL.render.canvas.measureTextHeight = $s,vL.render.canvas.measureTextWidth = ta,vL.render.canvas.registerFont = Zs,vL.render.canvas.rotateAtOffset = function (t, n, i, r) {
36763                    0 !== n && (t.translate(i, r), t.rotate(n), t.translate(-i, -r))
36764                },vL.render.canvas.textHeights = Ys,vL.render.getRenderPixel = function (t, n) {
36765                    return nn(t.inversePixelTransform, n.slice(0))
36766                },vL.render.getVectorContext = Nh,vL.render.toContext = function (t, n) {
36767                    var i = t.canvas, r = n || {}, e = r.pixelRatio || Vt, o = r.size;
36768                    o && (i.width = o[0] * e, i.height = o[1] * e, i.style.width = o[0] + "px", i.style.height = o[1] + "px");
36769                    var s = [0, 0, i.width, i.height], a = en([1, 0, 0, 1, 0, 0], e, e);
36770                    return new jh(t, e, s, a, 0)
36771                },vL.renderer = {},vL.renderer.Composite = oa,vL.renderer.Layer = xl,vL.renderer.Map = js,vL.renderer.canvas = {},vL.renderer.canvas.ImageLayer = gg,vL.renderer.canvas.Layer = wg,vL.renderer.canvas.TileLayer = Tg,vL.renderer.canvas.VectorImageLayer = aj,vL.renderer.canvas.VectorLayer = oj,vL.renderer.canvas.VectorTileLayer = dj,vL.renderer.canvas.common = {},vL.renderer.canvas.common.IMAGE_SMOOTHING_DISABLED = Fh,vL.renderer.canvas.common.IMAGE_SMOOTHING_ENABLED = Lh,vL.renderer.vector = {},vL.renderer.vector.defaultOrder = Ah,vL.renderer.vector.getSquaredTolerance = Ch,vL.renderer.vector.getTolerance = Rh,vL.renderer.vector.renderFeature = Ph,vL.renderer.webgl = {},vL.renderer.webgl.Layer = Al,vL.renderer.webgl.Layer.colorDecodeId = El,vL.renderer.webgl.Layer.colorEncodeId = Tl,vL.renderer.webgl.Layer.getBlankImageData = function () {
36772                    var t = document.createElement("canvas").getContext("2d").createImageData(1, 1);
36773                    return t.data[0] = 255, t.data[1] = 255, t.data[2] = 255, t.data[3] = 255, t
36774                },vL.renderer.webgl.Layer.writePointFeatureToBuffers = function (t, n, i, r, e, o) {
36775                    var s = 3 + e, a = t[n + 0], u = t[n + 1], c = Ml;
36776                    c.length = e;
36777                    for (var h = 0; h < c.length; h++) c[h] = t[n + 2 + h];
36778                    var f = o ? o.vertexPosition : 0, l = o ? o.indexPosition : 0, v = f / s;
36779                    return Ol(i, f, a, u, 0), c.length && i.set(c, f + 3), Ol(i, f += s, a, u, 1), c.length && i.set(c, f + 3), Ol(i, f += s, a, u, 2), c.length && i.set(c, f + 3), Ol(i, f += s, a, u, 3), c.length && i.set(c, f + 3), f += s, r[l++] = v, r[l++] = v + 1, r[l++] = v + 3, r[l++] = v + 1, r[l++] = v + 2, r[l++] = v + 3, _l.vertexPosition = f, _l.indexPosition = l, _l
36780                },vL.renderer.webgl.PointsLayer = mx,vL.renderer.webgl.TileLayer = Dl,vL.renderer.webgl.TileLayer.Attributes = Pl,vL.renderer.webgl.TileLayer.Uniforms = Rl,vL.reproj = {},vL.reproj.Image = Ob,vL.reproj.Tile = dl,vL.reproj.Triangulation = ll,vL.reproj.calculateSourceExtentResolution = qh,vL.reproj.calculateSourceResolution = Uh,vL.reproj.common = {},vL.reproj.common.ENABLE_RASTER_REPROJECTION = fl,vL.reproj.common.ERROR_THRESHOLD = .5,vL.reproj.render = Bh,vL.resolutionconstraint = {},vL.resolutionconstraint.createMinMaxResolution = Ba,vL.resolutionconstraint.createSnapToPower = qa,vL.resolutionconstraint.createSnapToResolutions = Ua,vL.rotationconstraint = {},vL.rotationconstraint.createSnapToN = Xa,vL.rotationconstraint.createSnapToZero = Ha,vL.rotationconstraint.disable = Wa,vL.rotationconstraint.none = Va,vL.size = {},vL.size.buffer = iu,vL.size.hasArea = ru,vL.size.scale = eu,vL.size.toSize = ou,vL.source = {},vL.source.BingMaps = gd,vL.source.BingMaps.quadKey = bd,vL.source.CartoDB = kd,vL.source.Cluster = zd,vL.source.DataTile = Ld,vL.source.GeoTIFF = ab,vL.source.IIIF = Mb,vL.source.Image = Ib,vL.source.Image.ImageSourceEvent = Rb,vL.source.Image.defaultImageLoadFunction = Pb,vL.source.ImageArcGISRest = zb,vL.source.ImageCanvas = Lb,vL.source.ImageMapGuide = Db,vL.source.ImageStatic = qb,vL.source.ImageWMS = Yb,vL.source.OGCMapTile = eg,vL.source.OGCVectorTile = cg,vL.source.OSM = lg,vL.source.OSM.ATTRIBUTION = fg,vL.source.Raster = Xg,vL.source.Raster.Processor = zg,vL.source.Raster.RasterSourceEvent = Ug,vL.source.Raster.newImageData = Pg,vL.source.Source = ud,vL.source.Stamen = Zg,vL.source.Tile = ld,vL.source.Tile.TileSourceEvent = fd,vL.source.TileArcGISRest = Qg,vL.source.TileDebug = nx,vL.source.TileImage = md,vL.source.TileJSON = rx,vL.source.TileWMS = ox,vL.source.UTFGrid = ux,vL.source.UTFGrid.CustomTile = ax,vL.source.UrlTile = dd,vL.source.Vector = Id,vL.source.Vector.VectorSourceEvent = Pd,vL.source.VectorTile = sg,vL.source.VectorTile.defaultLoadFunction = ag,vL.source.WMTS = lx,vL.source.WMTS.optionsFromCapabilities = function (t, n) {
36781                    var i = g(t.Contents.Layer, (function (t, i, r) {
36782                        return t.Identifier == n.layer
36783                    }));
36784                    if (null === i) return null;
36785                    var r, e = t.Contents.TileMatrixSet;
36786                    (r = i.TileMatrixSetLink.length > 1 ? j(i.TileMatrixSetLink, "projection" in n ? function (t, i, r) {
36787                        var o = g(e, (function (n) {
36788                            return n.Identifier == t.TileMatrixSet
36789                        })).SupportedCRS, s = br(o), a = br(n.projection);
36790                        return s && a ? Or(s, a) : o == n.projection
36791                    } : function (t, i, r) {
36792                        return t.TileMatrixSet == n.matrixSet
36793                    }) : 0) < 0 && (r = 0);
36794                    var o = i.TileMatrixSetLink[r].TileMatrixSet, s = i.TileMatrixSetLink[r].TileMatrixSetLimits,
36795                        a = i.Format[0];
36796                    "format" in n && (a = n.format), (r = j(i.Style, (function (t, i, r) {
36797                        return "style" in n ? t.Title == n.style : t.isDefault
36798                    }))) < 0 && (r = 0);
36799                    var u = i.Style[r].Identifier, c = {};
36800                    "Dimension" in i && i.Dimension.forEach((function (t, n, i) {
36801                        var r = t.Identifier, e = t.Default;
36802                        void 0 === e && (e = t.Value[0]), c[r] = e
36803                    }));
36804                    var h, f = g(t.Contents.TileMatrixSet, (function (t, n, i) {
36805                        return t.Identifier == o
36806                    }
36806)), l = f.SupportedCRS;
36807                    if (l && (h = br(l)), "projection" in n) {
36808                        var v = br(n.projection);
36809                        v && (h && !Or(v, h) || (h = v))
36810                    }
36811                    var d = !1, p = "ne" == h.getAxisOrientation().substr(0, 2), m = f.TileMatrix[0], w = {
36812                        MinTileCol: 0,
36813                        MinTileRow: 0,
36814                        MaxTileCol: m.MatrixWidth - 1,
36815                        MaxTileRow: m.MatrixHeight - 1
36816                    };
36817                    if (s) {
36818                        w = s[s.length - 1];
36819                        var b = g(f.TileMatrix, (function (t) {
36820                            return t.Identifier === w.TileMatrix || f.Identifier + ":" + t.Identifier === w.TileMatrix
36821                        }));
36822                        b && (m = b)
36823                    }
36824                    var x = 28e-5 * m.ScaleDenominator / h.getMetersPerUnit(),
36825                        S = p ? [m.TopLeftCorner[1], m.TopLeftCorner[0]] : m.TopLeftCorner, k = m.TileWidth * x,
36826                        M = m.TileHeight * x, _ = f.BoundingBox,
36827                        O = [S[0] + k * w.MinTileCol, S[1] - M * (1 + w.MaxTileRow), S[0] + k * (1 + w.MaxTileCol), S[1] - M * w.MinTileRow];
36828                    if (void 0 !== _ && !_n(_, O)) {
36829                        var T = i.WGS84BoundingBox, E = br("EPSG:4326").getExtent();
36830                        if (O = _, T) d = T[0] === E[0] && T[2] === E[2]; else {
36831                            var A = Cr(_, f.SupportedCRS, "EPSG:4326");
36832                            d = A[0] - 1e-10 <= E[0] && A[2] + 1e-10 >= E[2]
36833                        }
36834                    }
36835                    var C = jv(f, O, s), R = [], P = n.requestEncoding;
36836                    if (P = void 0 !== P ? P : "", "OperationsMetadata" in t && "GetTile" in t.OperationsMetadata) for (var I = t.OperationsMetadata.GetTile.DCP.HTTP.Get, N = 0, z = I.length; N < z; ++N) if (I[N].Constraint) {
36837                        var F = g(I[N].Constraint, (function (t) {
36838                            return "GetEncoding" == t.name
36839                        }
36839)).AllowedValues.Value;
36840                        if ("" === P && (P = F[0]), P !== cx) break;
36841                        y(F, cx) && R.push(I[N].href)
36842                    } else I[N].href && (P = cx, R.push(I[N].href));
36843                    return 0 === R.length && (P = hx, i.ResourceURL.forEach((function (t) {
36844                        "tile" === t.resourceType && (a = t.format, R.push(t.template))
36845                    }))), {
36846                        urls: R,
36847                        layer: n.layer,
36848                        matrixSet: o,
36849                        format: a,
36850                        projection: h,
36851                        requestEncoding: P,
36852                        tileGrid: C,
36853                        style: u,
36854                        dimensions: c,
36855                        wrapX: d,
36856                        crossOrigin: n.crossOrigin
36857                    }
36858                },vL.source.XYZ = jd,vL.source.Zoomify = lb,vL.source.Zoomify.CustomTile = fb,vL.source.common = {},vL.source.common.DEFAULT_WMS_VERSION = Bb,vL.source.ogcTileUtil = {},vL.source.ogcTileUtil.getMapTileUrlTemplate = Qb,vL.source.ogcTileUtil.getTileSetInfo = ig,vL.source.ogcTileUtil.getVectorTileUrlTemplate = tg,vL.source.sourcesFromTileGrid = function (t, n) {
36859                    var i = new Dc(32), r = t.getExtent();
36860                    return function (e, o) {
36861                        i.expireCache(), r && (e = Yn(r, e));
36862                        var s = t.getZForResolution(o), a = [];
36863                        return t.forEachTileCoord(e, s, (function (t) {
36864                            var r = t.toString();
36865                            if (!i.containsKey(r)) {
36866                                var e = n(t);
36867                                i.set(r, e)
36868                            }
36869                            a.push(i.get(r))
36870                        })), a
36871                    }
36872                },vL.sphere = {},vL.sphere.DEFAULT_RADIUS = ur,vL.sphere.getArea = function t(n, i) {
36873                    var r = i || {}, e = r.radius || ur, o = r.projection || "EPSG:3857", s = n.getType();
36874                    s !== Pt.GEOMETRY_COLLECTION && (n = n.clone().transform(o, "EPSG:4326"));
36875                    var a, u, c, h, f, l, v = 0;
36876                    switch (s) {
36877                        case Pt.POINT:
36878                        case Pt.MULTI_POINT:
36879                        case Pt.LINE_STRING:
36880                        case Pt.MULTI_LINE_STRING:
36881                        case Pt.LINEAR_RING:
36882                            break;
36883                        case Pt.POLYGON:
36884                            for (a = n.getCoordinates(), v = Math.abs(fr(a[0], e)), c = 1, h = a.length; c < h; ++c) v -= Math.abs(fr(a[c], e));
36885                            break;
36886                        case Pt.MULTI_POLYGON:
36887                            for (c = 0, h = (a = n.getCoordinates()).length; c < h; ++c) for (u = a[c], v += Math.abs(fr(u[0], e)), f = 1, l = u.length; f < l; ++f) v -= Math.abs(fr(u[f], e));
36888                            break;
36889                        case Pt.GEOMETRY_COLLECTION:
36890                            var d = n.getGeometries();
36891                            for (c = 0, h = d.length; c < h; ++c) v += t(d[c], i);
36892                            break;
36893                        default:
36894                            throw new Error("Unsupported geometry type: " + s)
36895                    }
36896                    return v
36897                },vL.sphere.getDistance = cr,vL.sphere.getLength = function t(n, i) {
36898                    var r = i || {}, e = r.radius || ur, o = r.projection || "EPSG:3857", s = n.getType();
36899                    s !== Pt.GEOMETRY_COLLECTION && (n = n.clone().transform(o, "EPSG:4326"));
36900                    var a, u, c, h, f, l, v = 0;
36901                    switch (s) {
36902                        case Pt.POINT:
36903                        case Pt.MULTI_POINT:
36904                            break;
36905                        case Pt.LINE_STRING:
36906                        case Pt.LINEAR_RING:
36907                            v = hr(a = n.getCoordinates(), e);
36908                            break;
36909                        case Pt.MULTI_LINE_STRING:
36910                        case Pt.POLYGON:
36911                            for (c = 0, h = (a = n.getCoordinates()).length; c < h; ++c) v += hr(a[c], e);
36912                            break;
36913                        case Pt.MULTI_POLYGON:
36914                            for (c = 0, h = (a = n.getCoordinates()).length; c < h; ++c) for (f = 0, l = (u = a[c]).length; f < l; ++f) v += hr(u[f], e);
36915                            break;
36916                        case Pt.GEOMETRY_COLLECTION:
36917                            var d = n.getGeometries();
36918                            for (c = 0, h = d.length; c < h; ++c) v += t(d[c], i);
36919                            break;
36920                        default:
36921                            throw new Error("Unsupported geometry type: " + s
36921)
36922                    }
36923                    return v
36924                },vL.sphere.offset = lr,vL.string = {},vL.string.compareVersions = Hi,vL.string.padNumber = Xi,vL.structs = {},vL.structs.LRUCache = Dc,vL.structs.LinkedList = td,vL.structs.PriorityQueue = Ea,vL.structs.PriorityQueue.DROP = Ta,vL.structs.RBush = id,vL.style = {},vL.style.Circle = Ov,vL.style.Fill = Tv,vL.style.Icon = Uv,vL.style.IconImage = Gv,vL.style.IconImage.get = Lv,vL.style.IconImageCache = Ho,vL.style.IconImageCache.shared = Jo,vL.style.Image = Sv,vL.style.RegularShape = Mv,vL.style.Stroke = qv,vL.style.Style = Yv,vL.style.Style.createDefaultStyle = Hv,vL.style.Style.createEditingStyle = Jv,vL.style.Style.toFunction = Vv,vL.style.Text = Qv,vL.style.expressions = {},vL.style.expressions.Operators = Jl,vL.style.expressions.PALETTE_TEXTURE_ARRAY = vv,vL.style.expressions.arrayToGlsl = $l,vL.style.expressions.colorToGlsl = Ql,vL.style.expressions.expressionToGlsl = iv,vL.style.expressions.getStringNumberEquivalent = tv,vL.style.expressions.getValueType = Kl,vL.style.expressions.isTypeUnique = Yl,vL.style.expressions.numberToGlsl = Zl,vL.style.expressions.stringToGlsl = nv,vL.style.expressions.uniformNameForVariable = lv,vL.tilecoord = {},vL.tilecoord.createOrUpdate = Uc,vL.tilecoord.fromKey = Vc,vL.tilecoord.getCacheKeyForTileKey = Wc,vL.tilecoord.getKey = Bc,vL.tilecoord.getKeyZXY = qc,vL.tilecoord.hash = Xc,vL.tilecoord.withinExtentAndZ = Hc,vL.tilegrid = {},vL.tilegrid.TileGrid = Vh,vL.tilegrid.WMTS = xv,vL.tilegrid.WMTS.createFromCapabilitiesMatrixSet = jv,vL.tilegrid.common = {},vL.tilegrid.common.DEFAULT_MAX_ZOOM = 42,vL.tilegrid.common.DEFAULT_TILE_SIZE = za,vL.tilegrid.createForExtent = Jh,vL.tilegrid.createForProjection = Zh,vL.tilegrid.createXYZ = Kh,vL.tilegrid.extentFromProjection = $h,vL.tilegrid.getForProjection = Xh,vL.tilegrid.wrapX = Hh,vL.tileurlfunction = {},vL.tileurlfunction.createFromTemplate = Qh,vL.tileurlfunction.createFromTemplates = tf,vL.tileurlfunction.createFromTileUrlFunctions = nf;
36925                vL.tileurlfunction.expandUrl = ef, vL.tileurlfunction.nullTileUrlFunction = rf, vL.transform = {}, vL.transform.apply = nn, vL.transform.compose = an, vL.transform.composeCssTransform = function (t, n, i, r, e, o, s) {
36926                    return hn(an([1, 0, 0, 1, 0, 0], t, n, i, r, e, o, s))
36927                }, vL.transform.create = Yt, vL.transform.determinant = cn, vL.transform.invert = function (t) {
36928                    return un(t, t)
36929                }, vL.transform.makeInverse = un, vL.transform.makeScale = on, vL.transform.multiply = $t, vL.transform.reset = Zt, vL.transform.rotate = rn, vL.transform.scale = en, vL.transform.set = Qt, vL.transform.setFromArray = tn, vL.transform.toString = hn, vL.transform.translate = sn, vL.uri = {}, vL.uri.appendParams = of, vL.util = {}, vL.util.VERSION = a, vL.util.abstract = r, vL.util.getUid = o, vL.vec = {}, vL.vec.mat4 = {}, vL.vec.mat4.create = Xf, vL.vec.mat4.fromTransform = Hf, vL.webgl = {}, vL.webgl.ARRAY_BUFFER = af, vL.webgl.Buffer = qf, vL.webgl.Buffer.getArrayClassForType = Uf, vL.webgl.DYNAMIC_DRAW = hf, vL.webgl.ELEMENT_ARRAY_BUFFER = uf, vL.webgl.FLOAT = ff, vL.webgl.Helper = al, vL.webgl.Helper.computeAttributesStride = ol, vL.webgl.PaletteTexture = ul, vL.webgl.PostProcessingPass = Vf, vL.webgl.RenderTarget = hl, vL.webgl.STATIC_DRAW = cf, vL.webgl.STREAM_DRAW = 35040, vL.webgl.ShaderBuilder = {}, vL.webgl.ShaderBuilder.ShaderBuilder = mv, vL.webgl.ShaderBuilder.parseLiteralStyle = wv, vL.webgl.TileTexture = bl, vL.webgl.UNSIGNED_BYTE = 5121, vL.webgl.UNSIGNED_INT = 5125, vL.webgl.UNSIGNED_SHORT = 5123, vL.webgl.getContext = vf, vL.webgl.getSupportedExtensions = function () {
36930                    if (!sf) {
36931                        var t = vf(document.createElement("canvas"));
36932                        t && (sf = t.getSupportedExtensions())
36933                    }
36934                    return sf
36935                }, vL.xml = {}, vL.xml.OBJECT_PROPERTY_NODE_FACTORY = Ef, vL.xml.XML_SCHEMA_INSTANCE_URI = df, vL.xml.createElementNS = pf, vL.xml.getAllTextContent = yf, vL.xml.Tw = mf, vL.xml.getAttributeNS = bf, vL.xml.getDocument = Gf, vL.xml.getXMLSerializer = Ff, vL.xml.isDocument = wf, vL.xml.makeArrayExtender = xf, vL.xml.makeArrayPusher = jf, vL.xml.makeArraySerializer = Of, vL.xml.makeChildAppender = _f, vL.xml.makeObjectPropertyPusher = kf, vL.xml.makeObjectPropertySetter = Mf, vL.xml.makeReplacer = Sf, vL.xml.makeSequence = Af, vL.xml.makeSimpleNodeFactory = Tf, vL.xml.makeStructureNS = Cf, vL.xml.parse = gf, vL.xml.parseNode = Rf, vL.xml.pushParseAndPop = Pf, vL.xml.pushSerializeAndPop = Nf, vL.xml.registerDocument = function (t) {
36936                    Lf = t
36937                }, vL.xml.registerXMLSerializer = function (t) {
36938                    zf = t
36939                }, vL.xml.serialize = If;
36940                var dL = vL
36941            }, 150: function (t, n, i) {
36942                "use strict";
36943                i.d(n, {
36944                    L: function () {
36945                        return r
36946                    }, It: function () {
36947                        return s
36948                    }, sf: function () {
36949                        return u
36950                    }, Ie: function () {
36951                        return h
36952                    }, pd: function () {
36953                        return f
36954                    }, L5: function () {
36955                        return l
36956                    }, Qb: function () {
36957                        return v
36958                    }, P1: function () {
36959                        return d
36960                    }
36961                });
36962                var r = {
36963                    315: "Artist",
36964                    258: "BitsPerSample",
36965                    265: "CellLength",
36966                    264: "CellWidth",
36967                    320: "ColorMap",
36968                    259: "Compression",
36969                    33432: "Copyright",
36970                    306: "DateTime",
36971                    338: "ExtraSamples",
36972                    266: "FillOrder",
36973                    289: "FreeByteCounts",
36974                    288: "FreeOffsets",
36975                    291: "GrayResponseCurve",
36976                    290: "GrayResponseUnit",
36977                    316: "HostComputer",
36978                    270: "ImageDescription",
36979                    257: "ImageLength",
36980                    256: "ImageWidth",
36981                    271: "Make",
36982                    281: "MaxSampleValue",
36983                    280: "MinSampleValue",
36984                    272: "Model",
36985                    254: "NewSubfileType",
36986                    274: "Orientation",
36987                    262: "PhotometricInterpretation",
36988                    284: "PlanarConfiguration",
36989                    296: "ResolutionUnit",
36990                    278: "RowsPerStrip",
36991                    277: "SamplesPerPixel",
36992                    305: "Software",
36993                    279: "StripByteCounts",
36994                    273: "StripOffsets",
36995                    255: "SubfileType",
36996                    263: "Threshholding",
36997                    282: "XResolution",
36998                    283: "YResolution",
36999                    326: "BadFaxLines",
37000                    327: "CleanFaxData",
37001                    343: "ClipPath",
37002                    328: "ConsecutiveBadFaxLines",
37003                    433: "Decode",
37004                    434: "DefaultImageColor",
37005                    269: "DocumentName",
37006                    336: "DotRange",
37007                    321: "HalftoneHints",
37008                    346: "Indexed",
37009                    347: "JPEGTables",
37010                    285: "PageName",
37011                    297: "PageNumber",
37012                    317: "Predictor",
37013                    319: "PrimaryChromaticities",
37014                    532: "ReferenceBlackWhite",
37015                    339: "SampleFormat",
37016                    340: "SMinSampleValue",
37017                    341: "SMaxSampleValue",
37018                    559: "StripRowCounts",
37019                    330: "SubIFDs",
37020                    292: "T4Options",
37021                    293: "T6Options",
37022                    325: "TileByteCounts",
37023                    323: "TileLength",
37024                    324: "TileOffsets",
37025                    322: "TileWidth",
37026                    301: "TransferFunction",
37027                    318: "WhitePoint",
37028                    344: "XClipPathUnits",
37029                    286: "XPosition",
37030                    529: "YCbCrCoefficients",
37031                    531: "YCbCrPositioning",
37032                    530: "YCbCrSubSampling",
37033                    345: "YClipPathUnits",
37034                    287: "YPosition",
37035                    37378: "ApertureValue",
37036                    40961: "ColorSpace",
37037                    36868: "DateTimeDigitized",
37038                    36867: "DateTimeOriginal",
37039                    34665: "Exif IFD",
37040                    36864: "ExifVersion",
37041                    33434: "ExposureTime",
37042                    41728: "FileSource",
37043                    37385: "Flash",
37044                    40960: "FlashpixVersion",
37045                    33437: "FNumber",
37046                    42016: "ImageUniqueID",
37047                    37384: "LightSource",
37048                    37500: "MakerNote",
37049                    37377: "ShutterSpeedValue",
37050                    37510: "UserComment",
37051                    33723: "IPTC",
37052                    34675: "ICC Profile",
37053                    700: "XMP",
37054                    42112: "GDAL_METADATA",
37055                    42113: "GDAL_NODATA",
37056                    34377: "Photoshop",
37057                    33550: "ModelPixelScale",
37058                    33922: "ModelTiepoint",
37059                    34264: "ModelTransformation",
37060                    34735: "GeoKeyDirectory",
37061                    34736: "GeoDoubleParams",
37062                    34737: "GeoAsciiParams",
37063                    50674: "LercParameters"
37064                }, e = {};
37065                for (var o in r) r.hasOwnProperty(o) && (e[r[o]] = parseInt(o, 10));
37066                var s = [e.BitsPerSample, e.ExtraSamples, e.SampleFormat, e.StripByteCounts, e.StripOffsets, e.StripRowCounts, e.TileByteCounts, e.TileOffsets, e.SubIFDs],
37067                    a = {
37068                        1: "BYTE",
37069                        2: "ASCII",
37070                        3: "SHORT",
37071                        4: "LONG",
37072                        5: "RATIONAL",
37073                        6: "SBYTE",
37074                        7: "UNDEFINED",
37075                        8: "SSHORT",
37076                        9: "SLONG",
37077                        10: "SRATIONAL",
37078                        11: "FLOAT",
37079                        12: "DOUBLE",
37080                        13: "IFD",
37081                        16: "LONG8",
37082                        17: "SLONG8",
37083                        18: "IFD8"
37084                    }, u = {};
37085                for (var c in a) a.hasOwnProperty(c) && (u[a[c]] = parseInt(c, 10));
37086                var h = {
37087                        WhiteIsZero: 0,
37088                        BlackIsZero: 1,
37089                        RGB: 2,
37090                        Palette: 3,
37091                        TransparencyMask: 4,
37092                        CMYK: 5,
37093                        YCbCr: 6,
37094                        CIELab: 8,
37095                        ICCLab: 9
37096                    }, f = {Unspecified: 0, Assocalpha: 1, Unassalpha: 2}, l = {Version: 0, AddCompression: 1},
37097                    v = {None: 0, Deflate: 1}, d = {
37098                        1024: "GTModelTypeGeoKey",
37099                        1025: "GTRasterTypeGeoKey",
37100                        1026: "GTCitationGeoKey",
37101                        2048: "GeographicTypeGeoKey",
37102                        2049: "GeogCitationGeoKey",
37103                        2050: "GeogGeodeticDatumGeoKey",
37104                        2051: "GeogPrimeMeridianGeoKey",
37105                        2052: "GeogLinearUnitsGeoKey",
37106                        2053: "GeogLinearUnitSizeGeoKey",
37107                        2054: "GeogAngularUnitsGeoKey",
37108                        2055: "GeogAngularUnitSizeGeoKey",
37109                        2056: "GeogEllipsoidGeoKey",
37110                        2057: "GeogSemiMajorAxisGeoKey",
37111                        2058: "GeogSemiMinorAxisGeoKey",
37112                        2059: "GeogInvFlatteningGeoKey",
37113                        2060: "GeogAzimuthUnitsGeoKey",
37114                        2061: "GeogPrimeMeridianLongGeoKey",
37115                        2062: "GeogTOWGS84GeoKey",
37116                        3072: "ProjectedCSTypeGeoKey",
37117                        3073: "PCSCitationGeoKey",
37118                        3074: "ProjectionGeoKey",
37119                        3075: "ProjCoordTransGeoKey",
37120                        3076: "ProjLinearUnitsGeoKey",
37121                        3077: "ProjLinearUnitSizeGeoKey",
37122                        3078: "ProjStdParallel1GeoKey",
37123                        3079: "ProjStdParallel2GeoKey",
37124                        3080: "ProjNatOriginLongGeoKey",
37125                        3081: "ProjNatOriginLatGeoKey",
37126                        3082: "ProjFalseEastingGeoKey",
37127                        3083: "ProjFalseNorthingGeoKey",
37128                        3084: "ProjFalseOriginLongGeoKey",
37129                        3085: "ProjFalseOriginLatGeoKey",
37130                        3086: "ProjFalseOriginEastingGeoKey",
37131                        3087: "ProjFalseOriginNorthingGeoKey",
37132                        3088: "ProjCenterLongGeoKey",
37133                        3089: "ProjCenterLatGeoKey",
37134                        3090: "ProjCenterEastingGeoKey",
37135                        3091: "ProjCenterNorthingGeoKey",
37136                        3092: "ProjScaleAtNatOriginGeoKey",
37137                        3093: "ProjScaleAtCenterGeoKey",
37138                        3094: "ProjAzimuthAngleGeoKey",
37139                        3095: "ProjStraightVertPoleLongGeoKey",
37140                        3096: "ProjRectifiedGridAngleGeoKey",
37141                        4096: "VerticalCSTypeGeoKey",
37142                        4097: "VerticalCitationGeoKey",
37143                        4098: "VerticalDatumGeoKey",
37144                        4099: "VerticalUnitsGeoKey"
37145                    }, p = {};
37146                for (var y in d) d.hasOwnProperty(y) && (p[d[y]] = parseInt(y, 10))
37147            }
37148        }, i = {};
37149
37150        function r(t) {
37151            var e = i[t];
37152            if (void 0 !== e) return e.exports;
37153            var o = i[t] = {id: t, loaded: !1, exports: {}};
37154            return n[t].call(o.exports, o, o.exports, r), o.loaded = !0, o.exports
37155        }
37156
37157        r.m = n, r.d = function (t, n) {
37158            for (var i in n) r.o(n, i) && !r.o(t, i) && Object.defineProperty(t, i, {enumerable: !0, get: n[i]})
37159        }, r.f = {}, r.e = function (t) {
37160            return Promise.all(Object.keys(r.f).reduce((function (n, i) {
37161                return r.f[i](t, n), n
37162            }), []))
37163        }, r.u = function (t) {
37164            return t + ".ol.js"
37165        }, r.o = function (t, n) {
37166            return Object.prototype.hasOwnProperty.call(t, n)
37167        }, t = {}, r.l = function (n, i, e, o) {
37168            if (t[n]) t[n].push(i); else {
37169                var s, a;
37170                if (void 0 !== e) for (var u = document.getElementsByTagName("script"), c = 0; c < u.length; c++) {
37171                    var h = u[c];
37172                    if (h.getAttribute("src") == n || h.getAttribute("data-webpack") == "ol:" + e) {
37173                        s = h;
37174                        break
37175                    }
37176                }
37177                s || (a = !0, (s = document.createElement("script")).charset = "utf-8", s.timeout = 120, r.nc && s.setAttribute("nonce", r.nc), s.setAttribute("data-webpack", "ol:" + e), s.src = n), t[n] = [i];
37178                var f = function (i, r) {
37179                    s.onerror = s.onload = null, clearTimeout(l);
37180                    var e = t[n];
37181                    if (delete t[n], s.parentNode && s.parentNode.removeChild(s), e && e.forEach((function (t) {
37182                        return t(r)
37183                    })), i) return i(r)
37184                }
37184, l = setTimeout(f.bind(null, void 0, {type: "timeout", target: s}), 12e4);
37185                s.onerror = f.bind(null, s.onerror), s.onload = f.bind(null, s.onload), a && document.head.appendChild(s)
37186            }
37187        }, r.r = function (t) {
37188            "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(t, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(t, "__esModule", {value: !0})
37189        }, r.nmd = function (t) {
37190            return t.paths = [], t.children || (t.children = []), t
37191        }, r.p = "", function () {
37192            var t = {179: 0};
37193            r.f.j = function (n, i) {
37194                var e = r.o(t, n) ? t[n] : void 0;
37195                if (0 !== e) if (e) i.push(e[2]); else {
37196                    var o = new Promise((function (i, r) {
37197                        e = t[n] = [i, r]
37198                    }));
37199                    i.push(e[2] = o);
37200                    var s = r.p + r.u(n), a = new Error;
37201                    r.l(s, (function (i) {
37202                        if (r.o(t, n) && (0 !== (e = t[n]) && (t[n] = void 0), e)) {
37203                            var o = i && ("load" === i.type ? "missing" : i.type), s = i && i.target && i.target.src;
37204                            a.message = "Loading chunk " + n + " failed.\n(" + o + ": " + s + ")", a.name = "ChunkLoadError", a.type = o, a.request = s, e[1](a)
37205                        }
37206                    }), "chunk-" + n, n)
37207                }
37208            };
37209            var n = function (n, i) {
37210                var e, o, s = i[0], a = i[1], u = i[2], c = 0;
37211                if (s.some((function (n) {
37212                    return 0 !== t[n]
37213                }))) {
37214                    for (e in a) r.o(a, e) && (r.m[e] = a[e]);
37215                    if (u) u(r)
37216                }
37217                for (n && n(i); c < s.length; c++) o = s[c], r.o(t, o) && t[o] && t[o][0](), t[o] = 0
37218            }, i = self.webpackChunkol = self.webpackChunkol || [];
37219            i.forEach(n.bind(null, 0)), i.push = n.bind(null, i.push.bind(i))
37220        }(), r(760);
37221        var e = r(920);
37222        return e = e.default
37223    }()
37224}));
37225//# sourceMappingURL=ol.js.map
37226
37227!function(t,s){"object"==typeof exports&&"undefined"!=typeof module?module.exports=s():"function"==typeof define&&define.amd?define(s):t.proj4=s()}(this,function(){"use strict";function t(t,s){if(t[s])return t[s];for(var i,a=Object.keys(t),h=s.toLowerCase().replace(Ot,""),e=-1;++e<a.length;)if(i=a[e],i.toLowerCase().replace(Ot,"")===h)return t[i]}function s(t){if("string"!=typeof t)throw new Error("not a string");this.text=t.trim(),this.level=0,this.place=0,this.root=null,this.stack=[],this.currentObject=null,this.state=qt}function i(t){return new s(t).output()}function a(t,s,i){Array.isArray(s)&&(i.unshift(s),s=null);var a=s?{}:t,e=i.reduce(function(t,s){return h(s,t),t},a);s&&(t[s]=e)}function h(t,s){if(Array.isArray(t)){var i=t.shift();if("PARAMETER"===i&&(i=t.shift()),1===t.length)return Array.isArray(t[0])?(s[i]={},void h(t[0],s[i])):void(s[i]=t[0]);if(t.length)if("TOWGS84"!==i){if("AXIS"===i)return i in s||(s[i]=[]),void s[i].push(t);Array.isArray(i)||(s[i]={});var e;switch(i){case"UNIT":case"PRIMEM":case"VERT_DATUM":return s[i]={name:t[0].toLowerCase(),convert:t[1]},void(3===t.length&&h(t[2],s[i]));case"SPHEROID":case"ELLIPSOID":return s[i]={name:t[0],a:t[1],rf:t[2]},void(4===t.length&&h(t[3],s[i]));case"PROJECTEDCRS":case"PROJCRS":case"GEOGCS":case"GEOCCS":case"PROJCS":case"LOCAL_CS":case"GEODCRS":case"GEODETICCRS":case"GEODETICDATUM":case"EDATUM":case"ENGINEERINGDATUM":case"VERT_CS":case"VERTCRS":case"VERTICALCRS":case"COMPD_CS":case"COMPOUNDCRS":case"ENGINEERINGCRS":case"ENGCRS":case"FITTED_CS":case"LOCAL_DATUM":case"DATUM":return t[0]=["name",t[0]],void a(s,i,t);default:for(e=-1;++e<t.length;)if(!Array.isArray(t[e]))return h(t,s[i]);return a(s,i,t)}}else s[i]=t;else s[i]=!0}else s[t]=!0}function e(t,s){var i=s[0],a=s[1];!(i in t)&&a in t&&(t[i]=t[a],3===s.length&&(t[i]=s[2](t[i])))}function n(t){return t*Bt}function r(t){function s(s){return s*(t.to_meter||1)}if("GEOGCS"===t.type?t.projName="longlat":"LOCAL_CS"===t.type?(t.projName="identity",t.local=!0):"object"==typeof t.PROJECTION?t.projName=Object.keys(t.PROJECTION)[0]:t.projName=t.PROJECTION,t.AXIS){for(var i="",a=0,h=t.AXIS.length;a<h;++a){var r=[t.AXIS[a][0].toLowerCase(),t.AXIS[a][1].toLowerCase()];-1!==r[0].indexOf("north")||("y"===r[0]||"lat"===r[0])&&"north"===r[1]?i+="n":-1!==r[0].indexOf("south")||("y"===r[0]||"lat"===r[0])&&"south"===r[1]?i+="s":-1!==r[0].indexOf("east")||("x"===r[0]||"lon"===r[0])&&"east"===r[1]?i+="e":-1===r[0].indexOf("west")&&("x"!==r[0]&&"lon"!==r[0]||"west"!==r[1])||(i+="w")}2===i.length&&(i+="u"),3===i.length&&(t.axis=i)}t.UNIT&&(t.units=t.UNIT.name.toLowerCase(),"metre"===t.units&&(t.units="meter"),t.UNIT.convert&&("GEOGCS"===t.type?t.DATUM&&t.DATUM.SPHEROID&&(t.to_meter=t.UNIT.convert*t.DATUM.SPHEROID.a):t.to_meter=t.UNIT.convert));var o=t.GEOGCS;"GEOGCS"===t.type&&(o=t),o&&(o.DATUM?t.datumCode=o.DATUM.name.toLowerCase():t.datumCode=o.name.toLowerCase(),"d_"===t.datumCode.slice(0,2)&&(t.datumCode=t.datumCode.slice(2)),"new_zealand_geodetic_datum_1949"!==t.datumCode&&"new_zealand_1949"!==t.datumCode||(t.datumCode="nzgd49"),"wgs_1984"!==t.datumCode&&"world_geodetic_system_1984"!==t.datumCode||("Mercator_Auxiliary_Sphere"===t.PROJECTION&&(t.sphere=!0),t.datumCode="wgs84"),"_ferro"===t.datumCode.slice(-6)&&(t.datumCode=t.datumCode.slice(0,-6)),"_jakarta"===t.datumCode.slice(-8)&&(t.datumCode=t.datumCode.slice(0,-8)),~t.datumCode.indexOf("belge")&&(t.datumCode="rnb72"),o.DATUM&&o.DATUM.SPHEROID&&(t.ellps=o.DATU
37227M.SPHEROID.name.replace("_19","").replace(/[Cc]larke\_18/,"clrk"),"international"===t.ellps.toLowerCase().slice(0,13)&&(t.ellps="intl"),t.a=o.DATUM.SPHEROID.a,t.rf=parseFloat(o.DATUM.SPHEROID.rf,10)),o.DATUM&&o.DATUM.TOWGS84&&(t.datum_params=o.DATUM.TOWGS84),~t.datumCode.indexOf("osgb_1936")&&(t.datumCode="osgb36"),~t.datumCode.indexOf("osni_1952")&&(t.datumCode="osni52"),(~t.datumCode.indexOf("tm65")||~t.datumCode.indexOf("geodetic_datum_of_1965"))&&(t.datumCode="ire65"),"ch1903+"===t.datumCode&&(t.datumCode="ch1903"),~t.datumCode.indexOf("israel")&&(t.datumCode="isr93")),t.b&&!isFinite(t.b)&&(t.b=t.a);[["standard_parallel_1","Standard_Parallel_1"],["standard_parallel_1","Latitude of 1st standard parallel"],["standard_parallel_2","Standard_Parallel_2"],["standard_parallel_2","Latitude of 2nd standard parallel"],["false_easting","False_Easting"],["false_easting","False easting"],["false-easting","Easting at false origin"],["false_northing","False_Northing"],["false_northing","False northing"],["false_northing","Northing at false origin"],["central_meridian","Central_Meridian"],["central_meridian","Longitude of natural origin"],["central_meridian","Longitude of false origin"],["latitude_of_origin","Latitude_Of_Origin"],["latitude_of_origin","Central_Parallel"],["latitude_of_origin","Latitude of natural origin"],["latitude_of_origin","Latitude of false origin"],["scale_factor","Scale_Factor"],["k0","scale_factor"],["latitude_of_center","Latitude_Of_Center"],["latitude_of_center","Latitude_of_center"],["lat0","latitude_of_center",n],["longitude_of_center","Longitude_Of_Center"],["longitude_of_center","Longitude_of_center"],["longc","longitude_of_center",n],["x0","false_easting",s],["y0","false_northing",s],["long0","central_meridian",n],["lat0","latitude_of_origin",n],["lat0","standard_parallel_1",n],["lat1","standard_parallel_1",n],["lat2","standard_parallel_2",n],["azimuth","Azimuth"],["alpha","azimuth",n],["srsCode","name"]].forEach(function(s){return e(t,s)}),t.long0||!t.longc||"Albers_Conic_Equal_Area"!==t.projName&&"Lambert_Azimuthal_Equal_Area"!==t.projName||(t.long0=t.longc),t.lat_ts||!t.lat1||"Stereographic_South_Pole"!==t.projName&&"Polar Stereographic (variant B)"!==t.projName?!t.lat_ts&&t.lat0&&"Polar_Stereographic"===t.projName&&(t.lat_ts=t.lat0,t.lat0=n(t.lat0>0?90:-90)):(t.lat0=n(t.lat1>0?90:-90),t.lat_ts=t.lat1)}function o(t){var s=this;if(2===arguments.length){var i=arguments[1];"string"==typeof i?"+"===i.charAt(0)?o[t]=kt(arguments[1]):o[t]=zt(arguments[1]):o[t]=i}else if(1===arguments.length){if(Array.isArray(t))return t.map(function(t){Array.isArray(t)?o.apply(s,t):o(t)});if("string"==typeof t){if(t in o)return o[t]}else"EPSG"in t?o["EPSG:"+t.EPSG]=t:"ESRI"in t?o["ESRI:"+t.ESRI]=t:"IAU2000"in t?o["IAU2000:"+t.IAU2000]=t:console.log(t);return}}function l(t){return"string"==typeof t}function u(t){return t in o}function c(t){return Ft.some(function(s){return t.indexOf(s)>-1})}function M(s){var i=t(s,"authority");if(i){var a=t(i,"epsg");return a&&Dt.indexOf(a)>-1}}function f(s){var i=t(s,"extension");if(i)return t(i,"proj4")}function d(t){return"+"===t[0]}function p(t){if(!l(t))return t;if(u(t))return o[t];if(c(t)){var s=zt(t);if(M(s))return o["EPSG:3857"];var i=f(s);return i?kt(i):s}return d(t)?kt(t):void 0}function m(t){return t}function _(t,s){var i=Zt.length;return t.names?(Zt[i]=t,t.names.forEach(function(t){Vt[t.toLowerCase()]=i}),this):(console.log(s),!0)}function y(t,s,i,a){var h=t*t,e=s*s,n=(h-e)/h,r=0;return a?(h=(t*=1-n*(gt+n*(vt+n*bt)))*t,n=0):r=Math.sqrt(n),{es:n,e:r,ep2:(h-e)/e}}function x(s,i,a,h,e){if(!s){var n=t($t,h);n||(n=ts),s=n.a,i=n.b,a=n.rf}return a&&!i&&(i=(1-1/a)*s),(0===a||Math.abs(s-i)<wt)&&(e=!0,i=s),{a:s,b:i,rf:a,sphere:e}}function g(t,s,i,a,h,e,n){var r={};return r.datum_type=void 0===t||"none"===t?_t:mt,s&&(r.datum_params=s.map(parseFloat),0===r.datum_params[0]&&0===r.datum_params[1]&&0===r.datum_params[2]||(r.datum_type=ft),r.datum_params.length>3&&(0===r.datum_params[3]&&0===r.datum_params[4]&&0===r.datum_params[5]&&0===r.datum_params[6]||(r.datum_type=dt,r.datum_params[3]*=yt,r.datum_params[4]*=yt,r.datum_params[5]*=yt,r.datum_params[6]=r.datum_params[6]/1e6+1))),n&&(r.datum_type=pt,r.grids=n),r.a=i,r.b=a,r.es=h,r.ep2=e,r}function v(t){return void 0===t?null:t.split(",").map(b)}function b(t){if(0===t.length)return null;var s="@"===t[0];return s&&(t=t.slice(1)),"null"===t?{name:"null",mandatory:!s,grid:null,isNull:!0}:{name:t,mandatory:!s,grid:is[t]||null,isNull:!1}}function w(t){return t/3600*Math.PI/180}function N(t){var s=t.getInt32(8,!1);return 11!==s&&(11!==(s=t.getInt32(8,!0))&&console.warn("Failed to detect nadgrid endian-ness, defaulting to little-endian"),!0)}function A(t,s){return{nFields:t.getInt32(8,s),nSubgridFields:t.getInt32(24,s),nSubgrids:t.getInt32(40,s),shiftType:E(t,56,64).trim(),fromSemiMajorAxis:t.getFloat64(120,s),fromSemiMinorAxis:t.getFloat64(136,s),toSemiMajorAxis:t.getFloat64(152,s),toSemiMinorAxis:t.getFloat64(168,s)}}function E(t,s,i){return String.fromCharCode.apply(null,new Uint8Array(t.buffer.slice(s,i)))}function C(t,s,i){for(var a=176,h=[],e=0;e<s.nSubgrids;e++){var n=S(t,a,i),r=I(t,a,n,i),o=Math.round(1+(n.upperLongitude-n.lowerLongitude)/n.longitudeInterval),l=Math.round(1+(n.upperLatitude-n.lowerLatitude)/n.latitudeInterval);h.push({ll:[w(n.lowerLongitude),w(n.lowerLatitude)],del:[w(n.longitudeInterval),w(n.latitudeInterval)],lim:[o,l],count:n.gridNodeCount,cvs:P(r)}),a+=176+16*n.gridNodeCount}return h}function P(t){return t.map(function(t){return[w(t.longitudeShift),w(t.latitudeShift)]})}function S(t,s,i){return{name:E(t,s+8,s+16).trim(),parent:E(t,s+24,s+24+8).trim(),lowerLatitude:t.getFloat64(s+72,i),upperLatitude:t.getFloat64(s+88,i),lowerLongitude:t.getFloat64(s+104,i),upperLongitude:t.getFloat64(s+120,i),latitudeInterval:t.getFloat64(s+136,i),longitudeInterval:t.getFloat64(s+152,i),gridNodeCount:t.getInt32(s+168,i)}}function I(t,s,i,a){for(var h=s+176,e=[],n=0;n<i.gridNodeCount;n++){var r={latitudeShift:t.getFloat32(h+16*n,a),longitudeShift:t.getFloat32(h+16*n+4,a),latitudeAccuracy:t.getFloat32(h+16*n+8,a),longitudeAccuracy:t.getFloat32(h+16*n+12,a)};e.push(r)}return e}
37227function Projection(s,i){if(!(this instanceof Projection))return new Projection(s);i=i||function(t){if(t)throw t};var a=p(s);if("object"==typeof a){var h=Projection.projections.get(a.projName);if(h){if(a.datumCode&&"none"!==a.datumCode){var e=t(ss,a.datumCode);e&&(a.datum_params=a.datum_params||(e.towgs84?e.towgs84.split(","):null),a.ellps=e.ellipse,a.datumName=e.datumName?e.datumName:a.datumCode)}a.k0=a.k0||1,a.axis=a.axis||"enu",a.ellps=a.ellps||"wgs84",a.lat1=a.lat1||a.lat0;var n=x(a.a,a.b,a.rf,a.ellps,a.sphere),r=y(n.a,n.b,n.rf,a.R_A),o=v(a.nadgrids),l=a.datum||g(a.datumCode,a.datum_params,n.a,n.b,r.es,r.ep2,o);Ut(this,a),Ut(this,h),this.a=n.a,this.b=n.b,this.rf=n.rf,this.sphere=n.sphere,this.es=r.es,this.e=r.e,this.ep2=r.ep2,this.datum=l,this.init(),i(null,this)}else i(s)}else i(s)}function O(t,s){return t.datum_type===s.datum_type&&(!(t.a!==s.a||Math.abs(t.es-s.es)>5e-11)&&(t.datum_type===ft?t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]:t.datum_type!==dt||t.datum_params[0]===s.datum_params[0]&&t.datum_params[1]===s.datum_params[1]&&t.datum_params[2]===s.datum_params[2]&&t.datum_params[3]===s.datum_params[3]&&t.datum_params[4]===s.datum_params[4]&&t.datum_params[5]===s.datum_params[5]&&t.datum_params[6]===s.datum_params[6]))}function k(t,s,i){var a,h,e,n,r=t.x,o=t.y,l=t.z?t.z:0;if(o<-xt&&o>-1.001*xt)o=-xt;else if(o>xt&&o<1.001*xt)o=xt;else{if(o<-xt)return{x:-1/0,y:-1/0,z:t.z};if(o>xt)return{x:1/0,y:1/0,z:t.z}}return r>Math.PI&&(r-=2*Math.PI),h=Math.sin(o),n=Math.cos(o),e=h*h,a=i/Math.sqrt(1-s*e),{x:(a+l)*n*Math.cos(r),y:(a+l)*n*Math.sin(r),z:(a*(1-s)+l)*h}}function q(t,s,i,a){var h,e,n,r,o,l,u,c,M,f,d,p,m,_,y,x,g=t.x,v=t.y,b=t.z?t.z:0;if(h=Math.sqrt(g*g+v*v),e=Math.sqrt(g*g+v*v+b*b),h/i<1e-12){if(_=0,e/i<1e-12)return y=xt,x=-a,{x:t.x,y:t.y,z:t.z}}else _=Math.atan2(v,g);n=b/e,c=(r=h/e)*(1-s)*(o=1/Math.sqrt(1-s*(2-s)*r*r)),M=n*o,m=0;do{m++,l=s*(u=i/Math.sqrt(1-s*M*M))/(u+(x=h*c+b*M-u*(1-s*M*M))),p=(d=n*(o=1/Math.sqrt(1-l*(2-l)*r*r)))*c-(f=r*(1-l)*o)*M,c=f,M=d}while(p*p>1e-24&&m<30);return y=Math.atan(d/Math.abs(f)),{x:_,y:y,z:x}}function R(t,s,i){if(s===ft)return{x:t.x+i[0],y:t.y+i[1],z:t.z+i[2]};if(s===dt){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6];return{x:l*(t.x-o*t.y+r*t.z)+a,y:l*(o*t.x+t.y-n*t.z)+h,z:l*(-r*t.x+n*t.y+t.z)+e}}}function L(t,s,i){if(s===ft)return{x:t.x-i[0],y:t.y-i[1],z:t.z-i[2]};if(s===dt){var a=i[0],h=i[1],e=i[2],n=i[3],r=i[4],o=i[5],l=i[6],u=(t.x-a)/l,c=(t.y-h)/l,M=(t.z-e)/l;return{x:u+o*c-r*M,y:-o*u+c+n*M,z:r*u-n*c+M}}}function T(t){return t===ft||t===dt}function G(t,s,i){if(null===t.grids||0===t.grids.length)return console.log("Grid shift grids not found"),-1;var a={x:-i.x,y:i.y},h={x:Number.NaN,y:Number.NaN},e=[];t:for(var n=0;n<t.grids.length;n++){var r=t.grids[n];if(e.push(r.name),r.isNull){h=a;break}if(null!==r.grid)for(var o=r.grid.subgrids,l=0,u=o.length;l<u;l++){var c=o[l],M=(Math.abs(c.del[1])+Math.abs(c.del[0]))/1e4,f=c.ll[0]-M,d=c.ll[1]-M,p=c.ll[0]+(c.lim[0]-1)*c.del[0]+M,m=c.ll[1]+(c.lim[1]-1)*c.del[1]+M;if(!(d>a.y||f>a.x||m<a.y||p<a.x)&&(h=j(a,s,c),!isNaN(h.x)))break t}else if(r.mandatory)return console.log("Unable to find mandatory grid '"+r.name+"'"),-1}return isNaN(h.x)?(console.log("Failed to find a grid shift table for location '"+-a.x*At+" "+a.y*At+" tried: '"+e+"'"),-1):(i.x=-h.x,i.y=h.y,0)}function j(t,s,i){var a={x:Number.NaN,y:Number.NaN};if(isNaN(t.x))return a;var h={x:t.x,y:t.y};h.x-=i.ll[0],h.y-=i.ll[1],h.x=Ht(h.x-Math.PI)+Math.PI;var e=B(h,i);if(s){if(isNaN(e.x))return a;e.x=h.x-e.x,e.y=h.y-e.y;var n,r,o=9;do{if(r=B(e,i),isNaN(r.x)){console.log("Inverse grid shift iteration failed, presumably at grid edge.  Using first approximation.");break}n={x:h.x-(r.x+e.x),y:h.y-(r.y+e.y)},e.x+=n.x,e.y+=n.y}while(o--&&Math.abs(n.x)>1e-12&&Math.abs(n.y)>1e-12);if(o<0)return console.log("Inverse grid shift iterator failed to converge."),a;a.x=Ht(e.x+i.ll[0]),a.y=e.y+i.ll[1]}else isNaN(e.x)||(a.x=t.x+e.x,a.y=t.y+e.y);return a}function B(t,s){var i,a={x:t.x/s.del[0],y:t.y/s.del[1]},h={x:Math.floor(a.x),y:Math.floor(a.y)},e={x:a.x-1*h.x,y:a.y-1*h.y},n={x:Number.NaN,y:Number.NaN};if(h.x<0||h.x>=s.lim[0])return n;if(h.y<0||h.y>=s.lim[1])return n;i=h.y*s.lim[0]+h.x;var r={x:s.cvs[i][0],y:s.cvs[i][1]};i++;var o={x:s.cvs[i][0],y:s.cvs[i][1]};i+=s.lim[0];var l={x:s.cvs[i][0],y:s.cvs[i][1]};i--;var u={x:s.cvs[i][0],y:s.cvs[i][1]},c=e.x*e.y,M=e.x*(1-e.y),f=(1-e.x)*(1-e.y),d=(1-e.x)*e.y;return n.x=f*r.x+M*o.x+d*u.x+c*l.x,n.y=f*r.y+M*o.y+d*u.y+c*l.y,n}function z(t){if("function"==typeof Number.isFinite){if(Number.isFinite(t))return;throw new TypeError("coordinates must be finite numbers")}if("number"!=typeof t||t!==t||!isFinite(t))throw new TypeError("coordinates must be finite numbers")}function F(t,s){return(t.datum.datum_type===ft||t.datum.datum_type===dt||t.datum.datum_type===pt)&&"WGS84"!==s.datumCode||(s.datum.datum_type===ft||s.datum.datum_type===dt||s.datum.datum_type===pt)&&"WGS84"!==t.datumCode}function D(t,s,i,a){var h,e=void 0!==(i=Array.isArray(i)?es(i):{x:i.x,y:i.y,z:i.z,m:i.m}).z;if(ns(i),t.datum&&s.datum&&F(t,s)&&(i=D(t,h=new Projection("WGS84"),i,a),t=h),a&&"enu"!==t.axis&&(i=hs(t,!1,i)),"longlat"===t.projName)i={x:i.x*Nt,y:i.y*Nt,z:i.z||0};else if(t.to_meter&&(i={x:i.x*t.to_meter,y:i.y*t.to_meter,z:i.z||0}),!(i=t.inverse(i)))return;if(t.from_greenwich&&(i.x+=t.from_greenwich),i=as(t.datum,s.datum,i))return s.from_greenwich&&(i={x:i.x-s.from_greenwich,y:i.y,z:i.z||0}),"longlat"===s.projName?i={x:i.x*At,y:i.y*At,z:i.z||0}:(i=s.forward(i),s.to_meter&&(i={x:i.x/s.to_meter,y:i.y/s.to_meter,z:i.z||0})),a&&"enu"!==s.axis?hs(s,!0,i):(i&&!e&&delete i.z,i)}function U(t,s,i,a){var h,e,n;return Array.isArray(i)?(h=D(t,s,i,a)||{x:NaN,y:NaN},i.length>2?void 0!==t.name&&"geocent"===t.name||void 0!==s.name&&"geocent"===s.name?"number"==typeof h.z?[h.x,h.y,h.z].concat(i.splice(3)):[h.x,h.y,i[2]].concat(i.splice(3)):[h.x,h.y].concat(i.splice(2)):[h.x,h.y]):(e=D(t,s,i,a),2===(n=Object.keys(i)).length?e:(n.forEach(function(a){if
37227(void 0!==t.name&&"geocent"===t.name||void 0!==s.name&&"geocent"===s.name){if("x"===a||"y"===a||"z"===a)return}else if("x"===a||"y"===a)return;e[a]=i[a]}),e))}function Q(t){return t instanceof Projection?t:t.oProj?t.oProj:Projection(t)}function W(t,s,i){t=Q(t);var a,h=!1;return void 0===s?(s=t,t=rs,h=!0):(void 0!==s.x||Array.isArray(s))&&(i=s,s=t,t=rs,h=!0),s=Q(s),i?U(t,s,i):(a={forward:function(i,a){return U(t,s,i,a)},inverse:function(i,a){return U(s,t,i,a)}},h&&(a.oProj=s),a)}function H(t,s){return s=s||5,$(V({lat:t[1],lon:t[0]}),s)}function X(t){var s=Z(at(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat]:[(s.left+s.right)/2,(s.top+s.bottom)/2]}function J(t){return t*(Math.PI/180)}function K(t){return t/Math.PI*180}function V(t){var s,i,a,h,e,n,r,o=t.lat,l=t.lon,u=6378137,c=J(o),M=J(l);r=Math.floor((l+180)/6)+1,180===l&&(r=60),o>=56&&o<64&&l>=3&&l<12&&(r=32),o>=72&&o<84&&(l>=0&&l<9?r=31:l>=9&&l<21?r=33:l>=21&&l<33?r=35:l>=33&&l<42&&(r=37)),n=J(6*(r-1)-180+3),s=u/Math.sqrt(1-.00669438*Math.sin(c)*Math.sin(c)),i=Math.tan(c)*Math.tan(c),a=.006739496752268451*Math.cos(c)*Math.cos(c);var f=.9996*s*((h=Math.cos(c)*(M-n))+(1-i+a)*h*h*h/6+(5-18*i+i*i+72*a-.39089081163157013)*h*h*h*h*h/120)+5e5,d=.9996*((e=u*(.9983242984503243*c-.002514607064228144*Math.sin(2*c)+2639046602129982e-21*Math.sin(4*c)-3.418046101696858e-9*Math.sin(6*c)))+s*Math.tan(c)*(h*h/2+(5-i+9*a+4*a*a)*h*h*h*h/24+(61-58*i+i*i+600*a-2.2240339282485886)*h*h*h*h*h*h/720));return o<0&&(d+=1e7),{northing:Math.round(d),easting:Math.round(f),zoneNumber:r,zoneLetter:Y(o)}}function Z(t){var s=t.northing,i=t.easting,a=t.zoneLetter,h=t.zoneNumber;if(h<0||h>60)return null;var e,n,r,o,l,u,c,M,f=6378137,d=(1-Math.sqrt(.99330562))/(1+Math.sqrt(.99330562)),p=i-5e5,m=s;a<"N"&&(m-=1e7),u=6*(h-1)-180+3,M=(c=m/.9996/6367449.145945056)+(3*d/2-27*d*d*d/32)*Math.sin(2*c)+(21*d*d/16-55*d*d*d*d/32)*Math.sin(4*c)+151*d*d*d/96*Math.sin(6*c),e=f/Math.sqrt(1-.00669438*Math.sin(M)*Math.sin(M)),n=Math.tan(M)*Math.tan(M),r=.006739496752268451*Math.cos(M)*Math.cos(M),o=.99330562*f/Math.pow(1-.00669438*Math.sin(M)*Math.sin(M),1.5),l=p/(.9996*e);var _=M-e*Math.tan(M)/o*(l*l/2-(5+3*n+10*r-4*r*r-.06065547077041606)*l*l*l*l/24+(61+90*n+298*r+45*n*n-1.6983531815716497-3*r*r)*l*l*l*l*l*l/720);_=K(_);var y=(l-(1+2*n+r)*l*l*l/6+(5-2*r+28*n-3*r*r+.05391597401814761+24*n*n)*l*l*l*l*l/120)/Math.cos(M);y=u+K(y);var x;if(t.accuracy){var g=Z({northing:t.northing+t.accuracy,easting:t.easting+t.accuracy,zoneLetter:t.zoneLetter,zoneNumber:t.zoneNumber});x={top:g.lat,right:g.lon,bottom:_,left:y}}else x={lat:_,lon:y};return x}function Y(t){var s="Z";return 84>=t&&t>=72?s="X":72>t&&t>=64?s="W":64>t&&t>=56?s="V":56>t&&t>=48?s="U":48>t&&t>=40?s="T":40>t&&t>=32?s="S":32>t&&t>=24?s="R":24>t&&t>=16?s="Q":16>t&&t>=8?s="P":8>t&&t>=0?s="N":0>t&&t>=-8?s="M":-8>t&&t>=-16?s="L":-16>t&&t>=-24?s="K":-24>t&&t>=-32?s="J":-32>t&&t>=-40?s="H":-40>t&&t>=-48?s="G":-48>t&&t>=-56?s="F":-56>t&&t>=-64?s="E":-64>t&&t>=-72?s="D":-72>t&&t>=-80&&(s="C"),s}function $(t,s){var i="00000"+t.easting,a="00000"+t.northing;return t.zoneNumber+t.zoneLetter+tt(t.easting,t.northing,t.zoneNumber)+i.substr(i.length-5,s)+a.substr(a.length-5,s)}function tt(t,s,i){var a=st(i);return it(Math.floor(t/1e5),Math.floor(s/1e5)%20,a)}function st(t){var s=t%os;return 0===s&&(s=os),s}function it(t,s,i){var a=i-1,h=ls.charCodeAt(a),e=us.charCodeAt(a),n=h+t-1,r=e+s,o=!1;return n>ps&&(n=n-ps+cs-1,o=!0),(n===Ms||h<Ms&&n>Ms||(n>Ms||h<Ms)&&o)&&n++,(n===fs||h<fs&&n>fs||(n>fs||h<fs)&&o)&&++n===Ms&&n++,n>ps&&(n=n-ps+cs-1),r>ds?(r=r-ds+cs-1,o=!0):o=!1,(r===Ms||e<Ms&&r>Ms||(r>Ms||e<Ms)&&o)&&r++,(r===fs||e<fs&&r>fs||(r>fs||e<fs)&&o)&&++r===Ms&&r++,r>ds&&(r=r-ds+cs-1),String.fromCharCode(n)+String.fromCharCode(r)}function at(t){if(t&&0===t.length)throw"MGRSPoint coverting from nothing";for(var s,i=t.length,a=null,h="",e=0;!/[A-Z]/.test(s=t.charAt(e));){if(e>=2)throw"MGRSPoint bad conversion from: "+t;h+=s,e++}var n=parseInt(h,10);if(0===e||e+3>i)throw"MGRSPoint bad conversion from: "+t;var r=t.charAt(e++);if(r<="A"||"B"===r||"Y"===r||r>="Z"||"I"===r||"O"===r)throw"MGRSPoint zone letter "+r+" not handled: "+t;a=t.substring(e,e+=2);for(var o=st(n),l=ht(a.charAt(0),o),u=et(a.charAt(1),o);u<nt(r);)u+=2e6;var c=i-e;if(c%2!=0)throw"MGRSPoint has to have an even number \nof digits after the zone letter and two 100km letters - front \nhalf for easting meters, second half for \nnorthing meters"+t;var M,f,d,p,m,_=c/2,y=0,x=0;return _>0&&(M=1e5/Math.pow(10,_),f=t.substring(e,e+_),y=parseFloat(f)*M,d=t.substring(e+_),x=parseFloat(d)*M),p=y+l,m=x+u,{easting:p,northing:m,zoneLetter:r,zoneNumber:n,accuracy:M}}
37227function ht(t,s){for(var i=ls.charCodeAt(s-1),a=1e5,h=!1;i!==t.charCodeAt(0);){if(++i===Ms&&i++,i===fs&&i++,i>ps){if(h)throw"Bad character: "+t;i=cs,h=!0}a+=1e5}return a}function et(t,s){if(t>"V")throw"MGRSPoint given invalid Northing "+t;for(var i=us.charCodeAt(s-1),a=0,h=!1;i!==t.charCodeAt(0);){if(++i===Ms&&i++,i===fs&&i++,i>ds){if(h)throw"Bad character: "+t;i=cs,h=!0}a+=1e5}return a}function nt(t){var s;switch(t){case"C":s=11e5;break;case"D":s=2e6;break;case"E":s=28e5;break;case"F":s=37e5;break;case"G":s=46e5;break;case"H":s=55e5;break;case"J":s=64e5;break;case"K":s=73e5;break;case"L":s=82e5;break;case"M":s=91e5;break;case"N":s=0;break;case"P":s=8e5;break;case"Q":s=17e5;break;case"R":s=26e5;break;case"S":s=35e5;break;case"T":s=44e5;break;case"U":s=53e5;break;case"V":s=62e5;break;case"W":s=7e6;break;case"X":s=79e5;break;default:s=-1}if(s>=0)return s;throw"Invalid zone letter: "+t}function Point(t,s,i){if(!(this instanceof Point))return new Point(t,s,i);if(Array.isArray(t))this.x=t[0],this.y=t[1],this.z=t[2]||0;else if("object"==typeof t)this.x=t.x,this.y=t.y,this.z=t.z||0;else if("string"==typeof t&&void 0===s){var a=t.split(",");this.x=parseFloat(a[0],10),this.y=parseFloat(a[1],10),this.z=parseFloat(a[2],10)||0}else this.x=t,this.y=s,this.z=i||0;console.warn("proj4.Point will be removed in version 3, use proj4.toPoint")}function rt(t){var s=["Hotine_Oblique_Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin"],i="object"==typeof t.PROJECTION?Object.keys(t.PROJECTION)[0]:t.PROJECTION;return"no_uoff"in t||"no_off"in t||-1!==s.indexOf(i)}function ot(t){var s,i=[];return i[0]=t*$s,s=t*t,i[0]+=s*ti,i[1]=s*ii,s*=t,i[0]+=s*si,i[1]+=s*ai,i[2]=s*hi,i}function lt(t,s){var i=t+t;return t+s[0]*Math.sin(i)+s[1]*Math.sin(i+i)+s[2]*Math.sin(i+i+i)}function ut(t,s,i,a){var h;return t<wt?(a.value=Ni.AREA_0,h=0):(h=Math.atan2(s,i),Math.abs(h)<=Et?a.value=Ni.AREA_0:h>Et&&h<=xt+Et?(a.value=Ni.AREA_1,h-=xt):h>xt+Et||h<=-(xt+Et)?(a.value=Ni.AREA_2,h=h>=0?h-Pt:h+Pt):(a.value=Ni.AREA_3,h+=xt)),h}function ct(t,s){var i=t+s;return i<-Pt?i+=Ct:i>+Pt&&(i-=Ct),i}function Mt(t,s,i,a){for(var h=s;a;--a){var e=t(h);if(h-=e,Math.abs(e)<i)break}return h}var ft=1,dt=2,pt=3,mt=4,_t=5,yt=484813681109536e-20,xt=Math.PI/2,gt=.16666666666666666,vt=.04722222222222222,bt=.022156084656084655,wt=1e-10,Nt=.017453292519943295,At=57.29577951308232,Et=Math.PI/4,Ct=2*Math.PI,Pt=3.14159265359,St={};St.greenwich=0,St.lisbon=-9.131906111111,St.paris=2.337229166667,St.bogota=-74.080916666667,St.madrid=-3.687938888889,St.rome=12.452333333333,St.bern=7.439583333333,St.jakarta=106.807719444444,St.ferro=-17.666666666667,St.brussels=4.367975,St.stockholm=18.058277777778,St.athens=23.7163375,St.oslo=10.722916666667;var It={ft:{to_meter:.3048},"us-ft":{to_meter:1200/3937}},Ot=/[\s_\-\/\(\)]/g,kt=function(s){var i,a,h,e={},n=s.split("+").map(function(t){return t.trim()}).filter(function(t){return t}).reduce(function(t,s){var i=s.split("=");return i.push(!0),t[i[0].toLowerCase()]=i[1],t},{}),r={proj:"projName",datum:"datumCode",rf:function(t){e.rf=parseFloat(t)},lat_0:function(t){e.lat0=t*Nt},lat_1:function(t){e.lat1=t*Nt},lat_2:function(t){e.lat2=t*Nt},lat_ts:function(t){e.lat_ts=t*Nt},lon_0:function(t){e.long0=t*Nt},lon_1:function(t){e.long1=t*Nt},lon_2:function(t){e.long2=t*Nt},alpha:function(t){e.alpha=parseFloat(t)*Nt},gamma:function(t){e.rectified_grid_angle=parseFloat(t)},lonc:function(t){e.longc=t*Nt},x_0:function(t){e.x0=parseFloat(t)},y_0:function(t){e.y0=parseFloat(t)},k_0:function(t){e.k0=parseFloat(t)},k:function(t){e.k0=parseFloat(t)},a:function(t){e.a=parseFloat(t)},b:function(t){e.b=parseFloat(t)},r_a:function(){e.R_A=!0},zone:function(t){e.zone=parseInt(t,10)},south:function(){e.utmSouth=!0},towgs84:function(t){e.datum_params=t.split(",").map(function(t){return parseFloat(t)})},to_meter:function(t){e.to_meter=parseFloat(t)},units:function(s){e.units=s;var i=t(It,s);i&&(e.to_meter=i.to_meter)},from_greenwich:function(t){e.from_greenwich=t*Nt},pm:function(s){var i=t(St,s);e.from_greenwich=(i||parseFloat(s))*Nt}
37227,nadgrids:function(t){"@null"===t?e.datumCode="none":e.nadgrids=t},axis:function(t){3===t.length&&-1!=="ewnsud".indexOf(t.substr(0,1))&&-1!=="ewnsud".indexOf(t.substr(1,1))&&-1!=="ewnsud".indexOf(t.substr(2,1))&&(e.axis=t)},approx:function(){e.approx=!0}};for(i in n)a=n[i],i in r?"function"==typeof(h=r[i])?h(a):e[h]=a:e[i]=a;return"string"==typeof e.datumCode&&"WGS84"!==e.datumCode&&(e.datumCode=e.datumCode.toLowerCase()),e},qt=1,Rt=/\s/,Lt=/[A-Za-z]/,Tt=/[A-Za-z84_]/,Gt=/[,\]]/,jt=/[\d\.E\-\+]/;s.prototype.readCharicter=function(){var t=this.text[this.place++];if(4!==this.state)for(;Rt.test(t);){if(this.place>=this.text.length)return;t=this.text[this.place++]}switch(this.state){case qt:return this.neutral(t);case 2:return this.keyword(t);case 4:return this.quoted(t);case 5:return this.afterquote(t);case 3:return this.number(t);case-1:return}},s.prototype.afterquote=function(t){if('"'===t)return this.word+='"',void(this.state=4);if(Gt.test(t))return this.word=this.word.trim(),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in afterquote yet, index '+this.place)},s.prototype.afterItem=function(t){return","===t?(null!==this.word&&this.currentObject.push(this.word),this.word=null,void(this.state=qt)):"]"===t?(this.level--,null!==this.word&&(this.currentObject.push(this.word),this.word=null),this.state=qt,this.currentObject=this.stack.pop(),void(this.currentObject||(this.state=-1))):void 0},s.prototype.number=function(t){if(!jt.test(t)){if(Gt.test(t))return this.word=parseFloat(this.word),void this.afterItem(t);throw new Error("havn't handled \""+t+'" in number yet, index '+this.place)}this.word+=t},s.prototype.quoted=function(t){'"'!==t?this.word+=t:this.state=5},s.prototype.keyword=function(t){if(Tt.test(t))this.word+=t;else{if("["===t){var s=[];return s.push(this.word),this.level++,null===this.root?this.root=s:this.currentObject.push(s),this.stack.push(this.currentObject),this.currentObject=s,void(this.state=qt)}if(!Gt.test(t))throw new Error("havn't handled \""+t+'" in keyword yet, index '+this.place);this.afterItem(t)}},s.prototype.neutral=function(t){if(Lt.test(t))return this.word=t,void(this.state=2);if('"'===t)return this.word="",void(this.state=4);if(jt.test(t))return this.word=t,void(this.state=3);{if(!Gt.test(t))throw new Error("havn't handled \""+t+'" in neutral yet, index '+this.place);this.afterItem(t)}},s.prototype.output=function(){for(;this.place<this.text.length;)this.readCharicter();if(-1===this.state)return this.root;throw new Error('unable to parse string "'+this.text+'". State is '+this.state)};var Bt=.017453292519943295,zt=function(t){var s=i(t),a=s.shift(),e=s.shift();s.unshift(["name",e]),s.unshift(["type",a]);var n={};return h(s,n),r(n),n};!function(t){t("EPSG:4326","+title=WGS 84 (long/lat) +proj=longlat +ellps=WGS84 +datum=WGS84 +units=degrees"),t("EPSG:4269","+title=NAD83 (long/lat) +proj=longlat +a=6378137.0 +b=6356752.31414036 +ellps=GRS80 +datum=NAD83 +units=degrees"),t("EPSG:3857","+title=WGS 84 / Pseudo-Mercator +proj=merc +a=6378137 +b=6378137 +lat_ts=0.0 +lon_0=0.0 +x_0=0.0 +y_0=0 +k=1.0 +units=m +nadgrids=@null +no_defs"),t.WGS84=t["EPSG:4326"],t["EPSG:3785"]=t["EPSG:3857"],t.GOOGLE=t["EPSG:3857"],t["EPSG:900913"]=t["EPSG:3857"],t["EPSG:102113"]=t["EPSG:3857"]}(o);var Ft=["PROJECTEDCRS","PROJCRS","GEOGCS","GEOCCS","PROJCS","LOCAL_CS","GEODCRS","GEODETICCRS","GEODETICDATUM","ENGCRS","ENGINEERINGCRS"],Dt=["3857","900913","3785","102113"],Ut=function(t,s){t=t||{};var i,a;if(!s)return t;for(a in s)void 0!==(i=s[a])&&(t[a]=i);return t},Qt=function(t,s,i){var a=t*s;return i/Math.sqrt(1-a*a)},Wt=function(t){return t<0?-1:1},Ht=function(t){return Math.abs(t)<=Pt?t:t-Wt(t)*Ct},Xt=function(t,s,i){var a=t*i,h=.5*t;return a=Math.pow((1-a)/(1+a),h),Math.tan(.5*(xt-s))/a},Jt=function(t,s){for(var i,a,h=.5*t,e=xt-2*Math.atan(s),n=0;n<=15;n++)if(i=t*Math.sin(e),a=xt-2*Math.atan(s*Math.pow((1-i)/(1+i),h))-e,e+=a,Math.abs(a)<=1e-10)return e;return-9999},Kt=[{init:function(){var t=this.b/this.a;this.es=1-t*t,"x0"in this||(this.x0=0),"y0"in this||(this.y0=0),this.e=Math.sqrt(this.es),this.lat_ts?this.sphere?this.k0=Math.cos(this.lat_ts):this.k0=Qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)):this.k0||(this.k?this.k0=this.k:this.k0=1)},forward:function(t){var s=t.x,i=t.y;if(i*At>90&&i*At<-90&&s*At>180&&s*At<-180)return null;var a,h;if(Math.abs(Math.abs(i)-xt)<=wt)return null;if(this.sphere)a=this.x0+this.a*this.k0*Ht(s-this.long0),h=this.y0+this.a*this.k0*Math.log(Math.tan(Et+.5*i));else{var e=Math.sin(i),n=Xt(this.e,i,e);a=this.x0+this.a*this.k0*Ht(s-this.long0),h=this.y0-this.a*this.k0*Math.log(n)}return t.x=a,t.y=h,t},inverse:function(t){var s,i,a=t.x-this.x0,h=t.y-this.y0;if(this.sphere)i=xt-2*Math.atan(Math.exp(-h/(this.a*this.k0)));else{var e=Math.exp(-h/(this.a*this.k0));if(-9999===(i=Jt(this.e,e)))return null}return s=Ht(this.long0+a/(this.a*this.k0)),t.x=s,t.y=i,t},names:["Mercator","Popular Visualisation Pseudo Mercator","Mercator_1SP","Mercator_Auxiliary_Sphere","merc"]},{init:function(){},forward:m,inverse:m,names:["longlat","identity"]}],Vt={},Zt=[],Yt={start:function(){Kt.forEach(_)},add:_,get:function(t){if(!t)return!1;var s=t.toLowerCase();return void 0!==Vt[s]&&Zt[Vt[s]]?Zt[Vt[s]]:void 0}},$t={};$t.MERIT={a:6378137,rf:298.257,ellipseName:"MERIT 1983"},$t.SGS85={a:6378136,rf:298.257,ellipseName:"Soviet Geodetic System 85"},$t.GRS80={a:6378137,rf:298.257222101,ellipseName:"GRS 1980(IUGG, 1980)"},$t.IAU76={a:6378140,rf:298.257,ellipseName:"IAU 1976"},$t.airy={a:6377563.396,b:6356256.91,ellipseName:"Airy 1830"},$t.APL4={a:6378137,rf:298.25,ellipseName:"Appl. Physics. 1965"},$t.NWL9D={a:6378145,rf:298.25,ellipseName:"Naval Weapons Lab., 1965"},$t.mod_airy={a:6377340.189,b:6356034.446,ellipseName:"Modified Airy"},$t.andrae={a:6377104.43,rf:300,ellipseName:"Andrae 1876 (Den., Iclnd.)"},$t.aust_SA={a:6378160,rf:298.25,ellipseName:"Australian Natl & S. Amer. 1969"},$t.GRS67={a:6378160,rf:298.247167427,ellipseName:"GRS 67(IUGG 1967)"}
37227,$t.bessel={a:6377397.155,rf:299.1528128,ellipseName:"Bessel 1841"},$t.bess_nam={a:6377483.865,rf:299.1528128,ellipseName:"Bessel 1841 (Namibia)"},$t.clrk66={a:6378206.4,b:6356583.8,ellipseName:"Clarke 1866"},$t.clrk80={a:6378249.145,rf:293.4663,ellipseName:"Clarke 1880 mod."},$t.clrk80ign={a:6378249.2,b:6356515,rf:293.4660213,ellipseName:"Clarke 1880 (IGN)"},$t.clrk58={a:6378293.645208759,rf:294.2606763692654,ellipseName:"Clarke 1858"},$t.CPM={a:6375738.7,rf:334.29,ellipseName:"Comm. des Poids et Mesures 1799"},$t.delmbr={a:6376428,rf:311.5,ellipseName:"Delambre 1810 (Belgium)"},$t.engelis={a:6378136.05,rf:298.2566,ellipseName:"Engelis 1985"},$t.evrst30={a:6377276.345,rf:300.8017,ellipseName:"Everest 1830"},$t.evrst48={a:6377304.063,rf:300.8017,ellipseName:"Everest 1948"},$t.evrst56={a:6377301.243,rf:300.8017,ellipseName:"Everest 1956"},$t.evrst69={a:6377295.664,rf:300.8017,ellipseName:"Everest 1969"},$t.evrstSS={a:6377298.556,rf:300.8017,ellipseName:"Everest (Sabah & Sarawak)"},$t.fschr60={a:6378166,rf:298.3,ellipseName:"Fischer (Mercury Datum) 1960"},$t.fschr60m={a:6378155,rf:298.3,ellipseName:"Fischer 1960"},$t.fschr68={a:6378150,rf:298.3,ellipseName:"Fischer 1968"},$t.helmert={a:6378200,rf:298.3,ellipseName:"Helmert 1906"},$t.hough={a:6378270,rf:297,ellipseName:"Hough"},$t.intl={a:6378388,rf:297,ellipseName:"International 1909 (Hayford)"},$t.kaula={a:6378163,rf:298.24,ellipseName:"Kaula 1961"},$t.lerch={a:6378139,rf:298.257,ellipseName:"Lerch 1979"},$t.mprts={a:6397300,rf:191,ellipseName:"Maupertius 1738"},$t.new_intl={a:6378157.5,b:6356772.2,ellipseName:"New International 1967"},$t.plessis={a:6376523,rf:6355863,ellipseName:"Plessis 1817 (France)"},$t.krass={a:6378245,rf:298.3,ellipseName:"Krassovsky, 1942"},$t.SEasia={a:6378155,b:6356773.3205,ellipseName:"Southeast Asia"},$t.walbeck={a:6376896,b:6355834.8467,ellipseName:"Walbeck"},$t.WGS60={a:6378165,rf:298.3,ellipseName:"WGS 60"},$t.WGS66={a:6378145,rf:298.25,ellipseName:"WGS 66"},$t.WGS7={a:6378135,rf:298.26,ellipseName:"WGS 72"};var ts=$t.WGS84={a:6378137,rf:298.257223563,ellipseName:"WGS 84"};$t.sphere={a:6370997,b:6370997,ellipseName:"Normal Sphere (r=6370997)"};var ss={};ss.wgs84={towgs84:"0,0,0",ellipse:"WGS84",datumName:"WGS84"},ss.ch1903={towgs84:"674.374,15.056,405.346",ellipse:"bessel",datumName:"swiss"},ss.ggrs87={towgs84:"-199.87,74.79,246.62",ellipse:"GRS80",datumName:"Greek_Geodetic_Reference_System_1987"},ss.nad83={towgs84:"0,0,0",ellipse:"GRS80",datumName:"North_American_Datum_1983"},ss.nad27={nadgrids:"@conus,@alaska,@ntv2_0.gsb,@ntv1_can.dat",ellipse:"clrk66",datumName:"North_American_Datum_1927"},ss.potsdam={towgs84:"598.1,73.7,418.2,0.202,0.045,-2.455,6.7",ellipse:"bessel",datumName:"Potsdam Rauenberg 1950 DHDN"},ss.carthage={towgs84:"-263.0,6.0,431.0",ellipse:"clark80",datumName:"Carthage 1934 Tunisia"},ss.hermannskogel={towgs84:"577.326,90.129,463.919,5.137,1.474,5.297,2.4232",ellipse:"bessel",datumName:"Hermannskogel"},ss.osni52={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"airy",datumName:"Irish National"},ss.ire65={towgs84:"482.530,-130.596,564.557,-1.042,-0.214,-0.631,8.15",ellipse:"mod_airy",datumName:"Ireland 1965"},ss.rassadiran={towgs84:"-133.63,-157.5,-158.62",ellipse:"intl",datumName:"Rassadiran"},ss.nzgd49={towgs84:"59.47,-5.04,187.44,0.47,-0.1,1.024,-4.5993",ellipse:"intl",datumName:"New Zealand Geodetic Datum 1949"},ss.osgb36={towgs84:"446.448,-125.157,542.060,0.1502,0.2470,0.8421,-20.4894",ellipse:"airy",datumName:"Airy 1830"},ss.s_jtsk={towgs84:"589,76,480",ellipse:"bessel",datumName:"S-JTSK (Ferro)"},ss.beduaram={towgs84:"-106,-87,188",ellipse:"clrk80",datumName:"Beduaram"},ss.gunung_segara={towgs84:"-403,684,41",ellipse:"bessel",datumName:"Gunung Segara Jakarta"},ss.rnb72={towgs84:"106.869,-52.2978,103.724,-0.33657,0.456955,-1.84218,1",ellipse:"intl",datumName:"Reseau National Belge 1972"};var is={};Projection.projections=Yt,Projection.projections.start();var as=function(t,s,i){if(O(t,s))return i;if(t.datum_type===_t||s.datum_type===_t)return i;var a=t.a,h=t.es;if(t.datum_type===pt){if(0!==G(t,!1,i))return;a=6378137,h=.0066943799901413165}var e=s.a,n=s.b,r=s.es;return s.datum_type===pt&&(e=6378137,n=6356752.314,r=.0066943799901413165),h!==r||a!==e||T(t.datum_type)||T(s.datum_type)?(i=k(i,h,a),T(t.datum_type)&&(i=R(i,t.datum_type,t.datum_params)),T(s.datum_type)&&(i=L(i,s.datum_type,s.datum_params)),i=q(i,r,e,n),s.datum_type!==pt||0===G(s,!0,i)?i:void 0):i},hs=function(t,s,i){var a,h,e,n=i.x,r=i.y,o=i.z||0,l={};for(e=0;e<3;e++)if(!s||2!==e||void 0!==i.z)switch(0===e?(a=n,h=-1!=="ew".indexOf(t.axis[e])?"x":"y"):1===e?(a=r,h=-1!=="ns".indexOf(t.axis[e])?"y":"x"):(a=o,h="z"),t.axis[e]){case"e":l[h]=a;break;case"w":l[h]=-a;break;case"n":l[h]=a;break;case"s":l[h]=-a;break;case"u":void 0!==i[h]&&(l.z=a);break;case"d":void 0!==i[h]&&(l.z=-a);break;default:return null}return l},es=function(t){var s={x:t[0],y:t[1]};return t.length>2&&(s.z=t[2]),t.length>3&&(s.m=t[3]),s},ns=function(t){z(t.x),z(t.y)},rs=Projection("WGS84"),os=6,ls="AJSAJS",us="AFAFAF",cs=65,Ms=73,fs=79,ds=86,ps=90,ms={forward:H,inverse:function(t){var s=Z(at(t.toUpperCase()));return s.lat&&s.lon?[s.lon,s.lat,s.lon,s.lat]:[s.left,s.bottom,s.right,s.top]},toPoint:X};Point.fromMGRS=function(t){return new Point(X(t))},Point.prototype.toMGRS=function(t){return H([this.x,this.y],t)};var _s=.01068115234375,ys=function(t){var s=[];s[0]=1-t*(.25+t*(.046875+t*(.01953125+t*_s))),s[1]=t*(.75-t*(.046875+t*(.01953125+t*_s)));var i=t*t;return s[2]=i*(.46875-t*(.013020833333333334+.007120768229166667*t)),i*=t,s[3]=i*(.3645833333333333-.005696614583333333*t),s[4]=i*t*.3076171875,s},xs=function(t,s,i,a){return i*=s,s*=s,a[0]*t-i*(a[1]+s*(a[2]+s*(a[3]+s*a[4])))},gs=function(t,s,i){for(var a=1/(1-s),h=t,e=20;e;--e){var n=Math.sin(h),r=1-s*n*n;if(r=(xs(h,n,Math.cos(h),i)-t)*(r*Math.sqrt(r))*a,h-=r,Math.abs(r)<wt)return h}return h},vs={init:function(){this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.es&&(this.en=ys(this.es),this.ml0=xs(this.lat0,Math.sin(this.lat0),Math.cos(this.lat0),this.en))},forward:function(t){var s,i,a,h=t.x,e=t.y,n=Ht(h-this.long0),r=Math.sin(e),o=Math.cos(e);if(this.es){var l=o*n,u=Math.pow(l,2),c=this.ep2*Math.pow(o,2),M=Math.pow(c,2),f=Math.abs(o)>wt?Math.tan(e):0,d=Math.pow(f,2),p=Math.pow(d,2);s=1-this.es*Math.pow(r,2),l/=Math.sqrt(s);var m=xs(e,r,o,this.en);i=this.a*(this.k0*l*(1+u/6*(1-d+c+u/20*(5-18*d+p+14*c-58*d*c+u/42*(61+179*p-p*d-479*d)
vendor: 4,152 bytes, line 37227
37227))))+this.x0,a=this.a*(this.k0*(m-this.ml0+r*n*l/2*(1+u/12*(5-d+9*c+4*M+u/30*(61+p-58*d+270*c-330*d*c+u/56*(1385+543*p-p*d-3111*d))))))+this.y0}else{var _=o*Math.sin(n);if(Math.abs(Math.abs(_)-1)<wt)return 93;if(i=.5*this.a*this.k0*Math.log((1+_)/(1-_))+this.x0,a=o*Math.cos(n)/Math.sqrt(1-Math.pow(_,2)),(_=Math.abs(a))>=1){if(_-1>wt)return 93;a=0}else a=Math.acos(a);e<0&&(a=-a),a=this.a*this.k0*(a-this.lat0)+this.y0}return t.x=i,t.y=a,t},inverse:function(t){var s,i,a,h,e=(t.x-this.x0)*(1/this.a),n=(t.y-this.y0)*(1/this.a);if(this.es)if(s=this.ml0+n/this.k0,i=gs(s,this.es,this.en),Math.abs(i)<xt){var r=Math.sin(i),o=Math.cos(i),l=Math.abs(o)>wt?Math.tan(i):0,u=this.ep2*Math.pow(o,2),c=Math.pow(u,2),M=Math.pow(l,2),f=Math.pow(M,2);s=1-this.es*Math.pow(r,2);var d=e*Math.sqrt(s)/this.k0,p=Math.pow(d,2);a=i-(s*=l)*p/(1-this.es)*.5*(1-p/12*(5+3*M-9*u*M+u-4*c-p/30*(61+90*M-252*u*M+45*f+46*u-p/56*(1385+3633*M+4095*f+1574*f*M)))),h=Ht(this.long0+d*(1-p/6*(1+2*M+u-p/20*(5+28*M+24*f+8*u*M+6*u-p/42*(61+662*M+1320*f+720*f*M))))/o)}else a=xt*Wt(n),h=0;else{var m=Math.exp(e/this.k0),_=.5*(m-1/m),y=this.lat0+n/this.k0,x=Math.cos(y);s=Math.sqrt((1-Math.pow(x,2))/(1+Math.pow(_,2))),a=Math.asin(s),n<0&&(a=-a),h=0===_&&0===x?0:Ht(Math.atan2(_,x)+this.long0)}return t.x=h,t.y=a,t},names:["Fast_Transverse_Mercator","Fast Transverse Mercator"]},bs=function(t){var s=Math.exp(t);return s=(s-1/s)/2},ws=function(t,s){t=Math.abs(t),s=Math.abs(s);var i=Math.max(t,s),a=Math.min(t,s)/(i||1);return i*Math.sqrt(1+Math.pow(a,2))},Ns=function(t){var s=1+t,i=s-1;return 0===i?t:t*Math.log(s)/i},As=function(t){var s=Math.abs(t);return s=Ns(s*(1+s/(ws(1,s)+1))),t<0?-s:s},Es=function(t,s){for(var i,a=2*Math.cos(2*s),h=t.length-1,e=t[h],n=0;--h>=0;)i=a*e-n+t[h],n=e,e=i;return s+i*Math.sin(2*s)},Cs=function(t,s){for(var i,a=2*Math.cos(s),h=t.length-1,e=t[h],n=0;--h>=0;)i=a*e-n+t[h],n=e,e=i;return Math.sin(s)*i},Ps=function(t){var s=Math.exp(t);return s=(s+1/s)/2},Ss=function(t,s,i){for(var a,h,e=Math.sin(s),n=Math.cos(s),r=bs(i),o=Ps(i),l=2*n*o,u=-2*e*r,c=t.length-1,M=t[c],f=0,d=0,p=0;--c>=0;)a=d,h=f,M=l*(d=M)-a-u*(f=p)+t[c],p=u*d-h+l*f;return l=e*o,u=n*r,[l*M-u*p,l*p+u*M]},Is={init:function(){if(!this.approx&&(isNaN(this.es)||this.es<=0))throw new Error('Incorrect elliptical usage. Try using the +approx option in the proj string, or PROJECTION["Fast_Transverse_Mercator"] in the WKT.');this.approx&&(vs.init.apply(this),this.forward=vs.forward,this.inverse=vs.inverse),this.x0=void 0!==this.x0?this.x0:0,this.y0=void 0!==this.y0?this.y0:0,this.long0=void 0!==this.long0?this.long0:0,this.lat0=void 0!==this.lat0?this.lat0:0,this.cgb=[],this.cbg=[],this.utg=[],this.gtu=[];var t=this.es/(1+Math.sqrt(1-this.es)),s=t/(2-t),i=s;this.cgb[0]=s*(2+s*(-2/3+s*(s*(116/45+s*(26/45+s*(-2854/675)))-2))),this.cbg[0]=s*(s*(2/3+s*(4/3+s*(-82/45+s*(32/45+s*(4642/4725)))))-2),i*=s,this.cgb[1]=i*(7/3+s*(s*(-227/45+s*(2704/315+s*(2323/945)))-1.6)),this.cbg[1]=i*(5/3+s*(-16/15+s*(-13/9+s*(904/315+s*(-1522/945))))),i*=s,this.cgb[2]=i*(56/15+s*(-136/35+s*(-1262/105+s*(73814/2835)))),this.cbg[2]=i*(-26/15+s*(34/21+s*(1.6+s*(-12686/2835)))),i*=s,this.cgb[3]=i*(4279/630+s*(-332/35+s*(-399572/14175))),this.cbg[3]=i*(1237/630+s*(s*(-24832/14175)-2.4)),i*=s,this.cgb[4]=i*(4174/315+s*(-144838/6237)),this.cbg[4]=i*(-734/315+s*(109598/31185)),i*=s,this.cgb[5]=i*(601676/22275),this.cbg[5]=i*(444337/155925),i=Math.pow(s,2),this.Qn=this.k0/(1+s)*(1+i*(.25+i*(1/64+i/256))),this.utg[0]=s*(s*(2/3+s*(-37/96+s*(1/360+s*(81/512+s*(-96199/604800)))))-.5),this.gtu[0]=s*(.5+s*(-2/3+s*(5/16+s*(41/180+s*(-127/288+s*(7891/37800)))))),this.utg[1]=i*(-1/48+s*(-1/15+s*(437/1440+s*(-46/105+s*(1118711/3870720))))),this.gtu[1]=i*(13/48+s*(s*(557/1440+s*(281/630+s*(-1983433/1935360)))-.6)),i*=s,this.utg[2]=i*(-17/480+s*(37/840+s*(209/4480+s*(-5569/90720)))),this.gtu[2]=i*(61/240+s*(-103/140+s*(15061/26880+s*(167603/181440)))),i*=s,this.utg[3]=i*(-4397/161280+s*(11/504+s*(830251/7257600))),this.gtu[3]=i*(49561/161280+s*(-179/168+s*(6601661/7257600))),i*=s,this.utg[4]=i*(-4583/161280+s*(108847/3991680)),this.gtu[4]=i*(34729/80640+s*(-3418889/1995840)),i*=s,this.utg[5]=-.03233083
vendor: 12,106 bytes, line 37227
37227094085698*i,this.gtu[5]=.6650675310896665*i;var a=Es(this.cbg,this.lat0);this.Zb=-this.Qn*(a+Cs(this.gtu,2*a))},forward:function(t){var s=Ht(t.x-this.long0),i=t.y;i=Es(this.cbg,i);var a=Math.sin(i),h=Math.cos(i),e=Math.sin(s),n=Math.cos(s);i=Math.atan2(a,n*h),s=Math.atan2(e*h,ws(a,h*n)),s=As(Math.tan(s));var r=Ss(this.gtu,2*i,2*s);i+=r[0],s+=r[1];var o,l;return Math.abs(s)<=2.623395162778?(o=this.a*(this.Qn*s)+this.x0,l=this.a*(this.Qn*i+this.Zb)+this.y0):(o=1/0,l=1/0),t.x=o,t.y=l,t},inverse:function(t){var s=(t.x-this.x0)*(1/this.a),i=(t.y-this.y0)*(1/this.a);i=(i-this.Zb)/this.Qn,s/=this.Qn;var a,h;if(Math.abs(s)<=2.623395162778){var e=Ss(this.utg,2*i,2*s);i+=e[0],s+=e[1],s=Math.atan(bs(s));var n=Math.sin(i),r=Math.cos(i),o=Math.sin(s),l=Math.cos(s);i=Math.atan2(n*l,ws(o,l*r)),s=Math.atan2(o,l*r),a=Ht(s+this.long0),h=Es(this.cgb,i)}else a=1/0,h=1/0;return t.x=a,t.y=h,t},names:["Extended_Transverse_Mercator","Extended Transverse Mercator","etmerc","Transverse_Mercator","Transverse Mercator","tmerc"]},Os=function(t,s){if(void 0===t){if((t=Math.floor(30*(Ht(s)+Math.PI)/Math.PI)+1)<0)return 0;if(t>60)return 60}return t},ks={init:function(){var t=Os(this.zone,this.long0);if(void 0===t)throw new Error("unknown utm zone");this.lat0=0,this.long0=(6*Math.abs(t)-183)*Nt,this.x0=5e5,this.y0=this.utmSouth?1e7:0,this.k0=.9996,Is.init.apply(this),this.forward=Is.forward,this.inverse=Is.inverse},names:["Universal Transverse Mercator System","utm"],dependsOn:"etmerc"},qs=function(t,s){return Math.pow((1-t)/(1+t),s)},Rs=20,Ls={init:function(){var t=Math.sin(this.lat0),s=Math.cos(this.lat0);s*=s,this.rc=Math.sqrt(1-this.es)/(1-this.es*t*t),this.C=Math.sqrt(1+this.es*s*s/(1-this.es)),this.phic0=Math.asin(t/this.C),this.ratexp=.5*this.C*this.e,this.K=Math.tan(.5*this.phic0+Et)/(Math.pow(Math.tan(.5*this.lat0+Et),this.C)*qs(this.e*t,this.ratexp))},forward:function(t){var s=t.x,i=t.y;return t.y=2*Math.atan(this.K*Math.pow(Math.tan(.5*i+Et),this.C)*qs(this.e*Math.sin(i),this.ratexp))-xt,t.x=this.C*s,t},inverse:function(t){for(var s=t.x/this.C,i=t.y,a=Math.pow(Math.tan(.5*i+Et)/this.K,1/this.C),h=Rs;h>0&&(i=2*Math.atan(a*qs(this.e*Math.sin(t.y),-.5*this.e))-xt,!(Math.abs(i-t.y)<1e-14));--h)t.y=i;return h?(t.x=s,t.y=i,t):null},names:["gauss"]},Ts={init:function(){Ls.init.apply(this),this.rc&&(this.sinc0=Math.sin(this.phic0),this.cosc0=Math.cos(this.phic0),this.R2=2*this.rc,this.title||(this.title="Oblique Stereographic Alternative"))},forward:function(t){var s,i,a,h;return t.x=Ht(t.x-this.long0),Ls.forward.apply(this,[t]),s=Math.sin(t.y),i=Math.cos(t.y),a=Math.cos(t.x),h=this.k0*this.R2/(1+this.sinc0*s+this.cosc0*i*a),t.x=h*i*Math.sin(t.x),t.y=h*(this.cosc0*s-this.sinc0*i*a),t.x=this.a*t.x+this.x0,t.y=this.a*t.y+this.y0,t},inverse:function(t){var s,i,a,h,e;if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,e=Math.sqrt(t.x*t.x+t.y*t.y)){var n=2*Math.atan2(e,this.R2);s=Math.sin(n),i=Math.cos(n),h=Math.asin(i*this.sinc0+t.y*s*this.cosc0/e),a=Math.atan2(t.x*s,e*this.cosc0*i-t.y*this.sinc0*s)}else h=this.phic0,a=0;return t.x=a,t.y=h,Ls.inverse.apply(this,[t]),t.x=Ht(t.x+this.long0),t},names:["Stereographic_North_Pole","Oblique_Stereographic","sterea","Oblique Stereographic Alternative","Double_Stereographic"]},Gs={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.coslat0=Math.cos(this.lat0),this.sinlat0=Math.sin(this.lat0),this.sphere?1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=wt&&(this.k0=.5*(1+Wt(this.lat0)*Math.sin(this.lat_ts))):(Math.abs(this.coslat0)<=wt&&(this.lat0>0?this.con=1:this.con=-1),this.cons=Math.sqrt(Math.pow(1+this.e,1+this.e)*Math.pow(1-this.e,1-this.e)),1===this.k0&&!isNaN(this.lat_ts)&&Math.abs(this.coslat0)<=wt&&Math.abs(Math.cos(this.lat_ts))>wt&&(this.k0=.5*this.cons*Qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts))/Xt(this.e,this.con*this.lat_ts,this.con*Math.sin(this.lat_ts))),this.ms1=Qt(this.e,this.sinlat0,this.coslat0),this.X0=2*Math.atan(this.ssfn_(this.lat0,this.sinlat0,this.e))-xt,this.cosX0=Math.cos(this.X0),this.sinX0=Math.sin(this.X0))},forward:function(t){var s,i,a,h,e,n,r=t.x,o=t.y,l=Math.sin(o),u=Math.cos(o),c=Ht(r-this.long0);return Math.abs(Math.abs(r-this.long0)-Math.PI)<=wt&&Math.abs(o+this.lat0)<=wt?(t.x=NaN,t.y=NaN,t):this.sphere?(s=2*this.k0/(1+this.sinlat0*l+this.coslat0*u*Math.cos(c)),t.x=this.a*s*u*Math.sin(c)+this.x0,t.y=this.a*s*(this.coslat0*l-this.sinlat0*u*Math.cos(c))+this.y0,t):(i=2*Math.atan(this.ssfn_(o,l,this.e))-xt,h=Math.cos(i),a=Math.sin(i),Math.abs(this.coslat0)<=wt?(e=Xt(this.e,o*this.con,this.con*l),n=2*this.a*this.k0*e/this.cons,t.x=this.x0+n*Math.sin(r-this.long0),t.y=this.y0-this.con*n*Math.cos(r-this.long0),t):(Math.abs(this.sinlat0)<wt?(s=2*this.a*this.k0/(1+h*Math.cos(c)),t.y=s*a):(s=2*this.a*this.k0*this.ms1/(this.cosX0*(1+this.sinX0*a+this.cosX0*h*Math.cos(c))),t.y=s*(this.cosX0*a-this.sinX0*h*Math.cos(c))+this.y0),t.x=s*h*Math.sin(c)+this.x0,t))},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n=Math.sqrt(t.x*t.x+t.y*t.y);if(this.sphere){var r=2*Math.atan(n/(2*this.a*this.k0));return s=this.long0,i=this.lat0,n<=wt?(t.x=s,t.y=i,t):(i=Math.asin(Math.cos(r)*this.sinlat0+t.y*Math.sin(r)*this.coslat0/n),s=Ht(Math.abs(this.coslat0)<wt?this.lat0>0?this.long0+Math.atan2(t.x,-1*t.y):this.long0+Math.atan2(t.x,t.y):this.long0+Math.atan2(t.x*Math.sin(r),n*this.coslat0*Math.cos(r)-t.y*this.sinlat0*Math.sin(r))),t.x=s,t.y=i,t)}if(Math.abs(this.coslat0)<=wt){if(n<=wt)return i=this.lat0,s=this.long0,t.x=s,t.y=i,t;t.x*=this.con,t.y*=this.con,a=n*this.cons/(2*this.a*this.k0),i=this.con*Jt(this.e,a),s=this.con*Ht(this.con*this.long0+Math.atan2(t.x,-1*t.y))}else h=2*Math.atan(n*this.cosX0/(2*this.a*this.k0*this.ms1)),s=this.long0,n<=wt?e=this.X0:(e=Math.asin(Math.cos(h)*this.sinX0+t.y*Math.sin(h)*this.cosX0/n),s=Ht(this.long0+Math.atan2(t.x*Math.sin(h),n*this.cosX0*Math.cos(h)-t.y*this.sinX0*Math.sin(h)))),i=-1*Jt(this.e,Math.tan(.5*(xt+e)));return t.x=s,t.y=i,t},names:["stere","Stereographic_South_Pole","Polar Stereographic (variant B)","Polar_Stereographic"],ssfn_:function(t,s,i){return s*=i,Math.tan(.5*(xt+t))*Math.pow((1-s)/(1+s),.5*i)}},js={init:function(){var t=this.lat0;this.lambda0=this.long0;var s=Math.sin(t),i=this.a,a=1/this.rf,h=2*a-Math.pow(a,2),e=this.e=Math.sqrt(h);this.R=this.k0*i*Math.sqrt(1-h)/(1-h*Math.pow(s,2)),this.alpha=Math.sqrt(1+h/(1-h)*Math.pow(Math.cos(t),4)),this.b0=Math.asin(s/this.alpha);var n=Math.log(Math.tan(Math.PI/4+this.b0/2)),r=Math.log(Math.tan(Math.PI/4+t/2)),o=Math.log((1+e*s)/(1-e*s));this.K=n-this.alpha*r+this.alpha*e/2*o},forward:function(t){var s=Math.log(Math.tan(Math.PI/4-t.y/2)),i=this.e/2*Math.log((1+this.e*Math.sin(t.y))/(1-this.e*Math.sin(t.y))),a=-this.alpha*(s+i)+this.K,h=2*(Math.atan(Math.exp(a))-Math.PI/4),e=this.alpha*(t.x-this.lambda0),n=Math.atan(Math.sin(e)/(Math.sin(this.b0)*Math.tan(h)+Math.cos(this.b0)*Math.cos(e))),r=Math.asin(Math.cos(this.b0)*Math.sin(h)-Math.sin(this.b0)*Math.cos(h)*Math.cos(e));return t.y=this.R/2*Math.log((1+Math.sin(r))/(1-Math.sin(r)))+this.y0,t.x=this.R*n+this.x0,t},inverse:function(t){for(var s=t.x-this.x0,i=t.y-this.y0,a=s/this.R,h=2*(Math.atan(Math.exp(i/this.R))-Math.PI/4),e=Math.asin(Math.cos(this.b0)*Math.sin(h)+Math.sin(this.b0)*Math.cos(h)*Math.cos(a)),n=Math.atan(Math.sin(a)/(Math.cos(this.b0)*Math.cos(a)-Math.sin(this.b0)*Math.tan(h))),r=this.lambda0+n/this.alpha,o=0,l=e,u=-1e3,c=0;Math.abs(l-u)>1e-7;){if(++c>20)return;o=1/this.alpha*(Math.log(Math.tan(Math.PI/4+e/2))-this.K)+this.e*Math.log(Math.tan(Math.PI/4+Math.asin(this.e*Math.sin(l))/2)),u=l,l=2*Math.atan(Math.exp(o))-Math.PI/2}return t.x=r,t.y=l,t},names:["somerc"]},Bs=1e-7,zs={init:function(){var t,s,i,a,h,e,n,r,o,l,u,c=0,M=0,f=0,d=0,p=0,m=0,_=0;this.no_off=rt(this),this.no_rot="no_rot"in this;var y=!1;"alpha"in this&&(y=!0);var x=!1;if("rectified_grid_angle"in this&&(x=!0),y&&(_=this.alpha),x&&(c=this.rectified_grid_angle*Nt),y||x)M=this.longc;else if(f=this.long1,p=this.lat1,d=this.long2,m=this.lat2,Math.abs(p-m)<=Bs||(t=Math.abs(p))<=Bs||Math.abs(t-xt)<=Bs||Math.abs(Math.abs(this.lat0)-xt)<=Bs||Math.abs(Math.abs(m)-xt)<=Bs)throw new Error;var g=1-this.es;s=Math.sqrt(g),Math.abs(this.lat0)>wt?(r=Math.sin(this.lat0),i=Math.cos(this.lat0),t=1-this.es*r*r,this.B=i*i,this.B=Math.sqrt(1+this.es*this.B*this.B/g),this.A=this.B*this.k0*s/t,(h=(a=this.B*s/(i*Math.sqrt(t)))*a-1)<=0?h=0:(h=Math.sqrt(h),this.lat0<0&&(h=-h)),this.E=h+=a,this.E*=Math.pow(Xt(this.e,this.lat0,r),this.B)):(this.B=1/s,this.A=this.k0,this.E=a=h=1),y||x?(y?(u=Math.asin(Math.sin(_)/a),x||(c=_)):(u=c,_=Math.asin(a*Math.sin(u))),this.lam0=M-Math.asin(.5*(h-1/h)*Math.tan(u))/this.B):(e=Math.pow(Xt(this.e,p,Math.sin(p)),this.B),n=Math.pow(Xt(this.e,m,Math.sin(m)),this.B),h=this.E/e,o=(n-e)/(n+e),l=((l=this.E*this.E)-n*e)/(l+n*e),(t=f-d)<-Math.pi?d-=Ct:t>Math.pi&&(d+=Ct),this.lam0=Ht(.5*(f+d)-Math.atan(l*Math.tan(.5*this.B*(f-d))/o)/this.B),u=Math.atan(2*Math.sin(this.B*Ht(f-this.lam0))/(h-1/h)),c=_=Math.asin(a*Math.sin(u))),this.singam=Math.sin(u),this.cosgam=Math.cos(u),this.sinrot=Math.sin(c),this.cosrot=Math.cos(c),this.rB=1/this.B,this.ArB=this.A*this.rB,this.BrA=1/this.ArB,this.no_off?this.u_0=0:(this.u_0=Math.abs(this.ArB*Math.atan(Math.sqrt(a*a-1)/Math.cos(_))),this.lat0<0&&(this.u_0=-this.u_0)),h=.5*u,this.v_pole_n=this.ArB*Math.log(Math.tan(Et-h)),this.v_pole_s=this.ArB*Math.log(Math.tan(Et+h))},forward:function(t){var s,i,a,h,e,n,r,o,l={};if(t.x=t.x-this.lam0,Math.abs(Math.abs(t.y)-xt)>wt){if(e=this.E/Math.pow(Xt(this.e,t.y,Math.sin(t.y)),this.B),n=1/e,s=.5*(e-n),i=.5*(e+n),h=Math.sin(this.B*t.x),a=(s*this.singam-h*this.cosgam)/i,Math.abs(Math.abs(a)-1)<wt)throw new Error;o=.5*this.ArB*Math.log((1-a)/(1+a)),n=Math.cos(this.B*t.x),r=Math.abs(n)<Bs?this.A*t.x:this.ArB*Math.atan2(s*this.cosgam+h*this.singam,n)}else o=t.y>0?this.v_pole_n:this.v_pole_s,r=this.ArB*t.y;return this.no_rot?(l.x=r,l.y=o):(r-=this.u_0,l.x=o*this.cosrot+r*this.sinrot,l.y=r*this.cosrot-o*this.sinrot),l.x=this.a*l.x+this.x0,l.y=this.a*l.y+this.y0,l},inverse:function(t){var s,i,a,h,e,n,r,o={};if(t.x=(t.x-this.x0)*(1/this.a),t.y=(t.y-this.y0)*(1/this.a),this.no_rot?(i=t.y,s=t.x):(i=t.x*this.cosrot-t.y*this.sinrot,s=t.y*this.cosrot+t.x*this.sinrot+this.u_0),a=Math.exp(-this.BrA*i),h=.5*(a-1/a),e=.5*(a+1/a),n=Math.sin(this.BrA*s),r=(n*this.cosgam+h*this.singam)/e,Math.abs(Math.abs(r)-1)<wt)o.x=0,o.y=r<0?-xt:xt;else{if(o.y=this.E/Math.sqrt((1+r)/(1-r)),o.y=Jt(this.e,Math.pow(o.y,1/this.B)),o.y===1/0)throw new Error;o.x=-this.rB*Math.atan2(h*this.cosgam-n*this.singam,Math.cos(this.BrA*s))}return o.x+=this.lam0,o},names:["Hotine_Oblique_Mercator","Hotine Oblique Mercator","Hotine_Oblique_Mercator_Azimuth_Natural_Origin","Hotine_Oblique_Mercator_Two_Point_Natural_Origin","Hotine_Oblique_Mercator_Azimuth_Center","Oblique_Mercator","omerc"]},Fs={init:function(){if(this.lat2||(this.lat2=this.lat1),this.k0||(this.k0=1),this.x0=this.x0||0,this.y0=this.y0||0,!(Math.abs(this.lat1+this.lat2)<wt)){var t=this.b/this.a;this.e=Math.sqrt(1-t*t);var s=Math.sin(this.lat1),i=Math.cos(this.lat1),a=Qt(this.e,s,i),h=Xt(this.e,this.lat1,s),e=Math.sin(this.lat2),n=Math.cos(this.lat2),r=Qt(this.e,e,n),o=Xt(this.e,this.lat2,e),l=Xt(this.e,this.lat0,Math.sin(this.lat0));Math.abs(this.lat1-this.lat2)>wt?this.ns=Math.log(a/r)/Math.log(h/o):this.ns=s,isNaN(this.ns)&&(this.ns=s),this.f0=a/(this.ns*Math.pow(h,this.ns)),this.rh=this.a*this.f0*Math.pow(l,this.ns),this.title||(this.title="Lambert Conformal Conic")}},forward:function(t){var s=t.x,i=t.y;Math.abs(2*Math.abs(i)-Math.PI)<=wt&&(i=Wt(i)*(xt-2*wt));var a,h,e=Math.abs(Math.abs(i)-xt);if(e>wt)a=Xt(this.e,i,Math.sin(i)),h=this.a*this.f0*Math.pow(a,this.ns);else{if((e=i*this.ns)<=0)return null;h=0}var n=this.ns*Ht(s-this.long0);return t.x=this.k0*(h*Math.sin(n))+this.x0,t.y=this.k0*(this.rh-h*Math.cos(n))+this.y0,t},inverse:function(t){var s,i,a,h,e,n=(t.x-this.x0)/this.k0,r=this.rh-(t.y-this.y0)/this.k0;this.ns>0?(s=Math.sqrt(n*n+r*r),i=1):(s=-Math.sqrt(n*n+r*r),i=-1);var o=0;if(0!==s&&(o=Math.atan2(i*n,i*r)),0!==s||this.ns>
vendor: 7,719 bytes, line 37227
372270){if(i=1/this.ns,a=Math.pow(s/(this.a*this.f0),i),-9999===(h=Jt(this.e,a)))return null}else h=-xt;return e=Ht(o/this.ns+this.long0),t.x=e,t.y=h,t},names:["Lambert Tangential Conformal Conic Projection","Lambert_Conformal_Conic","Lambert_Conformal_Conic_1SP","Lambert_Conformal_Conic_2SP","lcc","Lambert Conic Conformal (1SP)","Lambert Conic Conformal (2SP)"]},Ds={init:function(){this.a=6377397.155,this.es=.006674372230614,this.e=Math.sqrt(this.es),this.lat0||(this.lat0=.863937979737193),this.long0||(this.long0=.4334234309119251),this.k0||(this.k0=.9999),this.s45=.785398163397448,this.s90=2*this.s45,this.fi0=this.lat0,this.e2=this.es,this.e=Math.sqrt(this.e2),this.alfa=Math.sqrt(1+this.e2*Math.pow(Math.cos(this.fi0),4)/(1-this.e2)),this.uq=1.04216856380474,this.u0=Math.asin(Math.sin(this.fi0)/this.alfa),this.g=Math.pow((1+this.e*Math.sin(this.fi0))/(1-this.e*Math.sin(this.fi0)),this.alfa*this.e/2),this.k=Math.tan(this.u0/2+this.s45)/Math.pow(Math.tan(this.fi0/2+this.s45),this.alfa)*this.g,this.k1=this.k0,this.n0=this.a*Math.sqrt(1-this.e2)/(1-this.e2*Math.pow(Math.sin(this.fi0),2)),this.s0=1.37008346281555,this.n=Math.sin(this.s0),this.ro0=this.k1*this.n0/Math.tan(this.s0),this.ad=this.s90-this.uq},forward:function(t){var s,i,a,h,e,n,r,o=t.x,l=t.y,u=Ht(o-this.long0);return s=Math.pow((1+this.e*Math.sin(l))/(1-this.e*Math.sin(l)),this.alfa*this.e/2),i=2*(Math.atan(this.k*Math.pow(Math.tan(l/2+this.s45),this.alfa)/s)-this.s45),a=-u*this.alfa,h=Math.asin(Math.cos(this.ad)*Math.sin(i)+Math.sin(this.ad)*Math.cos(i)*Math.cos(a)),e=Math.asin(Math.cos(i)*Math.sin(a)/Math.cos(h)),n=this.n*e,r=this.ro0*Math.pow(Math.tan(this.s0/2+this.s45),this.n)/Math.pow(Math.tan(h/2+this.s45),this.n),t.y=r*Math.cos(n)/1,t.x=r*Math.sin(n)/1,this.czech||(t.y*=-1,t.x*=-1),t},inverse:function(t){var s,i,a,h,e,n,r,o=t.x;t.x=t.y,t.y=o,this.czech||(t.y*=-1,t.x*=-1),e=Math.sqrt(t.x*t.x+t.y*t.y),h=Math.atan2(t.y,t.x)/Math.sin(this.s0),a=2*(Math.atan(Math.pow(this.ro0/e,1/this.n)*Math.tan(this.s0/2+this.s45))-this.s45),s=Math.asin(Math.cos(this.ad)*Math.sin(a)-Math.sin(this.ad)*Math.cos(a)*Math.cos(h)),i=Math.asin(Math.cos(a)*Math.sin(h)/Math.cos(s)),t.x=this.long0-i/this.alfa,n=s,r=0;var l=0;do{t.y=2*(Math.atan(Math.pow(this.k,-1/this.alfa)*Math.pow(Math.tan(s/2+this.s45),1/this.alfa)*Math.pow((1+this.e*Math.sin(n))/(1-this.e*Math.sin(n)),this.e/2))-this.s45),Math.abs(n-t.y)<1e-10&&(r=1),n=t.y,l+=1}while(0===r&&l<15);return l>=15?null:t},names:["Krovak","krovak"]},Us=function(t,s,i,a,h){return t*h-s*Math.sin(2*h)+i*Math.sin(4*h)-a*Math.sin(6*h)},Qs=function(t){return 1-.25*t*(1+t/16*(3+1.25*t))},Ws=function(t){return.375*t*(1+.25*t*(1+.46875*t))},Hs=function(t){return.05859375*t*t*(1+.75*t)},Xs=function(t){return t*t*t*(35/3072)},Js=function(t,s,i){var a=s*i;return t/Math.sqrt(1-a*a)},Ks=function(t){return Math.abs(t)<xt?t:t-Wt(t)*Math.PI},Vs=function(t,s,i,a,h){var e,n;e=t/s;for(var r=0;r<15;r++)if(n=(t-(s*e-i*Math.sin(2*e)+a*Math.sin(4*e)-h*Math.sin(6*e)))/(s-2*i*Math.cos(2*e)+4*a*Math.cos(4*e)-6*h*Math.cos(6*e)),e+=n,Math.abs(n)<=1e-10)return e;return NaN},Zs={init:function(){this.sphere||(this.e0=Qs(this.es),this.e1=Ws(this.es),this.e2=Hs(this.es),this.e3=Xs(this.es),this.ml0=this.a*Us(this.e0,this.e1,this.e2,this.e3,this.lat0))},forward:function(t){var s,i,a=t.x,h=t.y;if(a=Ht(a-this.long0),this.sphere)s=this.a*Math.asin(Math.cos(h)*Math.sin(a)),i=this.a*(Math.atan2(Math.tan(h),Math.cos(a))-this.lat0);else{var e=Math.sin(h),n=Math.cos(h),r=Js(this.a,this.e,e),o=Math.tan(h)*Math.tan(h),l=a*Math.cos(h),u=l*l,c=this.es*n*n/(1-this.es);s=r*l*(1-u*o*(1/6-(8-o+8*c)*u/120)),i=this.a*Us(this.e0,this.e1,this.e2,this.e3,h)-this.ml0+r*e/n*u*(.5+(5-o+6*c)*u/24)}return t.x=s+this.x0,t.y=i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a=t.x/this.a,h=t.y/this.a;if(this.sphere){var e=h+this.lat0;s=Math.asin(Math.sin(e)*Math.cos(a)),i=Math.atan2(Math.tan(a),Math.cos(e))}else{var n=this.ml0/this.a+h,r=Vs(n,this.e0,this.e1,this.e2,this.e3);if(Math.abs(Math.abs(r)-xt)<=wt)return t.x=this.long0,t.y=xt,h<0&&(t.y*=-1),t;var o=Js(this.a,this.e,Math.sin(r)),l=o*o*o/this.a/this.a*(1-this.es),u=Math.pow(Math.tan(r),2),c=a*this.a/o,M=c*c;s=r-o*Math.tan(r)/l*c*c*(.5-(1+3*u)*c*c/24),i=c*(1-M*(u/3+(1+3*u)*u*M/15))/Math.cos(r)}return t.x=Ht(i+this.long0),t.y=Ks(s),t},names:["Cassini","Cassini_Soldner","cass"]},Ys=function(t,s){var i;return t>1e-7?(i=t*s,(1-t*t)*(s/(1-i*i)-.5/t*Math.log((1-i)/(1+i)))):2*s},$s=.3333333333333333,ti=.17222222222222222,si=.10257936507936508,ii=.06388888888888888,ai=.0664021164021164,hi=.016415012942191543,ei={init:function(){var t=Math.abs(this.lat0);if(Math.abs(t-xt)<wt?this.mode=this.lat0<0?this.S_POLE:this.N_POLE:Math.abs(t)<wt?this.mode=this.EQUIT:this.mode=this.OBLIQ,this.es>0){var s;switch(this.qp=Ys(this.e,1),this.mmf=.5/(1-this.es),this.apa=ot(this.es),this.mode){case this.N_POLE:case this.S_POLE:this.dd=1;break;case this.EQUIT:this.rq=Math.sqrt(.5*this.qp),this.dd=1/this.rq,this.xmf=1,this.ymf=.5*this.qp;break;case this.OBLIQ:this.rq=Math.sqrt(.5*this.qp),s=Math.sin(this.lat0),this.sinb1=Ys(this.e,s)/this.qp,this.cosb1=Math.sqrt(1-this.sinb1*this.sinb1),this.dd=Math.cos(this.lat0)/(Math.sqrt(1-this.es*s*s)*this.rq*this.cosb1),this.ymf=(this.xmf=this.rq)/this.dd,this.xmf*=this.dd}}else this.mode===this.OBLIQ&&(this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0))},forward:function(t){var s,i,a,h,e,n,r,o,l,u,c=t.x,M=t.y;if(c=Ht(c-this.long0),this.sphere){if(e=Math.sin(M),u=Math.cos(M),a=Math.cos(c),this.mode===this.OBLIQ||this.mode===this.EQUIT){if((i=this.mode===this.EQUIT?1+u*a:1+this.sinph0*e+this.cosph0*u*a)<=wt)return null;s=(i=Math.sqrt(2/i))*u*Math.sin(c),i*=this.mode===this.EQUIT?e:this.cosph0*e-this.sinph0*u*a}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(a=-a),Math.abs(M+this.lat0)<wt)return null;i=Et-.5*M,s=(i=2*(this.mode===this.S_POLE?Math.cos(i):Math.sin(i)))*Math.sin(c),i*=a}}else{switch(r=0,o=0,l=0,a=Math.cos(c),h=Math.sin(c),e=Math.sin(M),n=Ys(this.e,e),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(r=n/this.qp,o=Math.sqrt(1-r*r)),this.mode){case this.OBLIQ:l=1+this.sinb1*r+this.cosb1*o*a;break;case this.EQUIT:l=1+o*a;break;case this.N_POLE:l=xt+M,n=this.qp-n;break;case this.S_POLE:l=M-xt,n=this.qp+n}if(Math.abs(l)<wt)return null;switch(this.mode){case this.OBLIQ:case this.EQUIT:l=Math.sqrt(2/l),i=this.mode===this.OBLIQ?this.ymf*l*(this.cosb1*r-this.sinb1*o*a):(l=Math.sqrt(2/(1+o*a)))*r*this.ymf,s=this.xmf*l*o*h;break;case this.N_POLE:case this.S_POLE:n>=0?(s=(l=Math.sqrt(n))*h,i=a*(this.mode===this.S_POLE?l:-l)):s=i=0}}return t.x=this.a*s+this.x0,t.y=this.a*i+this.y0,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n,r,o=t.x/this.a,l=t.y/this.a;if(this.sphere){var u,c=0,M=0;if(u=Math.sqrt(o*o+l*l),(i=.5*u)>1)return null;switch(i=2*Math.asin(i),this.mode!==this.OBLIQ&&this.mode!==this.EQUIT||(M=Math.sin(i),c=Math.cos(i)),this.mode){case this.EQUIT:i=Math.abs(u)<=wt?0:Math.asin(l*M/u),o*=M,l=c*u;break;case this.OBLIQ:i=Math.abs(u)<=wt?this.lat0:Math.asin(c*this.sinph0+l*M*this.cosph0/u),o*=M*this.cosph0,l=(c-Math.sin(i)*this.sinph0)*u;break;case this.N_POLE:l=-l,i=xt-i;break;case this.S_POLE:i-=xt}s=0!==l||this.mode!==this.EQUIT&&this.mode!==this.OBLIQ?Math.atan2(o,l):0}else{if(r=0,this.mode===this.OBLIQ||this.mode===this.EQUIT){if(o/=this.dd,l*=this.dd,(n=Math.sqrt(o*o+l*l))<wt)return t.x=this.long0,t.y=this.lat0,t;h=2*Math.asin(.5*n/this.rq),a=Math.cos(h),o*=h=Math.sin(h),this.mode===this.OBLIQ?(r=a*this.sinb1+l*h*this.cosb1/n,e=this.qp*r,l=n*this.cosb1*a-l*this.sinb1*h):(r=l*h/n,e=this.qp*r,l=n*a)}else if(this.mode===this.N_POLE||this.mode===this.S_POLE){if(this.mode===this.N_POLE&&(l=-l),!(e=o*
vendor: 11,664 bytes, line 37227
37227o+l*l))return t.x=this.long0,t.y=this.lat0,t;r=1-e/this.qp,this.mode===this.S_POLE&&(r=-r)}s=Math.atan2(o,l),i=lt(Math.asin(r),this.apa)}return t.x=Ht(this.long0+s),t.y=i,t},names:["Lambert Azimuthal Equal Area","Lambert_Azimuthal_Equal_Area","laea"],S_POLE:1,N_POLE:2,EQUIT:3,OBLIQ:4},ni=function(t){return Math.abs(t)>1&&(t=t>1?1:-1),Math.asin(t)},ri={init:function(){Math.abs(this.lat1+this.lat2)<wt||(this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e3=Math.sqrt(this.es),this.sin_po=Math.sin(this.lat1),this.cos_po=Math.cos(this.lat1),this.t1=this.sin_po,this.con=this.sin_po,this.ms1=Qt(this.e3,this.sin_po,this.cos_po),this.qs1=Ys(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat2),this.cos_po=Math.cos(this.lat2),this.t2=this.sin_po,this.ms2=Qt(this.e3,this.sin_po,this.cos_po),this.qs2=Ys(this.e3,this.sin_po),this.sin_po=Math.sin(this.lat0),this.cos_po=Math.cos(this.lat0),this.t3=this.sin_po,this.qs0=Ys(this.e3,this.sin_po),Math.abs(this.lat1-this.lat2)>wt?this.ns0=(this.ms1*this.ms1-this.ms2*this.ms2)/(this.qs2-this.qs1):this.ns0=this.con,this.c=this.ms1*this.ms1+this.ns0*this.qs1,this.rh=this.a*Math.sqrt(this.c-this.ns0*this.qs0)/this.ns0)},forward:function(t){var s=t.x,i=t.y;this.sin_phi=Math.sin(i),this.cos_phi=Math.cos(i);var a=Ys(this.e3,this.sin_phi),h=this.a*Math.sqrt(this.c-this.ns0*a)/this.ns0,e=this.ns0*Ht(s-this.long0),n=h*Math.sin(e)+this.x0,r=this.rh-h*Math.cos(e)+this.y0;return t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n;return t.x-=this.x0,t.y=this.rh-t.y+this.y0,this.ns0>=0?(s=Math.sqrt(t.x*t.x+t.y*t.y),a=1):(s=-Math.sqrt(t.x*t.x+t.y*t.y),a=-1),h=0,0!==s&&(h=Math.atan2(a*t.x,a*t.y)),a=s*this.ns0/this.a,this.sphere?n=Math.asin((this.c-a*a)/(2*this.ns0)):(i=(this.c-a*a)/this.ns0,n=this.phi1z(this.e3,i)),e=Ht(h/this.ns0+this.long0),t.x=e,t.y=n,t},names:["Albers_Conic_Equal_Area","Albers","aea"],phi1z:function(t,s){var i,a,h,e,n,r=ni(.5*s);if(t<wt)return r;for(var o=t*t,l=1;l<=25;l++)if(i=Math.sin(r),a=Math.cos(r),h=t*i,e=1-h*h,n=.5*e*e/a*(s/(1-o)-i/e+.5/t*Math.log((1-h)/(1+h))),r+=n,Math.abs(n)<=1e-7)return r;return null}},oi={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0),this.infinity_dist=1e3*this.a,this.rc=1},forward:function(t){var s,i,a,h,e,n,r,o=t.x,l=t.y;return a=Ht(o-this.long0),s=Math.sin(l),i=Math.cos(l),h=Math.cos(a),(e=this.sin_p14*s+this.cos_p14*i*h)>0||Math.abs(e)<=wt?(n=this.x0+1*this.a*i*Math.sin(a)/e,r=this.y0+1*this.a*(this.cos_p14*s-this.sin_p14*i*h)/e):(n=this.x0+this.infinity_dist*i*Math.sin(a),r=this.y0+this.infinity_dist*(this.cos_p14*s-this.sin_p14*i*h)),t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n;return t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,t.x/=this.k0,t.y/=this.k0,(s=Math.sqrt(t.x*t.x+t.y*t.y))?(h=Math.atan2(s,this.rc),i=Math.sin(h),a=Math.cos(h),n=ni(a*this.sin_p14+t.y*i*this.cos_p14/s),e=Math.atan2(t.x*i,s*this.cos_p14*a-t.y*this.sin_p14*i),e=Ht(this.long0+e)):(n=this.phic0,e=0),t.x=e,t.y=n,t},names:["gnom"]},li=function(t,s){var i=1-(1-t*t)/(2*t)*Math.log((1-t)/(1+t));if(Math.abs(Math.abs(s)-i)<1e-6)return s<0?-1*xt:xt;for(var a,h,e,n,r=Math.asin(.5*s),o=0;o<30;o++)if(h=Math.sin(r),e=Math.cos(r),n=t*h,a=Math.pow(1-n*n,2)/(2*e)*(s/(1-t*t)-h/(1-n*n)+.5/t*Math.log((1-n)/(1+n))),r+=a,Math.abs(a)<=1e-10)return r;return NaN},ui={init:function(){this.sphere||(this.k0=Qt(this.e,Math.sin(this.lat_ts),Math.cos(this.lat_ts)))},forward:function(t){var s,i,a=t.x,h=t.y,e=Ht(a-this.long0);if(this.sphere)s=this.x0+this.a*e*Math.cos(this.lat_ts),i=this.y0+this.a*Math.sin(h)/Math.cos(this.lat_ts);else{var n=Ys(this.e,Math.sin(h));s=this.x0+this.a*this.k0*e,i=this.y0+this.a*n*.5/this.k0}return t.x=s,t.y=i,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i;return this.sphere?(s=Ht(this.long0+t.x/this.a/Math.cos(this.lat_ts)),i=Math.asin(t.y/this.a*Math.cos(this.lat_ts))):(i=li(this.e,2*t.y*this.k0/this.a),s=Ht(this.long0+t.x/(this.a*this.k0))),t.x=s,t.y=i,t},names:["cea"]},ci={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Equidistant Cylindrical (Plate Carre)",this.rc=Math.cos(this.lat_ts)},forward:function(t){var s=t.x,i=t.y,a=Ht(s-this.long0),h=Ks(i-this.lat0);return t.x=this.x0+this.a*a*this.rc,t.y=this.y0+this.a*h,t},inverse:function(t){var s=t.x,i=t.y;return t.x=Ht(this.long0+(s-this.x0)/(this.a*this.rc)),t.y=Ks(this.lat0+(i-this.y0)/this.a),t},names:["Equirectangular","Equidistant_Cylindrical","eqc"]},Mi=20,fi={init:function(){this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Qs(this.es),this.e1=Ws(this.es),this.e2=Hs(this.es),this.e3=Xs(this.es),this.ml0=this.a*Us(this.e0,this.e1,this.e2,this.e3,this.lat0)},forward:function(t){var s,i,a,h=t.x,e=t.y,n=Ht(h-this.long0);if(a=n*Math.sin(e),this.sphere)Math.abs(e)<=wt?(s=this.a*n,i=-1*this.a*this.lat0):(s=this.a*Math.sin(a)/Math.tan(e),i=this.a*(Ks(e-this.lat0)+(1-Math.cos(a))/Math.tan(e)));else if(Math.abs(e)<=wt)s=this.a*n,i=-1*this.ml0;else{var r=Js(this.a,this.e,Math.sin(e))/Math.tan(e);s=r*Math.sin(a),i=this.a*Us(this.e0,this.e1,this.e2,this.e3,e)-this.ml0+r*(1-Math.cos(a))}return t.x=s+this.x0,t.y=i+this.y0,t},inverse:function(t){var s,i,a,h,e,n,r,o,l;if(a=t.x-this.x0,h=t.y-this.y0,this.sphere)if(Math.abs(h+this.a*this.lat0)<=wt)s=Ht(a/this.a+this.long0),i=0;else{n=this.lat0+h/this.a,r=a*a/this.a/this.a+n*n,o=n;var u;for(e=Mi;e;--e)if(u=Math.tan(o),l=-1*(n*(o*u+1)-o-.5*(o*o+r)*u)/((o-n)/u-1),o+=l,Math.abs(l)<=wt){i=o;break}s=Ht(this.long0+Math.asin(a*Math.tan(o)/this.a)/Math.sin(i))}else if(Math.abs(h+this.ml0)<=wt)i=0,s=Ht(this.long0+a/this.a);else{n=(this.ml0+h)/this.a,r=a*a/this.a/this.a+n*n,o=n;var c,M,f,d,p;for(e=Mi;e;--e)if(p=this.e*Math.sin(o),c=Math.sqrt(1-p*p)*Math.tan(o),M=this.a*Us(this.e0,this.e1,this.e2,this.e3,o),f=this.e0-2*this.e1*Math.cos(2*o)+4*this.e2*Math.cos(4*o)-6*this.e3*Math.cos(6*o),d=M/this.a,l=(n*(c*d+1)-d-.5*c*(d*d+r))/(this.es*Math.sin(2*o)*(d*d+r-2*n*d)/(4*c)+(n-d)*(c*f-2/Math.sin(2*o))-f),o-=l,Math.abs(l)<=wt){i=o;break}c=Math.sqrt(1-this.es*Math.pow(Math.sin(i),2))*Math.tan(i),s=Ht(this.long0+Math.asin(a*c/this.a)/Math.sin(i))}return t.x=s,t.y=i,t},names:["Polyconic","poly"]},di={init:function(){this.A=[],this.A[1]=.6399175073,this.A[2]=-.1358797613,this.A[3]=.063294409,this.A[4]=-.02526853,this.A[5]=.0117879,this.A[6]=-.0055161,this.A[7]=.0026906,this.A[8]=-.001333,this.A[9]=67e-5,this.A[10]=-34e-5,this.B_re=[],this.B_im=[],this.B_re[1]=.7557853228,this.B_im[1]=0,this.B_re[2]=.249204646,this.B_im[2]=.003371507,this.B_re[3]=-.001541739,this.B_im[3]=.04105856,this.B_re[4]=-.10162907,this.B_im[4]=.01727609,this.B_re[5]=-.26623489,this.B_im[5]=-.36249218,this.B_re[6]=-.6870983,this.B_im[6]=-1.1651967,this.C_re=[],this.C_im=[],this.C_re[1]=1.3231270439,this.C_im[1]=0,this.C_re[2]=-.577245789,this.C_im[2]=-.007809598,this.C_re[3]=.508307513,this.C_im[3]=-.112208952,this.C_re[4]=-.15094762,this.C_im[4]=.18200602,this.C_re[5]=1.01418179,this.C_im[5]=1.64497696,this.C_re[6]=1.9660549,this.C_im[6]=2.5127645,this.D=[],this.D[1]=1.5627014243,this.D[2]=.5185406398,this.D[3]=-.03333098,this.D[4]=-.1052906,this.D[5]=-.0368594,this.D[6]=.007317,this.D[7]=.0122,this.D[8]=.00394,this.D[9]=-.0013},forward:function(t){var s,i=t.x,a=t.y-this.lat0,h=i-this.long0,e=a/yt*1e-5,n=h,r=1,o=0;for(s=1;s<=10;s++)r*=e,o+=this.A[s]*r;var l,u=o,c=n,M=1,f=0,d=0,p=0;for(s=1;s<=6;s++)l=f*u+M*c,M=M*u-f*c,f=l,d=d+this.B_re[s]*M-this.B_im[s]*f,p=p+this.B_im[s]*M+this.B_re[s]*f;return t.x=p*this.a+this.x0,t.y=d*this.a+this.y0,t},inverse:function(t){var s,i,a=t.x,h=t.y,e=a-this.x0,n=(h-this.y0)/this.a,r=e/this.a,o=1,l=0,u=0,c=0;for(s=1;s<=6;s++)i=l*n+o*r,o=o*n-l*r,l=i,u=u+this.C_re[s]*o-this.C_im[s]*l,c=c+this.C_im[s]*o+this.C_re[s]*l;for(var M=0;M<this.iterations;M++){var f,d=u,p=c,m=n,_=r;for(s=2;s<=6;s++)f=p*u+d*c,d=d*u-p*c,p=f,m+=(s-1)*(this.B_re[s]*d-this.B_im[s]*p),_+=(s-1)*(this.B_im[s]*d+this.B_re[s]*p);d=1,p=0;var y=this.B_re[1],x=this.B_im[1];for(s=2;s<=6;s++)f=p*u+d*c,d=d*u-p*c,p=f,y+=s*(this.B_re[s]*d-this.B_im[s]*p),x+=s*(this.B_im[s]*d+this.B_re[s]*p);var g=y*y+x*x;u=(m*y+_*x)/g,c=(_*y-m*x)/g}var v=u,b=c,w=1,N=0;for(s=1;s<=9;s++)w*=v,N+=this.D[s]*w;var A=this.lat0+N*yt*1e5,E=this.long0+b;return t.x=E,t.y=A,t},names:["New_Zealand_Map_Grid","nzmg"]},pi={init:function(){},forward:function(t){var s=t.x,i=t.y,a=Ht(s-this.long0),h=this.x0+this.a*a,e=this.y0+this.a*Math.log(Math.tan(Math.PI/4+i/2.5))*1.25;return t.x=h,t.y=e,t},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s=Ht(this.long0+t.x/this.a),i=2.5*(Math.atan(Math.exp(.8*t.y/this.a))-Math.PI/4);return t.x=s,t.y=i,t},names:["Miller_Cylindrical","mill"]},mi=20,_i={init:function(){this.sphere?(this.n=1,this.m=0,this.es=0,this.C_y=Math.sqrt((this.m+1)/this.n),this.C_x=this.C_y/(this.m+1)):this.en=ys(this.es)},forward:function(t){var s,i,a=t.x,h=t.y;if(a=Ht(a-this.long0),this.sphere){if(this.m)for(var e=this.n*Math.sin(h),n=mi;n;--n){var r=(this.m*h+Math.sin(h)-e)/(this.m+Math.cos(h));if(h-=r,Math.abs(r)<wt)break}else h=1!==this.n?Math.asin(this.n*Math.sin(h)):h;s=this.a*this.C_x*a*(this.m+Math.cos(h)),i=this.a*this.C_y*h}else{var o=Math.sin(h),l=Math.cos(h);i=this.a*xs(h,o,l,this.en),s=this.a*a*l/Math.sqrt(1-this.es*o*o)}return t.x=s,t.y=i,t},inverse:function(t){var s,i,a,h;return t.x-=this.x0,a=t.x/this.a,t.y-=this.y0,s=t.y/this.a,this.sphere?(s/=this.C_y,a/=this.C_x*(this.m+Math.cos(s)),this.m?s=ni((this.m*s+Math.sin(s))/this.n):1!==this.n&&(s=ni(Math.sin(s)/this.n)),a=Ht(a+this.long0),s=Ks(s)):(s=gs(t.y/this.a,this.es,this.en),(h=Math.abs(s))<xt?(h=Math.sin(s),i=this.long0+t.x*Math.sqrt(1-this.es*h*h)/(this.a*Math.cos(s)),a=Ht(i)):h-wt<xt&&(a=this.long0)),t.x=a,t.y=s,t},names:["Sinusoidal","sinu"]},yi={init:function(){},forward:function(t){for(var s=t.x,i=t.y,a=Ht(s-this.long0),h=i,e=Math.PI*Math.sin(i);;){var n=-(h+Math.sin(h)-e)/(1+Math.cos(h));if(h+=n,Math.abs(n)<wt)break}h/=2,Math.PI/2-Math.abs(i)<wt&&(a=0);var r=.900316316158*this.a*a*Math.cos(h)+this.x0,o=1.4142135623731*this.a*Math.sin(h)+this.y0;return t.x=r,t.y=o,t},inverse:function(t){var s,i;t.x-=this.x0,t.y-=this.y0,i=t.y/(1.4142135623731*this.a),Math.abs(i)>.999999999999&&(i=.999999999999),s=Math.asin(i);var a=Ht(this.long0+t.x/(.900316316158*this.a*Math.cos(s)));a<-Math.PI&&(a=-Math.PI),a>Math.PI&&(a=Math.PI),i=(2*s+Math.sin(2*s))/Math.PI,Math.abs(i)>1&&(i=1);var h=Math.asin(i);return t.x=a,t.y=h,t},names:["Mollweide","moll"]},xi={init:function(){Math.abs(this.lat1+this.lat2)<wt||(this.lat2=this.lat2||this.lat1,this.temp=this.b/this.a,this.es=1-Math.pow(this.temp,2),this.e=Math.sqrt(this.es),this.e0=Qs(this.es),this.e1=Ws(this.es),this.e2=Hs(this.es),this.e3=Xs(this.es),this.sinphi=Math.sin(this.lat1),this.cosphi=Math.cos(this.lat1),this.ms1=Qt(this.e,this.sinphi,this.cosphi),this.ml1=Us(this.e0,this.e1,this.e2,this.e3,this.lat1),Math.abs(this.lat1-this.lat2)<wt?this.ns=this.sinphi:(this.sinphi=Math.sin(this.lat2),this.cosphi=Math.cos(this.lat2),this.ms2=Qt(this.e,this.sinphi,this.cosphi),this.ml2=Us(this.e0,this.e1,this.e2,this.e3,this.lat2),this.ns=(this.ms1-this.ms2)/(this.ml2-this.ml1)),this.g=this.ml1+this.ms1/this.ns,this.ml0=Us(this.e0,this.e1,this.e2,this.e3,this.lat0),this.rh=this.a*(this.g-this.ml0))},forward:function(t){var s,i=t.x,a=t.y;if(this.sphere)s=this.a*(this.g-a);else{var h=Us(this.e0,this.e1,this.e2,this.e3,a);s=this.a*(this.g-h)}var e=this.ns*Ht(i-this.long0),n=this.x0+s*Math.sin(e),r=this.y0+this.rh-s*Math.cos(e);return t.x=n,t.y=r,t},inverse:function(t){t.x-=this.x0,t.y=this.rh-t.y+this.y0;var s,i,a,h;this.ns>=0?(i=Math.sqrt(t.x*t.x+t.y*t.y),s=1):(i=-Math.sqrt(t.x*t.x+t.y*t.y),s=-1);var e=0;
37227if(0!==i&&(e=Math.atan2(s*t.x,s*t.y)),this.sphere)return h=Ht(this.long0+e/this.ns),a=Ks(this.g-i/this.a),t.x=h,t.y=a,t;var n=this.g-i/this.a;return a=Vs(n,this.e0,this.e1,this.e2,this.e3),h=Ht(this.long0+e/this.ns),t.x=h,t.y=a,t},names:["Equidistant_Conic","eqdc"]},gi={init:function(){this.R=this.a},forward:function(t){var s,i,a=t.x,h=t.y,e=Ht(a-this.long0);Math.abs(h)<=wt&&(s=this.x0+this.R*e,i=this.y0);var n=ni(2*Math.abs(h/Math.PI));(Math.abs(e)<=wt||Math.abs(Math.abs(h)-xt)<=wt)&&(s=this.x0,i=h>=0?this.y0+Math.PI*this.R*Math.tan(.5*n):this.y0+Math.PI*this.R*-Math.tan(.5*n));var r=.5*Math.abs(Math.PI/e-e/Math.PI),o=r*r,l=Math.sin(n),u=Math.cos(n),c=u/(l+u-1),M=c*c,f=c*(2/l-1),d=f*f,p=Math.PI*this.R*(r*(c-d)+Math.sqrt(o*(c-d)*(c-d)-(d+o)*(M-d)))/(d+o);e<0&&(p=-p),s=this.x0+p;var m=o+c;return p=Math.PI*this.R*(f*m-r*Math.sqrt((d+o)*(o+1)-m*m))/(d+o),i=h>=0?this.y0+p:this.y0-p,t.x=s,t.y=i,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,u,c,M,f;return t.x-=this.x0,t.y-=this.y0,c=Math.PI*this.R,a=t.x/c,h=t.y/c,e=a*a+h*h,n=-Math.abs(h)*(1+e),r=n-2*h*h+a*a,o=-2*n+1+2*h*h+e*e,f=h*h/o+(2*r*r*r/o/o/o-9*n*r/o/o)/27,l=(n-r*r/3/o)/o,u=2*Math.sqrt(-l/3),c=3*f/l/u,Math.abs(c)>1&&(c=c>=0?1:-1),M=Math.acos(c)/3,i=t.y>=0?(-u*Math.cos(M+Math.PI/3)-r/3/o)*Math.PI:-(-u*Math.cos(M+Math.PI/3)-r/3/o)*Math.PI,s=Math.abs(a)<wt?this.long0:Ht(this.long0+Math.PI*(e-1+Math.sqrt(1+2*(a*a-h*h)+e*e))/2/a),t.x=s,t.y=i,t},names:["Van_der_Grinten_I","VanDerGrinten","vandg"]},vi={init:function(){this.sin_p12=Math.sin(this.lat0),this.cos_p12=Math.cos(this.lat0)},forward:function(t){var s,i,a,h,e,n,r,o,l,u,c,M,f,d,p,m,_,y,x,g,v,b,w,N=t.x,A=t.y,E=Math.sin(t.y),C=Math.cos(t.y),P=Ht(N-this.long0);return this.sphere?Math.abs(this.sin_p12-1)<=wt?(t.x=this.x0+this.a*(xt-A)*Math.sin(P),t.y=this.y0-this.a*(xt-A)*Math.cos(P),t):Math.abs(this.sin_p12+1)<=wt?(t.x=this.x0+this.a*(xt+A)*Math.sin(P),t.y=this.y0+this.a*(xt+A)*Math.cos(P),t):(y=this.sin_p12*E+this.cos_p12*C*Math.cos(P),m=Math.acos(y),_=m?m/Math.sin(m):1,t.x=this.x0+this.a*_*C*Math.sin(P),t.y=this.y0+this.a*_*(this.cos_p12*E-this.sin_p12*C*Math.cos(P)),t):(s=Qs(this.es),i=Ws(this.es),a=Hs(this.es),h=Xs(this.es),Math.abs(this.sin_p12-1)<=wt?(e=this.a*Us(s,i,a,h,xt),n=this.a*Us(s,i,a,h,A),t.x=this.x0+(e-n)*Math.sin(P),t.y=this.y0-(e-n)*Math.cos(P),t):Math.abs(this.sin_p12+1)<=wt?(e=this.a*Us(s,i,a,h,xt),n=this.a*Us(s,i,a,h,A),t.x=this.x0+(e+n)*Math.sin(P),t.y=this.y0+(e+n)*Math.cos(P),t):(r=E/C,o=Js(this.a,this.e,this.sin_p12),l=Js(this.a,this.e,E),u=Math.atan((1-this.es)*r+this.es*o*this.sin_p12/(l*C)),c=Math.atan2(Math.sin(P),this.cos_p12*Math.tan(u)-this.sin_p12*Math.cos(P)),x=0===c?Math.asin(this.cos_p12*Math.sin(u)-this.sin_p12*Math.cos(u)):Math.abs(Math.abs(c)-Math.PI)<=wt?-Math.asin(this.cos_p12*Math.sin(u)-this.sin_p12*Math.cos(u)):Math.asin(Math.sin(P)*Math.cos(u)/Math.sin(c)),M=this.e*this.sin_p12/Math.sqrt(1-this.es),f=this.e*this.cos_p12*Math.cos(c)/Math.sqrt(1-this.es),d=M*f,p=f*f,g=x*x,v=g*x,b=v*x,w=b*x,m=o*x*(1-g*p*(1-p)/6+v/8*d*(1-2*p)+b/120*(p*(4-7*p)-3*M*M*(1-7*p))-w/48*d),t.x=this.x0+m*Math.sin(c),t.y=this.y0+m*Math.cos(c),t))},inverse:function(t){t.x-=this.x0,t.y-=this.y0;var s,i,a,h,e,n,r,o,l,u,c,M,f,d,p,m,_,y,x,g,v,b,w,N;if(this.sphere){if((s=Math.sqrt(t.x*t.x+t.y*t.y))>2*xt*this.a)return;return i=s/this.a,a=Math.sin(i),h=Math.cos(i),e=this.long0,Math.abs(s)<=wt?n=this.lat0:(n=ni(h*this.sin_p12+t.y*a*this.cos_p12/s),r=Math.abs(this.lat0)-xt,e=Ht(Math.abs(r)<=wt?this.lat0>=0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y):this.long0+Math.atan2(t.x*a,s*this.cos_p12*h-t.y*this.sin_p12*a))),t.x=e,t.y=n,t}return o=Qs(this.es),l=Ws(this.es),u=Hs(this.es),c=Xs(this.es),Math.abs(this.sin_p12-1)<=wt?(M=this.a*Us(o,l,u,c,xt),s=Math.sqrt(t.x*t.x+t.y*t.y),f=M-s,n=Vs(f/this.a,o,l,u,c),e=Ht(this.long0+Math.atan2(t.x,-1*t.y)),t.x=e,t.y=n,t):Math.abs(this.sin_p12+1)<=wt?(M=this.a*Us(o,l,u,c,xt),s=Math.sqrt(t.x*t.x+t.y*t.y),f=s-M,n=Vs(f/this.a,o,l,u,c),e=Ht(this.long0+Math.atan2(t.x,t.y)),t.x=e,t.y=n,t):(s=Math.sqrt(t.x*t.x+t.y*t.y),m=Math.atan2(t.x,t.y),d=Js(this.a,this.e,this.sin_p12),_=Math.cos(m),y=this.e*this.cos_p12*_,x=-y*y/(1-this.es),g=3*this.es*(1-x)*this.sin_p12*this.cos_p12*_/(1-this.es),v=s/d,b=v-x*(1+x)*Math.pow(v,3)/6-g*(1+3*x)*Math.pow(v,4)/24,w=1-x*b*b/2-v*b*b*b/6,p=Math.asin(this.sin_p12*Math.cos(b)+this.cos_p12*Math.sin(b)*_),e=Ht(this.long0+Math.asin(Math.sin(m)*Math.sin(b)/Math.cos(p))),N=Math.sin(p),n=Math.atan2((N-this.es*w*this.sin_p12)*Math.tan(p),N*(1-this.es)),t.x=e,t.y=n,t)},names:["Azimuthal_Equidistant","aeqd"]},bi={init:function(){this.sin_p14=Math.sin(this.lat0),this.cos_p14=Math.cos(this.lat0)},forward:function(t){var s,i,a,h,e,n,r,o=t.x,l=t.y;return a=Ht(o-this.long0),s=Math.sin(l),i=Math.cos(l),h=Math.cos(a),((e=this.sin_p14*s+this.cos_p14*i*h)>0||Math.abs(e)<=wt)&&(n=1*this.a*i*Math.sin(a),r=this.y0+1*this.a*(this.cos_p14*s-this.sin_p14*i*h)),t.x=n,t.y=r,t},inverse:function(t){var s,i,a,h,e,n,r;return t.x-=this.x0,t.y-=this.y0,s=Math.sqrt(t.x*t.x+t.y*t.y),i=ni(s/this.a),a=Math.sin(i),h=Math.cos(i),n=this.long0,Math.abs(s)<=wt?(r=this.lat0,t.x=n,t.y=r,t):(r=ni(h*this.sin_p14+t.y*a*this.cos_p14/s),e=Math.abs(this.lat0)-xt,Math.abs(e)<=wt?(n=Ht(this.lat0>=0?this.long0+Math.atan2(t.x,-t.y):this.long0-Math.atan2(-t.x,t.y)),t.x=n,t.y=r,t):(n=Ht(this.long0+Math.atan2(t.x*a,s*this.cos_p14*h-t.y*this.sin_p14*a)),t.x=n,t.y=r,t))},names:["ortho"]},wi={FRONT:1,RIGHT:2,BACK:3,LEFT:4,TOP:5,BOTTOM:6},Ni={AREA_0:1,AREA_1:2,AREA_2:3,AREA_3:4},Ai={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.lat0=this.lat0||0,this.long0=this.long0||0,this.lat_ts=this.lat_ts||0,this.title=this.title||"Quadrilateralized Spherical Cube",this.lat0>=xt-Et/2?this.face=wi.TOP:this.lat0<=-(xt-Et/2)?this.face=wi.BOTTOM:Math.abs(this.long0)<=Et?this.face=wi.FRONT:Math.abs(this.long0)<=xt+Et?this.face=this.long0>0?wi.RIGHT:wi.LEFT:this.face=wi.BACK,0!==this.es&&(this.one_minus_f=1-(this.a-this.b)/this.a,this.one_minus_f_squared=this.one_minus_f*this.one_minus_f)},forward:function(t){var s,i,a,h,e,n,r={x:0,y:0},o={value:0};if(t.x-=this.long0,s=0!==this.es?Math.atan(this.one_minus_f_squared*Math.tan(t.y)):t.y,i=t.x,this.face===wi.TOP)h=xt-s,i>=Et&&i<=xt+Et?(o.value=Ni.AREA_0,a=i-xt):i>xt+Et||i<=-(xt+Et)?(o.value=Ni.AREA_1,a=i>0?i-Pt:i+Pt):i>-(xt+Et)&&i<=-Et?(o.value=Ni.AREA_2,a=i+xt):(o.value=Ni.AREA_3,a=i);else if(this.face===wi.BOTTOM)h=xt+s,i>=Et&&i<=xt+Et?(o.value=Ni.AREA_0,a=-i+xt):i<Et&&i>=-Et?(o.value=Ni.AREA_1,a=-i):i<-Et&&i>=-(xt+Et)?(o.value=Ni.AREA_2,a=-i-xt):(o.value=Ni.AREA_3,a=i>0?-i+Pt:-i-Pt);else{var l,u,c,M,f,d;this.face===wi.RIGHT?i=ct(i,+xt):this.face===wi.BACK?i=ct(i,+Pt):this.face===wi.LEFT&&(i=ct(i,-xt)),M=Math.sin(s),f=Math.cos(s),d=Math.sin(i),l=f*Math.cos(i),u=f*d,c=M,this.face===wi.FRONT?a=ut(h=Math.acos(l),c,u,o):this.face===wi.RIGHT?a=ut(h=Math.acos(u),c,-l,o):this.face===wi.BACK?a=ut(h=Math.acos(-l),c,-u,o):this.face===wi.LEFT?a=ut(h=Math.acos(-u),c,l,o):(h=a=0,o.value=Ni.AREA_0)}return n=Math.atan(12/Pt*(a+Math.acos(Math.sin(a)*Math.cos(Et))-xt)),e=Math.sqrt((1-Math.cos(h))/(Math.cos(n)*Math.cos(n))/(1-Math.cos(Math.atan(1/Math.cos(a))))),o.value===Ni.AREA_1?n+=xt:o.value===Ni.AREA_2?n+=Pt:o.value===Ni.AREA_3&&(n+=1.5*Pt),r.x=e*Math.cos(n),r.y=e*Math.sin(n),r.x=r.x*this.a+this.x0,r.y=r.y*this.a+this.y0,t.x=r.x,t.y=r.y,t},inverse:function(t){var s,i,a,h,e,n,r,o,l,u={lam:0,phi:0},c={value:0};if(t.x=(t.x-this.x0)/this.a,t.y=(t.y-this.y0)/this.a,i=Math.atan(Math.sqrt(t.x*t.x+t.y*t.y)),s=Math.atan2(t.y,t.x),t.x>=0&&t.x>=Math.abs(t.y)?c.value=Ni.AREA_0:t.y>=0&&t.y>=Math.abs(t.x)?(c.value=Ni.AREA_1,s-=xt):t.x<0&&-t.x>=Math.abs(t.y)?(c.value=Ni.AREA_2,s=s<0?s+Pt:s-Pt):(c.value=Ni.AREA_3,s+=xt),l=Pt/12*Math.tan(s),e=Math.sin(l)/(Math.cos(l)-1/Math.sqrt(2)),n=Math.atan(e),a=Math.cos(s),h=Math.tan(i),(r=1-a*a*h*h*(1-Math.cos(Math.atan(1/Math.cos(n)))))<-1?r=-1:r>1&&(r=1),this.face===wi.TOP)o=Math.acos(r),u.phi=xt-o,c.value===Ni.AREA_0?u.lam=n+xt:c.value===Ni.AREA_1?u.lam=n<0?n+Pt:n-Pt:c.value===Ni.AREA_2?u.lam=n-xt:u.lam=n;else if(this.face===wi.BOTTOM)o=Math.acos(r),u.phi=o-xt,c.value===Ni.AREA_0?u.lam=-n+xt:c.value===Ni.AREA_1?u.lam=-n:c.value===Ni.AREA_2?u.lam=-n-xt:u.lam=n<0?-n-Pt:-n+Pt;else{var M,f,d;l=(M=r)*M,f=(l+=(d=l>=1?0:Math.sqrt(1-l)*Math.sin(n))*d)>=1?0:Math.sqrt(1-l),c.value===Ni.AREA_1?(l=f,f=-d,d=l):c.value===Ni.AREA_2?(f=-f,d=-d):c.value===Ni.AREA_3&&(l=f,f=d,d=-l),this.face===wi.RIGHT?(l=M,M=-f,f=l):this.face===wi.BACK?(M=-M,f=-f):this.face===wi.LEFT&&(l=M,M=f,f=-l),u.phi=Math.acos(-d)-xt,u.lam
37227=Math.atan2(f,M),this.face===wi.RIGHT?u.lam=ct(u.lam,-xt):this.face===wi.BACK?u.lam=ct(u.lam,-Pt):this.face===wi.LEFT&&(u.lam=ct(u.lam,+xt))}if(0!==this.es){var p,m,_;p=u.phi<0?1:0,m=Math.tan(u.phi),_=this.b/Math.sqrt(m*m+this.one_minus_f_squared),u.phi=Math.atan(Math.sqrt(this.a*this.a-_*_)/(this.one_minus_f*_)),p&&(u.phi=-u.phi)}return u.lam+=this.long0,t.x=u.lam,t.y=u.phi,t},names:["Quadrilateralized Spherical Cube","Quadrilateralized_Spherical_Cube","qsc"]},Ei=[[1,2.2199e-17,-715515e-10,31103e-10],[.9986,-482243e-9,-24897e-9,-13309e-10],[.9954,-83103e-8,-448605e-10,-9.86701e-7],[.99,-.00135364,-59661e-9,36777e-10],[.9822,-.00167442,-449547e-11,-572411e-11],[.973,-.00214868,-903571e-10,1.8736e-8],[.96,-.00305085,-900761e-10,164917e-11],[.9427,-.00382792,-653386e-10,-26154e-10],[.9216,-.00467746,-10457e-8,481243e-11],[.8962,-.00536223,-323831e-10,-543432e-11],[.8679,-.00609363,-113898e-9,332484e-11],[.835,-.00698325,-640253e-10,9.34959e-7],[.7986,-.00755338,-500009e-10,9.35324e-7],[.7597,-.00798324,-35971e-9,-227626e-11],[.7186,-.00851367,-701149e-10,-86303e-10],[.6732,-.00986209,-199569e-9,191974e-10],[.6213,-.010418,883923e-10,624051e-11],[.5722,-.00906601,182e-6,624051e-11],[.5322,-.00677797,275608e-9,624051e-11]],Ci=[[-5.20417e-18,.0124,1.21431e-18,-8.45284e-11],[.062,.0124,-1.26793e-9,4.22642e-10],[.124,.0124,5.07171e-9,-1.60604e-9],[.186,.0123999,-1.90189e-8,6.00152e-9],[.248,.0124002,7.10039e-8,-2.24e-8],[.31,.0123992,-2.64997e-7,8.35986e-8],[.372,.0124029,9.88983e-7,-3.11994e-7],[.434,.0123893,-369093e-11,-4.35621e-7],[.4958,.0123198,-102252e-10,-3.45523e-7],[.5571,.0121916,-154081e-10,-5.82288e-7],[.6176,.0119938,-241424e-10,-5.25327e-7],[.6769,.011713,-320223e-10,-5.16405e-7],[.7346,.0113541,-397684e-10,-6.09052e-7],[.7903,.0109107,-489042e-10,-104739e-11],[.8435,.0103431,-64615e-9,-1.40374e-9],[.8936,.00969686,-64636e-9,-8547e-9],[.9394,.00840947,-192841e-9,-42106e-10],[.9761,.00616527,-256e-6,-42106e-10],[1,.00328947,-319159e-9,-42106e-10]],Pi=.8487,Si=1.3523,Ii=At/5,Oi=1/Ii,ki=18,qi=function(t,s){return t[0]+s*(t[1]+s*(t[2]+s*t[3]))},Ri=function(t,s){return t[1]+s*(2*t[2]+3*s*t[3])},Li={init:function(){this.x0=this.x0||0,this.y0=this.y0||0,this.long0=this.long0||0,this.es=0,this.title=this.title||"Robinson"},forward:function(t){var s=Ht(t.x-this.long0),i=Math.abs(t.y),a=Math.floor(i*Ii);a<0?a=0:a>=ki&&(a=ki-1),i=At*(i-Oi*a);var h={x:qi(Ei[a],i)*s,y:qi(Ci[a],i)};return t.y<0&&(h.y=-h.y),h.x=h.x*this.a*Pi+this.x0,h.y=h.y*this.a*Si+this.y0,h},inverse:function(t){var s={x:(t.x-this.x0)/(this.a*Pi),y:Math.abs(t.y-this.y0)/(this.a*Si)};if(s.y>=1)s.x/=Ei[ki][0],s.y=t.y<0?-xt:xt;else{var i=Math.floor(s.y*ki);for(i<0?i=0:i>=ki&&(i=ki-1);;)if(Ci[i][0]>s.y)--i;else{if(!(Ci[i+1][0]<=s.y))break;++i}var a=Ci[i],h=5*(s.y-a[0])/(Ci[i+1][0]-a[0]);h=Mt(function(t){return(qi(a,t)-s.y)/Ri(a,t)},h,wt,100),s.x/=qi(Ei[i],h),s.y=(5*i+h)*Nt,t.y<0&&(s.y=-s.y)}return s.x=Ht(s.x+this.long0),s},names:["Robinson","robin"]},Ti={init:function(){this.name="geocent"},forward:function(t){return k(t,this.es,this.a)},inverse:function(t){return q(t,this.es,this.a,this.b)},names:["Geocentric","geocentric","geocent","Geocent"]},Gi={N_POLE:0,S_POLE:1,EQUIT:2,OBLIQ:3},ji={h:{def:1e5,num:!0},azi:{def:0,num:!0,degrees:!0},tilt:{def:0,num:!0,degrees:!0},long0:{def:0,num:!0},lat0:{def:0,num:!0}},Bi={init:function(){if(Object.keys(ji).forEach(function(t){if(void 0===this[t])this[t]=ji[t].def;else{if(ji[t].num&&isNaN(this[t]))throw new Error("Invalid parameter value, must be numeric "+t+" = "+this[t]);ji[t].num&&(this[t]=parseFloat(this[t]))}ji[t].degrees&&(this[t]=this[t]*Nt)}.bind(this)),Math.abs(Math.abs(this.lat0)-xt)<wt?this.mode=this.lat0<0?Gi.S_POLE:Gi.N_POLE:Math.abs(this.lat0)<wt?this.mode=Gi.EQUIT:(this.mode=Gi.OBLIQ,this.sinph0=Math.sin(this.lat0),this.cosph0=Math.cos(this.lat0)),this.pn1=this.h/this.a,this.pn1<=0||this.pn1>1e10)throw new Error("Invalid height");this.p=1+this.pn1,this.rp=1/this.p,this.h1=1/this.pn1,this.pfact=(this.p+1)*this.h1,this.es=0;var t=this.tilt,s=this.azi;this.cg=Math.cos(s),this.sg=Math.sin(s),this.cw=Math.cos(t),this.sw=Math.sin(t)},forward:function(t){t.x-=this.long0;var s,i,a=Math.sin(t.y),h=Math.cos(t.y),e=Math.cos(t.x);switch(this.mode){case Gi.OBLIQ:i=this.sinph0*a+this.cosph0*h*e;break;case Gi.EQUIT:i=h*e;break;case Gi.S_POLE:i=-a;break;case Gi.N_POLE:i=a}switch(i=this.pn1/(this.p-i),s=i*h*Math.sin(t.x),this.mode){case Gi.OBLIQ:i*=this.cosph0*a-this.sinph0*h*e;break;case Gi.EQUIT:i*=a;break;case Gi.N_POLE:i*=-h*e;break;case Gi.S_POLE:i*=h*e}var n,r;return n=i*this.cg+s*this.sg,r=1/(n*this.sw*this.h1+this.cw),s=(s*this.cg-i*this.sg)*this.cw*r,i=n*r,t.x=s*this.a,t.y=i*this.a,t},inverse:function(t){t.x/=this.a,t.y/=this.a;var s,i,a,h={x:t.x,y:t.y};a=1/(this.pn1-t.y*this.sw),s=this.pn1*t.x*a,i=this.pn1*t.y*this.cw*a,t.x=s*this.cg+i*this.sg,t.y=i*this.cg-s*this.sg;var e=ws(t.x,t.y);if(Math.abs(e)<wt)h.x=0,h.y=t.y;else{var n,r;switch(r=1-e*e*this.pfact,r=(this.p-Math.sqrt(r))/(this.pn1/e+e/this.pn1),n=Math.sqrt(1-r*r),this.mode){case Gi.OBLIQ:h.y=Math.asin(n*this.sinph0+t.y*r*this.cosph0/e),t.y=(n-this.sinph0*Math.sin(h.y))*e,t.x*=r*this.cosph0;break;case Gi.EQUIT:h.y=Math.asin(t.y*r/e),t.y=n*e,t.x*=r;break;case Gi.N_POLE:h.y=Math.asin(n),t.y=-t.y;break;case Gi.S_POLE:h.y=-Math.asin(n)}h.x=Math.atan2(t.x,t.y)}return t.x=h.x+this.long0,t.y=h.y,t},names:["Tilted_Perspective","tpers"]},zi={init:function(){if(this.flip_axis="x"===this.sweep?1:0,this.h=Number(this.h),this.radius_g_1=this.h/this.a,this.radius_g_1<=0||this.radius_g_1>1e10)throw new Error;if(this.radius_g=1+this.radius_g_1,this.C=this.radius_g*this.radius_g-1,0!==this.es){var t=1-this.es,s=1/t;this.radius_p=Math.sqrt(t),this.radius_p2=t,this.radius_p_inv2=s,this.shape="ellipse"}else this.radius_p=1,this.radius_p2=1,this.radius_p_inv2=1,this.shape="sphere";this.title||(this.title="Geostationary Satellite View")},forward:function(t){var s,i,a,h,e=t.x,n=t.y;if(e-=this.long0,"ellipse"===this.shape){n=Math.atan(this.radius_p2*Math.tan(n));var r=this.radius_p/ws(this.radius_p*Math.cos(n),Math.sin(n));if(i=r*Math.cos(e)*Math.cos(n),a=r*Math.sin(e)*Math.cos(n),h=r*Math.sin(n),(this.radius_g-i)*i-a*a-h*h*this.radius_p_inv2<0)return t.x=Number.NaN,t.y=Number.NaN,t;s=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(a/ws(h,s)),t.y=this.radius_g_1*Math.atan(h/s)):(t.x=this.radius_g_1*Math.atan(a/s),t.y=this.radius_g_1*Math.atan(h/ws(a,s)))}else"sphere"===this.shape&&(s=Math.cos(n),i=Math.cos(e)*s,a=Math.sin(e)*s,h=Math.sin(n),s=this.radius_g-i,this.flip_axis?(t.x=this.radius_g_1*Math.atan(a/ws(h,s)),t.y=this.radius_g_1*Math.atan(h/s)):(t.x=this.radius_g_1*Math.atan(a/s),t.y=this.radius_g_1*Math.atan(h/ws(a,s))));return t.x=t.x*this.a,t.y=t.y*this.a,t},inverse:function(t){var s,i,a,h,e=-1,n=0,r=0;if(t.x=t.x/this.a,t.y=t.y/this.a,"ellipse"===this.shape){this.flip_axis?(r=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*ws(1,r)):(n=Math.tan(t.x/this.radius_g_1),r=Math.tan(t.y/this.radius_g_1)*ws(1,n));var o=r/this.radius_p;if(s=n*n+o*o+e*e,i=2*this.radius_g*e,(a=i*i-4*s*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;h=(-i-Math.sqrt(a))/(2*s),e=this.radius_g+h*e,n*=h,r*=h,t.x=Math.atan2(n,e),t.y=Math.atan(r*Math.cos(t.x)/e),t.y=Math.atan(this.radius_p_inv2*Math.tan(t.y))}else if("sphere"===this.shape){if(this.flip_axis?(r=Math.tan(t.y/this.radius_g_1),n=Math.tan(t.x/this.radius_g_1)*Math.sqrt(1+r*r)):(n=Math.tan(t.x/this.radius_g_1),r=Math.tan(t.y/this.radius_g_1)*Math.sqrt(1+n*n)),s=n*n+r*r+e*e,i=2*this.radius_g*e,(a=i*i-4*s*this.C)<0)return t.x=Number.NaN,t.y=Number.NaN,t;h=(-i-Math.sqrt(a))/(2*s),e=this.radius_g+h*e,n*=h,r*=h,t.x=Math.atan2(n,e),t.y=Math.atan(r*Math.cos(t.x)/e)}return t.x=t.x+this.long0,t},names:["Geostationary Satellite View","Geostationary_Satellite","geos"]};return W.defaultDatum="WGS84",W.Proj=Projection,W.WGS84=new W.Proj("WGS84"),W.Point=Point,W.toPoint=es,W.defs=o,W.nadgr
37227id=function(t,s){var i=new DataView(s),a=N(i),h=A(i,a),e={header:h,subgrids:C(i,h,a)};return is[t]=e,e},W.transform=D,W.mgrs=ms,W.version="2.9.2",function(proj4){proj4.Proj.projections.add(vs),proj4.Proj.projections.add(Is),proj4.Proj.projections.add(ks),proj4.Proj.projections.add(Ts),proj4.Proj.projections.add(Gs),proj4.Proj.projections.add(js),proj4.Proj.projections.add(zs),proj4.Proj.projections.add(Fs),proj4.Proj.projections.add(Ds),proj4.Proj.projections.add(Zs),proj4.Proj.projections.add(ei),proj4.Proj.projections.add(ri),proj4.Proj.projections.add(oi),proj4.Proj.projections.add(ui),proj4.Proj.projections.add(ci),proj4.Proj.projections.add(fi),proj4.Proj.projections.add(di),proj4.Proj.projections.add(pi),proj4.Proj.projections.add(_i),proj4.Proj.projections.add(yi),proj4.Proj.projections.add(xi),proj4.Proj.projections.add(gi),proj4.Proj.projections.add(vi),proj4.Proj.projections.add(bi),proj4.Proj.projections.add(Ai),proj4.Proj.projections.add(Li),proj4.Proj.projections.add(Ti),proj4.Proj.projections.add(Bi),proj4.Proj.projections.add(zi)}(W),W});
37228
vendor: 22,881 bytes, lines 37229-37230
37229/*! jQuery v3.7.1 | (c) OpenJS Foundation and other contributors | jquery.org/license */
37230!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(ie,e){"use strict";var oe=[],r=Object.getPrototypeOf,ae=oe.slice,g=oe.flat?function(e){return oe.flat.call(e)}:function(e){return oe.concat.apply([],e)},s=oe.push,se=oe.indexOf,n={},i=n.toString,ue=n.hasOwnProperty,o=ue.toString,a=o.call(Object),le={},v=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType&&"function"!=typeof e.item},y=function(e){return null!=e&&e===e.window},C=ie.document,u={type:!0,src:!0,nonce:!0,noModule:!0};function m(e,t,n){var r,i,o=(n=n||C).createElement("script");if(o.text=e,t)for(r in u)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function x(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[i.call(e)]||"object":typeof e}var t="3.7.1",l=/HTML$/i,ce=function(e,t){return new ce.fn.init(e,t)};function c(e){var t=!!e&&"length"in e&&e.length,n=x(e);return!v(e)&&!y(e)&&("array"===n||0===t||"number"==typeof t&&0<t&&t-1 in e)}function fe(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()}ce.fn=ce.prototype={jquery:t,constructor:ce,length:0,toArray:function(){return ae.call(this)},get:function(e){return null==e?ae.call(this):e<0?this[e+this.length]:this[e]},pushStack:function(e){var t=ce.merge(this.constructor(),e);return t.prevObject=this,t},each:function(e){return ce.each(this,e)},map:function(n){return this.pushStack(ce.map(this,function(e,t){return n.call(e,t,e)}))},slice:function(){return this.pushStack(ae.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},even:function(){return this.pushStack(ce.grep(this,function(e,t){return(t+1)%2}))},odd:function(){return this.pushStack(ce.grep(this,function(e,t){return t%2}))},eq:function(e){var t=this.length,n=+e+(e<0?t:0);return this.pushStack(0<=n&&n<t?[this[n]]:[])},end:function(){return this.prevObject||this.constructor()},push:s,sort:oe.sort,splice:oe.splice},ce.extend=ce.fn.extend=function(){var e,t,n,r,i,o,a=arguments[0]||{},s=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[s]||{},s++),"object"==typeof a||v(a)||(a={}),s===u&&(a=this,s--);s<u;s++)if(null!=(e=arguments[s]))for(t in e)r=e[t],"__proto__"!==t&&a!==r&&(l&&r&&(ce.isPlainObject(r)||(i=Array.isArray(r)))?(n=a[t],o=i&&!Array.isArray(n)?[]:i||ce.isPlainObject(n)?n:{},i=!1,a[t]=ce.extend(l,o,r)):void 0!==r&&(a[t]=r));return a},ce.extend({expando:"jQuery"+(t+Math.random()).replace(/\D/g,""),isReady:!0,error:function(e){throw new Error(e)},noop:function(){},isPlainObject:function(e){var t,n;return!(!e||"[object Object]"!==i.call(e))&&(!(t=r(e))||"function"==typeof(n=ue.call(t,"constructor")&&t.constructor)&&o.call(n)===a)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},globalEval:function(e,t,n){m(e,{nonce:t&&t.nonce},n)},each:function(e,t){var n,r=0;if(c(e)){for(n=e.length;r<n;r++)if(!1===t.call(e[r],r,e[r]))break}else for(r in e)if(!1===t.call(e[r],r,e[r]))break;return e},text:function(e){var t,n="",r=0,i=e.nodeType;if(!i)while(t=e[r++])n+=ce.text(t);return 1===i||11===i?e.textContent:9===i?e.documentElement.textContent:3===i||4===i?e.nodeValue:n},makeArray:function(e,t){var n=t||[];return null!=e&&(c(Object(e))?ce.merge(n,"string"==typeof e?[e]:e):s.call(n,e)),n},inArray:function(e,t,n){return null==t?-1:se.call(t,e,n)},isXMLDoc:function(e){var t=e&&e.namespaceURI,n=e&&(e.ownerDocument||e).documentElement;return!l.test(t||n&&n.nodeName||"HTML")},merge:function(e,t){for(var n=+t.length,r=0,i=e.length;r<n;r++)e[i++]=t[r];return e.length=i,e},grep:function(e,t,n){for(var r=[],i=0,o=e.length,a=!n;i<o;i++)!t(e[i],i)!==a&&r.push(e[i]);return r},map:function(e,t,n){var r,i,o=0,a=[];if(c(e))for(r=e.length;o<r;o++)null!=(i=t(e[o],o,n))&&a.push(i);else for(o in e)null!=(i=t(e[o],o,n))&&a.push(i);return g(a)},guid:1,support:le}),"function"==typeof Symbol&&(ce.fn[Symbol.iterator]=oe[Symbol.iterator]),ce.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(e,t){n["[object "+t+"]"]=t.toLowerCase()});var pe=oe.pop,de=oe.sort,he=oe.splice,ge="[\\x20\\t\\r\\n\\f]",ve=new RegExp("^"+ge+"+|((?:^|[^\\\\])(?:\\\\.)*)"+ge+"+$","g");ce.contains=function(e,t){var n=t&&t.parentNode;return e===n||!(!n||1!==n.nodeType||!(e.contains?e.contains(n):e.compareDocumentPosition&&16&e.compareDocumentPosition(n)))};var f=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g;function p(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e}ce.escapeSelector=function(e){return(e+"").replace(f,p)};var ye=C,me=s;!function(){var e,b,w,o,a,T,r,C,d,i,k=me,S=ce.expando,E=0,n=0,s=W(),c=W(),u=W(),h=W(),l=function(e,t){return e===t&&(a=!0),0},f="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",t="(?:\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+",p="\\["+ge+"*("+t+")(?:"+ge+"*([*^$|!~]?=)"+ge+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+t+"))|)"+ge+"*\\]",g=":("+t+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+p+")*)|.*)\\)|)",v=new RegExp(ge+"+","g"),y=new RegExp("^"+ge+"*,"+ge+"*"),m=new RegExp("^"+ge+"*([>+~]|"+ge+")"+ge+"*"),x=new RegExp(ge+"|>"),j=new RegExp(g),A=new RegExp("^"+t+"$"),D={ID:new RegExp("^#("+t+")"),CLASS:new RegExp("^\\.("+t+")"),TAG:new RegExp("^("+t+"|[*])"),ATTR:new RegExp("^"+p),PSEUDO:new RegExp("^"+g),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+ge+"*(even|odd|(([+-]|)(\\d*)n|)"+ge+"*(?:([+-]|)"+ge+"*(\\d+)|))"+ge+"*\\)|)","i"),bool:new RegExp("^(?:"+f+")$","i"),needsContext:new RegExp("^"+ge+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+ge+"*((?:-\\d)?\\d*)"+ge+"*\\)|)(?=[^-]|$)","i")},N=/^(?:input|select|textarea|button)$/i,q=/^h\d$/i,L=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,H=/[+~]/,O=new RegExp("\\\\[\\da-fA-F]{1,6}"+ge+"?|\\\\([^\\r\\n\\f])","g"),P=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},M=function(){V()},R=J(function(e){return!0===e.disabled&&fe(e,"fieldset")},{dir:"parentNode",next:"legend"});try{k.apply(oe=ae.call(ye.childNodes),ye.childNodes),oe[ye.childNodes.length].nodeType}catch(e){k={apply:function(e,t){me.apply(e,ae.call(t))},call:function(e){me.apply(e,ae.call(arguments,1))}}}function I(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(V(e),e=e||T,C)){if(11!==p&&(u=L.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return k.call(n,a),n}else if(f&&(a=f.getElementById(i))&&I.contains(e,a)&&a.id===i)return k.call(n,a),n}else{if(u[2])return k.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&e.getElementsByClassName)return k.apply(n,e.getElementsByClassName(i)),n}if(!(h[t+" "]||d&&d.test(t))){if(c=t,f=e,1===p&&(x.test(t)||m.test(t))){(f=H.test(t)&&U(e.parentNode)||e)==e&&le.scope||((s=e.getAttribute("id"))?s=ce.escapeSelector(s):e.setAttribute("id",s=S)),o=(l=Y(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+Q(l[o]);c=l.join(",")}try{return k.apply(n,f.querySelectorAll(c)),n}catch(e){h(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return re(t.replace(ve,"$1"),e,n,r)}function W(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function F(e){return e[S]=!0,e}function $(e){var t=T.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function B(t){return function(e){return fe(e,"input")&&e.type===t}}function _(t){return function(e){return(fe(e,"input")||fe(e,"button"))&&e.type===t}}function z(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&R(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function X(a){return F(function(o){return o=+o,F(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function U(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}function V(e){var t,n=e?e.ownerDocument||e:ye;return n!=T&&9===n.nodeType&&n.documentElement&&(r=(T=n).documentElement,C=!ce.isXMLDoc(T),i=r.matches||r.webkitMatchesSelector||r.msMatchesSelector,r.msMatchesSelector&&ye!=T&&(t=T.defaultView)&&t.top!==t&&t.addEventListener("unload",M),le.getById=$(function(e){return r.appendChild(e).id=ce.expando,!T.getElementsByName||!T.getElementsByName(ce.expando).length}),le.disconnectedMatch=$(function(e){return i.call(e,"*")}),le.scope=$(function(){return T.querySelectorAll(":scope")}),le.cssHas=$(function(){try{return T.querySelector(":has(*,:jqfake)"),!1}catch(e){return!0}}),le.getById?(b.filter.ID=function(e){var t=e.replace(O,P);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(O,P);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&C){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):t.querySelectorAll(e)},b.find.CLASS=function(e,t){if("undefined"!=typeof t.getElementsByClassName&&C)return t.getElementsByClassName(e)},d=[],$(function(e){var t;r.appendChild(e).innerHTML="<a id='"+S+"' href='' disabled='disabled'></a><select id='"+S+"-\r\\' disabled='disabled'><option selected=''></option></select>",e.querySelectorAll("[selected]").length||d.push("\\["+ge+"*(?:value|"+f+")"),e.querySelectorAll("[id~="+S+"-]").length||d.push("~="),e.querySelectorAll("a#"+S+"+*").length||d.push(".#.+[+~]"),e.querySelectorAll(":checked").length||d.push(":checked"),(t=T.createElement("input")).setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),r.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&d.push(":enabled",":disabled"),(t=T.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||d.push("\\["+ge+"*name"+ge+"*="+ge+"*(?:''|\"\")")}),le.cssHas||d.push(":has"),d=d.length&&new RegExp(d.join("|")),l=function(e,t){if(e===t)return a=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!le.sortDetached&&t.compareDocumentPosition(e)===n?e===T||e.ownerDocument==ye&&I.contains(ye,e)?-1:t===T||t.ownerDocument==ye&&I.contains(ye,t)?1:o?se.call(o,e)-se.call(o,t):0:4&n?-1:1)}),T}for(e in I.matches=function(e,t){return I(e,null,null,t)},I.matchesSelector=function(e,t){if(V(e),C&&!h[t+" "]&&(!d||!d.test(t)))try{var n=i.call(e,t);if(n||le.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){h(t,!0)}return 0<I(t,T,null,[e]).length},I.contains=function(e,t){return(e.ownerDocument||e)!=T&&V(e),ce.contains(e,t)},I.attr=function(e,t){(e.ownerDocument||e)!=T&&V(e);var n=b.attrHandle[t.toLowerCase()],r=n&&ue.call(b.attrHandle,t.toLowerCase())?n(e,t,!C):void 0;return void 0!==r?r:e.getAttribute(t)},I.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},ce.uniqueSort=function(e){var t,n=[],r=0,i=0;if(a=!le.sortStable,o=!le.sortStable&&ae.call(e,0),de.call(e,l),a){while(t=e[i++])t===e[i]&&(r=n.push(i));while(r--)he.call(e,n[r],1)}return o=null,e},ce.fn.uniqueSort=function(){return this.pushStack(ce.uniqueSort(ae.apply(this)))},(b=ce.expr={cacheLength:50,createPseudo:F,match:D,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(O,P),e[3]=(e[3]||e[4]||e[5]||"").replace(O,P),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||I.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&I.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return D.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&j.test(n)&&(t=Y(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(O,P).toLowerCase();return"*"===e?function(){return!0}:function(e){return fe(e,t)}},CLASS:function(e){var t=s[e+" "];return t||(t=new RegExp("(^|"+ge+")"+e+"("+ge+"|$)"))&&s(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=I.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1<t.indexOf(i):"$="===r?i&&t.slice(-i.length)===i:"~="===r?-1<(" "+t.replace(v," ")+" ").indexOf(i):"|="===r&&(t===i||t.slice(0,i.length+1)===i+"-"))}},CHILD:function(d,e,t,h,g){var v="nth"!==d.slice(0,3),y="last"!==d.slice(-4),m="of-type"===e;return 1===h&&0===g?function(e){return!!e.parentNode}:function(e,t,n){var r,i,o,a,s,u=v!==y?"nextSibling":"previousSibling",l=e.parentNode,c=m&&e.nodeName.toLowerCase(),f=!n&&!m,p=!1;if(l){if(v){while(u){o=e;while(o=o[u])if(m?fe(o,c):1===o.nodeType)return!1;s=u="only"===d&&!s&&"nextSibling"}return!0}if(s=[y?l.firstChild:l.lastChild],y&&f){p=(a=(r=(i=l[S]||(l[S]={}))[d]||[])[0]===E&&r[1])&&r[2],o=a&&l.childNodes[a];while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if(1===o.nodeType&&++p&&o===e){i[d]=[E,a,p];break}}else if(f&&(p=a=(r=(i=e[S]||(e[S]={}))[d]||[])[0]===E&&r[1]),!1===p)while(o=++a&&o&&o[u]||(p=a=0)||s.pop())if((m?fe(o,c):1===o.nodeType)&&++p&&(f&&((i=o[S]||(o[S]={}))[d]=[E,p]),o===e))break;return(p-=g)===h||p%h==0&&0<=p/h}}},PSEUDO:function(e,o){var t,a=b.pseudos[e]||b.setFilters[e.toLowerCase()]||I.error("unsupported pseudo: "+e);return a[S]?a(o):1<a.length?(t=[e,e,"",o],b.setFilters.hasOwnProperty(e.toLowerCase())?F(function(e,t){var n,r=a(e,o),i=r.length;while(i--)e[n=se.call(e,r[i])]=!(t[n]=r[i])}):function(e){return a(e,0,t)}):a}},pseudos:{not:F(function(e){var r=[],i=[],s=ne(e.replace(ve,"$1"));return s[S]?F(function(e,t,n,r){var i,o=s(e,null,r,[]),a=e.length;while(a--)(i=o[a])&&(e[a]=!(t[a]=i))}):function(e,t,n){return r[0]=e,s(r,null,n,i),r[0]=null,!i.pop()}}),has:F(function(t){return function(e){return 0<I(t,e).length}}),contains:F(function(t){return t=t.replace(O,P),function(e){return-1<(e.textContent||ce.text(e)).indexOf(t)}}),lang:F(function(n){return A.test(n||"")||I.error("unsupported lang: "+n),n=n.replace(O,P).toLowerCase(),function(e){var t;do{if(t=C?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return(t=t.toLowerCase())===n||0===t.indexOf(n+"-")}while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=ie.location&&ie.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===r},focus:function(e){return e===function(){try{return T.activeElement}catch(e){}}()&&T.hasFocus()&&!!(e.type||e.href||~e.tabIndex)},enabled:z(!1),disabled:z(!0),checked:function(e){return fe(e,"input")&&!!e.checked||fe(e,"option")&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,!0===e.selected},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!b.pseudos.empty(e)},header:function(e){return q.test(e.nodeName)},input:function(e){return N.test(e.nodeName)},button:function(e){return fe(e,"input")&&"button"===e.type||fe(e,"button")},text:function(e){var t;return fe(e,"input")&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:X(function(){return[0]}),last:X(function(e,t){return[t-1]}),eq:X(function(e,t,n){return[n<0?n+t:n]}),even:X(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:X(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:X(function(e,t,n){var r;for(r=n<0?n+t:t<n?t:n;0<=--r;)e.push(r);return e}),gt:X(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}}).pseudos.nth=b.pseudos.eq,{radio:!0,checkbox:!0,file:!0,password:!0,image:!0})b.pseudos[e]=B(e);for(e in{submit:!0,reset:!0})b.pseudos[e]=_(e);function G(){}function Y(e,t){var n,r,i,o,a,s,u,l=c[e+" "];if(l)return t?0:l.slice(0);a=e,s=[],u=b.preFilter;while(a){for(o in n&&!(r=y.exec(a))||(r&&(a=a.slice(r[0].length)||a),s.push(i=[])),n=!1,(r=m.exec(a))&&(n=r.shift(),i.push({value:n,type:r[0].replace(ve," ")}),a=a.slice(n.length)),b.filter)!(r=D[o].exec(a))||u[o]&&!(r=u[o](r))||(n=r.shift(),i.push({value:n,type:o,matches:r}),a=a.slice(n.length));if(!n)break}return t?a.length:a?I.error(e):c(e,s).slice(0)}function Q(e){for(var t=0,n=e.length,r="";t<n;t++)r+=e[t].value;return r}function J(a,e,t){var s=e.dir,u=e.next,l=u||s,c=t&&"parentNode"===l,f=n++;return e.first?function(e,t,n){while(e=e[s])if(1===e.nodeType||c)return a(e,t,n);return!1}:function(e,t,n){var r,i,o=[E,f];if(n){while(e=e[s])if((1===e.nodeType||c)&&a(e,t,n))return!0}else while(e=e[s])if(1===e.nodeType||c)if(i=e[S]||(e[S]={}),u&&fe(e,u))e=e[s]||e;else{if((r=i[l])&&r[0]===E&&r[1]===f)return o[2]=r[2];if((i[l]=o)[2]=a(e,t,n))return!0}return!1}}function K(i){return 1<i.length?function(e,t,n){var r=i.length;while(r--)if(!i[r](e,t,n))return!1;return!0}:i[0]}function Z(e,t,n,r,i){for(var o,a=[],s=0,u=e.length,l=null!=t;s<u;s++)(o=e[s])&&(n&&!n(o,r,i)||(a.push(o),l&&t.push(s)));return a}function ee(d,h,g,v,y,e){return v&&!v[S]&&(v=ee(v)),y&&!y[S]&&(y=ee(y,e)),F(function(e,t,n,r){var i,o,a,s,u=[],l=[],c=t.length,f=e||function(e,t,n){for(var r=0,i=t.length;r<i;r++)I(e,t[r],n);return n}(h||"*",n.nodeType?[n]:n,[]),p=!d||!e&&h?f:Z(f,u,d,n,r);if(g?g(p,s=y||(e?d:c||v)?[]:t,n,r):s=p,v){i=Z(s,l),v(i,[],n,r),o=i.length;while(o--)(a=i[o])&&(s[l[o]]=!(p[l[o]]=a))}if(e){if(y||d){if(y){i=[],o=s.length;while(o--)(a=s[o])&&i.push(p[o]=a);y(null,s=[],i,r)}o=s.length;while(o--)(a=s[o])&&-1<(i=y?se.call(e,a):u[o])&&(e[i]=!(t[i]=a))}}else s=Z(s===t?s.splice(c,s.length):s),y?y(null,t,s,r):k.apply(t,s)})}function te(e){for(var i,t,n,r=e.length,o=b.relative[e[0].type],a=o||b.relative[" "],s=o?1:0,u=J(function(e){return e===i},a,!0),l=J(function(e){return-1<se.call(i,e)},a,!0),c=[function(e,t,n){var r=!o&&(n||t!=w)||((i=t).nodeType?u(e,t,n):l(e,t,n));return i=null,r}];s<r;s++)if(t=b.relative[e[s].type])c=[J(K(c),t)];else{if((t=b.filter[e[s].type].apply(null,e[s].matches))[S]){for(n=++s;n<r;n++)if(b.relative[e[n].type])break;return ee(1<s&&K(c),1<s&&Q(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(ve,"$1"),t,s<n&&te(e.slice(s,n)),n<r&&te(e=e.slice(n)),n<r&&Q(e))}c.push(t)}return K(c)}function ne(e,t){var n,v,y,m,x,r,i=[],o=[],a=u[e+" "];if(!a){t||(t=Y(e)),n=t.length;while(n--)(a=te(t[n]))[S]?i.push(a):o.push(a);(a=u(e,(v=o,m=0<(y=i).length,x=0<v.length,r=function(e,t,n,r,i){var o,a,s,u=0,l="0",c=e&&[],f=[],p=w,d=e||x&&b.find.TAG("*",i),h=E+=null==p?1:Math.random()||.1,g=d.length;for(i&&(w=t==T||t||i);l!==g&&null!=(o=d[l]);l++){if(x&&o){a=0,t||o.ownerDocument==T||(V(o),n=!C);while(s=v[a++])if(s(o,t||T,n)){k.call(r,o);break}i&&(E=h)}m&&((o=!s&&o)&&u--,e&&c.push(o))}if(u+=l,m&&l!==u){a=0;while(s=y[a++])s(c,f,t,n);if(e){if(0<u)while(l--)c[l]||f[l]||(f[l]=pe.call(r));f=Z(f)}k.apply(r,f),i&&!e&&0<f.length&&1<u+y.length&&ce.uniqueSort(r)}return i&&(E=h,w=p),c},m?F(r):r))).selector=e}return a}function re(e,t,n,r){var i,o,a,s,u,l="function"==typeof e&&e,c=!r&&Y(e=l.selector||e);if(n=n||[],1===c.length){if(2<(o=c[0]=c[0].slice(0)).length&&"ID"===(a=o[0]).type&&9===t.nodeType&&C&&b.relative[o[1].type]){if(!(t=(b.find.ID(a.matches[0].replace(O,P),t)||[])[0]))return n;l&&(t=t.parentNode),e=e.slice(o.shift().value.length)}i=D.needsContext.test(e)?0:o.length;while(i--){if(a=o[i],b.relative[s=a.type])break;if((u=b.find[s])&&(r=u(a.matches[0].replace(O,P),H.test(o[0].type)&&U(t.parentNode)||t))){if(o.splice(i,1),!(e=r.length&&Q(o)))return k.apply(n,r),n;break}}}return(l||ne(e,c))(r,t,!C,n,!t||H.test(e)&&U(t.parentNode)||t),n}G.prototype=b.filters=b.pseudos,b.setFilters=new G,le.sortStable=S.split("").sort(l).join("")===S,V(),le.sortDetached=$(function(e){return 1&e.compareDocumentPosition(T.createElement("fieldset"))}),ce.find=I,ce.expr[":"]=ce.expr.pseudos,ce.unique=ce.uniqueSort,I.compile=ne,I.select=re,I.setDocument=V,I.tokenize=Y,I.escape=ce.escapeSelector,I.getText=ce.text,I.isXML=ce.isXMLDoc,I.selectors=ce.expr,I.support=ce.support,I.uniqueSort=ce.uniqueSort}();var d=function(e,t,n){var r=[],i=void 0!==n;while((e=e[t])&&9!==e.nodeType)if(1===e.nodeType){if(i&&ce(e).is(n))break;r.push(e)}return r},h=function(e,t){for(var n=[];e;e=e.nextSibling)1===e.nodeType&&e!==t&&n.push(e);return n},b=ce.expr.match.needsContext,w=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function T(e,n,r){return v(n)?ce.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?ce.grep(e,function(e){return e===n!==r}):"string"!=typeof n?ce.grep(e,function(e){return-1<se.call(n,e)!==r}):ce.filter(n,e,r)}ce.filter=function(e,t,n){var r=t[0];return n&&(e=":not("+e+")"),1===t.length&&1===r.nodeType?ce.find.matchesSelector(r,e)?[r]:[]:ce.find.matches(e,ce.grep(t,function(e){return 1===e.nodeType}))},ce.fn.extend({find:function(e){var t,n,r=this.length,i=this;if("string"!=typeof e)return this.pushStack(ce(e).filter(function(){for(t=0;t<r;t++)if(ce.contains(i[t],this))return!0}));for(n=this.pushStack([]),t=0;t<r;t++)ce.find(e,i[t],n);return 1<r?ce.uniqueSort(n):n},filter:function(e){return this.pushStack(T(this,e||[],!1))},not:function(e){return this.pushStack(T(this,e||[],!0))},is:function(e){return!!T(this,"string"==typeof e&&b.test(e)?ce(e):e||[],!1).length}});var k,S=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/;(ce.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||k,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:S.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof ce?t[0]:t,ce.merge(this,ce.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:C,!0)),w.test(r[1])&&ce.isPlainObject(t))for(r in t)v(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=C.getElementById(r[2]))&&(this[0]=i,this.length=1),this}
vendor: 1,967 bytes, line 37230
37230return e.nodeType?(this[0]=e,this.length=1,this):v(e)?void 0!==n.ready?n.ready(e):e(ce):ce.makeArray(e,this)}).prototype=ce.fn,k=ce(C);var E=/^(?:parents|prev(?:Until|All))/,j={children:!0,contents:!0,next:!0,prev:!0};function A(e,t){while((e=e[t])&&1!==e.nodeType);return e}ce.fn.extend({has:function(e){var t=ce(e,this),n=t.length;return this.filter(function(){for(var e=0;e<n;e++)if(ce.contains(this,t[e]))return!0})},closest:function(e,t){var n,r=0,i=this.length,o=[],a="string"!=typeof e&&ce(e);if(!b.test(e))for(;r<i;r++)for(n=this[r];n&&n!==t;n=n.parentNode)if(n.nodeType<11&&(a?-1<a.index(n):1===n.nodeType&&ce.find.matchesSelector(n,e))){o.push(n);break}return this.pushStack(1<o.length?ce.uniqueSort(o):o)},index:function(e){return e?"string"==typeof e?se.call(ce(e),this[0]):se.call(this,e.jquery?e[0]:e):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(e,t){return this.pushStack(ce.uniqueSort(ce.merge(this.get(),ce(e,t))))},addBack:function(e){return this.add(null==e?this.prevObject:this.prevObject.filter(e))}}),ce.each({parent:function(e){var t=e.parentNode;return t&&11!==t.nodeType?t:null},parents:function(e){return d(e,"parentNode")},parentsUntil:function(e,t,n){return d(e,"parentNode",n)},next:function(e){return A(e,"nextSibling")},prev:function(e){return A(e,"previousSibling")},nextAll:function(e){return d(e,"nextSibling")},prevAll:function(e){return d(e,"previousSibling")},nextUntil:function(e,t,n){return d(e,"nextSibling",n)},prevUntil:function(e,t,n){return d(e,"previousSibling",n)},siblings:function(e){return h((e.parentNode||{}).firstChild,e)},children:function(e){return h(e.firstChild)},contents:function(e){return null!=e.contentDocument&&r(e.contentDocument)?e.contentDocument:(fe(e,"template")&&(e=e.content||e),ce.merge([],e.childNodes))}},function(r,i){ce.fn[r]=function(e,t){var n=ce.map(this,i,e);return"Until"!==r.slice(-5)&&(t=e),t&&"string"==typeof t&&(n=ce.filter(t,n)),1<this.length&&(j[r]||
vendor: 9,546 bytes, line 37230
37230ce.uniqueSort(n),E.test(r)&&n.reverse()),this.pushStack(n)}});var D=/[^\x20\t\r\n\f]+/g;function N(e){return e}function q(e){throw e}function L(e,t,n,r){var i;try{e&&v(i=e.promise)?i.call(e).done(t).fail(n):e&&v(i=e.then)?i.call(e,t,n):t.apply(void 0,[e].slice(r))}catch(e){n.apply(void 0,[e])}}ce.Callbacks=function(r){var e,n;r="string"==typeof r?(e=r,n={},ce.each(e.match(D)||[],function(e,t){n[t]=!0}),n):ce.extend({},r);var i,t,o,a,s=[],u=[],l=-1,c=function(){for(a=a||r.once,o=i=!0;u.length;l=-1){t=u.shift();while(++l<s.length)!1===s[l].apply(t[0],t[1])&&r.stopOnFalse&&(l=s.length,t=!1)}r.memory||(t=!1),i=!1,a&&(s=t?[]:"")},f={add:function(){return s&&(t&&!i&&(l=s.length-1,u.push(t)),function n(e){ce.each(e,function(e,t){v(t)?r.unique&&f.has(t)||s.push(t):t&&t.length&&"string"!==x(t)&&n(t)})}(arguments),t&&!i&&c()),this},remove:function(){return ce.each(arguments,function(e,t){var n;while(-1<(n=ce.inArray(t,s,n)))s.splice(n,1),n<=l&&l--}),this},has:function(e){return e?-1<ce.inArray(e,s):0<s.length},empty:function(){return s&&(s=[]),this},disable:function(){return a=u=[],s=t="",this},disabled:function(){return!s},lock:function(){return a=u=[],t||i||(s=t=""),this},locked:function(){return!!a},fireWith:function(e,t){return a||(t=[e,(t=t||[]).slice?t.slice():t],u.push(t),i||c()),this},fire:function(){return f.fireWith(this,arguments),this},fired:function(){return!!o}};return f},ce.extend({Deferred:function(e){var o=[["notify","progress",ce.Callbacks("memory"),ce.Callbacks("memory"),2],["resolve","done",ce.Callbacks("once memory"),ce.Callbacks("once memory"),0,"resolved"],["reject","fail",ce.Callbacks("once memory"),ce.Callbacks("once memory"),1,"rejected"]],i="pending",a={state:function(){return i},always:function(){return s.done(arguments).fail(arguments),this},"catch":function(e){return a.then(null,e)},pipe:function(){var i=arguments;return ce.Deferred(function(r){ce.each(o,function(e,t){var n=v(i[t[4]])&&i[t[4]];s[t[1]](function(){var e=n&&n.apply(this,arguments);e&&v(e.promise)?e.promise().progress(r.notify).done(r.resolve).fail(r.reject):r[t[0]+"With"](this,n?[e]:arguments)})}),i=null}).promise()},then:function(t,n,r){var u=0;function l(i,o,a,s){return function(){var n=this,r=arguments,e=function(){var e,t;if(!(i<u)){if((e=a.apply(n,r))===o.promise())throw new TypeError("Thenable self-resolution");t=e&&("object"==typeof e||"function"==typeof e)&&e.then,v(t)?s?t.call(e,l(u,o,N,s),l(u,o,q,s)):(u++,t.call(e,l(u,o,N,s),l(u,o,q,s),l(u,o,N,o.notifyWith))):(a!==N&&(n=void 0,r=[e]),(s||o.resolveWith)(n,r))}},t=s?e:function(){try{e()}catch(e){ce.Deferred.exceptionHook&&ce.Deferred.exceptionHook(e,t.error),u<=i+1&&(a!==q&&(n=void 0,r=[e]),o.rejectWith(n,r))}};i?t():(ce.Deferred.getErrorHook?t.error=ce.Deferred.getErrorHook():ce.Deferred.getStackHook&&(t.error=ce.Deferred.getStackHook()),ie.setTimeout(t))}}return ce.Deferred(function(e){o[0][3].add(l(0,e,v(r)?r:N,e.notifyWith)),o[1][3].add(l(0,e,v(t)?t:N)),o[2][3].add(l(0,e,v(n)?n:q))}).promise()},promise:function(e){return null!=e?ce.extend(e,a):a}},s={};return ce.each(o,function(e,t){var n=t[2],r=t[5];a[t[1]]=n.add,r&&n.add(function(){i=r},o[3-e][2].disable,o[3-e][3].disable,o[0][2].lock,o[0][3].lock),n.add(t[3].fire),s[t[0]]=function(){return s[t[0]+"With"](this===s?void 0:this,arguments),this},s[t[0]+"With"]=n.fireWith}),a.promise(s),e&&e.call(s,s),s},when:function(e){var n=arguments.length,t=n,r=Array(t),i=ae.call(arguments),o=ce.Deferred(),a=function(t){return function(e){r[t]=this,i[t]=1<arguments.length?ae.call(arguments):e,--n||o.resolveWith(r,i)}};if(n<=1&&(L(e,o.done(a(t)).resolve,o.reject,!n),"pending"===o.state()||v(i[t]&&i[t].then)))return o.then();while(t--)L(i[t],a(t),o.reject);return o.promise()}});var H=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;ce.Deferred.exceptionHook=function(e,t){ie.console&&ie.console.warn&&e&&H.test(e.name)&&ie.console.warn("jQuery.Deferred exception: "+e.message,e.stack,t)},ce.readyException=function(e){ie.setTimeout(function(){throw e})};var O=ce.Deferred();function P(){C.removeEventListener("DOMContentLoaded",P),ie.removeEventListener("load",P),ce.ready()}ce.fn.ready=function(e){return O.then(e)["catch"](function(e){ce.readyException(e)}),this},ce.extend({isReady:!1,readyWait:1,ready:function(e){(!0===e?--ce.readyWait:ce.isReady)||(ce.isReady=!0)!==e&&0<--ce.readyWait||O.resolveWith(C,[ce])}}),ce.ready.then=O.then,"complete"===C.readyState||"loading"!==C.readyState&&!C.documentElement.doScroll?ie.setTimeout(ce.ready):(C.addEventListener("DOMContentLoaded",P),ie.addEventListener("load",P));var M=function(e,t,n,r,i,o,a){var s=0,u=e.length,l=null==n;if("object"===x(n))for(s in i=!0,n)M(e,t,s,n[s],!0,o,a);else if(void 0!==r&&(i=!0,v(r)||(a=!0),l&&(a?(t.call(e,r),t=null):(l=t,t=function(e,t,n){return l.call(ce(e),n)})),t))for(;s<u;s++)t(e[s],n,a?r:r.call(e[s],s,t(e[s],n)));return i?e:l?t.call(e):u?t(e[0],n):o},R=/^-ms-/,I=/-([a-z])/g;function W(e,t){return t.toUpperCase()}function F(e){return e.replace(R,"ms-").replace(I,W)}var $=function(e){return 1===e.nodeType||9===e.nodeType||!+e.nodeType};function B(){this.expando=ce.expando+B.uid++}B.uid=1,B.prototype={cache:function(e){var t=e[this.expando];return t||(t={},$(e)&&(e.nodeType?e[this.expando]=t:Object.defineProperty(e,this.expando,{value:t,configurable:!0}))),t},set:function(e,t,n){var r,i=this.cache(e);if("string"==typeof t)i[F(t)]=n;else for(r in t)i[F(r)]=t[r];return i},get:function(e,t){return void 0===t?this.cache(e):e[this.expando]&&e[this.expando][F(t)]},access:function(e,t,n){return void 0===t||t&&"string"==typeof t&&void 0===n?this.get(e,t):(this.set(e,t,n),void 0!==n?n:t)},remove:function(e,t){var n,r=e[this.expando];if(void 0!==r){if(void 0!==t){n=(t=Array.isArray(t)?t.map(F):(t=F(t))in r?[t]:t.match(D)||[]).length;while(n--)delete r[t[n]]}(void 0===t||ce.isEmptyObject(r))&&(e.nodeType?e[this.expando]=void 0:delete e[this.expando])}},hasData:function(e){var t=e[this.expando];return void 0!==t&&!ce.isEmptyObject(t)}};var _=new B,z=new B,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,U=/[A-Z]/g;function V(e,t,n){var r,i;if(void 0===n&&1===e.nodeType)if(r="data-"+t.replace(U,"-$&").toLowerCase(),"string"==typeof(n=e.getAttribute(r))){try{n="true"===(i=n)||"false"!==i&&("null"===i?null:i===+i+""?+i:X.test(i)?JSON.parse(i):i)}catch(e){}z.set(e,t,n)}else n=void 0;return n}ce.extend({hasData:function(e){return z.hasData(e)||_.hasData(e)},data:function(e,t,n){return z.access(e,t,n)},removeData:function(e,t){z.remove(e,t)},_data:function(e,t,n){return _.access(e,t,n)},_removeData:function(e,t){_.remove(e,t)}}),ce.fn.extend({data:function(n,e){var t,r,i,o=this[0],a=o&&o.attributes;if(void 0===n){if(this.length&&(i=z.get(o),1===o.nodeType&&!_.get(o,"hasDataAttrs"))){t=a.length;while(t--)a[t]&&0===(r=a[t].name).indexOf("data-")&&(r=F(r.slice(5)),V(o,r,i[r]));_.set(o,"hasDataAttrs",!0)}return i}return"object"==typeof n?this.each(function(){z.set(this,n)}):M(this,function(e){var t;if(o&&void 0===e)return void 0!==(t=z.get(o,n))?t:void 0!==(t=V(o,n))?t:void 0;this.each(function(){z.set(this,n,e)})},null,e,1<arguments.length,null,!0)},removeData:function(e){return this.each(function(){z.remove(this,e)})}}),ce.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=_.get(e,t),n&&(!r||Array.isArray(n)?r=_.access(e,t,ce.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=ce.queue(e,t),r=n.length,i=n.shift(),o=ce._queueHooks(e,t);"inprogress"===i&&(i=n.shift(),r--),i&&("fx"===t&&n.unshift("inprogress"),delete o.stop,i.call(e,function(){ce.dequeue(e,t)},o)),!r&&o&&o.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return _.get(e,n)||_.access(e,n,{empty:ce.Callbacks("once memory").add(function(){_.remove(e,[t+"queue",n])})})}}),ce.fn.extend({queue:function(t,n){var e=2;return"string"!=typeof t&&(n=t,t="fx",e--),arguments.length<e?ce.queue(this[0],t):void 0===n?this:this.each(function(){var e=ce.queue(this,t,n);ce._queueHooks(this,t),"fx"===t&&"inprogress"!==e[0]&&ce.dequeue(this,t)})},dequeue:function(e){return this.each(function(){ce.dequeue(this,e)})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,t){var n,r=1,i=ce.Deferred(),o=this,a=this.length,s=function(){--r||i.resolveWith(o,[o])};"string"!=typeof e&&(t=e,e=void 0),e=e||"fx";while(a--)(n=_.get(o[a],e+"queueHooks"))&&n.empty&&(r++,n.empty.add(s));return s(),i.promise(t)}});var G=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source,Y=new RegExp("^(?:([+-])=|)("+G+")([a-z%]*)$","i"),Q=["Top","Right","Bottom","Left"],J=C.documentElement,K=function(e){return ce.contains(e.ownerDocument,e)},Z={composed:!0};J.getRootNode&&(K=function(e){return ce.contains(e.ownerDocument,e)||e.getRootNode(Z)===e.ownerDocument});var ee=function(e,t){return"none"===(e=t||e).style.display||""===e.style.display&&K(e)&&"none"===ce.css(e,"display")};function te(e,t,n,r){var i,o,a=20,s=r?function(){return r.cur()}:function(){return ce.css(e,t,"")},u=s(),l=n&&n[3]||(ce.cssNumber[t]?"":"px"),c=e.nodeType&&(ce.cssNumber[t]||"px"!==l&&+u)&&Y.exec(ce.css(e,t));if(c&&c[3]!==l){u/=2,l=l||c[3],c=+u||1;while(a--)ce.style(e,t,c+l),(1-o)*(1-(o=s()/u||.5))<=0&&(a=0),c/=o;c*=2,ce.style(e,t,c+l),n=n||[]}return n&&(c=+c||+u||0,i=n[1]?c+(n[1]+1)*n[2]:+n[2],r&&(r.unit=l,r.start=c,r.end=i)),i}var ne={};function re(e,t){for(var n,r,i,o,a,s,u,l=[],c=0,f=e.length;c<f;c++)(r=e[c]).style&&(n=r.style.display,t?("none"===n&&(l[c]=_.get(r,"display")||null,l[c]||(r.style.display="")),""===r.style.display&&ee(r)&&(l[c]=(u=a=o=void 0,a=(i=r).ownerDocument,s=i.nodeName,(u=ne[s])||
vendor: 8,814 bytes, line 37230
37230(o=a.body.appendChild(a.createElement(s)),u=ce.css(o,"display"),o.parentNode.removeChild(o),"none"===u&&(u="block"),ne[s]=u)))):"none"!==n&&(l[c]="none",_.set(r,"display",n)));for(c=0;c<f;c++)null!=l[c]&&(e[c].style.display=l[c]);return e}ce.fn.extend({show:function(){return re(this,!0)},hide:function(){return re(this)},toggle:function(e){return"boolean"==typeof e?e?this.show():this.hide():this.each(function(){ee(this)?ce(this).show():ce(this).hide()})}});var xe,be,we=/^(?:checkbox|radio)$/i,Te=/<([a-z][^\/\0>\x20\t\r\n\f]*)/i,Ce=/^$|^module$|\/(?:java|ecma)script/i;xe=C.createDocumentFragment().appendChild(C.createElement("div")),(be=C.createElement("input")).setAttribute("type","radio"),be.setAttribute("checked","checked"),be.setAttribute("name","t"),xe.appendChild(be),le.checkClone=xe.cloneNode(!0).cloneNode(!0).lastChild.checked,xe.innerHTML="<textarea>x</textarea>",le.noCloneChecked=!!xe.cloneNode(!0).lastChild.defaultValue,xe.innerHTML="<option></option>",le.option=!!xe.lastChild;var ke={thead:[1,"<table>","</table>"],col:[2,"<table><colgroup>","</colgroup></table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:[0,"",""]};function Se(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&fe(e,t)?ce.merge([e],n):n}function Ee(e,t){for(var n=0,r=e.length;n<r;n++)_.set(e[n],"globalEval",!t||_.get(t[n],"globalEval"))}ke.tbody=ke.tfoot=ke.colgroup=ke.caption=ke.thead,ke.th=ke.td,le.option||(ke.optgroup=ke.option=[1,"<select multiple='multiple'>","</select>"]);var je=/<|&#?\w+;/;function Ae(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d<h;d++)if((o=e[d])||0===o)if("object"===x(o))ce.merge(p,o.nodeType?[o]:o);else if(je.test(o)){a=a||f.appendChild(t.createElement("div")),s=(Te.exec(o)||["",""])[1].toLowerCase(),u=ke[s]||ke._default,a.innerHTML=u[1]+ce.htmlPrefilter(o)+u[2],c=u[0];while(c--)a=a.lastChild;ce.merge(p,a.childNodes),(a=f.firstChild).textContent=""}else p.push(t.createTextNode(o));f.textContent="",d=0;while(o=p[d++])if(r&&-1<ce.inArray(o,r))i&&i.push(o);else if(l=K(o),a=Se(f.appendChild(o),"script"),l&&Ee(a),n){c=0;while(o=a[c++])Ce.test(o.type||"")&&n.push(o)}return f}var De=/^([^.]*)(?:\.(.+)|)/;function Ne(){return!0}function qe(){return!1}function Le(e,t,n,r,i,o){var a,s;if("object"==typeof t){for(s in"string"!=typeof n&&(r=r||n,n=void 0),t)Le(e,s,n,r,t[s],o);return e}if(null==r&&null==i?(i=n,r=n=void 0):null==i&&("string"==typeof n?(i=r,r=void 0):(i=r,r=n,n=void 0)),!1===i)i=qe;else if(!i)return e;return 1===o&&(a=i,(i=function(e){return ce().off(e),a.apply(this,arguments)}).guid=a.guid||(a.guid=ce.guid++)),e.each(function(){ce.event.add(this,t,i,r,n)})}function He(e,r,t){t?(_.set(e,r,!1),ce.event.add(e,r,{namespace:!1,handler:function(e){var t,n=_.get(this,r);if(1&e.isTrigger&&this[r]){if(n)(ce.event.special[r]||{}).delegateType&&e.stopPropagation();else if(n=ae.call(arguments),_.set(this,r,n),this[r](),t=_.get(this,r),_.set(this,r,!1),n!==t)return e.stopImmediatePropagation(),e.preventDefault(),t}else n&&(_.set(this,r,ce.event.trigger(n[0],n.slice(1),this)),e.stopPropagation(),e.isImmediatePropagationStopped=Ne)}})):void 0===_.get(e,r)&&ce.event.add(e,r,Ne)}ce.event={global:{},add:function(t,e,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.get(t);if($(t)){n.handler&&(n=(o=n).handler,i=o.selector),i&&ce.find.matchesSelector(J,i),n.guid||(n.guid=ce.guid++),(u=v.events)||(u=v.events=Object.create(null)),(a=v.handle)||(a=v.handle=function(e){return"undefined"!=typeof ce&&ce.event.triggered!==e.type?ce.event.dispatch.apply(t,arguments):void 0}),l=(e=(e||"").match(D)||[""]).length;while(l--)d=g=(s=De.exec(e[l])||[])[1],h=(s[2]||"").split(".").sort(),d&&(f=ce.event.special[d]||{},d=(i?f.delegateType:f.bindType)||d,f=ce.event.special[d]||{},c=ce.extend({type:d,origType:g,data:r,handler:n,guid:n.guid,selector:i,needsContext:i&&ce.expr.match.needsContext.test(i),namespace:h.join(".")},o),(p=u[d])||((p=u[d]=[]).delegateCount=0,f.setup&&!1!==f.setup.call(t,r,h,a)||t.addEventListener&&t.addEventListener(d,a)),f.add&&(f.add.call(t,c),c.handler.guid||(c.handler.guid=n.guid)),i?p.splice(p.delegateCount++,0,c):p.push(c),ce.event.global[d]=!0)}},remove:function(e,t,n,r,i){var o,a,s,u,l,c,f,p,d,h,g,v=_.hasData(e)&&_.get(e);if(v&&(u=v.events)){l=(t=(t||"").match(D)||[""]).length;while(l--)if(d=g=(s=De.exec(t[l])||[])[1],h=(s[2]||"").split(".").sort(),d){f=ce.event.special[d]||{},p=u[d=(r?f.delegateType:f.bindType)||d]||[],s=s[2]&&new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"),a=o=p.length;while(o--)c=p[o],!i&&g!==c.origType||n&&n.guid!==c.guid||s&&!s.test(c.namespace)||r&&r!==c.selector&&("**"!==r||!c.selector)||(p.splice(o,1),c.selector&&p.delegateCount--,f.remove&&f.remove.call(e,c));a&&!p.length&&(f.teardown&&!1!==f.teardown.call(e,h,v.handle)||ce.removeEvent(e,d,v.handle),delete u[d])}else for(d in u)ce.event.remove(e,d+t[l],n,r,!0);ce.isEmptyObject(u)&&_.remove(e,"handle events")}},dispatch:function(e){var t,n,r,i,o,a,s=new Array(arguments.length),u=ce.event.fix(e),l=(_.get(this,"events")||Object.create(null))[u.type]||[],c=ce.event.special[u.type]||{};for(s[0]=u,t=1;t<arguments.length;t++)s[t]=arguments[t];if(u.delegateTarget=this,!c.preDispatch||!1!==c.preDispatch.call(this,u)){a=ce.event.handlers.call(this,u,l),t=0;while((i=a[t++])&&!u.isPropagationStopped()){u.currentTarget=i.elem,n=0;while((o=i.handlers[n++])&&!u.isImmediatePropagationStopped())u.rnamespace&&!1!==o.namespace&&!u.rnamespace.test(o.namespace)||(u.handleObj=o,u.data=o.data,void 0!==(r=((ce.event.special[o.origType]||{}).handle||o.handler).apply(i.elem,s))&&!1===(u.result=r)&&(u.preventDefault(),u.stopPropagation()))}return c.postDispatch&&c.postDispatch.call(this,u),u.result}},handlers:function(e,t){var n,r,i,o,a,s=[],u=t.delegateCount,l=e.target;if(u&&l.nodeType&&!("click"===e.type&&1<=e.button))for(;l!==this;l=l.parentNode||this)if(1===l.nodeType&&("click"!==e.type||!0!==l.disabled)){for(o=[],a={},n=0;n<u;n++)void 0===a[i=(r=t[n]).selector+" "]&&(a[i]=r.needsContext?-1<ce(i,this).index(l):ce.find(i,this,null,[l]).length),a[i]&&o.push(r);o.length&&s.push({elem:l,handlers:o})}return l=this,u<t.length&&s.push({elem:l,handlers:t.slice(u)}),s},addProp:function(t,e){Object.defineProperty(ce.Event.prototype,t,{enumerable:!0,configurable:!0,get:v(e)?function(){if(this.originalEvent)return e(this.originalEvent)}:function(){if(this.originalEvent)return this.originalEvent[t]},set:function(e){Object.defineProperty(this,t,{enumerable:!0,configurable:!0,writable:!0,value:e})}})},fix:function(e){return e[ce.expando]?e:new ce.Event(e)},special:{load:{noBubble:!0},click:{setup:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click",!0),!1},trigger:function(e){var t=this||e;return we.test(t.type)&&t.click&&fe(t,"input")&&He(t,"click"),!0},_default:function(e){var t=e.target;return we.test(t.type)&&t.click&&fe(t,"input")&&_.get(t,"click")||fe(t,"a")}},beforeunload:{postDispatch:function(e){void 0!==e.result&&e.originalEvent&&(e.originalEvent.returnValue=e.result)}}}},ce.removeEvent=function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n)},ce.Event=function(e,t){if(!(this instanceof ce.Event))return new ce.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||void 0===e.defaultPrevented&&!1===e.returnValue?Ne:qe,this.target=e.target&&3===e.target.nodeType?e.target.parentNode:e.target,this.currentTarget=e.currentTarget,this.relatedTarget=e.relatedTarget):this.type=e,t&&ce.extend(this,t),this.timeStamp=e&&e.timeStamp||Date.now(),this[ce.expando]=!0},ce.Event.prototype={constructor:ce.Event,isDefaultPrevented:qe,isPropagationStopped:qe,isImmediatePropagationStopped:qe,isSimulated:!1,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=Ne,e&&!this.isSimulated&&e.preventDefault()},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=Ne,e&&!this.isSimulated&&e.stopPropagation()},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=Ne,e&&!this.isSimulated&&e.stopImmediatePropagation(),this.stopPropagation()}},ce.each({altKey:!0,bubbles:!0,cancelable:!0,changedTouches:!0,ctrlKey:!0,detail:!0,eventPhase:!0,metaKey:!0,pageX:!0,pageY:!0,shiftKey:!0,view:!0,"char":!0,code:!0,charCode:!0,key:!0,keyCode:!0,button:!0,buttons:!0,clientX:!0,clientY:!0,offsetX:!0,offsetY:!0,pointerId:!0,pointerType:!0,screenX:!0,screenY:!0,targetTouches:!0,toElement:!0,touches:!0,which:!0},ce.event.addProp),ce.each({focus:"focusin",blur:"focusout"},function(r,i){function o(e){if(C.documentMode){var t=_.get(this,"handle"),n=ce.event.fix(e);
vendor: 14,182 bytes, line 37230
37230n.type="focusin"===e.type?"focus":"blur",n.isSimulated=!0,t(e),n.target===n.currentTarget&&t(n)}else ce.event.simulate(i,e.target,ce.event.fix(e))}ce.event.special[r]={setup:function(){var e;if(He(this,r,!0),!C.documentMode)return!1;(e=_.get(this,i))||this.addEventListener(i,o),_.set(this,i,(e||0)+1)},trigger:function(){return He(this,r),!0},teardown:function(){var e;if(!C.documentMode)return!1;(e=_.get(this,i)-1)?_.set(this,i,e):(this.removeEventListener(i,o),_.remove(this,i))},_default:function(e){return _.get(e.target,r)},delegateType:i},ce.event.special[i]={setup:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i);n||(C.documentMode?this.addEventListener(i,o):e.addEventListener(r,o,!0)),_.set(t,i,(n||0)+1)},teardown:function(){var e=this.ownerDocument||this.document||this,t=C.documentMode?this:e,n=_.get(t,i)-1;n?_.set(t,i,n):(C.documentMode?this.removeEventListener(i,o):e.removeEventListener(r,o,!0),_.remove(t,i))}}}),ce.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(e,i){ce.event.special[e]={delegateType:i,bindType:i,handle:function(e){var t,n=e.relatedTarget,r=e.handleObj;return n&&(n===this||ce.contains(this,n))||(e.type=r.origType,t=r.handler.apply(this,arguments),e.type=i),t}}}),ce.fn.extend({on:function(e,t,n,r){return Le(this,e,t,n,r)},one:function(e,t,n,r){return Le(this,e,t,n,r,1)},off:function(e,t,n){var r,i;if(e&&e.preventDefault&&e.handleObj)return r=e.handleObj,ce(e.delegateTarget).off(r.namespace?r.origType+"."+r.namespace:r.origType,r.selector,r.handler),this;if("object"==typeof e){for(i in e)this.off(i,t,e[i]);return this}return!1!==t&&"function"!=typeof t||(n=t,t=void 0),!1===n&&(n=qe),this.each(function(){ce.event.remove(this,e,n,t)})}});var Oe=/<script|<style|<link/i,Pe=/checked\s*(?:[^=]|=\s*.checked.)/i,Me=/^\s*<!\[CDATA\[|\]\]>\s*$/g;function Re(e,t){return fe(e,"table")&&fe(11!==t.nodeType?t:t.firstChild,"tr")&&ce(e).children("tbody")[0]||e}function Ie(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function We(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Fe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(_.hasData(e)&&(s=_.get(e).events))for(i in _.remove(t,"handle events"),s)for(n=0,r=s[i].length;n<r;n++)ce.event.add(t,i,s[i][n]);z.hasData(e)&&(o=z.access(e),a=ce.extend({},o),z.set(t,a))}}function $e(n,r,i,o){r=g(r);var e,t,a,s,u,l,c=0,f=n.length,p=f-1,d=r[0],h=v(d);if(h||1<f&&"string"==typeof d&&!le.checkClone&&Pe.test(d))return n.each(function(e){var t=n.eq(e);h&&(r[0]=d.call(this,e,t.html())),$e(t,r,i,o)});if(f&&(t=(e=Ae(r,n[0].ownerDocument,!1,n,o)).firstChild,1===e.childNodes.length&&(e=t),t||o)){for(s=(a=ce.map(Se(e,"script"),Ie)).length;c<f;c++)u=e,c!==p&&(u=ce.clone(u,!0,!0),s&&ce.merge(a,Se(u,"script"))),i.call(n[c],u,c);if(s)for(l=a[a.length-1].ownerDocument,ce.map(a,We),c=0;c<s;c++)u=a[c],Ce.test(u.type||"")&&!_.access(u,"globalEval")&&ce.contains(l,u)&&(u.src&&"module"!==(u.type||"").toLowerCase()?ce._evalUrl&&!u.noModule&&ce._evalUrl(u.src,{nonce:u.nonce||u.getAttribute("nonce")},l):m(u.textContent.replace(Me,""),u,l))}return n}function Be(e,t,n){for(var r,i=t?ce.filter(t,e):e,o=0;null!=(r=i[o]);o++)n||1!==r.nodeType||ce.cleanData(Se(r)),r.parentNode&&(n&&K(r)&&Ee(Se(r,"script")),r.parentNode.removeChild(r));return e}ce.extend({htmlPrefilter:function(e){return e},clone:function(e,t,n){var r,i,o,a,s,u,l,c=e.cloneNode(!0),f=K(e);if(!(le.noCloneChecked||1!==e.nodeType&&11!==e.nodeType||ce.isXMLDoc(e)))for(a=Se(c),r=0,i=(o=Se(e)).length;r<i;r++)s=o[r],u=a[r],void 0,"input"===(l=u.nodeName.toLowerCase())&&we.test(s.type)?u.checked=s.checked:"input"!==l&&"textarea"!==l||(u.defaultValue=s.defaultValue);if(t)if(n)for(o=o||Se(e),a=a||Se(c),r=0,i=o.length;r<i;r++)Fe(o[r],a[r]);else Fe(e,c);return 0<(a=Se(c,"script")).length&&Ee(a,!f&&Se(e,"script")),c},cleanData:function(e){for(var t,n,r,i=ce.event.special,o=0;void 0!==(n=e[o]);o++)if($(n)){if(t=n[_.expando]){if(t.events)for(r in t.events)i[r]?ce.event.remove(n,r):ce.removeEvent(n,r,t.handle);n[_.expando]=void 0}n[z.expando]&&(n[z.expando]=void 0)}}}),ce.fn.extend({detach:function(e){return Be(this,e,!0)},remove:function(e){return Be(this,e)},text:function(e){return M(this,function(e){return void 0===e?ce.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=e)})},null,e,arguments.length)},append:function(){return $e(this,arguments,function(e){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||Re(this,e).appendChild(e)})},prepend:function(){return $e(this,arguments,function(e){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var t=Re(this,e);t.insertBefore(e,t.firstChild)}})},before:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this)})},after:function(){return $e(this,arguments,function(e){this.parentNode&&this.parentNode.insertBefore(e,this.nextSibling)})},empty:function(){for(var e,t=0;null!=(e=this[t]);t++)1===e.nodeType&&(ce.cleanData(Se(e,!1)),e.textContent="");return this},clone:function(e,t){return e=null!=e&&e,t=null==t?e:t,this.map(function(){return ce.clone(this,e,t)})},html:function(e){return M(this,function(e){var t=this[0]||{},n=0,r=this.length;if(void 0===e&&1===t.nodeType)return t.innerHTML;if("string"==typeof e&&!Oe.test(e)&&!ke[(Te.exec(e)||["",""])[1].toLowerCase()]){e=ce.htmlPrefilter(e);try{for(;n<r;n++)1===(t=this[n]||{}).nodeType&&(ce.cleanData(Se(t,!1)),t.innerHTML=e);t=0}catch(e){}}t&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(){var n=[];return $e(this,arguments,function(e){var t=this.parentNode;ce.inArray(this,n)<0&&(ce.cleanData(Se(this)),t&&t.replaceChild(e,this))},n)}}),ce.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,a){ce.fn[e]=function(e){for(var t,n=[],r=ce(e),i=r.length-1,o=0;o<=i;o++)t=o===i?this:this.clone(!0),ce(r[o])[a](t),s.apply(n,t.get());return this.pushStack(n)}});var _e=new RegExp("^("+G+")(?!px)[a-z%]+$","i"),ze=/^--/,Xe=function(e){var t=e.ownerDocument.defaultView;return t&&t.opener||(t=ie),t.getComputedStyle(e)},Ue=function(e,t,n){var r,i,o={};for(i in t)o[i]=e.style[i],e.style[i]=t[i];for(i in r=n.call(e),t)e.style[i]=o[i];return r},Ve=new RegExp(Q.join("|"),"i");function Ge(e,t,n){var r,i,o,a,s=ze.test(t),u=e.style;return(n=n||Xe(e))&&(a=n.getPropertyValue(t)||n[t],s&&a&&(a=a.replace(ve,"$1")||void 0),""!==a||K(e)||(a=ce.style(e,t)),!le.pixelBoxStyles()&&_e.test(a)&&Ve.test(t)&&(r=u.width,i=u.minWidth,o=u.maxWidth,u.minWidth=u.maxWidth=u.width=a,a=n.width,u.width=r,u.minWidth=i,u.maxWidth=o)),void 0!==a?a+"":a}function Ye(e,t){return{get:function(){if(!e())return(this.get=t).apply(this,arguments);delete this.get}}}!function(){function e(){if(l){u.style.cssText="position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0",l.style.cssText="position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%",J.appendChild(u).appendChild(l);var e=ie.getComputedStyle(l);n="1%"!==e.top,s=12===t(e.marginLeft),l.style.right="60%",o=36===t(e.right),r=36===t(e.width),l.style.position="absolute",i=12===t(l.offsetWidth/3),J.removeChild(u),l=null}}function t(e){return Math.round(parseFloat(e))}var n,r,i,o,a,s,u=C.createElement("div"),l=C.createElement("div");l.style&&(l.style.backgroundClip="content-box",l.cloneNode(!0).style.backgroundClip="",le.clearCloneStyle="content-box"===l.style.backgroundClip,ce.extend(le,{boxSizingReliable:function(){return e(),r},pixelBoxStyles:function(){return e(),o},pixelPosition:function(){return e(),n},reliableMarginLeft:function(){return e(),s},scrollboxSize:function(){return e(),i},reliableTrDimensions:function(){var e,t,n,r;return null==a&&(e=C.createElement("table"),t=C.createElement("tr"),n=C.createElement("div"),e.style.cssText="position:absolute;left:-11111px;border-collapse:separate",t.style.cssText="box-sizing:content-box;border:1px solid",t.style.height="1px",n.style.height="9px",n.style.display="block",J.appendChild(e).appendChild(t).appendChild(n),r=ie.getComputedStyle(t),a=parseInt(r.height,10)+parseInt(r.borderTopWidth,10)+parseInt(r.borderBottomWidth,10)===t.offsetHeight,J.removeChild(e)),a}}))}();var Qe=["Webkit","Moz","ms"],Je=C.createElement("div").style,Ke={};function Ze(e){var t=ce.cssProps[e]||Ke[e];return t||(e in Je?e:Ke[e]=function(e){var t=e[0].toUpperCase()+e.slice(1),n=Qe.length;while(n--)if((e=Qe[n]+t)in Je)return e}(e)||e)}var et=/^(none|table(?!-c[ea]).+)/,tt={position:"absolute",visibility:"hidden",display:"block"},nt={letterSpacing:"0",fontWeight:"400"};function rt(e,t,n){var r=Y.exec(t);return r?Math.max(0,r[2]-(n||0))+(r[3]||"px"):t}function it(e,t,n,r,i,o){var a="width"===t?1:0,s=0,u=0,l=0;if(n===(r?"border":"content"))return 0;for(;a<4;a+=2)"margin"===n&&(l+=ce.css(e,n+Q[a],!0,i)),r?("content"===n&&(u-=ce.css(e,"padding"+Q[a],!0,i)),"margin"!==n&&(u-=ce.css(e,"border"+Q[a]+"Width",!0,i))):(u+=ce.css(e,"padding"+Q[a],!0,i),"padding"!==n?u+=ce.css(e,"border"+Q[a]+"Width",!0,i):s+=ce.css(e,"border"+Q[a]+"Width",!0,i));return!r&&0<=o&&(u+=Math.max(0,Math.ceil(e["offset"+t[0].toUpperCase()+t.slice(1)]-o-u-s-.5))||0),u+l}function ot(e,t,n){var r=Xe(e),i=(!le.boxSizingReliable()||n)&&"border-box"===ce.css(e,"boxSizing",!1,r),o=i,a=Ge(e,t,r),s="offset"+t[0].toUpperCase()+t.slice(1);if(_e.test(a)){if(!n)return a;a="auto"}return(!le.boxSizingReliable()&&i||!le.reliableTrDimensions()&&fe(e,"tr")||"auto"===a||!parseFloat(a)&&"inline"===ce.css(e,"display",!1,r))&&e.getClientRects().length&&(i="border-box"===ce.css(e,"boxSizing",!1,r),(o=s in e)&&(a=e[s])),(a=parseFloat(a)||0)+it(e,t,n||(i?"border":"content"),o,r,a)+"px"}function at(e,t,n,r,i){return new at.prototype.init(e,t,n,r,i)}ce.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ge(e,"opacity");return""===n?"1":n}}}},cssNumber:{animationIterationCount:!0,aspectRatio:!0,borderImageSlice:!0,columnCount:!0,flexGrow:!0,flexShrink:!0,fontWeight:!0,gridArea:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnStart:!0,gridRow:!0,gridRowEnd:!0,gridRowStart:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,scale:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeMiterlimit:!0,strokeOpacity:!0},cssProps:{},style:function(e,t,n,r){if(e&&3!==e.nodeType&&8!==e.nodeType&&e.style){var i,o,a,s=F(t),u=ze.test(t),l=e.style;if(u||(t=Ze(s)),a=ce.cssHooks[t]||ce.cssHooks[s],void 0===n)return a&&"get"in a&&void 0!==(i=a.get(e,!1,r))?i:l[t];"string"===(o=typeof n)&&(i=Y.exec(n))&&i[1]&&(n=te(e,t,i),o="number"),null!=n&&n==n&&("number"!==o||u||(n+=i&&i[3]||(ce.cssNumber[s]?"":"px")),le.clearCloneStyle||""!==n||0!==t.indexOf("background")||(l[t]="inherit"),a&&"set"in a&&void 0===(n=a.set(e,n,r))||(u?l.setProperty(t,n):l[t]=n))}},css:function(e,t,n,r){var i,o,a,s=F(t);return ze.test(t)||(t=Ze(s)),(a=ce.cssHooks[t]||ce.cssHooks[s])&&"get"in a&&(i=a.get(e,!0,n)),void 0===i&&(i=Ge(e,t,r)),"normal"===i&&t in nt&&(i=nt[t]),""===n||n?(o=parseFloat(i),!0===n||isFinite(o)?o||0:i):i}}),ce.each(["height","width"],function(e,u){ce.cssHooks[u]={get:function(e,t,n){if(t)return!et.test(ce.css(e,"display"))||e.getClientRects().length&&e.getBoundingClientRect().width?ot(e,u,n):Ue(e,tt,function(){return ot(e,u,n)})},set:function(e,t,n){var r,i=Xe(e),o=!le.scrollboxSize()&&"absolute"===i.position,a=(o||n)&&"border-box"===ce.css(e,"boxSizing",!1,i),s=n?it(e,u,n,a,i):0;return a&&o&&(s-=Math.ceil(e["offset"+u[0].toUpperCase()+u.slice(1)]-parseFloat(i[u])-it(e,u,"border",!1,i)-.5)),s&&(r=Y.exec(t))&&"px"!==(r[3]||"px")&&(e.style[u]=t,t=ce.css(e,u)),rt(0,t,s)}}}),ce.cssHooks.marginLeft=Ye(le.reliableMarginLeft,function(e,t){if(t)return(parseFloat(Ge(e,"marginLeft"))||e.getBoundingClientRect().left-Ue(e,{marginLeft:0},function(){return e.getBoundingClientRect().left}))+"px"}),ce.each({margin:"",padding:"",border:"Width"},function(i,o){ce.cssHooks[i+o]={expand:function(e){for(var t=0,n={},r="string"==typeof e?e.split(" "):[e];t<4;t++)n[i+Q[t]+o]=r[t]||r[t-2]||r[0];return n}},"margin"!==i&&(ce.cssHooks[i+o].set=rt)}),ce.fn.extend({css:function(e,t){return M(this,function(e,t,n){var r,i,o={},a=0;if(Array.isArray(t)){for(r=Xe(e),i=t.length;a<i;a++)o[t[a]]=ce.css(e,t[a],!1,r);return o}return void 0!==n?ce.style(e,t,n):ce.css(e,t)},e,t,1<arguments.length)}}),((ce.Tween=at).prototype={constructor:at,init:function(e,t,n,r,i,o){this.elem=e,this.prop=n,this.easing=i||ce.easing._default,this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=o||(ce.cssNumber[n]?"":"px")},cur:function(){var e=at.propHooks[this.prop];return e&&e.get?e.get(this):at.propHooks._default.get(this)},run:function(e){var t,n=at.propHooks[this.prop];return this.options.duration?this.pos=t=ce.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):at.propHooks._default.set(this),this}}).init.prototype=at.prototype,(at.propHooks={_default:{get:function(e){var t;return 1!==e.elem.nodeType||null!=e.elem[e.prop]&&null==e.elem.style[e.prop]?e.elem[e.prop]:(t=ce.css(e.elem,e.prop,""))&&"auto"!==t?t:0},set:function(e){ce.fx.step[e.prop]?ce.fx.step[e.prop](e):1!==e.elem.nodeType||!ce.cssHooks[e.prop]&&null==e.elem.style[Ze(e.prop)]?e.elem[e.prop]=e.now:ce.style(e.elem,e.prop,e.now+e.unit)}}}).scrollTop=at.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},ce.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2},_default:"swing"},ce.fx=at.prototype.init,ce.fx.step={};var st,ut,lt,ct,ft=/^(?:toggle|show|hide)$/,pt=/queueHooks$/;function dt(){ut&&(!1===C.hidden&&ie.requestAnimationFrame?ie.requestAnimationFrame(dt):ie.setTimeout(dt,ce.fx.interval),ce.fx.tick())}function ht(){return ie.setTimeout(function(){st=void 0}),st=Date.now()}function gt(e,t){var n,r=0,i={height:e};for(t=t?1:0;r<4;r+=2-t)i["margin"+(n=Q[r])]=i["padding"+n]=e;
vendor: 4,590 bytes, line 37230
37230return t&&(i.opacity=i.width=e),i}function vt(e,t,n){for(var r,i=(yt.tweeners[t]||[]).concat(yt.tweeners["*"]),o=0,a=i.length;o<a;o++)if(r=i[o].call(n,t,e))return r}function yt(o,e,t){var n,a,r=0,i=yt.prefilters.length,s=ce.Deferred().always(function(){delete u.elem}),u=function(){if(a)return!1;for(var e=st||ht(),t=Math.max(0,l.startTime+l.duration-e),n=1-(t/l.duration||0),r=0,i=l.tweens.length;r<i;r++)l.tweens[r].run(n);return s.notifyWith(o,[l,n,t]),n<1&&i?t:(i||s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l]),!1)},l=s.promise({elem:o,props:ce.extend({},e),opts:ce.extend(!0,{specialEasing:{},easing:ce.easing._default},t),originalProperties:e,originalOptions:t,startTime:st||ht(),duration:t.duration,tweens:[],createTween:function(e,t){var n=ce.Tween(o,l.opts,e,t,l.opts.specialEasing[e]||l.opts.easing);return l.tweens.push(n),n},stop:function(e){var t=0,n=e?l.tweens.length:0;if(a)return this;for(a=!0;t<n;t++)l.tweens[t].run(1);return e?(s.notifyWith(o,[l,1,0]),s.resolveWith(o,[l,e])):s.rejectWith(o,[l,e]),this}}),c=l.props;for(!function(e,t){var n,r,i,o,a;for(n in e)if(i=t[r=F(n)],o=e[n],Array.isArray(o)&&(i=o[1],o=e[n]=o[0]),n!==r&&(e[r]=o,delete e[n]),(a=ce.cssHooks[r])&&"expand"in a)for(n in o=a.expand(o),delete e[r],o)n in e||(e[n]=o[n],t[n]=i);else t[r]=i}(c,l.opts.specialEasing);r<i;r++)if(n=yt.prefilters[r].call(l,o,c,l.opts))return v(n.stop)&&(ce._queueHooks(l.elem,l.opts.queue).stop=n.stop.bind(n)),n;return ce.map(c,vt,l),v(l.opts.start)&&l.opts.start.call(o,l),l.progress(l.opts.progress).done(l.opts.done,l.opts.complete).fail(l.opts.fail).always(l.opts.always),ce.fx.timer(ce.extend(u,{elem:o,anim:l,queue:l.opts.queue})),l}ce.Animation=ce.extend(yt,{tweeners:{"*":[function(e,t){var n=this.createTween(e,t);return te(n.elem,e,Y.exec(t),n),n}]},tweener:function(e,t){v(e)?(t=e,e=["*"]):e=e.match(D);for(var n,r=0,i=e.length;r<i;r++)n=e[r],yt.tweeners[n]=yt.tweeners[n]||[],yt.tweeners[n].unshift(t)},prefilters:[function(e,t,n){var r,i,o,a,s,u,l,c,f="width"in t||"height"in t,p=this,d={},h=e.style,g=e.nodeType&&ee(e),v=_.get(e,"fxshow");for(r in n.queue||(null==(a=ce._queueHooks(e,"fx")).unqueued&&(a.unqueued=0,s=a.empty.fire,a.empty.fire=function(){a.unqueued||s()}),a.unqueued++,p.always(function(){p.always(function(){a.unqueued--,ce.queue(e,"fx").length||a.empty.fire()})})),t)if(i=t[r],ft.test(i)){if(delete t[r],o=o||"toggle"===i,i===(g?"hide":"show")){if("show"!==i||!v||void 0===v[r])continue;g=!0}d[r]=v&&v[r]||ce.style(e,r)}if((u=!ce.isEmptyObject(t))||!ce.isEmptyObject(d))for(r in f&&1===e.nodeType&&(n.overflow=[h.overflow,h.overflowX,h.overflowY],null==(l=v&&v.display)&&(l=_.get(e,"display")),"none"===(c=ce.css(e,"display"))&&(l?c=l:(re([e],!0),l=e.style.display||l,c=ce.css(e,"display"),re([e]))),("inline"===c||"inline-block"===c&&null!=l)&&"none"===ce.css(e,"float")&&(u||(p.done(function(){h.display=l}),null==l&&(c=h.display,l="none"===c?"":c)),h.display="inline-block")),n.overflow&&(h.overflow="hidden",p.always(function(){h.overflow=n.overflow[0],h.overflowX=n.overflow[1],h.overflowY=n.overflow[2]})),u=!1,d)u||(v?"hidden"in v&&(g=v.hidden):v=_.access(e,"fxshow",{display:l}),o&&(v.hidden=!g),g&&re([e],!0),p.done(function(){for(r in g||re([e]),_.remove(e,"fxshow"),d)ce.style(e,r,d[r])})),u=vt(g?v[r]:0,r,p),r in v||(v[r]=u.start,g&&(u.end=u.start,u.start=0))}],prefilter:function(e,t){t?yt.prefilters.unshift(e):yt.prefilters.push(e)}}),ce.speed=function(e,t,n){var r=e&&"object"==typeof e?ce.extend({},e):{complete:n||!n&&t||v(e)&&e,duration:e,easing:n&&t||t&&!v(t)&&t};return ce.fx.off?r.duration=0:"number"!=typeof r.duration&&(r.duration in ce.fx.speeds?r.duration=ce.fx.speeds[r.duration]:r.duration=ce.fx.speeds._default),null!=r.queue&&!0!==r.queue||(r.queue="fx"),r.old=r.complete,r.complete=function(){v(r.old)&&r.old.call(this),r.queue&&ce.dequeue(this,r.queue)},r},ce.fn.extend({fadeTo:function(e,t,n,r){return this.filter(ee).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(t,e,n,r){var i=ce.isEmptyObject(t),o=ce.speed(e,n,r),a=function(){var e=yt(this,ce.extend({},t),o);(i||_.get(this,"finish"))&&e.stop(!0)};return a.finish=a,i||!1===o.queue?this.each(a):this.queue(o.queue,a)},stop:function(i,e,o){var a=function(e){var t=e.stop;delete e.stop,t(o)};return"string"!=typeof i&&(o=e,e=i,i=void 0),e&&this.queue(i||"fx",[]),this.each(function(){var e=!0,t=null!=i&&i+"queueHooks",n=ce.timers,r=_.get(this);if(t)r[t]&&r[t].stop&&a(r[t]);else for(t in r)r[t]&&r[t].stop&&pt.test(t)&&a(r[t]);for(t=n.length;t--;)n[t].elem!==this||null!=i&&n[t].queue!==i||(n[t].anim.stop(o),e=!1,n.splice(t,1)
vendor: 13,972 bytes, line 37230
37230);!e&&o||ce.dequeue(this,i)})},finish:function(a){return!1!==a&&(a=a||"fx"),this.each(function(){var e,t=_.get(this),n=t[a+"queue"],r=t[a+"queueHooks"],i=ce.timers,o=n?n.length:0;for(t.finish=!0,ce.queue(this,a,[]),r&&r.stop&&r.stop.call(this,!0),e=i.length;e--;)i[e].elem===this&&i[e].queue===a&&(i[e].anim.stop(!0),i.splice(e,1));for(e=0;e<o;e++)n[e]&&n[e].finish&&n[e].finish.call(this);delete t.finish})}}),ce.each(["toggle","show","hide"],function(e,r){var i=ce.fn[r];ce.fn[r]=function(e,t,n){return null==e||"boolean"==typeof e?i.apply(this,arguments):this.animate(gt(r,!0),e,t,n)}}),ce.each({slideDown:gt("show"),slideUp:gt("hide"),slideToggle:gt("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,r){ce.fn[e]=function(e,t,n){return this.animate(r,e,t,n)}}),ce.timers=[],ce.fx.tick=function(){var e,t=0,n=ce.timers;for(st=Date.now();t<n.length;t++)(e=n[t])()||n[t]!==e||n.splice(t--,1);n.length||ce.fx.stop(),st=void 0},ce.fx.timer=function(e){ce.timers.push(e),ce.fx.start()},ce.fx.interval=13,ce.fx.start=function(){ut||(ut=!0,dt())},ce.fx.stop=function(){ut=null},ce.fx.speeds={slow:600,fast:200,_default:400},ce.fn.delay=function(r,e){return r=ce.fx&&ce.fx.speeds[r]||r,e=e||"fx",this.queue(e,function(e,t){var n=ie.setTimeout(e,r);t.stop=function(){ie.clearTimeout(n)}})},lt=C.createElement("input"),ct=C.createElement("select").appendChild(C.createElement("option")),lt.type="checkbox",le.checkOn=""!==lt.value,le.optSelected=ct.selected,(lt=C.createElement("input")).value="t",lt.type="radio",le.radioValue="t"===lt.value;var mt,xt=ce.expr.attrHandle;ce.fn.extend({attr:function(e,t){return M(this,ce.attr,e,t,1<arguments.length)},removeAttr:function(e){return this.each(function(){ce.removeAttr(this,e)})}}),ce.extend({attr:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return"undefined"==typeof e.getAttribute?ce.prop(e,t,n):(1===o&&ce.isXMLDoc(e)||(i=ce.attrHooks[t.toLowerCase()]||(ce.expr.match.bool.test(t)?mt:void 0)),void 0!==n?null===n?void ce.removeAttr(e,t):i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:(e.setAttribute(t,n+""),n):i&&"get"in i&&null!==(r=i.get(e,t))?r:null==(r=ce.find.attr(e,t))?void 0:r)},attrHooks:{type:{set:function(e,t){if(!le.radioValue&&"radio"===t&&fe(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}}},removeAttr:function(e,t){var n,r=0,i=t&&t.match(D);if(i&&1===e.nodeType)while(n=i[r++])e.removeAttribute(n)}}),mt={set:function(e,t,n){return!1===t?ce.removeAttr(e,n):e.setAttribute(n,n),n}},ce.each(ce.expr.match.bool.source.match(/\w+/g),function(e,t){var a=xt[t]||ce.find.attr;xt[t]=function(e,t,n){var r,i,o=t.toLowerCase();return n||(i=xt[o],xt[o]=r,r=null!=a(e,t,n)?o:null,xt[o]=i),r}});var bt=/^(?:input|select|textarea|button)$/i,wt=/^(?:a|area)$/i;function Tt(e){return(e.match(D)||[]).join(" ")}function Ct(e){return e.getAttribute&&e.getAttribute("class")||""}function kt(e){return Array.isArray(e)?e:"string"==typeof e&&e.match(D)||[]}ce.fn.extend({prop:function(e,t){return M(this,ce.prop,e,t,1<arguments.length)},removeProp:function(e){return this.each(function(){delete this[ce.propFix[e]||e]})}}),ce.extend({prop:function(e,t,n){var r,i,o=e.nodeType;if(3!==o&&8!==o&&2!==o)return 1===o&&ce.isXMLDoc(e)||(t=ce.propFix[t]||t,i=ce.propHooks[t]),void 0!==n?i&&"set"in i&&void 0!==(r=i.set(e,n,t))?r:e[t]=n:i&&"get"in i&&null!==(r=i.get(e,t))?r:e[t]},propHooks:{tabIndex:{get:function(e){var t=ce.find.attr(e,"tabindex");return t?parseInt(t,10):bt.test(e.nodeName)||wt.test(e.nodeName)&&e.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),le.optSelected||(ce.propHooks.selected={get:function(e){var t=e.parentNode;return t&&t.parentNode&&t.parentNode.selectedIndex,null},set:function(e){var t=e.parentNode;t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex)}}),ce.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){ce.propFix[this.toLowerCase()]=this}),ce.fn.extend({addClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).addClass(t.call(this,e,Ct(this)))}):(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++)i=e[o],n.indexOf(" "+i+" ")<0&&(n+=i+" ");a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this},removeClass:function(t){var e,n,r,i,o,a;return v(t)?this.each(function(e){ce(this).removeClass(t.call(this,e,Ct(this)))}):arguments.length?(e=kt(t)).length?this.each(function(){if(r=Ct(this),n=1===this.nodeType&&" "+Tt(r)+" "){for(o=0;o<e.length;o++){i=e[o];while(-1<n.indexOf(" "+i+" "))n=n.replace(" "+i+" "," ")}a=Tt(n),r!==a&&this.setAttribute("class",a)}}):this:this.attr("class","")},toggleClass:function(t,n){var e,r,i,o,a=typeof t,s="string"===a||Array.isArray(t);return v(t)?this.each(function(e){ce(this).toggleClass(t.call(this,e,Ct(this),n),n)}):"boolean"==typeof n&&s?n?this.addClass(t):this.removeClass(t):(e=kt(t),this.each(function(){if(s)for(o=ce(this),i=0;i<e.length;i++)r=e[i],o.hasClass(r)?o.removeClass(r):o.addClass(r);else void 0!==t&&"boolean"!==a||((r=Ct(this))&&_.set(this,"__className__",r),this.setAttribute&&this.setAttribute("class",r||!1===t?"":_.get(this,"__className__")||""))}))},hasClass:function(e){var t,n,r=0;t=" "+e+" ";while(n=this[r++])if(1===n.nodeType&&-1<(" "+Tt(Ct(n))+" ").indexOf(t))return!0;return!1}});var St=/\r/g;ce.fn.extend({val:function(n){var r,e,i,t=this[0];return arguments.length?(i=v(n),this.each(function(e){var t;1===this.nodeType&&(null==(t=i?n.call(this,e,ce(this).val()):n)?t="":"number"==typeof t?t+="":Array.isArray(t)&&(t=ce.map(t,function(e){return null==e?"":e+""})),(r=ce.valHooks[this.type]||ce.valHooks[this.nodeName.toLowerCase()])&&"set"in r&&void 0!==r.set(this,t,"value")||(this.value=t))})):t?(r=ce.valHooks[t.type]||ce.valHooks[t.nodeName.toLowerCase()])&&"get"in r&&void 0!==(e=r.get(t,"value"))?e:"string"==typeof(e=t.value)?e.replace(St,""):null==e?"":e:void 0}}),ce.extend({valHooks:{option:{get:function(e){var t=ce.find.attr(e,"value");return null!=t?t:Tt(ce.text(e))}},select:{get:function(e){var t,n,r,i=e.options,o=e.selectedIndex,a="select-one"===e.type,s=a?null:[],u=a?o+1:i.length;for(r=o<0?u:a?o:0;r<u;r++)if(((n=i[r]).selected||r===o)&&!n.disabled&&(!n.parentNode.disabled||!fe(n.parentNode,"optgroup"))){if(t=ce(n).val(),a)return t;s.push(t)}return s},set:function(e,t){var n,r,i=e.options,o=ce.makeArray(t),a=i.length;while(a--)((r=i[a]).selected=-1<ce.inArray(ce.valHooks.option.get(r),o))&&(n=!0);return n||(e.selectedIndex=-1),o}}}}),ce.each(["radio","checkbox"],function(){ce.valHooks[this]={set:function(e,t){if(Array.isArray(t))return e.checked=-1<ce.inArray(ce(e).val(),t)}},le.checkOn||(ce.valHooks[this].get=function(e){return null===e.getAttribute("value")?"on":e.value})});var Et=ie.location,jt={guid:Date.now()},At=/\?/;ce.parseXML=function(e){var t,n;if(!e||"string"!=typeof e)return null;try{t=(new ie.DOMParser).parseFromString(e,"text/xml")}catch(e){}return n=t&&t.getElementsByTagName("parsererror")[0],t&&!n||ce.error("Invalid XML: "+(n?ce.map(n.childNodes,function(e){return e.textContent}).join("\n"):e)),t};var Dt=/^(?:focusinfocus|focusoutblur)$/,Nt=function(e){e.stopPropagation()};ce.extend(ce.event,{trigger:function(e,t,n,r){var i,o,a,s,u,l,c,f,p=[n||C],d=ue.call(e,"type")?e.type:e,h=ue.call(e,"namespace")?e.namespace.split("."):[];if(o=f=a=n=n||C,3!==n.nodeType&&8!==n.nodeType&&!Dt.test(d+ce.event.triggered)&&(-1<d.indexOf(".")&&(d=(h=d.split(".")).shift(),h.sort()),u=d.indexOf(":")<0&&"on"+d,(e=e[ce.expando]?e:new ce.Event(d,"object"==typeof e&&e)).isTrigger=r?2:3,e.namespace=h.join("."),e.rnamespace=e.namespace?new RegExp("(^|\\.)"+h.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,e.result=void 0,e.target||(e.target=n),t=null==t?[e]:ce.makeArray(t,[e]),c=ce.event.special[d]||{},r||!c.trigger||!1!==c.trigger.apply(n,t))){if(!r&&!c.noBubble&&!y(n)){for(s=c.delegateType||d,Dt.test(s+d)||(o=o.parentNode);o;o=o.parentNode)p.push(o),a=o;a===(n.ownerDocument||C)&&p.push(a.defaultView||a.parentWindow||ie)}i=0;while((o=p[i++])&&!e.isPropagationStopped())f=o,e.type=1<i?s:c.bindType||d,(l=(_.get(o,"events")||Object.create(null))[e.type]&&_.get(o,"handle"))&&l.apply(o,t),(l=u&&o[u])&&l.apply&&$(o)&&(e.result=l.apply(o,t),!1===e.result&&e.preventDefault());return e.type=d,r||e.isDefaultPrevented()||c._default&&!1!==c._default.apply(p.pop(),t)||!$(n)||u&&v(n[d])&&!y(n)&&((a=n[u])&&(n[u]=null),ce.event.triggered=d,e.isPropagationStopped()&&f.addEventListener(d,Nt),n[d](),e.isPropagationStopped()&&f.removeEventListener(d,Nt),ce.event.triggered=void 0,a&&(n[u]=a)),e.result}},simulate:function(e,t,n){var r=ce.extend(new ce.Event,n,{type:e,isSimulated:!0});ce.event.trigger(r,null,t)}}),ce.fn.extend({trigger:function(e,t){return this.each(function(){ce.event.trigger(e,t,this)})},triggerHandler:function(e,t){var n=this[0];if(n)return ce.event.trigger(e,t,n,!0)}});var qt=/\[\]$/,Lt=/\r?\n/g,Ht=/^(?:submit|button|image|reset|file)$/i,Ot=/^(?:input|select|textarea|keygen)/i;function Pt(n,e,r,i){var t;if(Array.isArray(e))ce.each(e,function(e,t){r||qt.test(n)?i(n,t):Pt(n+"["+("object"==typeof t&&null!=t?e:"")+"]",t,r,i)});else if(r||"object"!==x(e))i(n,e);else for(t in e)Pt(n+"["+t+"]",e[t],r,i)}ce.param=function(e,t){var n,r=[],i=function(e,t){var n=v(t)?t():t;r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(null==n?"":n)};if(null==e)return"";if(Array.isArray(e)||e.jquery&&!ce.isPlainObject(e))ce.each(e,function(){i(this.name,this.value)});else for(n in e)Pt(n,e[n],t,i);return r.join("&")},ce.fn.extend({serialize:function(){return ce.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var e=ce.prop(this,"elements");return e?ce.makeArray(e):this}).filter(function(){var e=this.type;return this.name&&!ce(this).is(":disabled")&&Ot.test(this.nodeName)&&!Ht.test(e)&&(this.checked||!we.test(e))}).map(function(e,t){var n=ce(this).val();return null==n?null:Array.isArray(n)?ce.map(n,function(e){return{name:t.name,value:e.replace(Lt,"\r\n")}}):{name:t.name,value:n.replace(Lt,"\r\n")}}).get()}});var Mt=/%20/g,Rt=/#.*$/,It=/([?&])_=[^&]*/,Wt=/^(.*?):[ \t]*([^\r\n]*)$/gm,Ft=/^(?:GET|HEAD)$/,$t=/^\/\//,Bt={},_t={},zt="*/".concat("*"),Xt=C.createElement("a");function Ut(o){return function(e,t){"string"!=typeof e&&(t=e,e="*");var n,r=0,i=e.toLowerCase().match(D)||[];if(v(t))while(n=i[r++])"+"===n[0]?(n=n.slice(1)||"*",(o[n]=o[n]||[]).unshift(t)):(o[n]=o[n]||[]).push(t)}}function Vt(t,i,o,a){var s={},u=t===_t;function l(e){var r;return s[e]=!0,ce.each(t[e]||[],function(e,t){var n=t(i,o,a);return"string"!=typeof n||u||s[n]?u?!(r=n):void 0:(i.dataTypes.unshift(n),l(n),!1)}),r}return l(i.dataTypes[0])||!s["*"]&&l("*")}function Gt(e,t){var n,r,i=ce.ajaxSettings.flatOptions||{};for(n in t)void 0!==t[n]&&((i[n]?e:r||(r={}))[n]=t[n]);return r&&ce.extend(!0,e,r),e}Xt.href=Et.href,ce.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:Et.href,type:"GET",isLocal:/^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(Et.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":zt,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":ce.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(e,t){return t?Gt(Gt(e,ce.ajaxSettings),t):Gt(ce.ajaxSettings,e)},ajaxPrefilter:Ut(Bt),ajaxTransport:Ut(_t),ajax:function(e,t){"object"==typeof e&&(t=e,e=void 0),t=t||{};var c,f,p,n,d,r,h,g,i,o,v=ce.ajaxSetup({},t),y=v.context||v,m=v.context&&(y.nodeType||y.jquery)?ce(y):ce.event,x=ce.Deferred(),b=ce.Callbacks("once memory"),w=v.statusCode||{},a={},s={},u="canceled",T={readyState:0,getResponseHeader:function(e){var t;if(h){if(!n){n={};while(t=Wt.exec(p))n[t[1].toLowerCase()+" "]=(n[t[1].toLowerCase()+" "]||[]).concat(t[2])}t=n[e.toLowerCase()+" "]}return null==t?null:t.join(", ")},getAllResponseHeaders:function(){return h?p:null},setRequestHeader:function(e,t){return null==h&&(e=s[e.toLowerCase()]=s[e.toLowerCase()]||e,a[e]=t),this},overrideMimeType:function(e){return null==h&&(v.mimeType=e),this},statusCode:function(e){var t;if(e)if(h)T.always(e[T.status]);else for(t in e)w[t]=[w[t],e[t]];return this},abort:function(e){var t=e||u;return c&&c.abort(t),l(0,t),this}};if(x.promise(T),v.url=((e||v.url||Et.href)+"").replace($t,Et.protocol+"//"),v.type=t.method||t.type||v.method||v.type,v.dataTypes=(v.dataType||"*").toLowerCase().match(D)||[""],null==v.crossDomain){r=C.createElement("a");try{r.href=v.url,r.href=r.href,v.crossDomain=Xt.protocol+"//"+Xt.host!=r.protocol+"//"+r.host}catch(e){v.crossDomain=!0}}if(v.data&&v.processData&&"string"!=typeof v.data&&(v.data=ce.param(v.data,v.traditional)),Vt(Bt,v,t,T),h)return T;for(i in(g=ce.event&&v.global)&&0==ce.active++&&ce.event.trigger("ajaxStart"),v.type=v.type.toUpperCase(),v.hasContent=!Ft.test(v.type),f=v.url.replace(Rt,""),v.hasContent?v.data&&v.processData&&0===(v.contentType||"").indexOf("application/x-www-form-urlencoded")&&(v.data=v.data.replace(Mt,"+")):(o=v.url.slice(f.length),v.data&&(v.processData||"string"==typeof v.data)&&(f+=(At.test(f)?"&":"?")+v.data,delete v.data),!1===v.cache&&(f=f.replace(It,"$1"),o=(At.test(f)?"&":"?")+"_="+jt.guid+++o),v.url=f+o),v.ifModified&&(ce.lastModified[f]&&T.setRequestHeader("If-Modified-Since",ce.lastModified[f]),ce.etag[f]&&T.setRequestHeader("If-None-Match",ce.etag[f])),(v.data&&v.hasContent&&!1!==v.contentType||t.contentType)&&T.setRequestHeader("Content-Type",v.contentType),T.setRequestHeader("Accept",v.dataTypes[0]&&v.accepts[v.dataTypes[0]]?v.accepts[v.dataTypes[0]]+("*"!==v.dataTypes[0]?", "+zt+"; q=0.01":""):v.accepts["*"]),v.headers)T.setRequestHeader(i,v.headers[i]);
vendor: 9,033 bytes, line 37230
37230if(v.beforeSend&&(!1===v.beforeSend.call(y,T,v)||h))return T.abort();if(u="abort",b.add(v.complete),T.done(v.success),T.fail(v.error),c=Vt(_t,v,t,T)){if(T.readyState=1,g&&m.trigger("ajaxSend",[T,v]),h)return T;v.async&&0<v.timeout&&(d=ie.setTimeout(function(){T.abort("timeout")},v.timeout));try{h=!1,c.send(a,l)}catch(e){if(h)throw e;l(-1,e)}}else l(-1,"No Transport");function l(e,t,n,r){var i,o,a,s,u,l=t;h||(h=!0,d&&ie.clearTimeout(d),c=void 0,p=r||"",T.readyState=0<e?4:0,i=200<=e&&e<300||304===e,n&&(s=function(e,t,n){var r,i,o,a,s=e.contents,u=e.dataTypes;while("*"===u[0])u.shift(),void 0===r&&(r=e.mimeType||t.getResponseHeader("Content-Type"));if(r)for(i in s)if(s[i]&&s[i].test(r)){u.unshift(i);break}if(u[0]in n)o=u[0];else{for(i in n){if(!u[0]||e.converters[i+" "+u[0]]){o=i;break}a||(a=i)}o=o||a}if(o)return o!==u[0]&&u.unshift(o),n[o]}(v,T,n)),!i&&-1<ce.inArray("script",v.dataTypes)&&ce.inArray("json",v.dataTypes)<0&&(v.converters["text script"]=function(){}),s=function(e,t,n,r){var i,o,a,s,u,l={},c=e.dataTypes.slice();if(c[1])for(a in e.converters)l[a.toLowerCase()]=e.converters[a];o=c.shift();while(o)if(e.responseFields[o]&&(n[e.responseFields[o]]=t),!u&&r&&e.dataFilter&&(t=e.dataFilter(t,e.dataType)),u=o,o=c.shift())if("*"===o)o=u;else if("*"!==u&&u!==o){if(!(a=l[u+" "+o]||l["* "+o]))for(i in l)if((s=i.split(" "))[1]===o&&(a=l[u+" "+s[0]]||l["* "+s[0]])){!0===a?a=l[i]:!0!==l[i]&&(o=s[0],c.unshift(s[1]));break}if(!0!==a)if(a&&e["throws"])t=a(t);else try{t=a(t)}catch(e){return{state:"parsererror",error:a?e:"No conversion from "+u+" to "+o}}}return{state:"success",data:t}}(v,s,T,i),i?(v.ifModified&&((u=T.getResponseHeader("Last-Modified"))&&(ce.lastModified[f]=u),(u=T.getResponseHeader("etag"))&&(ce.etag[f]=u)),204===e||"HEAD"===v.type?l="nocontent":304===e?l="notmodified":(l=s.state,o=s.data,i=!(a=s.error))):(a=l,!e&&l||(l="error",e<0&&(e=0))),T.status=e,T.statusText=(t||l)+"",i?x.resolveWith(y,[o,l,T]):x.rejectWith(y,[T,l,a]),T.statusCode(w),w=void 0,g&&m.trigger(i?"ajaxSuccess":"ajaxError",[T,v,i?o:a]),b.fireWith(y,[T,l]),g&&(m.trigger("ajaxComplete",[T,v]),--ce.active||ce.event.trigger("ajaxStop")))}return T},getJSON:function(e,t,n){return ce.get(e,t,n,"json")},getScript:function(e,t){return ce.get(e,void 0,t,"script")}}),ce.each(["get","post"],function(e,i){ce[i]=function(e,t,n,r){return v(t)&&(r=r||n,n=t,t=void 0),ce.ajax(ce.extend({url:e,type:i,dataType:r,data:t,success:n},ce.isPlainObject(e)&&e))}}),ce.ajaxPrefilter(function(e){var t;for(t in e.headers)"content-type"===t.toLowerCase()&&(e.contentType=e.headers[t]||"")}),ce._evalUrl=function(e,t,n){return ce.ajax({url:e,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,converters:{"text script":function(){}},dataFilter:function(e){ce.globalEval(e,t,n)}})},ce.fn.extend({wrapAll:function(e){var t;return this[0]&&(v(e)&&(e=e.call(this[0])),t=ce(e,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstElementChild)e=e.firstElementChild;return e}).append(this)),this},wrapInner:function(n){return v(n)?this.each(function(e){ce(this).wrapInner(n.call(this,e))}):this.each(function(){var e=ce(this),t=e.contents();t.length?t.wrapAll(n):e.append(n)})},wrap:function(t){var n=v(t);return this.each(function(e){ce(this).wrapAll(n?t.call(this,e):t)})},unwrap:function(e){return this.parent(e).not("body").each(function(){ce(this).replaceWith(this.childNodes)}),this}}),ce.expr.pseudos.hidden=function(e){return!ce.expr.pseudos.visible(e)},ce.expr.pseudos.visible=function(e){return!!(e.offsetWidth||e.offsetHeight||e.getClientRects().length)},ce.ajaxSettings.xhr=function(){try{return new ie.XMLHttpRequest}catch(e){}};var Yt={0:200,1223:204},Qt=ce.ajaxSettings.xhr();le.cors=!!Qt&&"withCredentials"in Qt,le.ajax=Qt=!!Qt,ce.ajaxTransport(function(i){var o,a;if(le.cors||Qt&&!i.crossDomain)return{send:function(e,t){var n,r=i.xhr();if(r.open(i.type,i.url,i.async,i.username,i.password),i.xhrFields)for(n in i.xhrFields)r[n]=i.xhrFields[n];for(n in i.mimeType&&r.overrideMimeType&&r.overrideMimeType(i.mimeType),i.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest"),e)r.setRequestHeader(n,e[n]);o=function(e){return function(){o&&(o=a=r.onload=r.onerror=r.onabort=r.ontimeout=r.onreadystatechange=null,"abort"===e?r.abort():"error"===e?"number"!=typeof r.status?t(0,"error"):t(r.status,r.statusText):t(Yt[r.status]||r.status,r.statusText,"text"!==(r.responseType||"text")||"string"!=typeof r.responseText?{binary:r.response}:{text:r.responseText},r.getAllResponseHeaders()))}},r.onload=o(),a=r.onerror=r.ontimeout=o("error"),void 0!==r.onabort?r.onabort=a:r.onreadystatechange=function(){4===r.readyState&&ie.setTimeout(function(){o&&a()})},o=o("abort");try{r.send(i.hasContent&&i.data||null)}catch(e){if(o)throw e}},abort:function(){o&&o()}}}),ce.ajaxPrefilter(function(e){e.crossDomain&&(e.contents.script=!1)}),ce.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(e){return ce.globalEval(e),e}}}),ce.ajaxPrefilter("script",function(e){void 0===e.cache&&(e.cache=!1),e.crossDomain&&(e.type="GET")}),ce.ajaxTransport("script",function(n){var r,i;if(n.crossDomain||n.scriptAttrs)return{send:function(e,t){r=ce("<script>").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),C.head.appendChild(r[0])},abort:function(){i&&i()}}});var Jt,Kt=[],Zt=/(=)\?(?=&|$)|\?\?/;ce.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Kt.pop()||ce.expando+"_"+jt.guid++;return this[e]=!0,e}}),ce.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Zt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Zt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=v(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Zt,"$1"+r):!1!==e.jsonp&&(e.url+=(At.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||ce.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=ie[r],ie[r]=function(){o=arguments},n.always(function(){void 0===i?ce(ie).removeProp(r):ie[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Kt.push(r)),o&&v(i)&&i(o[0]),o=i=void 0}),"script"}),le.createHTMLDocument=((Jt=C.implementation.createHTMLDocument("").body).innerHTML="<form></form><form></form>",2===Jt.childNodes.length),ce.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(le.createHTMLDocument?((r=(t=C.implementation.createHTMLDocument("")).createElement("base")).href=C.location.href,t.head.appendChild(r)):t=C),o=!n&&[],(i=w.exec(e))?[t.createElement(i[1])]:(i=Ae([e],t,o),o&&o.length&&ce(o).remove(),ce.merge([],i.childNodes)));var r,i,o},ce.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1<s&&(r=Tt(e.slice(s)),e=e.slice(0,s)),v(t)?(n=t,t=void 0):t&&"object"==typeof t&&(i="POST"),0<a.length&&ce.ajax({url:e,type:i||"GET",dataType:"html",data:t}).done(function(e){o=arguments,a.html(r?ce("<div>").append(ce.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},ce.expr.pseudos.animated=function(t){return ce.grep(ce.timers,function(e){return t===e.elem}).length},ce.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=ce.css(e,"position"),c=ce(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=ce.css(e,"top"),u=ce.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),v(t)&&(t=t.call(e,n,ce.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):c.css(f)}},ce.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){ce.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===ce.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===ce.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=ce(e).offset()).top+=ce.css(e,"borderTopWidth",!0),i.left+=ce.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-ce.css(r,"marginTop",!0),left:t.left-i.left-ce.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===ce.css(e,"position"))e=e.offsetParent;return e||J})}}),ce.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;ce.fn[t]=function(e){return 
vendor: 2,712 bytes, lines 37230-37236
37230M(this,function(e,t,n){var r;if(y(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),ce.each(["top","left"],function(e,n){ce.cssHooks[n]=Ye(le.pixelPosition,function(e,t){if(t)return t=Ge(e,n),_e.test(t)?ce(e).position()[n]+"px":t})}),ce.each({Height:"height",Width:"width"},function(a,s){ce.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){ce.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return M(this,function(e,t,n){var r;return y(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?ce.css(e,t,i):ce.style(e,t,n,i)},s,n?e:void 0,n)}})}),ce.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){ce.fn[t]=function(e){return this.on(t,e)}}),ce.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.on("mouseenter",e).on("mouseleave",t||e)}}),ce.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){ce.fn[n]=function(e,t){return 0<arguments.length?this.on(n,null,e,t):this.trigger(n)}});var en=/^[\s\uFEFF\xA0]+|([^\s\uFEFF\xA0])[\s\uFEFF\xA0]+$/g;ce.proxy=function(e,t){var n,r,i;if("string"==typeof t&&(n=e[t],t=e,e=n),v(e))return r=ae.call(arguments,2),(i=function(){return e.apply(t||this,r.concat(ae.call(arguments)))}).guid=e.guid=e.guid||ce.guid++,i},ce.holdReady=function(e){e?ce.readyWait++:ce.ready(!0)},ce.isArray=Array.isArray,ce.parseJSON=JSON.parse,ce.nodeName=fe,ce.isFunction=v,ce.isWindow=y,ce.camelCase=F,ce.type=x,ce.now=Date.now,ce.isNumeric=function(e){var t=ce.type(e);return("number"===t||"string"===t)&&!isNaN(e-parseFloat(e))},ce.trim=function(e){return null==e?"":(e+"").replace(en,"$1")},"function"==typeof define&&define.amd&&define("jquery",[],function(){return ce});var tn=ie.jQuery,nn=ie.$;return ce.noConflict=function(e){return ie.$===ce&&(ie.$=nn),e&&ie.jQuery===ce&&(ie.jQuery=tn),ce},"undefined"==typeof e&&(ie.jQuery=ie.$=ce),ce});
37231
37232/**
37233 *  Ajax Autocomplete for jQuery, version 1.4.11
37234 *  (c) 2017 Tomas Kirda
37235 *
37236 *  Ajax Autocomplete for jQuery is freely distributable under the terms of an MIT
37236-style license.
37237 *  For details, see the web site: https://github.com/devbridge/jQuery-Autocomplete
37238 */
37239!function(t){"use strict";"function"==typeof define&&define.amd?define(["jquery"],t):"object"==typeof exports&&"function"==typeof require?t(require("jquery")):t(jQuery)}(function(t){"use strict";var e={escapeRegExChars:function(t){return t.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&")},createNode:function(t){var e=document.createElement("div");return e.className=t,e.style.position="absolute",e.style.display="none",e}},s=27,i=9,n=13,o=38,a=39,u=40,l=t.noop;function r(e,s){this.element=e,this.el=t(e),this.suggestions=[],this.badQueries=[],this.selectedIndex=-1,this.currentValue=this.element.value,this.timeoutId=null,this.cachedResponse={},this.onChangeTimeout=null,this.onChange=null,this.isLocal=!1,this.suggestionsContainer=null,this.noSuggestionsContainer=null,this.options=t.extend(!0,{},r.defaults,s),this.classes={selected:"autocomplete-selected",suggestion:"autocomplete-suggestion"},this.hint=null,this.hintValue="",this.selection=null,this.initialize(),this.setOptions(s)}r.utils=e,t.Autocomplete=r,r.defaults={ajaxSettings:{},autoSelectFirst:!1,appendTo:"body",serviceUrl:null,lookup:null,onSelect:null,onHint:null,width:"auto",minChars:1,maxHeight:300,deferRequestBy:0,params:{},formatResult:function(t,s){if(!s)return t.value;var i="("+e.escapeRegExChars(s)+")";return t.value.replace(new RegExp(i,"gi"),"<strong>$1</strong>").replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/&lt;(\/?strong)&gt;/g,"<$1>")},formatGroup:function(t,e){return'<div class="autocomplete-group">'+e+"</div>"},delimiter:null,zIndex:9999,type:"GET",noCache:!1,onSearchStart:l,onSearchComplete:l,onSearchError:l,preserveInput:!1,containerClass:"autocomplete-suggestions",tabDisabled:!1,dataType:"text",currentRequest:null,triggerSelectOnValidInput:!0,preventBadQueries:!0,lookupFilter:function(t,e,s){return-1!==t.value.toLowerCase().indexOf(s)},paramName:"query",transformResult:function(e){return"string"==typeof e?t.parseJSON(e):e},showNoSuggestionNotice:!1,noSuggestionNotice:"No results",orientation:"bottom",forceFixPosition:!1},r.prototype={initialize:function(){var e,s=this,i="."+s.classes.suggestion,n=s.classes.selected,o=s.options;s.element.setAttribute("autocomplete","off"),s.noSuggestionsContainer=t('<div class="autocomplete-no-suggestion"></div>').html(this.options.noSuggestionNotice).get(0),s.suggestionsContainer=r.utils.createNode(o.containerClass),(e=t(s.suggestionsContainer)).appendTo(o.appendTo||"body"),"auto"!==o.width&&e.css("width",o.width),e.on("mouseover.autocomplete",i,function(){s.activate(t(this).data("index"))}),e.on("mouseout.autocomplete",function(){s.selectedIndex=-1,e.children("."+n).removeClass(n)}),e.on("click.autocomplete",i,function(){s.select(t(this).data("index"))}),e.on("click.autocomplete",function(){clearTimeout(s.blurTimeoutId)}),s.fixPositionCapture=function(){s.visible&&s.fixPosition()},t(window).on("resize.autocomplete",s.fixPositionCapture),s.el.on("keydown.autocomplete",function(t){s.onKeyPress(t)}),s.el.on("keyup.autocomplete",function(t){s.onKeyUp(t)}),s.el.on("blur.autocomplete",function(){s.onBlur()}),s.el.on("focus.autocomplete",function(){s.onFocus()}),s.el.on("change.autocomplete",function(t){s.onKeyUp(t)}),s.el.on("input.autocomplete",function(t){s.onKeyUp(t)})},onFocus:function(){this.disabled||(this.fixPosition(),this.el.val().length>=this.options.minChars&&this.onValueChange())},onBlur:function(){var e=this,s=e.options,i=e.el.val(),n=e.getQuery(i);e.blurTimeoutId=setTimeout(function(){e.hide(),e.selection&&e.currentValue!==n&&(s.onInvalidateSelection||t.noop).call(e.element)},200)},abortAjax:function(){this.currentRequest&&(this.currentRequest.abort(),this.currentRequest=null)},setOptions:function(e){var s=t.extend({},this.options,e);this.isLocal=Array.isArray(s.lookup),this.isLocal&&(s.lookup=this.verifySuggestionsFormat(s.lookup)),s.orientation=this.validateOrientation(s.orientation,"bottom"),t(this.suggestionsContainer).css({"max-height":s.maxHeight+"px",width:s.width+"px","z-index":s.zIndex}),this.options=s},clearCache:function(){this.cachedResponse={},this.badQueries=[]},clear:function(){this.clearCache(),this.currentValue="",this.suggestions=[]},disable:function(){this.disabled=!0,clearTimeout(this.onChangeTimeout),this.abortAjax()},enable:function(){this.disabled=!1},fixPosition:function(){var e=t(this.suggestionsContainer),s=e.parent().get(0);if(s===document.body||this.options.forceFixPosition){var i=this.options.orientation,n=e.outerHeight(),o=this.el.outerHeight(),a=this.el.offset(),u={top:a.top,left
37239:a.left};if("auto"===i){var l=t(window).height(),r=t(window).scrollTop(),h=-r+a.top-n,c=r+l-(a.top+o+n);i=Math.max(h,c)===h?"top":"bottom"}if(u.top+="top"===i?-n:o,s!==document.body){var g,d=e.css("opacity");this.visible||e.css("opacity",0).show(),g=e.offsetParent().offset(),u.top-=g.top,u.top+=s.scrollTop,u.left-=g.left,this.visible||e.css("opacity",d).hide()}"auto"===this.options.width&&(u.width=this.el.outerWidth()+"px"),e.css(u)}},isCursorAtEnd:function(){var t,e=this.el.val().length,s=this.element.selectionStart;return"number"==typeof s?s===e:!document.selection||((t=document.selection.createRange()).moveStart("character",-e),e===t.text.length)},onKeyPress:function(t){if(this.disabled||this.visible||t.which!==u||!this.currentValue){if(!this.disabled&&this.visible){switch(t.which){case s:this.el.val(this.currentValue),this.hide();break;case a:if(this.hint&&this.options.onHint&&this.isCursorAtEnd()){this.selectHint();break}return;case i:if(this.hint&&this.options.onHint)return void this.selectHint();if(-1===this.selectedIndex)return void this.hide();if(this.select(this.selectedIndex),!1===this.options.tabDisabled)return;break;case n:if(-1===this.selectedIndex)return void this.hide();this.select(this.selectedIndex);break;case o:this.moveUp();break;case u:this.moveDown();break;default:return}t.stopImmediatePropagation(),t.preventDefault()}}else this.suggest()},onKeyUp:function(t){var e=this;if(!e.disabled){switch(t.which){case o:case u:return}clearTimeout(e.onChangeTimeout),e.currentValue!==e.el.val()&&(e.findBestHint(),e.options.deferRequestBy>0?e.onChangeTimeout=setTimeout(function(){e.onValueChange()},e.options.deferRequestBy):e.onValueChange())}},onValueChange:function(){if(this.ignoreValueChange)this.ignoreValueChange=!1;else{var e=this.options,s=this.el.val(),i=this.getQuery(s);this.selection&&this.currentValue!==i&&(this.selection=null,(e.onInvalidateSelection||t.noop).call(this.element)),clearTimeout(this.onChangeTimeout),this.currentValue=s,this.selectedIndex=-1,e.triggerSelectOnValidInput&&this.isExactMatch(i)?this.select(0):i.length<e.minChars?this.hide():this.getSuggestions(i)}},isExactMatch:function(t){var e=this.suggestions;return 1===e.length&&e[0].value.toLowerCase()===t.toLowerCase()},getQuery:function(e){var s,i=this.options.delimiter;return i?(s=e.split(i),t.trim(s[s.length-1])):e},getSuggestionsLocal:function(e){var s,i=this.options,n=e.toLowerCase(),o=i.lookupFilter,a=parseInt(i.lookupLimit,10);return s={suggestions:t.grep(i.lookup,function(t){return o(t,e,n)})},a&&s.suggestions.length>a&&(s.suggestions=s.suggestions.slice(0,a)),s},getSuggestions:function(e){var s,i,n,o,a=this,u=a.options,l=u.serviceUrl;u.params[u.paramName]=e,!1!==u.onSearchStart.call(a.element,u.params)&&(i=u.ignoreParams?null:u.params,t.isFunction(u.lookup)?u.lookup(e,function(t){a.suggestions=t.suggestions,a.suggest(),u.onSearchComplete.call(a.element,e,t.suggestions)}):(a.isLocal?s=a.getSuggestionsLocal(e):(t.isFunction(l)&&(l=l.call(a.element,e)),n=l+"?"+t.param(i||{}),s=a.cachedResponse[n]),s&&Array.isArray(s.suggestions)?(a.suggestions=s.suggestions,a.suggest(),u.onSearchComplete.call(a.element,e,s.suggestions)):a.isBadQuery(e)?u.onSearchComplete.call(a.element,e,[]):(a.abortAjax(),o={url:l,data:i,type:u.type,dataType:u.dataType},t.extend(o,u.ajaxSettings),a.currentRequest=t.ajax(o).done(function(t){var s;a.currentRequest=null,s=u.transformResult(t,e),a.processResponse(s,e,n),u.onSearchComplete.call(a.element,e,s.suggestions)}).fail(function(t,s,i){u.onSearchError.call(a.element,e,t,s,i)}))))},isBadQuery:function(t){if(!this.options.preventBadQueries)return!1;for(var e=this.badQueries,s=e.length;s--;)if(0===t.indexOf(e[s]))return!0;return!1},hide:function(){var e=t(this.suggestionsContainer);t.isFunction(this.options.onHide)&&this.visible&&this.options.onHide.call(this.element,e),this.visible=!1,this.selectedIndex=-1,clearTimeout(this.onChangeTimeout),t(this.suggestionsContainer).hide(),this.onHint(null)},suggest:function(){if(this.suggestions.length){var e,s=this.options,i=s.groupBy,n=s.formatResult,o=this.getQuery(this.currentValue),a=this.classes.suggestion,u=this.classes.selected,l=t(this.suggestionsContainer),r=t(this.noSuggestionsContainer),h=s.beforeRender,c="";s.triggerSelectOnValidInput&&this.isExactMatch(o)?this.select(0):(t.each(this.suggestions,function(t,u){i&&(c+=function(t,n){var o=t.data[i];return e===o?"":(e=o,s.formatGroup(t,e))}(u,0)),c+='<div class="'+a+'" data-index="'+t+'">'+n(u,o,t)+"</div>"}),this.adjustContainerWidth(),r.detach(),l.html(c),t.isFunction(h)&&h.call(this.element,l,this.suggestions),this.fixPosition(),l.show(),s.autoSelectFirst&&(this.selectedIndex=0,l.scrollTop(0),l.children("."+a).first().addClass(u)),this.visible=!0)}else this.options.showNoSuggestionNotice?this.noSuggestions():this.hide()},noSuggestions:function(){var e=this.options.beforeRender,s=t(this.suggestionsContainer),i=t(this.noSuggestionsContainer);this.adjustContainerWidth(),i.detach(),s.empty(),s.append(i),t.isFunction(e)&&e.call(this.element,s,this.suggestions),this.fixPosition(),s.show(),this.visible=!0},adjustContainerWidth:function(){var e,s=this.options,i=t(this.suggestionsContainer);"auto"===s.width?(e=this.el.outerWidth(),i.css("width",e>0?e:300)):"flex"===s.width&&i.css("width","")},findBestHint:function(){var e=this.el.val().toLowerCase(),s=null;e&&(t.each(this.suggestions,function(t,i){var n=(i===null||i.value===null?false:(0===i.value.toLowerCase().indexOf(e)));return n&&(s=i),!n}),this.onHint(s))},onHint:function(e){var s=this.options.onHint,i="";e&&(i=this.currentValue+e.value.substr(this.currentValue.length)),this.hintValue!==i&&(this.hintValue=i,this.hint=e,t.isFunction(s)&&s.call(this.element,i))},verifySuggestionsFormat:function(e){return e.length&&"string"==typeof e[0]?t.map(e,function(t){return{value:t,data:null}}):e},validateOrientation:function(e,s){return e=t.trim(e||"").toLowerCase(),-1===t.inArray(e,["auto","bottom","top"])&&(e=s),e},processResponse:function(t,e,s){var i=this.options;t.suggestions=this.verifySuggestionsFormat(t.suggestions),i.noCache||(this.cachedResponse[s]=t,i.preventBadQueries&&!t.suggestions.length&&this.badQueries.push(e)),e===this.getQuery(this.currentValue)&&(this.suggestions=t.suggestions,this.suggest())},activate:function(e){var s,i=this.classes.selected,n=t(this.suggestionsContainer),o=n.find("."+this.classes.suggestion);return n.find("."+i).removeClass(i),this.selectedIndex=e,-1!==this.selectedIndex&&o.length>this.selectedIndex?(s=o.get(this.selectedIndex),t(s).addClass(i),s):null},selectHint:function(){var e=t.inArray(this.hint,this.suggestions);this.select(e)},select:function(t){this.hide(),this.onSelect(t)},moveUp:function(){if(-1!==this.selectedIndex)return 0===this.selectedIndex?(t(this.suggestionsContainer).children("."+this.classes.suggestion).first().removeClass(this.classes.selected),this.selectedIndex=-1,this.ignoreValueChange=!1,this.el.val(this.currentValue),void this.findBestHint()):void this.adjustScroll(this.selectedIndex-1)},moveDown:function(){this.selectedIndex!==this.suggestions.length-1&&this.adjustScroll(this.selectedIndex+1)},adjustScroll:function(e){var s=this.activate(e);if(s){var i,n,o,a=t(s).outerHeight();i=s.offsetTop,o=(n=t(this.suggestionsContainer).scrollTop())+this.options.maxHeight-a,i<n?t(this.suggestionsContainer).scrollTop(i):i>o&&t(this.suggestionsContainer).scrollTop(i-this.options.maxHeight+a),this.options.preserveInput||(this.ignoreValueChange=!0,this.el.val(this.getValue(this.suggestions[e].value))),this.onHint(null)}},onSelect:function(e){var s=this.options.onSelect,i=this.suggestions[e];this.currentValue=this.getValue(i.value),this.currentValue===this.el.val()||this.options.preserveInput||this.el.val(this.currentValue),this.onHint(null),this.suggestions=[],this.selection=i,t.isFunction(s)&&s.call(this.element,i)},getValue:function(t){var e,s,i=this.options.delimiter;return i?1===(s=(e=this.currentValue).split(i)).length?t:e.substr(0,e.length-s[s.length-1].length)+t:t},dispose:function(){this.el.off(".autocomplete").removeData("autocomplete"),t(window).off("resize.autocomplete",this.fixPositionCapture),t(this.suggestionsContainer).remove()}},t.fn.devbridgeAutocomplete=function(e,s){return arguments.length?this.each(function(){var i=t(this),n=i.data("autocomplete");"string"==typeof e?n&&"function"==typeof n[e]&&n[e](s):(n&&n.dispose&&n.dispose(),n=new r(this,e),i.data("autocomplete",n))}):this.first().data("autocomplete")}
37239,t.fn.autocomplete||(t.fn.autocomplete=t.fn.devbridgeAutocomplete)});
37240
vendor: 32,262 bytes, lines 37241-37251
37241// ==================================================
37242// fancyBox v3.5.7
37243//
37244// Licensed GPLv3 for open source use
37245// or fancyBox Commercial License for commercial use
37246//
37247// http://fancyapps.com/fancybox/
37248// Copyright 2019 fancyApps
37249//
37250// ==================================================
37251!function(t,e,n,o){"use strict";function i(t,e){var o,i,a,s=[],r=0;t&&t.isDefaultPrevented()||(t.preventDefault(),e=e||{},t&&t.data&&(e=h(t.data.options,e)),o=e.$target||n(t.currentTarget).trigger("blur"),(a=n.fancybox.getInstance())&&a.$trigger&&a.$trigger.is(o)||(e.selector?s=n(e.selector):(i=o.attr("data-fancybox")||"",i?(s=t.data?t.data.items:[],s=s.length?s.filter('[data-fancybox="'+i+'"]'):n('[data-fancybox="'+i+'"]')):s=[o]),r=n(s).index(o),r<0&&(r=0),a=n.fancybox.open(s,e,r),a.$trigger=o))}if(t.console=t.console||{info:function(t){}},n){if(n.fn.fancybox)return void console.info("fancyBox already initialized");var a={closeExisting:!1,loop:!1,gutter:50,keyboard:!0,preventCaptionOverlap:!0,arrows:!0,infobar:!0,smallBtn:"auto",toolbar:"auto",buttons:["zoom","slideShow","thumbs","close"],idleTime:3,protect:!1,modal:!1,image:{preload:!1},ajax:{settings:{data:{fancybox:!0}}},iframe:{tpl:'<iframe id="fancybox-frame{rnd}" name="fancybox-frame{rnd}" class="fancybox-iframe" allowfullscreen="allowfullscreen" allow="autoplay; fullscreen" src=""></iframe>',preload:!0,css:{},attr:{scrolling:"auto"}},video:{tpl:'<video class="fancybox-video" controls controlsList="nodownload" poster="{{poster}}"><source src="{{src}}" type="{{format}}" />Sorry, your browser doesn\'t support embedded videos, <a href="{{src}}">download</a> and watch with your favorite video player!</video>',format:"",autoStart:!0},defaultType:"image",animationEffect:"zoom",animationDuration:366,zoomOpacity:"auto",transitionEffect:"fade",transitionDuration:366,slideClass:"",baseClass:"",baseTpl:'<div class="fancybox-container" role="dialog" tabindex="-1"><div class="fancybox-bg"></div><div class="fancybox-inner"><div class="fancybox-infobar"><span data-fancybox-index></span>&nbsp;/&nbsp;<span data-fancybox-count></span></div><div class="fancybox-toolbar">{{buttons}}</div><div class="fancybox-navigation">{{arrows}}</div><div class="fancybox-stage"></div><div class="fancybox-caption"><div class="fancybox-caption__body"></div></div></div></div>',spinnerTpl:'<div class="fancybox-loading"></div>',errorTpl:'<div class="fancybox-error"><p>{{ERROR}}</p></div>',btnTpl:{download:'<a download data-fancybox-download class="fancybox-button fancybox-button--download" title="{{DOWNLOAD}}" href="javascript:;"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.62 17.09V19H5.38v-1.91zm-2.97-6.96L17 11.45l-5 4.87-5-4.87 1.36-1.32 2.68 2.64V5h1.92v7.77z"/></svg></a>',zoom:'<button data-fancybox-zoom class="fancybox-button fancybox-button--zoom" title="{{ZOOM}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M18.7 17.3l-3-3a5.9 5.9 0 0 0-.6-7.6 5.9 5.9 0 0 0-8.4 0 5.9 5.9 0 0 0 0 8.4 5.9 5.9 0 0 0 7.7.7l3 3a1 1 0 0 0 1.3 0c.4-.5.4-1 0-1.5zM8.1 13.8a4 4 0 0 1 0-5.7 4 4 0 0 1 5.7 0 4 4 0 0 1 0 5.7 4 4 0 0 1-5.7 0z"/></svg></button>',close:'<button data-fancybox-close class="fancybox-button fancybox-button--close" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M12 10.6L6.6 5.2 5.2 6.6l5.4 5.4-5.4 5.4 1.4 1.4 5.4-5.4 5.4 5.4 1.4-1.4-5.4-5.4 5.4-5.4-1.4-1.4-5.4 5.4z"/></svg></button>',arrowLeft:'<button data-fancybox-prev class="fancybox-button fancybox-button--arrow_left" title="{{PREV}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M11.28 15.7l-1.34 1.37L5 12l4.94-5.07 1.34 1.38-2.68 2.72H19v1.94H8.6z"/></svg></div></button>',arrowRight:'<button data-fancybox-next class="fancybox-button fancybox-button--arrow_right" title="{{NEXT}}"><div><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M15.4 12.97l-2.68 2.72 1.34 1.38L19 12l-4.94-5.07-1.34 1.38 2.68 2.72H5v1.94z"/></svg></div></button>',smallBtn:'<button type="button" data-fancybox-close class="fancybox-button fancybox-close-small" title="{{CLOSE}}"><svg xmlns="http://www.w3.org/2000/svg" version="1" viewBox="0 0 24 24"><path d="M13 12l5-5-1-1-5 5-5-5-1 1 5 5-5 5 1 1 5-5 5 5 1-1z"/></svg></button>'},parentEl:"body",hideScrollbar:!0,autoFocus:!0,backFocus:!0,trapFocus:!0,fullScreen:{autoStart:!1},touch:{vertical:!0,momentum:!0},hash:null,media:{},slideShow:{autoStart:!1,speed:3e3},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"},wheel:"auto",onInit:n.noop,beforeLoad:n.noop,afterLoad:n.noop,beforeShow:n.noop,afterShow:n.noop,beforeClose:n.noop,afterClose:n.noop,onActivate:n.noop,onDeactivate:n.noop,clickContent:function(t,e){return"image"===t.type&&"zoom"},clickSlide:"close",clickOutside:"close",dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1,mobile:{preventCaptionOverlap:!1,idleTime:!1,clickContent:function(t,e){return"image"===t.type&&"toggleControls"},clickSlide:function(t,e){return"image"===t.type?"toggleControls":"close"},dblclickContent:function(t,e){return"image"===t.type&&"zoom"},dblclickSlide:function(t,e){return"image"===t.type&&"zoom"}},lang:"en",i18n:{en:{CLOSE:"Close",NEXT:"Next",PREV:"Previous",ERROR:"The requested content cannot be loaded. <br/> Please try again later.",PLAY_START:"Start slideshow",PLAY_STOP:"Pause slideshow",FULL_SCREEN:"Full screen",THUMBS:"Thumbnails",DOWNLOAD:"Download",SHARE:"Share",ZOOM:"Zoom"},de:{CLOSE:"Schlie&szlig;en",NEXT:"Weiter",PREV:"Zur&uuml;ck",ERROR:"Die angeforderten Daten konnten nicht geladen werden. <br/> Bitte versuchen Sie es sp&auml;ter nochmal.",PLAY_START:"Diaschau starten",PLAY_STOP:"Diaschau beenden",FULL_SCREEN:"Vollbild",THUMBS:"Vorschaubilder",DOWNLOAD:"Herunterladen",SHARE:"Teilen",ZOOM:"Vergr&ouml;&szlig;ern"}}},s=n(t),r=n(e),c=0,l=function(t){return t&&t.hasOwnProperty&&t instanceof n},d=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),u=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),f=function(){var t,n=e.createElement("fakeelement"),o={transition:"transitionend",OTransition:"oTransitionEnd",MozTransition:"transitionend",WebkitTransition:"webkitTransitionEnd"};for(t in o)if(void 0!==n.style[t])return o[t];return"transitionend"}(),p=function(t){return t&&t.length&&t[0].offsetHeight},h=function(t,e){var o=n.extend(!0,{},t,e);return n.each(e,function(t,e){n.isArray(e)&&(o[t]=e)}),o},g=function(t){var o,i;return!(!t||t.ownerDocument!==e)&&(n(".fancybox-container").css("pointer-events","none"),o={x:t.getBoundingClientRect().left+t.offsetWidth/2,y:t.getBoundingClientRect().top+t.offsetHeight/2},i=e.elementFromPoint(o.x,o.y)===t,n(".fancybox-container").css("pointer-events",""),i)},b=function(t,e,o){var i=this;i.opts=h({index:o},n.fancybox.defaults),n.isPlainObject(e)&&(i.opts=h(i.opts,e)),n.fancybox.isMobile&&(i.opts=h(i.opts,i.opts.mobile)),i.id=i.opts.id||++c,i.currIndex=parseInt(i.opts.index,10)||0,i.prevIndex=null,i.prevPos=null,i.currPos=0,i.firstRun=!0,i.group=[],i.slides={},i.addContent(t),i.group.length&&i.init()};n.extend(b.prototype,{init:function(){var o,i,a=this,s=a.group[a.currIndex],r=s.opts;r.closeExisting&&n.fancybox.close(!0),n("body").addClass("fancybox-active"),!n.fancybox.getInstance()&&!1!==r.hideScrollbar&&!n.fancybox.isMobile&&e.body.scrollHeight>t.innerHeight&&(n("head").append('<style id="fancybox-style-noscroll" type="text/css">.compensate-for-scrollbar{margin-right:'+(t.innerWidth-e.documentElement.clientWidth)+"px;}</style>"),n("body").addClass("compensate-for-scrollbar")),i="",n.each(r.buttons,function(t,e){i+=r.btnTpl[e]||""}),o=n(a.translate(a,r.baseTpl.replace("{{buttons}}",i).replace("{{arrows}}",r.btnTpl.arrowLeft+r.btnTpl.arrowRight))).attr("id","fancybox-container-"+a.id).addClass(r.baseClass).data("FancyBox",a).appendTo(r.parentEl),a.$refs={container:o},["bg","inner","infobar","toolbar","stage","caption","navigation"].forEach(function(t){a.$refs[t]=o.find(".fancybox-"+t)}),a.trigger("onInit"),a.activate(),a.jumpTo(a.currIndex)},translate:function(t,e){var n=t.opts.i18n[t.opts.lang]||t.opts.i18n.en;return e.replace(/\{\{(\w+)\}\}/g,function(t,e){return void 0===n[e]?t:n[e]})},addContent:function(t){var e,o=this,i=n.makeArray(t);n.each(i,function(t,e){var i,a,s,r,c,l={},d={};n.isPlainObject(e)?(l=e,d=e.opts||e):"object"===n.type(e)&&n(e).length?(i=n(e),d=i.data()||{},d=n.extend(!0,{},d,d.options),d.$orig=i,l.src=o.opts.src||d.src||i.attr("href"),l.type||l.src||(l.type="inline",l.src=e)):l={type:"html",src:e+""},l.opts=n.extend(!0,{},o.opts,d),n.isArray(d.buttons)&&(l.opts.buttons=d.buttons),n.fancybox.isMobile&&l.opts.mobile&&(l.opts=h(l.opts,l.opts.mobile)),a=l.type||l.opts.type,r=l.src||"",!a&&r&&((s=r.match(/\.(mp4|mov|ogv|webm)((\?|#).*)?$/i))?(a="video",l.opts.video.format||(l.opts.video.format="video/"+("ogv"===s[1]?"ogg":s[1]))):r.match(/(^data:image\/[a-z0-9+\/=]*,)|(\.(jp(e|g|eg)|gif|png|bmp|webp|svg|ico)((\?|#).*)?$)/i)?a="image":r.match(/\.(pdf)((\?|#).*)?$/i)?(a="iframe",l=n.extend(!0,l,{contentType:"pdf",opts:{iframe:{preload:!1}}})):"#"===r.charAt(0)&&(a="inline")),a?l.type=a:o.trigger("objectNeedsType",l),l.contentType||(l.contentType=n.inArray(l.type,["html","inline","ajax"])>-1?"html":l.type),l.index=o.group.length,"auto"==l.opts.smallBtn&&(l.opts.smallBtn=n.inArray(l.type,["html","inline","ajax"])>-1),"auto"===l.opts.toolbar&&(l.opts.toolbar=!l.opts.smallBtn),l.$thumb=l.opts.$thumb||null,l.opts.$trigger&&l.index===o.opts.index&&(l.$thumb=l.opts.$trigger.find("img:first"),l.$thumb.length&&(l.opts.$orig=l.opts.$trigger)),l.$thumb&&l.$thumb.length||!l.opts.$orig||(l.$thumb=l.opts.$orig.find("img:first")),l.$thumb&&!l.$thumb.length&&(l.$thumb=null),l.thumb=l.opts.thumb||(l.$thumb?l.$thumb[0].src:null),"function"===n.type(l.opts.caption)&&(l.opts.caption=l.opts.caption.apply(e,[o,l])),"function"===n.type(o.opts.caption)&&(l.opts.caption=o.opts.caption.apply(e,[o,l])),l.opts.caption instanceof n||(l.opts.caption=void 0===l.opts.caption?"":l.opts.caption+""),"ajax"===l.type&&(c=r.split(/\s+/,2),c.length>1&&(l.src=c.shift(),l.opts.filter=c.shift())),l.opts.modal&&(l.opts=n.extend(!0,l.opts,{trapFocus:!0,infobar:0,toolbar:0,smallBtn:0,keyboard:0,slideShow:0,fullScreen:0,thumbs:0,touch:0,clickContent:!1,clickSlide:!1,clickOutside:!1,dblclickContent:!1,dblclickSlide:!1,dblclickOutside:!1})),o.group.push(l)}),Object.keys(o.slides).length&&(o.updateControls(),(e=o.Thumbs)&&e.isActive&&(e.create(),e.focus()))},addEvents:function(){var e=this;e.removeEvents(),e.$refs.container.on("click.fb-close","[data-fancybox-close]",function(t){t.stopPropagation(),t.preventDefault(),e.close(t)}).on("touchstart.fb-prev click.fb-prev","[data-fancybox-prev]",function(t){t.stopPropagation(),t.preventDefault(),e.previous()}).on("touchstart.fb-next click.fb-next","[data-fancybox-next]",function(t){t.stopPropagation(),t.preventDefault(),e.next()}).on("click.fb","[data-fancybox-zoom]",function(t){e[e.isScaledDown()?"scaleToActual":"scaleToFit"]()}),s.on("orientationchange.fb resize.fb",function(t){t&&t.originalEvent&&"resize"===t.originalEvent.type?(e.requestId&&u(e.requestId),e.requestId=d(function(){e.update(t)})):(e.current&&"iframe"===e.current.type&&e.$refs.stage.hide(),setTimeout(function(){e.$refs.stage.show(),e.update(t)},n.fancybox.isMobile?600:250))}),r.on("keydown.fb",function(t){var o=n.fancybox?n.fancybox.getInstance():null,i=o.current,a=t.keyCode||t.which;if(9==a)return void(i.opts.trapFocus&&e.focus(t));if(!(!i.opts.keyboard||t.ctrlKey||t.altKey||t.shiftKey||n(t.target).is("input,textarea,video,audio,select")))return 8===a||27===a?(t.preventDefault(),void e.close(t)):37===a||38===a?(t.preventDefault(),void e.previous()):39===a||40===a?(t.preventDefault(),void e.next()):void e.trigger("afterKeydown",t,a)}),e.group[e.currIndex].opts.idleTime&&(e.idleSecondsCounter=0,r.on("mousemove.fb-idle mouseleave.fb-idle mousedown.fb-idle touchstart.fb-idle touchmove.fb-idle scroll.fb-idle keydown.fb-idle",function(t){e.idleSecondsCounter=0,e.isIdle&&e.showControls(),e.isIdle=!1}),e.idleInterval=t.setInterval(function(){++e.idleSecondsCounter>=e.group[e.currIndex].opts.idleTime&&!e.isDragging&&(e.isIdle=!0,e.idleSecondsCounter=0,e.hideControls())},1e3))},removeEvents:function(){var e=this;s.off("orientationchange.fb resize.fb"),r.off("keydown.fb .fb-idle"),this.$refs.container.off(".fb-close .fb-prev .fb-next"),e.idleInterval&&(t.clearInterval(e.idleInterval),e.idleInterval=null)},previous:function(t){return this.jumpTo(this.currPos-1,t)},next:function(t){return this.jumpTo(this.currPos+1,t)},jumpTo:function(t,e){var o,i,a,s,r,c,l,d,u,f=this,h=f.group.length;if(!(f.isDragging||f.isClosing||f.isAnimating&&f.firstRun)){if(t=parseInt(t,10),!(a=f.current?f.current.opts.loop:f.opts.loop)&&(t<0||t>=h))return!1;if(o=f.firstRun=!Object.keys(f.slides).length,r=f.current,f.prevIndex=f.currIndex,f.prevPos=f.currPos,s=f.createSlide(t),h>1&&((a||s.index<h-1)&&f.createSlide(t+1),(a||s.index>0)&&f.createSlide(t-1)),f.current=s,f.currIndex=s.index,f.currPos=s.pos,f.trigger("beforeShow",o),f.updateControls(),s.forcedDuration=void 0,n.isNumeric(e)?s.forcedDuration=e:e=s.opts[o?"animationDuration":"transitionDuration"],e=parseInt(e,10),i=f.isMoved(s),s.$slide.addClass("fancybox-slide--current"),o)return s.opts.animationEffect&&e&&f.$refs.container.css("transition-duration",e+"ms"),f.$refs.container.addClass("fancybox-is-open").trigger("focus"),f.loadSlide(s),void f.preload("image");c=n.fancybox.getTranslate(r.$slide),l=n.fancybox.getTranslate(f.$refs.stage),n.each(f.slides,function(t,e){n.fancybox.stop(e.$slide,!0)}),r.pos!==s.pos&&(r.isComplete=!1),r.$slide.removeClass("fancybox-slide--complete fancybox-slide--current"),i?(u=c.left-(r.pos*c.width+r.pos*r.opts.gutter),n.each(f.slides,function(t,o){o.$slide.removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")});var i=o.pos*c.width+o.pos*o.opts.gutter;n.fancybox.setTranslate(o.$slide,{top:0,left:i-l.left+u}),o.pos!==s.pos&&o.$slide.addClass("fancybox-slide--"+(o.pos>s.pos?"next":"previous")),p(o.$slide),n.fancybox.animate(o.$slide,{top:0,left:(o.pos-s.pos)*c.width+(o.pos-s.pos)*o.opts.gutter},e,function(){o.$slide.css({transform:"",opacity:""}).removeClass("fancybox-slide--next fancybox-slide--previous"),o.pos===f.currPos&&f.complete()})})):e&&s.opts.transitionEffect&&(d="fancybox-animated fancybox-fx-"+s.opts.transitionEffect,r.$slide.addClass("fancybox-slide--"+(r.pos>s.pos?"next":"previous")),n.fancybox.animate(r.$slide,d,e,function(){r.$slide.removeClass(d).removeClass("fancybox-slide--next fancybox-slide--previous")},!1)),s.isLoaded?f.revealContent(s):f.loadSlide(s),f.preload("image")}},createSlide:function(t){var e,o,i=this;return o=t%i.group.length,o=o<0?i.group.length+o:o,!i.slides[t]&&i.group[o]&&(e=n('<div class="fancybox-slide"></div>').appendTo(i.$refs.stage),i.slides[t]=n.extend(!0,{},i.group[o],{pos:t,$slide:e,isLoaded:!1}),i.updateSlide(i.slides[t])),i.slides[t]},scaleToActual:function(t,e,o){var i,a,s,r,c,l=this,d=l.current,u=d.$content,f=n.fancybox.getTranslate(d.$slide).width,p=n.fancybox.getTranslate(d.$slide).height,h=d.width,g=d.height;l.isAnimating||l.isMoved()||!u||"image"!=d.type||!d.isLoaded||d.hasError||(l.isAnimating=!0,n.fancybox.stop(u),t=void 0===t?.5*f:t,e=void 0===e?.5*p:e,i=n.fancybox.getTranslate(u),i.top-=n.fancybox.getTranslate(d.$slide).top,i.left-=n.fancybox.getTranslate(d.$slide).left,r=h/i.width,c=g/i.height,a=.5*f-.5*h,s=.5*p-.5*g,h>f&&(a=i.left*r-(t*r-t),a>0&&(a=0),a<f-h&&(a=f-h)),g>p&&(s=i.top*c-(e*c-e),s>0&&(s=0),s<p-g&&(s=p-g)),l.updateCursor(h,g),n.fancybox.animate(u,{top:s,left:a,scaleX:r,scaleY:c},o||366,function(){l.isAnimating=!1}),l.SlideShow&&l.SlideShow.isActive&&l.SlideShow.stop())},scaleToFit:function(t){var e,o=this,i=o.current,a=i.$content;o.isAnimating||o.isMoved()||!a||"image"!=i.type||!i.isLoaded||i.hasError||(o.isAnimating=!0,n.fancybox.stop(a),e=o.getFitPos(i),o.updateCursor(e.width,e.height),n.fancybox.animate(a,{top:e.top,left:e.left,scaleX:e.width/a.width(),scaleY:e.height/a.height()},t||366,function(){o.isAnimating=!1}))},getFitPos:function(t){var e,o,i,a,s=this,r=t.$content,c=t.$slide,l=t.width||t.opts.width,d=t.height||t.opts.height,u={};return!!(t.isLoaded&&r&&r.length)&&(e=n.fancybox.getTranslate(s.$refs.stage).width,o=n.fancybox.getTranslate(s.$refs.stage).height,e-=parseFloat(c.css("paddingLeft"))+parseFloat(c.css("paddingRight"))+parseFloat(r.css("marginLeft"))+parseFloat(r.css("marginRight")),o-=parseFloat(c.css("paddingTop"))+parseFloat(c.css("paddingBottom"))+parseFloat(r.css("marginTop"))+parseFloat(r.css("marginBottom")),l&&d||(l=e,d=o),i=Math.min(1,e/l,o/d),l*=i,d*=i,l>e-.5&&(l=e),d>o-.5&&(d=o),"image"===t.type?(u.top=Math.floor(.5*(o-d))+parseFloat(c.css("paddingTop")),u.left=Math.floor(.5*(e-l))+parseFloat(c.css("paddingLeft"))):"video"===t.contentType&&(a=t.opts.width&&t.opts.height?l/d:t.opts.ratio||16/9,d>l/a?d=l/a:l>d*a&&(l=d*a)),u.width=l,u.height=d,u)},update:function(t){var e=this;n.each(e.slides,function(n,o){e.updateSlide(o,t)})},updateSlide:function(t,e){var o=this,i=t&&t.$content,a=t.width||t.opts.width,s=t.height||t.opts.height,r=t.$slide;o.adjustCaption(t),i&&(a||s||"video"===t.contentType)&&!t.hasError&&(n.fancybox.stop(i),n.fancybox.setTranslate(i,o.getFitPos(t)),t.pos===o.currPos&&(o.isAnimating=!1,o.updateCursor())),o.adjustLayout(t),r.length&&(r.trigger("refresh"),t.pos===o.currPos&&o.$refs.toolbar.add(o.$refs.navigation.find(".fancybox-button--arrow_right")).toggleClass("compensate-for-scrollbar",r.get(0).scrollHeight>r.get(0).clientHeight)),o.trigger("onUpdate",t,e)},centerSlide:function(t){var e=this,o=e.current,i=o.$slide;!e.isClosing&&o&&(i.siblings().css({transform:"",opacity:""}),i.parent().children().removeClass("fancybox-slide--previous fancybox-slide--next"),n.fancybox.animate(i,{top:0,left:0,opacity:1},void 0===t?0:t,function(){i.css({transform:"",opacity:""}),o.isComplete||e.complete()},!1))},isMoved:function(t){var e,o,i=t||this.current;return!!i&&(o=n.fancybox.getTranslate(this.$refs.stage),e=n.fancybox.getTranslate(i.$slide),!i.$slide.hasClass("fancybox-animated")&&(Math.abs(e.top-o.top)>.5||Math.abs(e.left-o.left)>.5))},updateCursor:function(t,e){var o,i,a=this,s=a.current,r=a.$refs.container;s&&!a.isClosing&&a.Guestures&&(r.removeClass("fancybox-is-zoomable fancybox-can-zoomIn fancybox-can-zoomOut fancybox-can-swipe fancybox-can-pan"),o=a.canPan(t,e),i=!!o||a.isZoomable(),r.toggleClass("fancybox-is-zoomable",i),n("[data-fancybox-zoom]").prop("disabled",!i),o?r.addClass("fancybox-can-pan"):i&&("zoom"===s.opts.clickContent||n.isFunction(s.opts.clickContent)&&"zoom"==s.opts.clickContent(s))?r.addClass("fancybox-can-zoomIn"):s.opts.touch&&(s.opts.touch.vertical||a.group.length>1)&&"video"!==s.contentType&&r.addClass("fancybox-can-swipe"))},isZoomable:function(){var t,e=this,n=e.current;if(n&&!e.isClosing&&"image"===n.type&&!n.hasError){if(!n.isLoaded)return!0;if((t=e.getFitPos(n))&&(n.width>t.width||n.height>t.height))return!0}return!1},isScaledDown:function(t,e){var o=this,i=!1,a=o.current,s=a.$content;return void 0!==t&&void 0!==e?i=t<a.width&&e<a.height:s&&(i=n.fancybox.getTranslate(s),i=i.width<a.width&&i.height<a.height),i},canPan:function(t,e){var o=this,i=o.current,a=null,s=!1;return"image"===i.type&&(i.isComplete||t&&e)&&!i.hasError&&(s=o.getFitPos(i),void 0!==t&&void 0!==e?a={width:t,height:e}:i.isComplete&&(a=n.fancybox.getTranslate(i.$content)),a&&s&&(s=Math.abs(a.width-s.width)>1.5||Math.abs(a.height-s.height)>1.5)),s},loadSlide:function(t){var e,o,i,a=this;if(!t.isLoading&&!t.isLoaded){if(t.isLoading=!0,!1===a.trigger("beforeLoad",t))return t.isLoading=!1,!1;switch(e=t.type,o=t.$slide,o.off("refresh").trigger("onReset").addClass(t.opts.slideClass),e){case"image":a.setImage(t);break;case"iframe":a.setIframe(t);break;case"html":a.setContent(t,t.src||t.content);break;case"video":a.setContent(t,t.opts.video.tpl.replace(/\{\{src\}\}/gi,t.src).replace("{{format}}",t.opts.videoFormat||t.opts.video.format||"").replace("{{poster}}",t.thumb||""));break;case"inline":n(t.src).length?a.setContent(t,n(t.src)):a.setError(t);break;case"ajax":a.showLoading(t),i=n.ajax(n.extend({},t.opts.ajax.settings,{url:t.src,success:function(e,n){"success"===n&&a.setContent(t,e)},error:function(e,n){e&&"abort"!==n&&a.setError(t)}})),o.one("onReset",function(){i.abort()});break;default:a.setError(t)}return!0}},setImage:function(t){var o,i=this;setTimeout(function(){var e=t.$image;i.isClosing||!t.isLoading||e&&e.length&&e[0].complete||t.hasError||i.showLoading(t)},50),i.checkSrcset(t),t.$content=n('<div class="fancybox-content"></div>').addClass("fancybox-is-hidden").appendTo(t.$slide.addClass("fancybox-slide--image")),!1!==t.opts.preload&&t.opts.width&&t.opts.height&&t.thumb&&(t.width=t.opts.width,t.height=t.opts.height,o=e.createElement("img"),o.onerror=function(){n(this).remove(),t.$ghost=null},o.onload=function(){i.afterLoad(t)},t.$ghost=n(o).addClass("fancybox-image").appendTo(t.$content).attr("src",t.thumb)),i.setBigImage(t)},checkSrcset:function(e){var n,o,i,a,s=e.opts.srcset||e.opts.image.srcset;if(s){i=t.devicePixelRatio||1,a=t.innerWidth*i,o=s.split(",").map(function(t){var e={};return t.trim().split(/\s+/).forEach(function(t,n){var o=parseInt(t.substring(0,t.length-1),10);if(0===n)return e.url=t;o&&(e.value=o,e.postfix=t[t.length-1])}),e}),o.sort(function(t,e){return t.value-e.value});for(var r=0;r<o.length;r++){var c=o[r];if("w"===c.postfix&&c.value>=a||"x"===c.postfix&&c.value>=i){n=c;break}}!n&&o.length&&(n=o[o.length-1]),n&&(e.src=n.url,e.width&&e.height&&"w"==n.postfix&&(e.height=e.width/e.height*n.value,e.width=n.value),e.opts.srcset=s)}},setBigImage:function(t){var o=this,i=e.createElement("img"),a=n(i);t.$image=a.one("error",function(){o.setError(t)}).one("load",function(){var e;t.$ghost||(o.resolveImageSlideSize(t,this.naturalWidth,this.naturalHeight),o.afterLoad(t)),o.isClosing||(t.opts.srcset&&(e=t.opts.sizes,e&&"auto"!==e||(e=(t.width/t.height>1&&s.width()/s.height()>1?"100":Math.round(t.width/t.height*100))+"vw"),a.attr("sizes",e).attr("srcset",t.opts.srcset)),t.$ghost&&setTimeout(function(){t.$ghost&&!o.isClosing&&t.$ghost.hide()},Math.min(300,Math.max(1e3,t.height/1600))),o.hideLoading(t))}).addClass("fancybox-image").attr("src",t.src).appendTo(t.$content),(i.complete||"complete"==i.readyState)&&a.naturalWidth&&a.naturalHeight?a.trigger("load"):i.error&&a.trigger("error")},resolveImageSlideSize:function(t,e,n){var o=parseInt(t.opts.width,10),i=parseInt(t.opts.height,10);t.width=e,t.height=n,o>0&&(t.width=o,t.height=Math.floor(o*n/e)),i>0&&(t.width=Math.floor(i*e/n),t.height=i)},setIframe:function(t){var e,o=this,i=t.opts.iframe,a=t.$slide;t.$content=n('<div class="fancybox-content'+(i.preload?" fancybox-is-hidden":"")+'"></div>').css(i.css).appendTo(a),a.addClass("fancybox-slide--"+t.contentType),t.$iframe=e=n(i.tpl.replace(/\{rnd\}/g,(new Date).getTime())).attr(i.attr).appendTo(t.$content),i.preload?(o.showLoading(t),e.on("load.fb error.fb",function(e){this.isReady=1,t.$slide.trigger("refresh"),o.afterLoad(t)}),a.on("refresh.fb",function(){var n,o,s=t.$content,r=i.css.width,c=i.css.height;if(1===e[0].isReady){try{n=e.contents(),o=n.find("body")}catch(t){}o&&o.length&&o.children().length&&(a.css("overflow","visible"),s.css({width:"100%","max-width":"100%",height:"9999px"}),void 0===r&&(r=Math.ceil(Math.max(o[0].clientWidth,o.outerWidth(!0)))),s.css("width",r||"").css("max-width",""),void 0===c&&(c=Math.ceil(Math.max(o[0].clientHeight,o.outerHeight(!0)))),s.css("height",c||""),a.css("overflow","auto")),s.removeClass("fancybox-is-hidden")}})):o.afterLoad(t),e.attr("src",t.src),a.one("onReset",function(){try{n(this).find("iframe").hide().unbind().attr("src","//about:blank")}catch(t){}n(this).off("refresh.fb").empty(),t.isLoaded=!1,t.isRevealed=!1})},setContent:function(t,e){var o=this;o.isClosing||(o.hideLoading(t),t.$content&&n.fancybox.stop(t.$content),t.$slide.empty(),l(e)&&e.parent().length?((e.hasClass("fancybox-content")||e.parent().hasClass("fancybox-content"))&&e.parents(".fancybox-slide").trigger("onReset"),t.$placeholder=n("<div>").hide().insertAfter(e),e.css("display","inline-block")):t.hasError||("string"===n.type(e)&&(e=n("<div>").append(n.trim(e)).contents()),t.opts.filter&&(e=n("<div>").html(e).find(t.opts.filter))),t.$slide.one("onReset",function(){n(this).find("video,audio").trigger("pause"),t.$placeholder&&(t.$placeholder.after(e.removeClass("fancybox-content").hide()).remove(),t.$placeholder=null),t.$smallBtn&&(t.$smallBtn.remove(),t.$smallBtn=null),t.hasError||(n(this).empty(),t.isLoaded=!1,t.isRevealed=!1)}),n(e).appendTo(t.$slide),n(e).is("video,audio")&&(n(e).addClass("fancybox-video"),n(e).wrap("<div></div>"),t.contentType="video",t.opts.width=t.opts.width||n(e).attr("width"),t.opts.height=t.opts.height||n(e).attr("height")),t.$content=t.$slide.children().filter("div,form,main,video,audio,article,.fancybox-content").first(),t.$content.siblings().hide(),t.$content.length||(t.$content=t.$slide.wrapInner("<div></div>").children().first()),t.$content.addClass("fancybox-content"),t.$slide.addClass("fancybox-slide--"+t.contentType),o.afterLoad(t))},setError:function(t){t.hasError=!0,t.$slide.trigger("onReset").removeClass("fancybox-slide--"+t.contentType).addClass("fancybox-slide--error"),t.contentType="html",this.setContent(t,this.translate(t,t.opts.errorTpl)),t.pos===this.currPos&&(this.isAnimating=!1)},showLoading:function(t){var e=this;(t=t||e.current)&&!t.$spinner&&(t.$spinner=n(e.translate(e,e.opts.spinnerTpl)).appendTo(t.$slide).hide().fadeIn("fast"))},hideLoading:function(t){var e=this;(t=t||e.current)&&t.$spinner&&(t.$spinner.stop().remove(),delete t.$spinner)},afterLoad:function(t){var e=this;e.isClosing||(t.isLoading=!1,t.isLoaded=!0,e.trigger("afterLoad",t),e.hideLoading(t),!t.opts.smallBtn||t.$smallBtn&&t.$smallBtn.length||(t.$smallBtn=n(e.translate(t,t.opts.btnTpl.smallBtn)).appendTo(t.$content)),t.opts.protect&&t.$content&&!t.hasError&&(t.$content.on("contextmenu.fb",function(t){return 2==t.button&&t.preventDefault(),!0}),"image"===t.type&&n('<div class="fancybox-spaceball"></div>').appendTo(t.$content)),e.adjustCaption(t),e.adjustLayout(t),t.pos===e.currPos&&e.updateCursor(),e.revealContent(t))},adjustCaption:function(t){var e,n=this,o=t||n.current,i=o.opts.caption,a=o.opts.preventCaptionOverlap,s=n.$refs.caption,r=!1;s.toggleClass("fancybox-caption--separate",a),a&&i&&i.length&&(o.pos!==n.currPos?(e=s.clone().appendTo(s.parent()),e.children().eq(0).empty().html(i),r=e.outerHeight(!0),e.empty().remove()):n.$caption&&(r=n.$caption.outerHeight(!0)),o.$slide.css("padding-bottom",r||""))},adjustLayout:function(t){var e,n,o,i,a=this,s=t||a.current;s.isLoaded&&!0!==s.opts.disableLayoutFix&&(s.$content.css("margin-bottom",""),s.$content.outerHeight()>s.$slide.height()+.5&&(o=s.$slide[0].style["padding-bottom"],i=s.$slide.css("padding-bottom"),parseFloat(i)>0&&(e=s.$slide[0].scrollHeight,s.$slide.css("padding-bottom",0),Math.abs(e-s.$slide[0].scrollHeight)<1&&(n=i),s.$slide.css("padding-bottom",o))),s.$content.css("margin-bottom",n))},revealContent:function(t){var e,o,i,a,s=this,r=t.$slide,c=!1,l=!1,d=s.isMoved(t),u=t.isRevealed;return t.isRevealed=!0,e=t.opts[s.firstRun?"animationEffect":"transitionEffect"],i=t.opts[s.firstRun?"animationDuration":"transitionDuration"],i=parseInt(void 0===t.forcedDuration?i:t.forcedDuration,10),!d&&t.pos===s.currPos&&i||(e=!1),"zoom"===e&&(t.pos===s.currPos&&i&&"image"===t.type&&!t.hasError&&(l=s.getThumbPos(t))?c=s.getFitPos(t):e="fade"),"zoom"===e?(s.isAnimating=!0,c.scaleX=c.width/l.width,c.scaleY=c.height/l.height,a=t.opts.zoomOpacity,"auto"==a&&(a=Math.abs(t.width/t.height-l.width/l.height)>.1),a&&(l.opacity=.1,c.opacity=1),n.fancybox.setTranslate(t.$content.removeClass("fancybox-is-hidden"),l),p(t.$content),void n.fancybox.animate(t.$content,c,i,function(){s.isAnimating=!1,s.complete()})):(s.updateSlide(t),e?(n.fancybox.stop(r),o="fancybox-slide--"+(t.pos>=s.prevPos?"next":"previous")+" fancybox-animated fancybox-fx-"+e,r.addClass(o).removeClass("fancybox-slide--current"),t.$content.removeClass("fancybox-is-hidden"),p(r),"image"!==t.type&&t.$content.hide().show(0),void n.fancybox.animate(r,"fancybox-slide--current",i,function(){r.removeClass(o).css({transform:"",opacity:""}),t.pos===s.currPos&&s.complete()},!0)):(t.$content.removeClass("fancybox-is-hidden"),u||!d||"image"!==t.type||t.hasError||t.$content.hide().fadeIn("fast"),void(t.pos===s.currPos&&s.complete())))},getThumbPos:function(t){var e,o,i,a,s,r=!1,c=t.$thumb;return!(!c||!g(c[0]))&&(e=n.fancybox.getTranslate(c),o=parseFloat(c.css("border-top-width")||0),i=parseFloat(c.css("border-right-width")||0),a=parseFloat(c.css("border-bottom-width")||0),s=parseFloat(c.css("border-left-width")||0),r={top:e.top+o,left:e.left+s,width:e.width-i-s,height:e.height-o-a,scaleX:1,scaleY:1},e.width>0&&e.height>0&&r)},complete:function(){var t,e=this,o=e.current,i={};!e.isMoved()&&o.isLoaded&&(o.isComplete||(o.isComplete=!0,o.$slide.siblings().trigger("onReset"),e.preload("inline"),p(o.$slide),o.$slide.addClass("fancybox-slide--complete"),n.each(e.slides,function(t,o){o.pos>=e.currPos-1&&o.pos<=e.currPos+1?i[o.pos]=o:o&&(n.fancybox.stop(o.$slide),o.$slide.off().remove())}),e.slides=i),e.isAnimating=!1,e.updateCursor(),e.trigger("afterShow"),o.opts.video.autoStart&&o.$slide.find("video,audio").filter(":visible:first").trigger("play").one("ended",function(){Document.exitFullscreen?Document.exitFullscreen():this.webkitExitFullscreen&&this.webkitExitFullscreen(),e.next()}),o.opts.autoFocus&&"html"===o.contentType&&(t=o.$content.find("input[autofocus]:enabled:visible:first"),t.length?t.trigger("focus"):e.focus(null,!0)),o.$slide.scrollTop(0).scrollLeft(0))},preload:function(t){var e,n,o=this;o.group.length<2||(n=o.slides[o.currPos+1],e=o.slides[o.currPos-1],e&&e.type===t&&o.loadSlide(e),n&&n.type===t&&o.loadSlide(n))},focus:function(t,o){var i,a,s=this,r=["a[href]","area[href]",'input:not([disabled]):not([type="hidden"]):not([aria-hidden])',"select:not([disabled]):not([aria-hidden])","textarea:not([disabled]):not([aria-hidden])","button:not([disabled]):not([aria-hidden])","iframe","object","embed","video","audio","[contenteditable]",'[tabindex]:not([tabindex^="-"])'].join(",");s.isClosing||(i=!t&&s.current&&s.current.isComplete?s.current.$slide.find("*:visible"+(o?":not(.fancybox-close-small)":"")):s.$refs.container.find("*:visible"),i=i.filter(r).filter(function(){return"hidden"!==n(this).css("visibility")&&!n(this).hasClass("disabled")}),i.length?(a=i.index(e.activeElement),t&&t.shiftKey?(a<0||0==a)&&(t.preventDefault(),i.eq(i.length-1).trigger("focus")):(a<0||a==i.length-1)&&(t&&t.preventDefault(),i.eq(0).trigger("focus"))):s.$refs.container.trigger("focus"))},activate:function(){var t=this;n(".fancybox-container").each(function(){var e=n(this).data("FancyBox");e&&e.id!==t.id&&!e.isClosing&&(e.trigger("onDeactivate"),e.removeEvents(),e.isVisible=!1)}),t.isVisible=!0,(t.current||t.isIdle)&&(t.update(),t.updateControls()),t.trigger("onActivate"),t.addEvents()},close:function(t,e){var o,i,a,s,r,c,l,u=this,f=u.current,h=function(){u.cleanUp(t)};return!u.isClosing&&(u.isClosing=!0,!1===u.trigger("beforeClose",t)?(u.isClosing=!1,d(function(){u.update()}),!1):(u.removeEvents(),a=f.$content,o=f.opts.animationEffect,i=n.isNumeric(e)?e:o?f.opts.animationDuration:0,f.$slide.removeClass("fancybox-slide--complete fancybox-slide--next fancybox-slide--previous fancybox-animated"),!0!==t?n.fancybox.stop(f.$slide):o=!1,f.$slide.siblings().trigger("onReset").remove(),i&&u.$refs.container.removeClass("fancybox-is-open").addClass("fancybox-is-closing").css("transition-duration",i+"ms"),u.hideLoading(f),u.hideControls(!0),u.updateCursor(),"zoom"!==o||a&&i&&"image"===f.type&&!u.isMoved()&&!f.hasError&&(l=u.getThumbPos(f))||(o="fade"),"zoom"===o?(n.fancybox.stop(a),s=n.fancybox.getTranslate(a),c={top:s.top,left:s.left,scaleX:s.width/l.width,scaleY:s.height/l.height,width:l.width,height:l.height},r=f.opts.zoomOpacity,
37252  
vendor: 30,962 bytes, line 37252
37252"auto"==r&&(r=Math.abs(f.width/f.height-l.width/l.height)>.1),r&&(l.opacity=0),n.fancybox.setTranslate(a,c),p(a),n.fancybox.animate(a,l,i,h),!0):(o&&i?n.fancybox.animate(f.$slide.addClass("fancybox-slide--previous").removeClass("fancybox-slide--current"),"fancybox-animated fancybox-fx-"+o,i,h):!0===t?setTimeout(h,i):h(),!0)))},cleanUp:function(e){var o,i,a,s=this,r=s.current.opts.$orig;s.current.$slide.trigger("onReset"),s.$refs.container.empty().remove(),s.trigger("afterClose",e),s.current.opts.backFocus&&(r&&r.length&&r.is(":visible")||(r=s.$trigger),r&&r.length&&(i=t.scrollX,a=t.scrollY,r.trigger("focus"),n("html, body").scrollTop(a).scrollLeft(i))),s.current=null,o=n.fancybox.getInstance(),o?o.activate():(n("body").removeClass("fancybox-active compensate-for-scrollbar"),n("#fancybox-style-noscroll").remove())},trigger:function(t,e){var o,i=Array.prototype.slice.call(arguments,1),a=this,s=e&&e.opts?e:a.current;if(s?i.unshift(s):s=a,i.unshift(a),n.isFunction(s.opts[t])&&(o=s.opts[t].apply(s,i)),!1===o)return o;"afterClose"!==t&&a.$refs?a.$refs.container.trigger(t+".fb",i):r.trigger(t+".fb",i)},updateControls:function(){var t=this,o=t.current,i=o.index,a=t.$refs.container,s=t.$refs.caption,r=o.opts.caption;o.$slide.trigger("refresh"),r&&r.length?(t.$caption=s,s.children().eq(0).html(r)):t.$caption=null,t.hasHiddenControls||t.isIdle||t.showControls(),a.find("[data-fancybox-count]").html(t.group.length),a.find("[data-fancybox-index]").html(i+1),a.find("[data-fancybox-prev]").prop("disabled",!o.opts.loop&&i<=0),a.find("[data-fancybox-next]").prop("disabled",!o.opts.loop&&i>=t.group.length-1),"image"===o.type?a.find("[data-fancybox-zoom]").show().end().find("[data-fancybox-download]").attr("href",o.opts.image.src||o.src).show():o.opts.toolbar&&a.find("[data-fancybox-download],[data-fancybox-zoom]").hide(),n(e.activeElement).is(":hidden,[disabled]")&&t.$refs.container.trigger("focus")},hideControls:function(t){var e=this,n=["infobar","toolbar","nav"];!t&&e.current.opts.preventCaptionOverlap||n.push("caption"),this.$refs.container.removeClass(n.map(function(t){return"fancybox-show-"+t}).join(" ")),this.hasHiddenControls=!0},showControls:function(){var t=this,e=t.current?t.current.opts:t.opts,n=t.$refs.container;t.hasHiddenControls=!1,t.idleSecondsCounter=0,n.toggleClass("fancybox-show-toolbar",!(!e.toolbar||!e.buttons)).toggleClass("fancybox-show-infobar",!!(e.infobar&&t.group.length>1)).toggleClass("fancybox-show-caption",!!t.$caption).toggleClass("fancybox-show-nav",!!(e.arrows&&t.group.length>1)).toggleClass("fancybox-is-modal",!!e.modal)},toggleControls:function(){this.hasHiddenControls?this.showControls():this.hideControls()}}),n.fancybox={version:"3.5.7",defaults:a,getInstance:function(t){var e=n('.fancybox-container:not(".fancybox-is-closing"):last').data("FancyBox"),o=Array.prototype.slice.call(arguments,1);return e instanceof b&&("string"===n.type(t)?e[t].apply(e,o):"function"===n.type(t)&&t.apply(e,o),e)},open:function(t,e,n){return new b(t,e,n)},close:function(t){var e=this.getInstance();e&&(e.close(),!0===t&&this.close(t))},destroy:function(){this.close(!0),r.add("body").off("click.fb-start","**")},isMobile:/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent),use3d:function(){var n=e.createElement("div");return t.getComputedStyle&&t.getComputedStyle(n)&&t.getComputedStyle(n).getPropertyValue("transform")&&!(e.documentMode&&e.documentMode<11)}(),getTranslate:function(t){var e;return!(!t||!t.length)&&(e=t[0].getBoundingClientRect(),{top:e.top||0,left:e.left||0,width:e.width,height:e.height,opacity:parseFloat(t.css("opacity"))})},setTranslate:function(t,e){var n="",o={};if(t&&e)return void 0===e.left&&void 0===e.top||(n=(void 0===e.left?t.position().left:e.left)+"px, "+(void 0===e.top?t.position().top:e.top)+"px",n=this.use3d?"translate3d("+n+", 0px)":"translate("+n+")"),void 0!==e.scaleX&&void 0!==e.scaleY?n+=" scale("+e.scaleX+", "+e.scaleY+")":void 0!==e.scaleX&&(n+=" scaleX("+e.scaleX+")"),n.length&&(o.transform=n),void 0!==e.opacity&&(o.opacity=e.opacity),void 0!==e.width&&(o.width=e.width),void 0!==e.height&&(o.height=e.height),t.css(o)},animate:function(t,e,o,i,a){var s,r=this;n.isFunction(o)&&(i=o,o=null),r.stop(t),s=r.getTranslate(t),t.on(f,function(c){(!c||!c.originalEvent||t.is(c.originalEvent.target)&&"z-index"!=c.originalEvent.propertyName)&&(r.stop(t),n.isNumeric(o)&&t.css("transition-duration",""),n.isPlainObject(e)?void 0!==e.scaleX&&void 0!==e.scaleY&&r.setTranslate(t,{top:e.top,left:e.left,width:s.width*e.scaleX,height:s.height*e.scaleY,scaleX:1,scaleY:1}):!0!==a&&t.removeClass(e),n.isFunction(i)&&i(c))}),n.isNumeric(o)&&t.css("transition-duration",o+"ms"),n.isPlainObject(e)?(void 0!==e.scaleX&&void 0!==e.scaleY&&(delete e.width,delete e.height,t.parent().hasClass("fancybox-slide--image")&&t.parent().addClass("fancybox-is-scaling")),n.fancybox.setTranslate(t,e)):t.addClass(e),t.data("timer",setTimeout(function(){t.trigger(f)},o+33))},stop:function(t,e){t&&t.length&&(clearTimeout(t.data("timer")),e&&t.trigger(f),t.off(f).css("transition-duration",""),t.parent().removeClass("fancybox-is-scaling"))}},n.fn.fancybox=function(t){var e;return t=t||{},e=t.selector||!1,e?n("body").off("click.fb-start",e).on("click.fb-start",e,{options:t},i):this.off("click.fb-start").on("click.fb-start",{items:this,options:t},i),this},r.on("click.fb-start","[data-fancybox]",i),r.on("click.fb-start","[data-fancybox-trigger]",function(t){n('[data-fancybox="'+n(this).attr("data-fancybox-trigger")+'"]').eq(n(this).attr("data-fancybox-index")||0).trigger("click.fb-start",{$trigger:n(this)})}),function(){var t=null;r.on("mousedown mouseup focus blur",".fancybox-button",function(e){switch(e.type){case"mousedown":t=n(this);break;case"mouseup":t=null;break;case"focusin":n(".fancybox-button").removeClass("fancybox-focus"),n(this).is(t)||n(this).is("[disabled]")||n(this).addClass("fancybox-focus");break;case"focusout":n(".fancybox-button").removeClass("fancybox-focus")}})}()}}(window,document,jQuery),function(t){"use strict";var e={youtube:{matcher:/(youtube\.com|youtu\.be|youtube\-nocookie\.com)\/(watch\?(.*&)?v=|v\/|u\/|embed\/?)?(videoseries\?list=(.*)|[\w-]{11}|\?listType=(.*)&list=(.*))(.*)/i,params:{autoplay:1,autohide:1,fs:1,rel:0,hd:1,wmode:"transparent",enablejsapi:1,html5:1},paramPlace:8,type:"iframe",url:"https://www.youtube-nocookie.com/embed/$4",thumb:"https://img.youtube.com/vi/$4/hqdefault.jpg"},vimeo:{matcher:/^.+vimeo.com\/(.*\/)?([\d]+)(.*)?/,params:{autoplay:1,hd:1,show_title:1,show_byline:1,show_portrait:0,fullscreen:1},paramPlace:3,type:"iframe",url:"//player.vimeo.com/video/$2"},instagram:{matcher:/(instagr\.am|instagram\.com)\/p\/([a-zA-Z0-9_\-]+)\/?/i,type:"image",url:"//$1/p/$2/media/?size=l"},gmap_place:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(((maps\/(place\/(.*)\/)?\@(.*),(\d+.?\d+?)z))|(\?ll=))(.*)?/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/?ll="+(t[9]?t[9]+"&z="+Math.floor(t[10])+(t[12]?t[12].replace(/^\//,"&"):""):t[12]+"").replace(/\?/,"&")+"&output="+(t[12]&&t[12].indexOf("layer=c")>0?"svembed":"embed")}},gmap_search:{matcher:/(maps\.)?google\.([a-z]{2,3}(\.[a-z]{2})?)\/(maps\/search\/)(.*)/i,type:"iframe",url:function(t){return"//maps.google."+t[2]+"/maps?q="+t[5].replace("query=","q=").replace("api=1","")+"&output=embed"}}},n=function(e,n,o){if(e)return o=o||"","object"===t.type(o)&&(o=t.param(o,!0)),t.each(n,function(t,n){e=e.replace("$"+t,n||"")}),o.length&&(e+=(e.indexOf("?")>0?"&":"?")+o),e};t(document).on("objectNeedsType.fb",function(o,i,a){var s,r,c,l,d,u,f,p=a.src||"",h=!1;s=t.extend(!0,{},e,a.opts.media),t.each(s,function(e,o){if(c=p.match(o.matcher)){if(h=o.type,f=e,u={},o.paramPlace&&c[o.paramPlace]){d=c[o.paramPlace],"?"==d[0]&&(d=d.substring(1)),d=d.split("&");for(var i=0;i<d.length;++i){var s=d[i].split("=",2);2==s.length&&(u[s[0]]=decodeURIComponent(s[1].replace(/\+/g," ")))}}return l=t.extend(!0,{},o.params,a.opts[e],u),p="function"===t.type(o.url)?o.url.call(this,c,l,a):n(o.url,c,l),r="function"===t.type(o.thumb)?o.thumb.call(this,c,l,a):n(o.thumb,c),"youtube"===e?p=p.replace(/&t=((\d+)m)?(\d+)s/,function(t,e,n,o){return"&start="+((n?60*parseInt(n,10):0)+parseInt(o,10))}):"vimeo"===e&&(p=p.replace("&%23","#")),!1}}),h?(a.opts.thumb||a.opts.$thumb&&a.opts.$thumb.length||(a.opts.thumb=r),"iframe"===h&&(a.opts=t.extend(!0,a.opts,{iframe:{preload:!1,attr:{scrolling:"no"}}})),t.extend(a,{type:h,src:p,origSrc:a.src,contentSource:f,contentType:"image"===h?"image":"gmap_place"==f||"gmap_search"==f?"map":"video"})):p&&(a.type=a.opts.defaultType)});var o={youtube:{src:"https://www.youtube.com/iframe_api",class:"YT",loading:!1,loaded:!1},vimeo:{src:"https://player.vimeo.com/api/player.js",class:"Vimeo",loading:!1,loaded:!1},load:function(t){var e,n=this;if(this[t].loaded)return void setTimeout(function(){n.done(t)});this[t].loading||(this[t].loading=!0,e=document.createElement("script"),e.type="text/javascript",e.src=this[t].src,"youtube"===t?window.onYouTubeIframeAPIReady=function(){n[t].loaded=!0,n.done(t)}:e.onload=function(){n[t].loaded=!0,n.done(t)},document.body.appendChild(e))},done:function(e){var n,o,i;"youtube"===e&&delete window.onYouTubeIframeAPIReady,(n=t.fancybox.getInstance())&&(o=n.current.$content.find("iframe"),"youtube"===e&&void 0!==YT&&YT?i=new YT.Player(o.attr("id"),{events:{onStateChange:function(t){0==t.data&&n.next()}}}):"vimeo"===e&&void 0!==Vimeo&&Vimeo&&(i=new Vimeo.Player(o),i.on("ended",function(){n.next()})))}};t(document).on({"afterShow.fb":function(t,e,n){e.group.length>1&&("youtube"===n.contentSource||"vimeo"===n.contentSource)&&o.load(n.contentSource)}})}(jQuery),function(t,e,n){"use strict";var o=function(){return t.requestAnimationFrame||t.webkitRequestAnimationFrame||t.mozRequestAnimationFrame||t.oRequestAnimationFrame||function(e){return t.setTimeout(e,1e3/60)}}(),i=function(){return t.cancelAnimationFrame||t.webkitCancelAnimationFrame||t.mozCancelAnimationFrame||t.oCancelAnimationFrame||function(e){t.clearTimeout(e)}}(),a=function(e){var n=[];e=e.originalEvent||e||t.e,e=e.touches&&e.touches.length?e.touches:e.changedTouches&&e.changedTouches.length?e.changedTouches:[e];for(var o in e)e[o].pageX?n.push({x:e[o].pageX,y:e[o].pageY}):e[o].clientX&&n.push({x:e[o].clientX,y:e[o].clientY});return n},s=function(t,e,n){return e&&t?"x"===n?t.x-e.x:"y"===n?t.y-e.y:Math.sqrt(Math.pow(t.x-e.x,2)+Math.pow(t.y-e.y,2)):0},r=function(t){if(t.is('a,area,button,[role="button"],input,label,select,summary,textarea,video,audio,iframe')||n.isFunction(t.get(0).onclick)||t.data("selectable"))return!0;for(var e=0,o=t[0].attributes,i=o.length;e<i;e++)if("data-fancybox-"===o[e].nodeName.substr(0,14))return!0;return!1},c=function(e){var n=t.getComputedStyle(e)["overflow-y"],o=t.getComputedStyle(e)["overflow-x"],i=("scroll"===n||"auto"===n)&&e.scrollHeight>e.clientHeight,a=("scroll"===o||"auto"===o)&&e.scrollWidth>e.clientWidth;return i||a},l=function(t){for(var e=!1;;){if(e=c(t.get(0)))break;if(t=t.parent(),!t.length||t.hasClass("fancybox-stage")||t.is("body"))break}return e},d=function(t){var e=this;e.instance=t,e.$bg=t.$refs.bg,e.$stage=t.$refs.stage,e.$container=t.$refs.container,e.destroy(),e.$container.on("touchstart.fb.touch mousedown.fb.touch",n.proxy(e,"ontouchstart"))};d.prototype.destroy=function(){var t=this;t.$container.off(".fb.touch"),n(e).off(".fb.touch"),t.requestId&&(i(t.requestId),t.requestId=null),t.tapped&&(clearTimeout(t.tapped),t.tapped=null)},d.prototype.ontouchstart=function(o){var i=this,c=n(o.target),d=i.instance,u=d.current,f=u.$slide,p=u.$content,h="touchstart"==o.type;if(h&&i.$container.off("mousedown.fb.touch"),(!o.originalEvent||2!=o.originalEvent.button)&&f.length&&c.length&&!r(c)&&!r(c.parent())&&(c.is("img")||!(o.originalEvent.clientX>c[0].clientWidth+c.offset().left))){if(!u||d.isAnimating||u.$slide.hasClass("fancybox-animated"))return o.stopPropagation(),void o.preventDefault();i.realPoints=i.startPoints=a(o),i.startPoints.length&&(u.touch&&o.stopPropagation(),i.startEvent=o,i.canTap=!0,i.$target=c,i.$content=p,i.opts=u.opts.touch,i.isPanning=!1,i.isSwiping=!1,i.isZooming=!1,i.isScrolling=!1,i.canPan=d.canPan(),i.startTime=(new Date).getTime(),i.distanceX=i.distanceY=i.distance=0,i.canvasWidth=Math.round(f[0].clientWidth),i.canvasHeight=Math.round(f[0].clientHeight),i.contentLastPos=null,i.contentStartPos=n.fancybox.getTranslate(i.$content)||{top:0,left:0},i.sliderStartPos=n.fancybox.getTranslate(f),i.stagePos=n.fancybox.getTranslate(d.$refs.stage),i.sliderStartPos.top-=i.stagePos.top,i.sliderStartPos.left-=i.stagePos.left,i.contentStartPos.top-=i.stagePos.top,i.contentStartPos.left-=i.stagePos.left,n(e).off(".fb.touch").on(h?"touchend.fb.touch touchcancel.fb.touch":"mouseup.fb.touch mouseleave.fb.touch",n.proxy(i,"ontouchend")).on(h?"touchmove.fb.touch":"mousemove.fb.touch",n.proxy(i,"ontouchmove")),n.fancybox.isMobile&&e.addEventListener("scroll",i.onscroll,!0),((i.opts||i.canPan)&&(c.is(i.$stage)||i.$stage.find(c).length)||(c.is(".fancybox-image")&&o.preventDefault(),n.fancybox.isMobile&&c.parents(".fancybox-caption").length))&&(i.isScrollable=l(c)||l(c.parent()),n.fancybox.isMobile&&i.isScrollable||o.preventDefault(),(1===i.startPoints.length||u.hasError)&&(i.canPan?(n.fancybox.stop(i.$content),i.isPanning=!0):i.isSwiping=!0,i.$container.addClass("fancybox-is-grabbing")),2===i.startPoints.length&&"image"===u.type&&(u.isLoaded||u.$ghost)&&(i.canTap=!1,i.isSwiping=!1,i.isPanning=!1,i.isZooming=!0,n.fancybox.stop(i.$content),i.centerPointStartX=.5*(i.startPoints[0].x+i.startPoints[1].x)-n(t).scrollLeft(),i.centerPointStartY=.5*(i.startPoints[0].y+i.startPoints[1].y)-n(t).scrollTop(),i.percentageOfImageAtPinchPointX=(i.centerPointStartX-i.contentStartPos.left)/i.contentStartPos.width,i.percentageOfImageAtPinchPointY=(i.centerPointStartY-i.contentStartPos.top)/i.contentStartPos.height,i.startDistanceBetweenFingers=s(i.startPoints[0],i.startPoints[1]))))}},d.prototype.onscroll=function(t){var n=this;n.isScrolling=!0,e.removeEventListener("scroll",n.onscroll,!0)},d.prototype.ontouchmove=function(t){var e=this;return void 0!==t.originalEvent.buttons&&0===t.originalEvent.buttons?void e.ontouchend(t):e.isScrolling?void(e.canTap=!1):(e.newPoints=a(t),void((e.opts||e.canPan)&&e.newPoints.length&&e.newPoints.length&&(e.isSwiping&&!0===e.isSwiping||t.preventDefault(),e.distanceX=s(e.newPoints[0],e.startPoints[0],"x"),e.distanceY=s(e.newPoints[0],e.startPoints[0],"y"),e.distance=s(e.newPoints[0],e.startPoints[0]),e.distance>0&&(e.isSwiping?e.onSwipe(t):e.isPanning?e.onPan():e.isZooming&&e.onZoom()))))},d.prototype.onSwipe=function(e){var a,s=this,r=s.instance,c=s.isSwiping,l=s.sliderStartPos.left||0;if(!0!==c)"x"==c&&(s.distanceX>0&&(s.instance.group.length<2||0===s.instance.current.index&&!s.instance.current.opts.loop)?l+=Math.pow(s.distanceX,.8):s.distanceX<0&&(s.instance.group.length<2||s.instance.current.index===s.instance.group.length-1&&!s.instance.current.opts.loop)?l-=Math.pow(-s.distanceX,.8):l+=s.distanceX),s.sliderLastPos={top:"x"==c?0:s.sliderStartPos.top+s.distanceY,left:l},s.requestId&&(i(s.requestId),s.requestId=null),s.requestId=o(function(){s.sliderLastPos&&(n.each(s.instance.slides,function(t,e){var o=e.pos-s.instance.currPos;n.fancybox.setTranslate(e.$slide,{top:s.sliderLastPos.top,left:s.sliderLastPos.left+o*s.canvasWidth+o*e.opts.gutter})}),s.$container.addClass("fancybox-is-sliding"))});else if(Math.abs(s.distance)>10){if(s.canTap=!1,r.group.length<2&&s.opts.vertical?s.isSwiping="y":r.isDragging||!1===s.opts.vertical||"auto"===s.opts.vertical&&n(t).width()>800?s.isSwiping="x":(a=Math.abs(180*Math.atan2(s.distanceY,s.distanceX)/Math.PI),s.isSwiping=a>45&&a<135?"y":"x"),"y"===s.isSwiping&&n.fancybox.isMobile&&s.isScrollable)return void(s.isScrolling=!0);r.isDragging=s.isSwiping,s.startPoints=s.newPoints,n.each(r.slides,function(t,e){var o,i;n.fancybox.stop(e.$slide),o=n.fancybox.getTranslate(e.$slide),i=n.fancybox.getTranslate(r.$refs.stage),e.$slide.css({transform:"",opacity:"","transition-duration":""}).removeClass("fancybox-animated").removeClass(function(t,e){return(e.match(/(^|\s)fancybox-fx-\S+/g)||[]).join(" ")}),e.pos===r.current.pos&&(s.sliderStartPos.top=o.top-i.top,s.sliderStartPos.left=o.left-i.left),n.fancybox.setTranslate(e.$slide,{top:o.top-i.top,left:o.left-i.left})}),r.SlideShow&&r.SlideShow.isActive&&r.SlideShow.stop()}},d.prototype.onPan=function(){var t=this;if(s(t.newPoints[0],t.realPoints[0])<(n.fancybox.isMobile?10:5))return void(t.startPoints=t.newPoints);t.canTap=!1,t.contentLastPos=t.limitMovement(),t.requestId&&i(t.requestId),t.requestId=o(function(){n.fancybox.setTranslate(t.$content,t.contentLastPos)})},d.prototype.limitMovement=function(){var t,e,n,o,i,a,s=this,r=s.canvasWidth,c=s.canvasHeight,l=s.distanceX,d=s.distanceY,u=s.contentStartPos,f=u.left,p=u.top,h=u.width,g=u.height;return i=h>r?f+l:f,a=p+d,t=Math.max(0,.5*r-.5*h),e=Math.max(0,.5*c-.5*g),n=Math.min(r-h,.5*r-.5*h),o=Math.min(c-g,.5*c-.5*g),l>0&&i>t&&(i=t-1+Math.pow(-t+f+l,.8)||0),l<0&&i<n&&(i=n+1-Math.pow(n-f-l,.8)||0),d>0&&a>e&&(a=e-1+Math.pow(-e+p+d,.8)||0),d<0&&a<o&&(a=o+1-Math.pow(o-p-d,.8)||0),{top:a,left:i}},d.prototype.limitPosition=function(t,e,n,o){var i=this,a=i.canvasWidth,s=i.canvasHeight;return n>a?(t=t>0?0:t,t=t<a-n?a-n:t):t=Math.max(0,a/2-n/2),o>s?(e=e>0?0:e,e=e<s-o?s-o:e):e=Math.max(0,s/2-o/2),{top:e,left:t}},d.prototype.onZoom=function(){var e=this,a=e.contentStartPos,r=a.width,c=a.height,l=a.left,d=a.top,u=s(e.newPoints[0],e.newPoints[1]),f=u/e.startDistanceBetweenFingers,p=Math.floor(r*f),h=Math.floor(c*f),g=(r-p)*e.percentageOfImageAtPinchPointX,b=(c-h)*e.percentageOfImageAtPinchPointY,m=(e.newPoints[0].x+e.newPoints[1].x)/2-n(t).scrollLeft(),v=(e.newPoints[0].y+e.newPoints[1].y)/2-n(t).scrollTop(),y=m-e.centerPointStartX,x=v-e.centerPointStartY,w=l+(g+y),$=d+(b+x),S={top:$,left:w,scaleX:f,scaleY:f};e.canTap=!1,e.newWidth=p,e.newHeight=h,e.contentLastPos=S,e.requestId&&i(e.requestId),e.requestId=o(function(){n.fancybox.setTranslate(e.$content,e.contentLastPos)})},d.prototype.ontouchend=function(t){var o=this,s=o.isSwiping,r=o.isPanning,c=o.isZooming,l=o.isScrolling;if(o.endPoints=a(t),o.dMs=Math.max((new Date).getTime()-o.startTime,1),o.$container.removeClass("fancybox-is-grabbing"),n(e).off(".fb.touch"),e.removeEventListener("scroll",o.onscroll,!0),o.requestId&&(i(o.requestId),o.requestId=null),o.isSwiping=!1,o.isPanning=!1,o.isZooming=!1,o.isScrolling=!1,o.instance.isDragging=!1,o.canTap)return o.onTap(t);o.speed=100,o.velocityX=o.distanceX/o.dMs*.5,o.velocityY=o.distanceY/o.dMs*.5,r?o.endPanning():c?o.endZooming():o.endSwiping(s,l)},d.prototype.endSwiping=function(t,e){var o=this,i=!1,a=o.instance.group.length,s=Math.abs(o.distanceX),r="x"==t&&a>1&&(o.dMs>130&&s>10||s>50);o.sliderLastPos=null,"y"==t&&!e&&Math.abs(o.distanceY)>50?(n.fancybox.animate(o.instance.current.$slide,{top:o.sliderStartPos.top+o.distanceY+150*o.velocityY,opacity:0},200),i=o.instance.close(!0,250)):r&&o.distanceX>0?i=o.instance.previous(300):r&&o.distanceX<0&&(i=o.instance.next(300)),!1!==i||"x"!=t&&"y"!=t||o.instance.centerSlide(200),o.$container.removeClass("fancybox-is-sliding")},d.prototype.endPanning=function(){var t,e,o,i=this;i.contentLastPos&&(!1===i.opts.momentum||i.dMs>350?(t=i.contentLastPos.left,e=i.contentLastPos.top):(t=i.contentLastPos.left+500*i.velocityX,e=i.contentLastPos.top+500*i.velocityY),o=i.limitPosition(t,e,i.contentStartPos.width,i.contentStartPos.height),o.width=i.contentStartPos.width,o.height=i.contentStartPos.height,n.fancybox.animate(i.$content,o,366))},d.prototype.endZooming=function(){var t,e,o,i,a=this,s=a.instance.current,r=a.newWidth,c=a.newHeight;a.contentLastPos&&(t=a.contentLastPos.left,e=a.contentLastPos.top,i={top:e,left:t,width:r,height:c,scaleX:1,scaleY:1},n.fancybox.setTranslate(a.$content,i),r<a.canvasWidth&&c<a.canvasHeight?a.instance.scaleToFit(150):r>s.width||c>s.height?a.instance.scaleToActual(a.centerPointStartX,a.centerPointStartY,150):(o=a.limitPosition(t,e,r,c),n.fancybox.animate(a.$content,o,150)))},d.prototype.onTap=function(e){var o,i=this,s=n(e.target),r=i.instance,c=r.current,l=e&&a(e)||i.startPoints,d=l[0]?l[0].x-n(t).scrollLeft()-i.stagePos.left:0,u=l[0]?l[0].y-n(t).scrollTop()-i.stagePos.top:0,f=function(t){var o=c.opts[t];if(n.isFunction(o)&&(o=o.apply(r,[c,e])),o)switch(o){case"close":r.close(i.startEvent);break;case"toggleControls":r.toggleControls();break;case"next":r.next();break;case"nextOrClose":r.group.length>1?r.next():r.close(i.startEvent);break;case"zoom":"image"==c.type&&(c.isLoaded||c.$ghost)&&(r.canPan()?r.scaleToFit():r.isScaledDown()?r.scaleToActual(d,u):r.group.length<2&&r.close(i.startEvent))}};if((!e.originalEvent||2!=e.originalEvent.button)&&(s.is("img")||!(d>s[0].clientWidth+s.offset().left))){if(s.is(".fancybox-bg,.fancybox-inner,.fancybox-outer,.fancybox-container"))o="Outside";else if(s.is(".fancybox-slide"))o="Slide";else{if(!r.current.$content||!r.current.$content.find(s).addBack().filter(s).length)return;o="Content"}if(i.tapped){if(clearTimeout(i.tapped),i.tapped=null,Math.abs(d-i.tapX)>50||Math.abs(u-i.tapY)>50)return this;f("dblclick"+o)}else i.tapX=d,i.tapY=u,c.opts["dblclick"+o]&&c.opts["dblclick"+o]!==c.opts["click"+o]?i.tapped=setTimeout(function(){i.tapped=null,r.isAnimating||f("click"+o)},500):f("click"+o);return this}},n(e).on("onActivate.fb",function(t,e){e&&!e.Guestures&&(e.Guestures=new d(e))}).on("beforeClose.fb",function(t,e){e&&e.Guestures&&e.Guestures.destroy()})}(window,document,jQuery),function(t,e){"use strict";e.extend(!0,e.fancybox.defaults,{btnTpl:{slideShow:'<button data-fancybox-play class="fancybox-button fancybox-button--play" title="{{PLAY_START}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M6.5 5.4v13.2l11-6.6z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M8.33 5.75h2.2v12.5h-2.2V5.75zm5.15 0h2.2v12.5h-2.2V5.75z"/></svg></button>'},slideShow:{autoStart:!1,speed:3e3,progress:!0}});var n=function(t){this.instance=t,this.init()};e.extend(n.prototype,{timer:null,isActive:!1,$button:null,init:function(){var t=this,n=t.instance,o=n.group[n.currIndex].opts.slideShow;t.$button=n.$refs.toolbar.find("[data-fancybox-play]").on("click",function(){t.toggle()}),n.group.length<2||!o?t.$button.hide():o.progress&&(t.$progress=e('<div class="fancybox-progress"></div>').appendTo(n.$refs.inner))},set:function(t){var n=this,o=n.instance,i=o.current;i&&(!0===t||i.opts.loop||o.currIndex<o.group.length-1)?n.isActive&&"video"!==i.contentType&&(n.$progress&&e.fancybox.animate(n.$progress.show(),{scaleX:1},i.opts.slideShow.speed),n.timer=setTimeout(function(){o.current.opts.loop||o.current.index!=o.group.length-1?o.next():o.jumpTo(0)},i.opts.slideShow.speed)):(n.stop(),o.idleSecondsCounter=0,o.showControls())},clear:function(){var t=this;clearTimeout(t.timer),t.timer=null,t.$progress&&t.$progress.removeAttr("style").hide()},start:function(){var t=this,e=t.instance.current;e&&(t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_STOP).removeClass("fancybox-button--play").addClass("fancybox-button--pause"),t.isActive=!0,e.isComplete&&t.set(!0),t.instance.trigger("onSlideShowChange",!0))},stop:function(){var t=this,e=t.instance.current;t.clear(),t.$button.attr("title",(e.opts.i18n[e.opts.lang]||e.opts.i18n.en).PLAY_START).removeClass("fancybox-button--pause").addClass("fancybox-button--play"),t.isActive=!1,t.instance.trigger("onSlideShowChange",!1),t.$progress&&t.$progress.removeAttr("style").hide()},toggle:function(){var t=this;t.isActive?t.stop():t.start()}}),e(t).on({"onInit.fb":function(t,e){e&&!e.SlideShow&&(e.SlideShow=new n(e))},"beforeShow.fb":function(t,e,n,o){var i=e&&e.SlideShow;o?i&&n.opts.slideShow.autoStart&&i.start():i&&i.isActive&&i.clear()},"afterShow.fb":function(t,e,n){var o=e&&e.SlideShow;o&&o.isActive&&o.set()},"afterKeydown.fb":function(n,o,i,a,s){var r=o&&o.SlideShow;!r||!i.opts.slideShow||80!==s&&32!==s||e(t.activeElement).is("button,a,input")||(a.preventDefault(),r.toggle())},"beforeClose.fb onDeactivate.fb":function(t,e){var n=e&&e.SlideShow;n&&n.stop()}}),e(t).on("visibilitychange",function(){var n=e.fancybox.getInstance(),o=n&&n.SlideShow;o&&o.isActive&&(t.hidden?o.clear():o.set())})}(document,jQuery),function(t,e){"use strict";var n=function(){for(var e=[["requestFullscreen","exitFullscreen","fullscreenElement","fullscreenEnabled","fullscreenchange","fullscreenerror"],["webkitRequestFullscreen","webkitExitFullscreen","webkitFullscreenElement","webkitFullscreenEnabled","webkitfullscreenchange","webkitfullscreenerror"],["webkitRequestFullScreen","webkitCancelFullScreen","webkitCurrentFullScreenElement","webkitCancelFullScreen","webkitfullscreenchange","webkitfullscreenerror"],["mozRequestFullScreen","mozCancelFullScreen","mozFullScreenElement","mozFullScreenEnabled","mozfullscreenchange","mozfullscreenerror"],["msRequestFullscreen","msExitFullscreen","msFullscreenElement","msFullscreenEnabled","MSFullscreenChange","MSFullscreenError"]],n={},o=0;o<e.length;o++){var i=e[o];if(i&&i[1]in t){for(var a=0;a<i.length;a++)n[e[0][a]]=i[a];return n}}return!1}();if(n){var o={request:function(e){e=e||t.documentElement,e[n.requestFullscreen](e.ALLOW_KEYBOARD_INPUT)},exit:function(){t[n.exitFullscreen]()},toggle:function(e){e=e||t.documentElement,this.isFullscreen()?this.exit():this.request(e)},isFullscreen:function(){return Boolean(t[n.fullscreenElement])},enabled:function(){return Boolean(t[n.fullscreenEnabled])}};e.extend(!0,e.fancybox.defaults,{btnTpl:{fullScreen:'<button data-fancybox-fullscreen class="fancybox-button fancybox-button--fsenter" title="{{FULL_SCREEN}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M7 14H5v5h5v-2H7v-3zm-2-4h2V7h3V5H5v5zm12 7h-3v2h5v-5h-2v3zM14 5v2h3v3h2V5h-5z"/></svg><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M5 16h3v3h2v-5H5zm3-8H5v2h5V5H8zm6 11h2v-3h3v-2h-5zm2-11V5h-2v5h5V8z"/></svg></button>'},fullScreen:{autoStart:!1}}),e(t).on(n.fullscreenchange,function(){var t=o.isFullscreen(),n=e.fancybox.getInstance();n&&(n.current&&"image"===n.current.type&&n.isAnimating&&(n.isAnimating=!1,n.update(!0,!0,0),n.isComplete||n.complete()),n.trigger("onFullscreenChange",t),n.$refs.container.toggleClass("fancybox-is-fullscreen",t),n.$refs.toolbar.find("[data-fancybox-fullscreen]").toggleClass("fancybox-button--fsenter",!t).toggleClass("fancybox-button--fsexit",t))})}e(t).on({"onInit.fb":function(t,e){var i;if(!n)return void e.$refs.toolbar.find("[data-fancybox-fullscreen]").remove();e&&e.group[e.currIndex].opts.fullScreen?(i=e.$refs.container,i.on("click.fb-fullscreen","[data-fancybox-fullscreen]",function(t){t.stopPropagation(),t.preventDefault(),o.toggle()}),e.opts.fullScreen&&!0===e.opts.fullScreen.autoStart&&o.request(),e.FullScreen=o):e&&e.$refs.toolbar.find("[data-fancybox-fullscreen]").hide()},"afterKeydown.fb":function(t,e,n,o,i){e&&e.FullScreen&&70===i&&(o.preventDefault(),e.FullScreen.toggle())},"beforeClose.fb":function(t,e){e&&e.FullScreen&&e.$refs.container.hasClass("fancybox-is-fullscreen")&&o.exit()}})}(document,jQuery),function(t,e){"use strict";var n="fancybox-thumbs";e.fancybox.defaults=e.extend(!0,{btnTpl:{thumbs:'<button data-fancybox-thumbs class="fancybox-button fancybox-button--thumbs" title="{{THUMBS}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M14.59 14.59h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76h-3.76v-3.76zm-4.47 0h3.76v3.76H5.65v-3.76zm8.94-4.47h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76h-3.76V5.65zm-4.47 0h3.76v3.76H5.65V5.65z"/></svg></button>'},thumbs:{autoStart:!1,hideOnClose:!0,parentEl:".fancybox-container",axis:"y"}},e.fancybox.defaults);var o=function(t){this.init(t)};e.extend(o.prototype,{$button:null,$grid:null,$list:null,isVisible:!1,isActive:!1,init:function(t){var e=this,n=t.group,o=0;e.instance=t,e.opts=n[t.currIndex].opts.thumbs,t.Thumbs=e,e.$button=t.$refs.toolbar.find("[data-fancybox-thumbs]");for(var i=0,a=n.length;i<a&&(n[i].thumb&&o++,!(o>1));i++);o>1&&e.opts?(e.$button.removeAttr("style").on("click",function(){e.toggle()}),e.isActive=!0):e.$button.hide()},create:function(){var t,o=this,i=o.instance,a=o.opts.parentEl,s=[];o.$grid||(o.$grid=e('<div class="'+n+" "+n+"-"+o.opts.axis+'"></div>').appendTo(i.$refs.container.find(a).addBack().filter(a)),o.$grid.on("click","a",function(){i.jumpTo(e(this).attr("data-index"))})),o.$list||(o.$list=e('<div class="'+n+'__list">').appendTo(o.$grid)),e.each(i.group,function(e,n){t=n.thumb,t||"image"!==n.type||(t=n.src),s.push('<a href="javascript:;" tabindex="0" data-index="'+e+'"'+(t&&t.length?' style="background-image:url('+t+')"':'class="fancybox-thumbs-missing"')+"></a>")}),o.$list[0].innerHTML=s.join(""),"x"===o.opts.axis&&o.$list.width(parseInt(o.$grid.css("padding-right"),10)+i.group.length*o.$list.children().eq(0).outerWidth(!0))},focus:function(t){var e,n,o=this,i=o.$list,a=o.$grid;o.instance.current&&(e=i.children().removeClass("fancybox-thumbs-active").filter('[data-index="'+o.instance.current.index+'"]').addClass("fancybox-thumbs-active"),n=e.position(),"y"===o.opts.axis&&(n.top<0||n.top>i.height()-e.outerHeight())?i.stop().animate({scrollTop:i.scrollTop()+n.top},t):"x"===o.opts.axis&&(n.left<a.scrollLeft()||n.left>a.scrollLeft()+(a.width()-e.outerWidth()))&&i.parent().stop().animate({scrollLeft:n.left},t))},update:function(){var t=this;t.instance.$refs.container.toggleClass("fancybox-show-thumbs",this.isVisible),t.isVisible?(t.$grid||t.create(),t.instance.trigger("onThumbsShow"),t.focus(0)):t.$grid&&t.instance.trigger("onThumbsHide"),t.instance.update()},hide:function(){this.isVisible=!1,this.update()},show:function(){this.isVisible=!0,this.update()},toggle:function(){this.isVisible=!this.isVisible,this.update()}}),e(t).on({"onInit.fb":function(t,e){var n;e&&!e.Thumbs&&(n=new o(e),n.isActive&&!0===n.opts.autoStart&&n.show())},"beforeShow.fb":function(t,e,n,o){var i=e&&e.Thumbs;i&&i.isVisible&&i.focus(o?0:250)},"afterKeydown.fb":function(t,e,n,o,i){var a=e&&e.Thumbs;a&&a.isActive&&71===i&&(o.preventDefault(),a.toggle())},"beforeClose.fb":function(t,e){var n=e&&e.Thumbs;n&&n.isVisible&&!1!==n.opts.hideOnClose&&n.$grid.hide()}})}(document,jQuery),function(t,e){"use strict";function n(t){var e={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;","/":"&#x2F;","`":"&#x60;","=":"&#x3D;"};return String(t).replace(/[&<>"'`=\/]/g,function(t){return e[t]})}e.extend(!0,e.fancybox.defaults,{btnTpl:{share:'<button data-fancybox-share class="fancybox-button fancybox-button--share" title="{{SHARE}}"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M2.55 19c1.4-8.4 9.1-9.8 11.9-9.8V5l7 7-7 6.3v-3.5c-2.8 0-10.5 2.1-11.9 4.2z"/></svg></button>'},share:{url:function(t,e){return!t.currentHash&&"inline"!==e.type&&"html"!==e.type&&(e.origSrc||e.src)||window.location},
vendor: 5,271 bytes, lines 37253-37259
37253    tpl:'<div class="fancybox-share"><h1>{{SHARE}}</h1><p><a class="fancybox-share__button fancybox-share__button--fb" href="https://www.facebook.com/sharer/sharer.php?u={{url}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m287 456v-299c0-21 6-35 35-35h38v-63c-7-1-29-3-55-3-54 0-91 33-91 94v306m143-254h-205v72h196" /></svg><span>Facebook</span></a><a class="fancybox-share__button fancybox-share__button--tw" href="https://twitter.com/intent/tweet?url={{url}}&text={{descr}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m456 133c-14 7-31 11-47 13 17-10 30-27 37-46-15 10-34 16-52 20-61-62-157-7-141 75-68-3-129-35-169-85-22 37-11 86 26 109-13 0-26-4-37-9 0 39 28 72 65 80-12 3-25 4-37 2 10 33 41 57 77 57-42 30-77 38-122 34 170 111 378-32 359-208 16-11 30-25 41-42z" /></svg><span>Twitter</span></a><a class="fancybox-share__button fancybox-share__button--pt" href="https://www.pinterest.com/pin/create/button/?url={{url}}&description={{descr}}&media={{media}}"><svg viewBox="0 0 512 512" xmlns="http://www.w3.org/2000/svg"><path d="m265 56c-109 0-164 78-164 144 0 39 15 74 47 87 5 2 10 0 12-5l4-19c2-6 1-8-3-13-9-11-15-25-15-45 0-58 43-110 113-110 62 0 96 38 96 88 0 67-30 122-73 122-24 0-42-19-36-44 6-29 20-60 20-81 0-19-10-35-31-35-25 0-44 26-44 60 0 21 7 36 7 36l-30 125c-8 37-1 83 0 87 0 3 4 4 5 2 2-3 32-39 42-75l16-64c8 16 31 29 56 29 74 0 124-67 124-157 0-69-58-132-146-132z" fill="#fff"/></svg><span>Pinterest</span></a></p><p><input class="fancybox-share__input" type="text" value="{{url_raw}}" onclick="select()" /></p></div>'}}),e(t).on("click","[data-fancybox-share]",function(){var t,o,i=e.fancybox.getInstance(),a=i.current||null;a&&("function"===e.type(a.opts.share.url)&&(t=a.opts.share.url.apply(a,[i,a])),o=a.opts.share.tpl.replace(/\{\{media\}\}/g,"image"===a.type?encodeURIComponent(a.src):"").replace(/\{\{url\}\}/g,encodeURIComponent(t)).replace(/\{\{url_raw\}\}/g,n(t)).replace(/\{\{descr\}\}/g,i.$caption?encodeURIComponent(i.$caption.text()):""),e.fancybox.open({src:i.translate(i,o),type:"html",opts:{touch:!1,animationEffect:!1,afterLoad:function(t,e){i.$refs.container.one("beforeClose.fb",function(){t.close(null,0)}),e.$content.find(".fancybox-share__button").click(function(){return window.open(this.href,"Share","width=550, height=450"),!1})},mobile:{autoFocus:!1}}}))})}(document,jQuery),function(t,e,n){"use strict";function o(){var e=t.location.hash.substr(1),n=e.split("-"),o=n.length>1&&/^\+?\d+$/.test(n[n.length-1])?parseInt(n.pop(-1),10)||1:1,i=n.join("-");return{hash:e,index:o<1?1:o,gallery:i}}function i(t){""!==t.gallery&&n("[data-fancybox='"+n.escapeSelector(t.gallery)+"']").eq(t.index-1).focus().trigger("click.fb-start")}function a(t){var e,n;return!!t&&(e=t.current?t.current.opts:t.opts,""!==(n=e.hash||(e.$orig?e.$orig.data("fancybox")||e.$orig.data("fancybox-trigger"):""))&&n)}n.escapeSelector||(n.escapeSelector=function(t){return(t+"").replace(/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,function(t,e){return e?"\0"===t?"�":t.slice(0,-1)+"\\"+t.charCodeAt(t.length-1).toString(16)+" ":"\\"+t})}),n(function(){!1!==n.fancybox.defaults.hash&&(n(e).on({"onInit.fb":function(t,e){var n,i;!1!==e.group[e.currIndex].opts.hash&&(n=o(),(i=a(e))&&n.gallery&&i==n.gallery&&(e.currIndex=n.index-1))},"beforeShow.fb":function(n,o,i,s){var r;i&&!1!==i.opts.hash&&(r=a(o))&&(o.currentHash=r+(o.group.length>1?"-"+(i.index+1):""),t.location.hash!=="#"+o.currentHash&&(s&&!o.origHash&&(o.origHash=t.location.hash),o.hashTimer&&clearTimeout(o.hashTimer),o.hashTimer=setTimeout(function(){"replaceState"in t.history?(t.history[s?"pushState":"replaceState"]({},e.title,t.location.pathname+t.location.search+"#"+o.currentHash),s&&(o.hasCreatedHistory=!0)):t.location.hash=o.currentHash,o.hashTimer=null},300)))},"beforeClose.fb":function(n,o,i){i&&!1!==i.opts.hash&&(clearTimeout(o.hashTimer),o.currentHash&&o.hasCreatedHistory?t.history.back():o.currentHash&&("replaceState"in t.history?t.history.replaceState({},e.title,t.location.pathname+t.location.search+(o.origHash||"")):t.location.hash=o.origHash),o.currentHash=null)}}),n(t).on("hashchange.fb",function(){var t=o(),e=null;n.each(n(".fancybox-container").get().reverse(),function(t,o){var i=n(o).data("FancyBox");if(i&&i.currentHash)return e=i,!1}),e?e.currentHash===t.gallery+"-"+t.index||1===t.index&&e.currentHash==t.gallery||(e.currentHash=null,e.close()):""!==t.gallery&&i(t)}),setTimeout(function(){n.fancybox.getInstance()||i(o())},50))})}(window,document,jQuery),function(t,e){"use strict";var n=(new Date).getTime();e(t).on({"onInit.fb":function(t,e,o){e.$refs.stage.on("mousewheel DOMMouseScroll wheel MozMousePixelScroll",function(t){var o=e.current,i=(new Date).getTime();e.group.length<2||!1===o.opts.wheel||"auto"===o.opts.wheel&&"image"!==o.type||(t.preventDefault(),t.stopPropagation(),o.$slide.hasClass("fancybox-animated")||(t=t.originalEvent||t,i-n<250||(n=i,e[(-t.deltaY||-t.deltaX||t.wheelDelta||-t.detail)<0?"next":"previous"]())))})}})}(document,jQuery);
37254
37255/*!
37256  * Bootstrap v5.3.3 (https://getbootstrap.com/)
37257  * Copyright 2011-2024 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
37258  * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
37259  */
vendor: 21,520 bytes, lines 37259-37260
37259
37260!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e():"function"==typeof define&&define.amd?define(e):(t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap=e()}(this,(function(){"use strict";const t=new Map,e={set(e,i,n){t.has(e)||t.set(e,new Map);const s=t.get(e);s.has(i)||0===s.size?s.set(i,n):console.error(`Bootstrap doesn't allow more than one instance per element. Bound instance: ${Array.from(s.keys())[0]}.`)},get:(e,i)=>t.has(e)&&t.get(e).get(i)||null,remove(e,i){if(!t.has(e))return;const n=t.get(e);n.delete(i),0===n.size&&t.delete(e)}},i="transitionend",n=t=>(t&&window.CSS&&window.CSS.escape&&(t=t.replace(/#([^\s"#']+)/g,((t,e)=>`#${CSS.escape(e)}`))),t),s=t=>{t.dispatchEvent(new Event(i))},o=t=>!(!t||"object"!=typeof t)&&(void 0!==t.jquery&&(t=t[0]),void 0!==t.nodeType),r=t=>o(t)?t.jquery?t[0]:t:"string"==typeof t&&t.length>0?document.querySelector(n(t)):null,a=t=>{if(!o(t)||0===t.getClientRects().length)return!1;const e="visible"===getComputedStyle(t).getPropertyValue("visibility"),i=t.closest("details:not([open])");if(!i)return e;if(i!==t){const e=t.closest("summary");if(e&&e.parentNode!==i)return!1;if(null===e)return!1}return e},l=t=>!t||t.nodeType!==Node.ELEMENT_NODE||!!t.classList.contains("disabled")||(void 0!==t.disabled?t.disabled:t.hasAttribute("disabled")&&"false"!==t.getAttribute("disabled")),c=t=>{if(!document.documentElement.attachShadow)return null;if("function"==typeof t.getRootNode){const e=t.getRootNode();return e instanceof ShadowRoot?e:null}return t instanceof ShadowRoot?t:t.parentNode?c(t.parentNode):null},h=()=>{},d=t=>{t.offsetHeight},u=()=>window.jQuery&&!document.body.hasAttribute("data-bs-no-jquery")?window.jQuery:null,f=[],p=()=>"rtl"===document.documentElement.dir,m=t=>{var e;e=()=>{const e=u();if(e){const i=t.NAME,n=e.fn[i];e.fn[i]=t.jQueryInterface,e.fn[i].Constructor=t,e.fn[i].noConflict=()=>(e.fn[i]=n,t.jQueryInterface)}},"loading"===document.readyState?(f.length||document.addEventListener("DOMContentLoaded",(()=>{for(const t of f)t()})),f.push(e)):e()},g=(t,e=[],i=t)=>"function"==typeof t?t(...e):i,_=(t,e,n=!0)=>{if(!n)return void g(t);const o=(t=>{if(!t)return 0;let{transitionDuration:e,transitionDelay:i}=window.getComputedStyle(t);const n=Number.parseFloat(e),s=Number.parseFloat(i);return n||s?(e=e.split(",")[0],i=i.split(",")[0],1e3*(Number.parseFloat(e)+Number.parseFloat(i))):0})(e)+5;let r=!1;const a=({target:n})=>{n===e&&(r=!0,e.removeEventListener(i,a),g(t))};e.addEventListener(i,a),setTimeout((()=>{r||s(e)}),o)},b=(t,e,i,n)=>{const s=t.length;let o=t.indexOf(e);return-1===o?!i&&n?t[s-1]:t[0]:(o+=i?1:-1,n&&(o=(o+s)%s),t[Math.max(0,Math.min(o,s-1))])},v=/[^.]*(?=\..*)\.|.*/,y=/\..*/,w=/::\d+$/,A={};let E=1;const T={mouseenter:"mouseover",mouseleave:"mouseout"},C=new Set(["click","dblclick","mouseup","mousedown","contextmenu","mousewheel","DOMMouseScroll","mouseover","mouseout","mousemove","selectstart","selectend","keydown","keypress","keyup","orientationchange","touchstart","touchmove","touchend","touchcancel","pointerdown","pointermove","pointerup","pointerleave","pointercancel","gesturestart","gesturechange","gestureend","focus","blur","change","reset","select","submit","focusin","focusout","load","unload","beforeunload","resize","move","DOMContentLoaded","readystatechange","error","abort","scroll"]);function O(t,e){return e&&`${e}::${E++}`||t.uidEvent||E++}function x(t){const e=O(t);return t.uidEvent=e,A[e]=A[e]||{},A[e]}function k(t,e,i=null){return Object.values(t).find((t=>t.callable===e&&t.delegationSelector===i))}function L(t,e,i){const n="string"==typeof e,s=n?i:e||i;let o=I(t);return C.has(o)||(o=t),[n,s,o]}function S(t,e,i,n,s){if("string"!=typeof e||!t)return;let[o,r,a]=L(e,i,n);if(e in T){const t=t=>function(e){if(!e.relatedTarget||e.relatedTarget!==e.delegateTarget&&!e.delegateTarget.contains(e.relatedTarget))return t.call(this,e)};r=t(r)}const l=x(t),c=l[a]||(l[a]={}),h=k(c,r,o?i:null);if(h)return void(h.oneOff=h.oneOff&&s);const d=O(r,e.replace(v,"")),u=o?function(t,e,i){return function n(s){const o=t.querySelectorAll(e);for(let{target:r}=s;r&&r!==this;r=r.parentNode)for(const a of o)if(a===r)return P(s,{delegateTarget:r}),n.oneOff&&N.off(t,s.type,e,i),i.apply(r,[s])}}(t,i,r):function(t,e){return function i(n){return P(n,{delegateTarget:t}),i.oneOff&&N.off(t,n.type,e),e.apply(t,[n])}}(t,r);u.delegationSelector=o?i:null,u.callable=r,u.oneOff=s,u.uidEvent=d,c[d]=u,t.addEventListener(a,u,o)}function D(t,e,i,n,s){const o=k(e[i],n,s);o&&(t.removeEventListener(i,o,Boolean(s)),delete e[i][o.uidEvent])}function $(t,e,i,n){const s=e[i]||{};for(const[o,r]of Object.entries(s))o.includes(n)&&D(t,e,i,r.callable,r.delegationSelector)}function I(t){return t=t.replace(y,""),T[t]||t}const N={on(t,e,i,n){S(t,e,i,n,!1)},one(t,e,i,n){S(t,e,i,n,!0)},off(t,e,i,n){if("string"!=typeof e||!t)return;const[s,o,r]=L(e,i,n),a=r!==e,l=x(t),c=l[r]||{},h=e.startsWith(".");if(void 0===o){if(h)for(const i of Object.keys(l))$(t,l,i,e.slice(1));for(const[i,n]of Object.entries(c)){const s=i.replace(w,"");a&&!e.includes(s)||D(t,l,r,n.callable,n.delegationSelector)}}else{if(!Object.keys(c).length)return;D(t,l,r,o,s?i:null)}},trigger(t,e,i){if("string"!=typeof e||!t)return null;const n=u();let s=null,o=!0,r=!0,a=!1;e!==I(e)&&n&&(s=n.Event(e,i),n(t).trigger(s),o=!s.isPropagationStopped(),r=!s.isImmediatePropagationStopped(),a=s.isDefaultPrevented());const l=P(new Event(e,{bubbles:o,cancelable:!0}),i);return a&&l.preventDefault(),r&&t.dispatchEvent(l),l.defaultPrevented&&s&&s.preventDefault(),l}};function P(t,e={}){for(const[i,n]of Object.entries(e))try{t[i]=n}catch(e){Object.defineProperty(t,i,{configurable:!0,get:()=>n})}return t}function j(t){if("true"===t)return!0;if("false"===t)return!1;if(t===Number(t).toString())return Number(t);if(""===t||"null"===t)return null;if("string"!=typeof t)return t;try{return JSON.parse(decodeURIComponent(t))}catch(e){return t}}function M(t){return t.replace(/[A-Z]/g,(t=>`-${t.toLowerCase()}`))}const F={setDataAttribute(t,e,i){t.setAttribute(`data-bs-${M(e)}`,i)},removeDataAttribute(t,e){t.removeAttribute(`data-bs-${M(e)}`)},getDataAttributes(t){if(!t)return{};const e={},i=Object.keys(t.dataset).filter((t=>t.startsWith("bs")&&!t.startsWith("bsConfig")));for(const n of i){let i=n.replace(/^bs/,"");i=i.charAt(0).toLowerCase()+i.slice(1,i.length),e[i]=j(t.dataset[n])}return e},getDataAttribute:(t,e)=>j(t.getAttribute(`data-bs-${M(e)}`))};class H{static get Default(){return{}}static get DefaultType(){return{}}static get NAME(){throw new Error('You have to implement the static method "NAME", for each component!')}_getConfig(t){return t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t}_mergeConfigObj(t,e){const i=o(e)?F.getDataAttribute(e,"config"):{};return{...this.constructor.Default,..."object"==typeof i?i:{},...o(e)?F.getDataAttributes(e):{},..."object"==typeof t?t:{}}}_typeCheckConfig(t,e=this.constructor.DefaultType){for(const[n,s]of Object.entries(e)){const e=t[n],r=o(e)?"element":null==(i=e)?`${i}`:Object.prototype.toString.call(i).match(/\s([a-z]+)/i)[1].toLowerCase();if(!new RegExp(s).test(r))throw new TypeError(`${this.constructor.NAME.toUpperCase()}: Option "${n}" provided type "${r}" but expected type "${s}".`)}var i}}class W extends H{constructor(t,i){super(),(t=r(t))&&(this._element=t,this._config=this._getConfig(i),e.set(this._element,this.constructor.DATA_KEY,this))}dispose(){e.remove(this._element,this.constructor.DATA_KEY),N.off(this._element,this.constructor.EVENT_KEY);for(const t of Object.getOwnPropertyNames(this))this[t]=null}_queueCallback(t,e,i=!0){_(t,e,i)}_getConfig(t){return t=this._mergeConfigObj(t,this._element),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}static getInstance(t){return e.get(r(t),this.DATA_KEY)}static getOrCreateInstance(t,e={}){return this.getInstance(t)||new this(t,"object"==typeof e?e:null)}static get VERSION(){return"5.3.3"}static get DATA_KEY(){return`bs.${this.NAME}`}static get EVENT_KEY(){return`.${this.DATA_KEY}`}static eventName(t){return`${t}${this.EVENT_KEY}`}}const B=t=>{let e=t.getAttribute("data-bs-target");if(!e||"#"===e){let i=t.getAttribute("href");if(!i||!i.includes("#")&&!i.startsWith("."))return null;i.includes("#")&&!i.startsWith("#")&&(i=`#${i.split("#")[1]}`),e=i&&"#"!==i?i.trim():null}return e?e.split(",").map((t=>n(t))).join(","):null},z={find:(t,e=document.documentElement)=>[].concat(...Element.prototype.querySelectorAll.call(e,t)),findOne:(t,e=document.documentElement)=>Element.prototype.querySelector.call(e,t),children:(t,e)=>[].concat(...t.children).filter((t=>t.matches(e))),parents(t,e){const i=[];let n=t.parentNode.closest(e);for(;n;)i.push(n),n=n.parentNode.closest(e);return i},prev(t,e){let i=t.previousElementSibling;for(;i;){if(i.matches(e))return[i];i=i.previousElementSibling}return[]},next(t,e){let i=t.nextElementSibling;for(;i;){if(i.matches(e))return[i];i=i.nextElementSibling}return[]},focusableChildren(t){const e=["a","button","input","textarea","select","details","[tabindex]",'[contenteditable="true"]'].map((t=>`${t}:not([tabindex^="-"])`)).join(",");return this.find(e,t).filter((t=>!l(t)&&a(t)))},getSelectorFromElement(t){const e=B(t);return e&&z.findOne(e)?e:null},getElementFromSelector(t){const e=B(t);return e?z.findOne(e):null},getMultipleElementsFromSelector(t){const e=B(t);return e?z.find(e):[]}},R=(t,e="hide")=>{const i=`click.dismiss${t.EVENT_KEY}`,n=t.NAME;N.on(document,i,`[data-bs-dismiss="${n}"]`,(function(i){if(["A","AREA"].includes(this.tagName)&&i.preventDefault(),l(this))return;const s=z.getElementFromSelector(this)||this.closest(`.${n}`);t.getOrCreateInstance(s)[e]()}))},q=".bs.alert",V=`close${q}`,K=`closed${q}`;class Q extends W{static get NAME(){return"alert"}close(){if(N.trigger(this._element,V).defaultPrevented)return;this._element.classList.remove("show");const t=this._element.classList.contains("fade");this._queueCallback((()=>this._destroyElement()),this._element,t)}_destroyElement(){this._element.remove(),N.trigger(this._element,K),this.dispose()}static jQueryInterface(t){return this.each((function(){const e=Q.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}R(Q,"close"),m(Q);const X='[data-bs-toggle="button"]';class Y extends W{static get NAME(){return"button"}toggle(){this._element.setAttribute("aria-pressed",this._element.classList.toggle("active"))}static jQueryInterface(t){return this.each((function(){const e=Y.getOrCreateInstance(this);"toggle"===t&&e[t]()}))}}N.on(document,"click.bs.button.data-api",X,(t=>{t.preventDefault();const e=t.target.closest(X);Y.getOrCreateInstance(e).toggle()})),m(Y);const U=".bs.swipe",G=`touchstart${U}`,J=`touchmove${U}`,Z=`touchend${U}`,tt=`pointerdown${U}`,et=`pointerup${U}`,it={endCallback:null,leftCallback:null,rightCallback:null},nt={endCallback:"(function|null)",leftCallback:"(function|null)",rightCallback:"(function|null)"};class st extends H{constructor(t,e){super(),this._element=t,t&&st.isSupported()&&(this._config=this._getConfig(e),this._deltaX=0,this._supportPointerEvents=Boolean(window.PointerEvent),this._initEvents())}static get Default(){return it}static get DefaultType(){return nt}static get NAME(){return"swipe"}dispose(){N.off(this._element,U)}_start(t){this._supportPointerEvents?this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX):this._deltaX=t.touches[0].clientX}_end(t){this._eventIsPointerPenTouch(t)&&(this._deltaX=t.clientX-this._deltaX),this._handleSwipe(),g(this._config.endCallback)}_move(t){this._deltaX=t.touches&&t.touches.length>1?0:t.touches[0].clientX-this._deltaX}_handleSwipe(){const t=Math.abs(this._deltaX);if(t<=40)return;const e=t/this._deltaX;this._deltaX=0,e&&g(e>0?this._config.rightCallback:this._config.leftCallback)}_initEvents(){this._supportPointerEvents?(N.on(this._element,tt,(t=>this._start(t))),N.on(this._element,et,(t=>this._end(t))),this._element.classList.add("pointer-event")):(N.on(this._element,G,(t=>this._start(t))),N.on(this._element,J,(t=>this._move(t))),N.on(this._element,Z,(t=>this._end(t))))}_eventIsPointerPenTouch(t){return this._supportPointerEvents&&("pen"===t.pointerType||"touch"===t.pointerType)}static isSupported(){return"ontouchstart"in document.documentElement||navigator.maxTouchPoints>0}}const ot=".bs.carousel",rt=".data-api",at="next",lt="prev",ct="left",ht="right",dt=`slide${ot}`,ut=`slid${ot}`,ft=`keydown${ot}`,pt=`mouseenter${ot}`,mt=`mouseleave${ot}`,gt=`dragstart${ot}`,_t=`load${ot}${rt}`,bt=`click${ot}${rt}`,vt="carousel",yt="active",wt=".active",At=".carousel-item",Et=wt+At,Tt={ArrowLeft:ht,ArrowRight:ct},Ct={interval:5e3,keyboard:!0,pause:"hover",ride:!1,touch:!0,wrap:!0},Ot={interval:"(number|boolean)",keyboard:"boolean",pause:"(string|boolean)",ride:"(boolean|string)",touch:"boolean",wrap:"boolean"};class xt extends W{constructor(t,e){super(t,e),this._interval=null,this._activeElement=null,this._isSliding=!1,this.touchTimeout=null,this._swipeHelper=null,this._indicatorsElement=z.findOne(".carousel-indicators",this._element),this._addEventListeners(),this._config.ride===vt&&this.cycle()}static get Default(){return Ct}static get DefaultType(){return Ot}static get NAME(){return"carousel"}next(){this._slide(at)}nextWhenVisible(){!document.hidden&&a(this._element)&&this.next()}prev(){this._slide(lt)}pause(){this._isSliding&&s(this._element),this._clearInterval()}cycle(){this._clearInterval(),this._updateInterval(),this._interval=setInterval((()=>this.nextWhenVisible()),this._config.interval)}_maybeEnableCycle(){this._config.ride&&(this._isSliding?N.one(this._element,ut,(()=>this.cycle())):this.cycle())}to(t){const e=this._getItems();if(t>e.length-1||t<0)return;if(this._isSliding)return void N.one(this._element,ut,(()=>this.to(t)));const i=this._getItemIndex(this._getActive());if(i===t)return;const n=t>i?at:lt;this._slide(n,e[t])}dispose(){this._swipeHelper&&this._swipeHelper.dispose(),super.dispose()}_configAfterMerge(t){return t.defaultInterval=t.interval,t}_addEventListeners(){this._config.keyboard&&N.on(this._element,ft,(t=>this._keydown(t))),"hover"===this._config.pause&&(N.on(this._element,pt,(()=>this.pause())),N.on(this._element,mt,(()=>this._maybeEnableCycle()))),this._config.touch&&st.isSupported()&&this._addTouchEventListeners()}_addTouchEventListeners(){for(const t of z.find(".carousel-item img",this._element))N.on(t,gt,(t=>t.preventDefault()));const t={leftCallback:()=>this._slide(this._directionToOrder(ct)),rightCallback:()=>this._slide(this._directionToOrder(ht)),endCallback:()=>{"hover"===this._config.pause&&(this.pause(),this.touchTimeout&&clearTimeout(this.touchTimeout),this.touchTimeout=setTimeout((()=>this._maybeEnableCycle()),500+this._config.interval))}};this._swipeHelper=new st(this._element,t)}_keydown(t){if(/input|textarea/i.test(t.target.tagName))return;const e=Tt[t.key];e&&(t.preventDefault(),this._slide(this._directionToOrder(e)))}_getItemIndex(t){return this._getItems().indexOf(t)}_setActiveIndicatorElement(t){if(!this._indicatorsElement)return;const e=z.findOne(wt,this._indicatorsElement);e.classList.remove(yt),e.removeAttribute("aria-current");const i=z.findOne(`[data-bs-slide-to="${t}"]`,this._indicatorsElement);i&&(i.classList.add(yt),i.setAttribute("aria-current","true"))}_updateInterval(){const t=this._activeElement||this._getActive();if(!t)return;const e=Number.parseInt(t.getAttribute("data-bs-interval"),10);this._config.interval=e||this._config.defaultInterval}_slide(t,e=null){if(this._isSliding)return;const i=this._getActive(),n=t===at,s=e||b(this._getItems(),i,n,this._config.wrap);if(s===i)return;const o=this._getItemIndex(s),r=e=>N.trigger(this._element,e,{relatedTarget:s,direction:this._orderToDirection(t),from:this._getItemIndex(i),to:o});if(r(dt).defaultPrevented)return;if(!i||!s)return;const a=Boolean(this._interval);this.pause(),this._isSliding=!0,this._setActiveIndicatorElement(o),this._activeElement=s;const l=n?"carousel-item-start":"carousel-item-end",c=n?"carousel-item-next":"carousel-item-prev";s.classList.add(c),d(s),i.classList.add(l),s.classList.add(l),this._queueCallback((()=>{s.classList.remove(l,c),s.classList.add(yt),i.classList.remove(yt,c,l),this._isSliding=!1,r(ut)}),i,this._isAnimated()),a&&this.cycle()}_isAnimated(){return this._element.classList.contains("slide")}_getActive(){return z.findOne(Et,this._element)}_getItems(){return z.find(At,this._element)}_clearInterval(){this._interval&&(clearInterval(this._interval),this._interval=null)}_directionToOrder(t){return p()?t===ct?lt:at:t===ct?at:lt}_orderToDirection(t){return p()?t===lt?ct:ht:t===lt?ht:ct}static jQueryInterface(t){return this.each((function(){const e=xt.getOrCreateInstance(this,t);if("number"!=typeof t){if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}else e.to(t)}))}}N.on(document,bt,"[data-bs-slide], [data-bs-slide-to]",(function(t){const e=z.getElementFromSelector(this);if(!e||!e.classList.contains(vt))return;t.preventDefault();const i=xt.getOrCreateInstance(e),n=this.getAttribute("data-bs-slide-to");return n?(i.to(n),void i._maybeEnableCycle()):"next"===F.getDataAttribute(this,"slide")?(i.next(),void i._maybeEnableCycle()):(i.prev(),void i._maybeEnableCycle())})),N.on(window,_t,(()=>{const t=z.find('[data-bs-ride="carousel"]');for(const e of t)xt.getOrCreateInstance(e)})),m(xt);const kt=".bs.collapse",Lt=`show${kt}`,St=`shown${kt}`,Dt=`hide${kt}`,$t=`hidden${kt}`,It=`click${kt}.data-api`,Nt="show",Pt="collapse",jt="collapsing",Mt=`:scope .${Pt} .${Pt}`,Ft='[data-bs-toggle="collapse"]',Ht={parent:null,toggle:!0},Wt={parent:"(null|element)",toggle:"boolean"};class Bt extends W{constructor(t,e){super(t,e),this._isTransitioning=!1,this._triggerArray=[];const i=z.find(Ft);for(const t of i){const e=z.getSelectorFromElement(t),i=z.find(e).filter((t=>t===this._element));null!==e&&i.length&&this._triggerArray.push(t)}this._initializeChildren(),this._config.parent||this._addAriaAndCollapsedClass(this._triggerArray,this._isShown()),this._config.toggle&&this.toggle()}static get Default(){return Ht}static get DefaultType(){return Wt}static get NAME(){return"collapse"}toggle(){this._isShown()?this.hide():this.show()}show(){if(this._isTransitioning||this._isShown())return;let t=[];if(this._config.parent&&(t=this._getFirstLevelChildren(".collapse.show, .collapse.collapsing").filter((t=>t!==this._element)).map((t=>Bt.getOrCreateInstance(t,{toggle:!1})))),t.length&&t[0]._isTransitioning)return;if(N.trigger(this._element,Lt).defaultPrevented)return;for(const e of t)e.hide();const e=this._getDimension();this._element.classList.remove(Pt),this._element.classList.add(jt),this._element.style[e]=0,this._addAriaAndCollapsedClass(this._triggerArray,!0),this._isTransitioning=!0;const i=`scroll${e[0].toUpperCase()+e.slice(1)}`;this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt,Nt),this._element.style[e]="",N.trigger(this._element,St)}),this._element,!0),this._element.style[e]=`${this._element[i]}px`}hide(){if(this._isTransitioning||!this._isShown())return;if(N.trigger(this._element,Dt).defaultPrevented)return;const t=this._getDimension();this._element.style[t]=`${this._element.getBoundingClientRect()[t]}px`,d(this._element),this._element.classList.add(jt),this._element.classList.remove(Pt,Nt);for(const t of this._triggerArray){const e=z.getElementFromSelector(t);e&&!this._isShown(e)&&this._addAriaAndCollapsedClass([t],!1)}this._isTransitioning=!0,this._element.style[t]="",this._queueCallback((()=>{this._isTransitioning=!1,this._element.classList.remove(jt),this._element.classList.add(Pt),N.trigger(this._element,$t)}),this._element,!0)}_isShown(t=this._element){return t.classList.contains(Nt)}_configAfterMerge(t){return t.toggle=Boolean(t.toggle),t.parent=r(t.parent),t}_getDimension(){return this._element.classList.contains("collapse-horizontal")?"width":"height"}_initializeChildren(){if(!this._config.parent)return;const t=this._getFirstLevelChildren(Ft);for(const e of t){const t=z.getElementFromSelector(e);t&&this._addAriaAndCollapsedClass([e],this._isShown(t))}}_getFirstLevelChildren(t){const e=z.find(Mt,this._config.parent);return z.find(t,this._config.parent).filter((t=>!e.includes(t)))}_addAriaAndCollapsedClass(t,e){if(t.length)for(const i of t)i.classList.toggle("collapsed",!e),i.setAttribute("aria-expanded",e)}static jQueryInterface(t){const e={};return"string"==typeof t&&/show|hide/.test(t)&&(e.toggle=!1),this.each((function(){const i=Bt.getOrCreateInstance(this,e);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method named "${t}"`);i[t]()}}))}}N.on(document,It,Ft,(function(t){("A"===t.target.tagName||t.delegateTarget&&"A"===t.delegateTarget.tagName)&&t.preventDefault();for(const t of z.getMultipleElementsFromSelector(this))Bt.getOrCreateInstance(t,{toggle:!1}).toggle()})),m(Bt);var zt="top",Rt="bottom",qt="right",Vt="left",Kt="auto",Qt=[zt,Rt,qt,Vt],Xt="start",Yt="end",Ut="clippingParents",Gt="viewport",Jt="popper",Zt="reference",te=Qt.reduce((function(t,e){return t.concat([e+"-"+Xt,e+"-"+Yt])}),[]),ee=[].concat(Qt,[Kt]).reduce((function(t,e){return t.concat([e,e+"-"+Xt,e+"-"+Yt])}),[]),ie="beforeRead",ne="read",se="afterRead",oe="beforeMain",re="main",ae="afterMain",le="beforeWrite",ce="write",he="afterWrite",de=[ie,ne,se,oe,re,ae,le,ce,he];
vendor: 18,133 bytes, line 37260
37260function ue(t){return t?(t.nodeName||"").toLowerCase():null}function fe(t){if(null==t)return window;if("[object Window]"!==t.toString()){var e=t.ownerDocument;return e&&e.defaultView||window}return t}function pe(t){return t instanceof fe(t).Element||t instanceof Element}function me(t){return t instanceof fe(t).HTMLElement||t instanceof HTMLElement}function ge(t){return"undefined"!=typeof ShadowRoot&&(t instanceof fe(t).ShadowRoot||t instanceof ShadowRoot)}const _e={name:"applyStyles",enabled:!0,phase:"write",fn:function(t){var e=t.state;Object.keys(e.elements).forEach((function(t){var i=e.styles[t]||{},n=e.attributes[t]||{},s=e.elements[t];me(s)&&ue(s)&&(Object.assign(s.style,i),Object.keys(n).forEach((function(t){var e=n[t];!1===e?s.removeAttribute(t):s.setAttribute(t,!0===e?"":e)})))}))},effect:function(t){var e=t.state,i={popper:{position:e.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(e.elements.popper.style,i.popper),e.styles=i,e.elements.arrow&&Object.assign(e.elements.arrow.style,i.arrow),function(){Object.keys(e.elements).forEach((function(t){var n=e.elements[t],s=e.attributes[t]||{},o=Object.keys(e.styles.hasOwnProperty(t)?e.styles[t]:i[t]).reduce((function(t,e){return t[e]="",t}),{});me(n)&&ue(n)&&(Object.assign(n.style,o),Object.keys(s).forEach((function(t){n.removeAttribute(t)})))}))}},requires:["computeStyles"]};function be(t){return t.split("-")[0]}var ve=Math.max,ye=Math.min,we=Math.round;function Ae(){var t=navigator.userAgentData;return null!=t&&t.brands&&Array.isArray(t.brands)?t.brands.map((function(t){return t.brand+"/"+t.version})).join(" "):navigator.userAgent}function Ee(){return!/^((?!chrome|android).)*safari/i.test(Ae())}function Te(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=!1);var n=t.getBoundingClientRect(),s=1,o=1;e&&me(t)&&(s=t.offsetWidth>0&&we(n.width)/t.offsetWidth||1,o=t.offsetHeight>0&&we(n.height)/t.offsetHeight||1);var r=(pe(t)?fe(t):window).visualViewport,a=!Ee()&&i,l=(n.left+(a&&r?r.offsetLeft:0))/s,c=(n.top+(a&&r?r.offsetTop:0))/o,h=n.width/s,d=n.height/o;return{width:h,height:d,top:c,right:l+h,bottom:c+d,left:l,x:l,y:c}}function Ce(t){var e=Te(t),i=t.offsetWidth,n=t.offsetHeight;return Math.abs(e.width-i)<=1&&(i=e.width),Math.abs(e.height-n)<=1&&(n=e.height),{x:t.offsetLeft,y:t.offsetTop,width:i,height:n}}function Oe(t,e){var i=e.getRootNode&&e.getRootNode();if(t.contains(e))return!0;if(i&&ge(i)){var n=e;do{if(n&&t.isSameNode(n))return!0;n=n.parentNode||n.host}while(n)}return!1}function xe(t){return fe(t).getComputedStyle(t)}function ke(t){return["table","td","th"].indexOf(ue(t))>=0}function Le(t){return((pe(t)?t.ownerDocument:t.document)||window.document).documentElement}function Se(t){return"html"===ue(t)?t:t.assignedSlot||t.parentNode||(ge(t)?t.host:null)||Le(t)}function De(t){return me(t)&&"fixed"!==xe(t).position?t.offsetParent:null}function $e(t){for(var e=fe(t),i=De(t);i&&ke(i)&&"static"===xe(i).position;)i=De(i);return i&&("html"===ue(i)||"body"===ue(i)&&"static"===xe(i).position)?e:i||function(t){var e=/firefox/i.test(Ae());if(/Trident/i.test(Ae())&&me(t)&&"fixed"===xe(t).position)return null;var i=Se(t);for(ge(i)&&(i=i.host);me(i)&&["html","body"].indexOf(ue(i))<0;){var n=xe(i);if("none"!==n.transform||"none"!==n.perspective||"paint"===n.contain||-1!==["transform","perspective"].indexOf(n.willChange)||e&&"filter"===n.willChange||e&&n.filter&&"none"!==n.filter)return i;i=i.parentNode}return null}(t)||e}function Ie(t){return["top","bottom"].indexOf(t)>=0?"x":"y"}function Ne(t,e,i){return ve(t,ye(e,i))}function Pe(t){return Object.assign({},{top:0,right:0,bottom:0,left:0},t)}function je(t,e){return e.reduce((function(e,i){return e[i]=t,e}),{})}const Me={name:"arrow",enabled:!0,phase:"main",fn:function(t){var e,i=t.state,n=t.name,s=t.options,o=i.elements.arrow,r=i.modifiersData.popperOffsets,a=be(i.placement),l=Ie(a),c=[Vt,qt].indexOf(a)>=0?"height":"width";if(o&&r){var h=function(t,e){return Pe("number"!=typeof(t="function"==typeof t?t(Object.assign({},e.rects,{placement:e.placement})):t)?t:je(t,Qt))}(s.padding,i),d=Ce(o),u="y"===l?zt:Vt,f="y"===l?Rt:qt,p=i.rects.reference[c]+i.rects.reference[l]-r[l]-i.rects.popper[c],m=r[l]-i.rects.reference[l],g=$e(o),_=g?"y"===l?g.clientHeight||0:g.clientWidth||0:0,b=p/2-m/2,v=h[u],y=_-d[c]-h[f],w=_/2-d[c]/2+b,A=Ne(v,w,y),E=l;i.modifiersData[n]=((e={})[E]=A,e.centerOffset=A-w,e)}},effect:function(t){var e=t.state,i=t.options.element,n=void 0===i?"[data-popper-arrow]":i;null!=n&&("string"!=typeof n||(n=e.elements.popper.querySelector(n)))&&Oe(e.elements.popper,n)&&(e.elements.arrow=n)},requires:["popperOffsets"],requiresIfExists:["preventOverflow"]};function Fe(t){return t.split("-")[1]}var He={top:"auto",right:"auto",bottom:"auto",left:"auto"};function We(t){var e,i=t.popper,n=t.popperRect,s=t.placement,o=t.variation,r=t.offsets,a=t.position,l=t.gpuAcceleration,c=t.adaptive,h=t.roundOffsets,d=t.isFixed,u=r.x,f=void 0===u?0:u,p=r.y,m=void 0===p?0:p,g="function"==typeof h?h({x:f,y:m}):{x:f,y:m};f=g.x,m=g.y;var _=r.hasOwnProperty("x"),b=r.hasOwnProperty("y"),v=Vt,y=zt,w=window;if(c){var A=$e(i),E="clientHeight",T="clientWidth";A===fe(i)&&"static"!==xe(A=Le(i)).position&&"absolute"===a&&(E="scrollHeight",T="scrollWidth"),(s===zt||(s===Vt||s===qt)&&o===Yt)&&(y=Rt,m-=(d&&A===w&&w.visualViewport?w.visualViewport.height:A[E])-n.height,m*=l?1:-1),s!==Vt&&(s!==zt&&s!==Rt||o!==Yt)||(v=qt,f-=(d&&A===w&&w.visualViewport?w.visualViewport.width:A[T])-n.width,f*=l?1:-1)}var C,O=Object.assign({position:a},c&&He),x=!0===h?function(t,e){var i=t.x,n=t.y,s=e.devicePixelRatio||1;return{x:we(i*s)/s||0,y:we(n*s)/s||0}}({x:f,y:m},fe(i)):{x:f,y:m};return f=x.x,m=x.y,l?Object.assign({},O,((C={})[y]=b?"0":"",C[v]=_?"0":"",C.transform=(w.devicePixelRatio||1)<=1?"translate("+f+"px, "+m+"px)":"translate3d("+f+"px, "+m+"px, 0)",C)):Object.assign({},O,((e={})[y]=b?m+"px":"",e[v]=_?f+"px":"",e.transform="",e))}const Be={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(t){var e=t.state,i=t.options,n=i.gpuAcceleration,s=void 0===n||n,o=i.adaptive,r=void 0===o||o,a=i.roundOffsets,l=void 0===a||a,c={placement:be(e.placement),variation:Fe(e.placement),popper:e.elements.popper,popperRect:e.rects.popper,gpuAcceleration:s,isFixed:"fixed"===e.options.strategy};null!=e.modifiersData.popperOffsets&&(e.styles.popper=Object.assign({},e.styles.popper,We(Object.assign({},c,{offsets:e.modifiersData.popperOffsets,position:e.options.strategy,adaptive:r,roundOffsets:l})))),null!=e.modifiersData.arrow&&(e.styles.arrow=Object.assign({},e.styles.arrow,We(Object.assign({},c,{offsets:e.modifiersData.arrow,position:"absolute",adaptive:!1,roundOffsets:l})))),e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-placement":e.placement})},data:{}};var ze={passive:!0};const Re={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(t){var e=t.state,i=t.instance,n=t.options,s=n.scroll,o=void 0===s||s,r=n.resize,a=void 0===r||r,l=fe(e.elements.popper),c=[].concat(e.scrollParents.reference,e.scrollParents.popper);return o&&c.forEach((function(t){t.addEventListener("scroll",i.update,ze)})),a&&l.addEventListener("resize",i.update,ze),function(){o&&c.forEach((function(t){t.removeEventListener("scroll",i.update,ze)})),a&&l.removeEventListener("resize",i.update,ze)}},data:{}};var qe={left:"right",right:"left",bottom:"top",top:"bottom"};function Ve(t){return t.replace(/left|right|bottom|top/g,(function(t){return qe[t]}))}var Ke={start:"end",end:"start"};function Qe(t){return t.replace(/start|end/g,(function(t){return Ke[t]}))}function Xe(t){var e=fe(t);return{scrollLeft:e.pageXOffset,scrollTop:e.pageYOffset}}function Ye(t){return Te(Le(t)).left+Xe(t).scrollLeft}function Ue(t){var e=xe(t),i=e.overflow,n=e.overflowX,s=e.overflowY;return/auto|scroll|overlay|hidden/.test(i+s+n)}function Ge(t){return["html","body","#document"].indexOf(ue(t))>=0?t.ownerDocument.body:me(t)&&Ue(t)?t:Ge(Se(t))}function Je(t,e){var i;void 0===e&&(e=[]);var n=Ge(t),s=n===(null==(i=t.ownerDocument)?void 0:i.body),o=fe(n),r=s?[o].concat(o.visualViewport||[],Ue(n)?n:[]):n,a=e.concat(r);return s?a:a.concat(Je(Se(r)))}function Ze(t){return Object.assign({},t,{left:t.x,top:t.y,right:t.x+t.width,bottom:t.y+t.height})}function ti(t,e,i){return e===Gt?Ze(function(t,e){var i=fe(t),n=Le(t),s=i.visualViewport,o=n.clientWidth,r=n.clientHeight,a=0,l=0;if(s){o=s.width,r=s.height;var c=Ee();(c||!c&&"fixed"===e)&&(a=s.offsetLeft,l=s.offsetTop)}return{width:o,height:r,x:a+Ye(t),y:l}}(t,i)):pe(e)?function(t,e){var i=Te(t,!1,"fixed"===e);return i.top=i.top+t.clientTop,i.left=i.left+t.clientLeft,i.bottom=i.top+t.clientHeight,i.right=i.left+t.clientWidth,i.width=t.clientWidth,i.height=t.clientHeight,i.x=i.left,i.y=i.top,i}(e,i):Ze(function(t){var e,i=Le(t),n=Xe(t),s=null==(e=t.ownerDocument)?void 0:e.body,o=ve(i.scrollWidth,i.clientWidth,s?s.scrollWidth:0,s?s.clientWidth:0),r=ve(i.scrollHeight,i.clientHeight,s?s.scrollHeight:0,s?s.clientHeight:0),a=-n.scrollLeft+Ye(t),l=-n.scrollTop;return"rtl"===xe(s||i).direction&&(a+=ve(i.clientWidth,s?s.clientWidth:0)-o),{width:o,height:r,x:a,y:l}}(Le(t)))}function ei(t){var e,i=t.reference,n=t.element,s=t.placement,o=s?be(s):null,r=s?Fe(s):null,a=i.x+i.width/2-n.width/2,l=i.y+i.height/2-n.height/2;switch(o){case zt:e={x:a,y:i.y-n.height};break;case Rt:e={x:a,y:i.y+i.height};break;case qt:e={x:i.x+i.width,y:l};break;case Vt:e={x:i.x-n.width,y:l};break;default:e={x:i.x,y:i.y}}var c=o?Ie(o):null;if(null!=c){var h="y"===c?"height":"width";switch(r){case Xt:e[c]=e[c]-(i[h]/2-n[h]/2);break;case Yt:e[c]=e[c]+(i[h]/2-n[h]/2)}}return e}function ii(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=void 0===n?t.placement:n,o=i.strategy,r=void 0===o?t.strategy:o,a=i.boundary,l=void 0===a?Ut:a,c=i.rootBoundary,h=void 0===c?Gt:c,d=i.elementContext,u=void 0===d?Jt:d,f=i.altBoundary,p=void 0!==f&&f,m=i.padding,g=void 0===m?0:m,_=Pe("number"!=typeof g?g:je(g,Qt)),b=u===Jt?Zt:Jt,v=t.rects.popper,y=t.elements[p?b:u],w=function(t,e,i,n){var s="clippingParents"===e?function(t){var e=Je(Se(t)),i=["absolute","fixed"].indexOf(xe(t).position)>=0&&me(t)?$e(t):t;return pe(i)?e.filter((function(t){return pe(t)&&Oe(t,i)&&"body"!==ue(t)})):[]}(t):[].concat(e),o=[].concat(s,[i]),r=o[0],a=o.reduce((function(e,i){var s=ti(t,i,n);return e.top=ve(s.top,e.top),e.right=ye(s.right,e.right),e.bottom=ye(s.bottom,e.bottom),e.left=ve(s.left,e.left),e}),ti(t,r,n));return a.width=a.right-a.left,a.height=a.bottom-a.top,a.x=a.left,a.y=a.top,a}(pe(y)?y:y.contextElement||Le(t.elements.popper),l,h,r),A=Te(t.elements.reference),E=ei({reference:A,element:v,strategy:"absolute",placement:s}),T=Ze(Object.assign({},v,E)),C=u===Jt?T:A,O={top:w.top-C.top+_.top,bottom:C.bottom-w.bottom+_.bottom,left:w.left-C.left+_.left,right:C.right-w.right+_.right},x=t.modifiersData.offset;if(u===Jt&&x){var k=x[s];Object.keys(O).forEach((function(t){var e=[qt,Rt].indexOf(t)>=0?1:-1,i=[zt,Rt].indexOf(t)>=0?"y":"x";O[t]+=k[i]*e}))}return O}function ni(t,e){void 0===e&&(e={});var i=e,n=i.placement,s=i.boundary,o=i.rootBoundary,r=i.padding,a=i.flipVariations,l=i.allowedAutoPlacements,c=void 0===l?ee:l,h=Fe(n),d=h?a?te:te.filter((function(t){return Fe(t)===h})):Qt,u=d.filter((function(t){return c.indexOf(t)>=0}));0===u.length&&(u=d);var f=u.reduce((function(e,i){return e[i]=ii(t,{placement:i,boundary:s,rootBoundary:o,padding:r})[be(i)],e}),{});return Object.keys(f).sort((function(t,e){return f[t]-f[e]}))}const si={name:"flip",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name;if(!e.modifiersData[n]._skip){for(var s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0===r||r,l=i.fallbackPlacements,c=i.padding,h=i.boundary,d=i.rootBoundary,u=i.altBoundary,f=i.flipVariations,p=void 0===f||f,m=i.allowedAutoPlacements,g=e.options.placement,_=be(g),b=l||(_!==g&&p?function(t){if(be(t)===Kt)return[];var e=Ve(t);return[Qe(t),e,Qe(e)]}(g):[Ve(g)]),v=[g].concat(b).reduce((function(t,i){return t.concat(be(i)===Kt?ni(e,{placement:i,boundary:h,rootBoundary:d,padding:c,flipVariations:p,allowedAutoPlacements:m}):i)}),[]),y=e.rects.reference,w=e.rects.popper,A=new Map,E=!0,T=v[0],C=0;C<v.length;C++){var O=v[C],x=be(O),k=Fe(O)===Xt,L=[zt,Rt].indexOf(x)>=0,S=L?"width":"height",D=ii(e,{placement:O,boundary:h,rootBoundary:d,altBoundary:u,padding:c}),$=L?k?qt:Vt:k?Rt:zt;y[S]>w[S]&&($=Ve($));var I=Ve($),N=[];if(o&&N.push(D[x]<=0),a&&N.push(D[$]<=0,D[I]<=0),N.every((function(t){return t}))){T=O,E=!1;break}A.set(O,N)}if(E)for(var P=function(t){var e=v.find((function(e){var i=A.get(e);if(i)return i.slice(0,t).every((function(t){return t}))}));if(e)return T=e,"break"},j=p?3:1;j>0&&"break"!==P(j);j--);e.placement!==T&&(e.modifiersData[n]._skip=!0,e.placement=T,e.reset=!0)}},requiresIfExists:["offset"],data:{_skip:!1}};function oi(t,e,i){return void 0===i&&(i={x:0,y:0}),{top:t.top-e.height-i.y,right:t.right-e.width+i.x,bottom:t.bottom-e.height+i.y,left:t.left-e.width-i.x}}function ri(t){return[zt,qt,Rt,Vt].some((function(e){return t[e]>=0}))}const ai={name:"hide",enabled:!0,phase:"main",requiresIfExists:["preventOverflow"],fn:function(t){var e=t.state,i=t.name,n=e.rects.reference,s=e.rects.popper,o=e.modifiersData.preventOverflow,r=ii(e,{elementContext:"reference"}),a=ii(e,{altBoundary:!0}),l=oi(r,n),c=oi(a,s,o),h=ri(l),d=ri(c);e.modifiersData[i]={referenceClippingOffsets:l,popperEscapeOffsets:c,isReferenceHidden:h,hasPopperEscaped:d},e.attributes.popper=Object.assign({},e.attributes.popper,{"data-popper-reference-hidden":h,"data-popper-escaped":d})}},li={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.offset,o=void 0===s?[0,0]:s,r=ee.reduce((function(t,i){return t[i]=function(t,e,i){var n=be(t),s=[Vt,zt].indexOf(n)>=0?-1:1,o="function"==typeof i?i(Object.assign({},e,{placement:t})):i,r=o[0],a=o[1];return r=r||0,a=(a||0)*s,[Vt,qt].indexOf(n)>=0?{x:a,y:r}:{x:r,y:a}}(i,e.rects,o),t}),{}),a=r[e.placement],l=a.x,c=a.y;null!=e.modifiersData.popperOffsets&&(e.modifiersData.popperOffsets.x+=l,e.modifiersData.popperOffsets.y+=c),e.modifiersData[n]=r}},ci={name:"popperOffsets",enabled:!0,phase:"read",fn:function(t){var e=t.state,i=t.name;e.modifiersData[i]=ei({reference:e.rects.reference,element:e.rects.popper,strategy:"absolute",placement:e.placement})},data:{}},hi={name:"preventOverflow",enabled:!0,phase:"main",fn:function(t){var e=t.state,i=t.options,n=t.name,s=i.mainAxis,o=void 0===s||s,r=i.altAxis,a=void 0!==r&&r,l=i.boundary,c=i.rootBoundary,h=i.altBoundary,d=i.padding,u=i.tether,f=void 0===u||u,p=i.tetherOffset,m=void 0===p?0:p,g=ii(e,{boundary:l,rootBoundary:c,padding:d,altBoundary:h}),_=be(e.placement),b=Fe(e.placement),v=!b,y=Ie(_),w="x"===y?"y":"x",A=e.modifiersData.popperOffsets,E=e.rects.reference,T=e.rects.popper,C="function"==typeof m?m(Object.assign({},e.rects,{placement:e.placement})):m,O="number"==typeof C?{mainAxis:C,altAxis:C}:Object.assign({mainAxis:0,altAxis:0},C),x=e.modifiersData.offset?e.modifiersData.offset[e.placement]:null,k={x:0,y:0};if(A){if(o){var L,S="y"===y?zt:Vt,D="y"===y?Rt:qt,$="y"===y?"height":"width",I=A[y],N=I+g[S],P=I-g[D],j=f?-T[$]/2:0,M=b===Xt?E[$]:T[$],F=b===Xt?-T[$]:-E[$],H=e.elements.arrow,W=f&&H?Ce(H):{width:0,height:0},B=e.modifiersData["arrow#persistent"]?e.modifiersData["arrow#persistent"].padding:{top:0,right:0,bottom:0,left:0},z=B[S],R=B[D],q=Ne(0,E[$],W[$]),V=v?E[$]/2-j-q-z-O.mainAxis:M-q-z-O.mainAxis,K=v?-E[$]/2+j+q+R+O.mainAxis:F+q+R+O.mainAxis,Q=e.elements.arrow&&$e(e.elements.arrow),X=Q?"y"===y?Q.clientTop||0:Q.clientLeft||0:0,Y=null!=(L=null==x?void 0:x[y])?L:0,U=I+K-Y,G=Ne(f?ye(N,I+V-Y-X):N,I,f?ve(P,U):P);A[y]=G,k[y]=G-I}if(a){var J,Z="x"===y?zt:Vt,tt="x"===y?Rt:qt,et=A[w],it="y"===w?"height":"width",nt=et+g[Z],st=et-g[tt],ot=-1!==[zt,Vt].indexOf(_),rt=null!=(J=null==x?void 0:x[w])?J:0,at=ot?nt:et-E[it]-T[it]-rt+O.altAxis,lt=ot?et+E[it]+T[it]-rt-O.altAxis:st,ct=f&&ot?function(t,e,i){var n=Ne(t,e,i);return n>i?i:n}(at,et,lt):Ne(f?at:nt,et,f?lt:st);A[w]=ct,k[w]=ct-et}e.modifiersData[n]=k}},requiresIfExists:["offset"]};function di(t,e,i){void 0===i&&(i=!1);var n,s,o=me(e),r=me(e)&&function(t){var e=t.getBoundingClientRect(),i=we(e.width)/t.offsetWidth||1,n=we(e.height)/t.offsetHeight||1;return 1!==i||1!==n}(e),a=Le(e),l=Te(t,r,i),c={scrollLeft:0,scrollTop:0},h={x:0,y:0};return(o||!o&&!i)&&(("body"!==ue(e)||Ue(a))&&(c=(n=e)!==fe(n)&&me(n)?{scrollLeft:(s=n).scrollLeft,scrollTop:s.scrollTop}:Xe(n)),me(e)?((h=Te(e,!0)).x+=e.clientLeft,h.y+=e.clientTop):a&&(h.x=Ye(a))),{x:l.left+c.scrollLeft-h.x,y:l.top+c.scrollTop-h.y,width:l.width,height:l.height}}function ui(t){var e=new Map,i=new Set,n=[];function s(t){i.add(t.name),[].concat(t.requires||[],t.requiresIfExists||[]).forEach((function(t){if(!i.has(t)){var n=e.get(t);n&&s(n)}})),n.push(t)}return t.forEach((function(t){e.set(t.name,t)})),t.forEach((function(t){i.has(t.name)||s(t)})),n}var fi={placement:"bottom",modifiers:[],strategy:"absolute"};function pi(){for(var t=arguments.length,e=new Array(t),i=0;i<t;i++)e[i]=arguments[i];return!e.some((function(t){return!(t&&"function"==typeof t.getBoundingClientRect)}))}function mi(t){void 0===t&&(t={});var e=t,i=e.defaultModifiers,n=void 0===i?[]:i,s=e.defaultOptions,o=void 0===s?fi:s;return function(t,e,i){void 0===i&&(i=o);var s,r,a={placement:"bottom",orderedModifiers:[],options:Object.assign({},fi,o),modifiersData:{},elements:{reference:t,popper:e},attributes:{},styles:{}},l=[],c=!1,h={state:a,setOptions:function(i){var s="function"==typeof i?i(a.options):i;d(),a.options=Object.assign({},o,a.options,s),a.scrollParents={reference:pe(t)?Je(t):t.contextElement?Je(t.contextElement):[],popper:Je(e)};var r,c,u=function(t){var e=ui(t);return de.reduce((function(t,i){return t.concat(e.filter((function(t){return t.phase===i})))}),[])}((r=[].concat(n,a.options.modifiers),c=r.reduce((function(t,e){var i=t[e.name];return t[e.name]=i?Object.assign({},i,e,{options:Object.assign({},i.options,e.options),data:Object.assign({},i.data,e.data)}):e,t}),{}),Object.keys(c).map((function(t){return c[t]}))));return a.orderedModifiers=u.filter((function(t){return t.enabled}
vendor: 5,266 bytes, line 37260
37260)),a.orderedModifiers.forEach((function(t){var e=t.name,i=t.options,n=void 0===i?{}:i,s=t.effect;if("function"==typeof s){var o=s({state:a,name:e,instance:h,options:n});l.push(o||function(){})}})),h.update()},forceUpdate:function(){if(!c){var t=a.elements,e=t.reference,i=t.popper;if(pi(e,i)){a.rects={reference:di(e,$e(i),"fixed"===a.options.strategy),popper:Ce(i)},a.reset=!1,a.placement=a.options.placement,a.orderedModifiers.forEach((function(t){return a.modifiersData[t.name]=Object.assign({},t.data)}));for(var n=0;n<a.orderedModifiers.length;n++)if(!0!==a.reset){var s=a.orderedModifiers[n],o=s.fn,r=s.options,l=void 0===r?{}:r,d=s.name;"function"==typeof o&&(a=o({state:a,options:l,name:d,instance:h})||a)}else a.reset=!1,n=-1}}},update:(s=function(){return new Promise((function(t){h.forceUpdate(),t(a)}))},function(){return r||(r=new Promise((function(t){Promise.resolve().then((function(){r=void 0,t(s())}))}))),r}),destroy:function(){d(),c=!0}};if(!pi(t,e))return h;function d(){l.forEach((function(t){return t()})),l=[]}return h.setOptions(i).then((function(t){!c&&i.onFirstUpdate&&i.onFirstUpdate(t)})),h}}var gi=mi(),_i=mi({defaultModifiers:[Re,ci,Be,_e]}),bi=mi({defaultModifiers:[Re,ci,Be,_e,li,si,hi,Me,ai]});const vi=Object.freeze(Object.defineProperty({__proto__:null,afterMain:ae,afterRead:se,afterWrite:he,applyStyles:_e,arrow:Me,auto:Kt,basePlacements:Qt,beforeMain:oe,beforeRead:ie,beforeWrite:le,bottom:Rt,clippingParents:Ut,computeStyles:Be,createPopper:bi,createPopperBase:gi,createPopperLite:_i,detectOverflow:ii,end:Yt,eventListeners:Re,flip:si,hide:ai,left:Vt,main:re,modifierPhases:de,offset:li,placements:ee,popper:Jt,popperGenerator:mi,popperOffsets:ci,preventOverflow:hi,read:ne,reference:Zt,right:qt,start:Xt,top:zt,variationPlacements:te,viewport:Gt,write:ce},Symbol.toStringTag,{value:"Module"})),yi="dropdown",wi=".bs.dropdown",Ai=".data-api",Ei="ArrowUp",Ti="ArrowDown",Ci=`hide${wi}`,Oi=`hidden${wi}`,xi=`show${wi}`,ki=`shown${wi}`,Li=`click${wi}${Ai}`,Si=`keydown${wi}${Ai}`,Di=`keyup${wi}${Ai}`,$i="show",Ii='[data-bs-toggle="dropdown"]:not(.disabled):not(:disabled)',Ni=`${Ii}.${$i}`,Pi=".dropdown-menu",ji=p()?"top-end":"top-start",Mi=p()?"top-start":"top-end",Fi=p()?"bottom-end":"bottom-start",Hi=p()?"bottom-start":"bottom-end",Wi=p()?"left-start":"right-start",Bi=p()?"right-start":"left-start",zi={autoClose:!0,boundary:"clippingParents",display:"dynamic",offset:[0,2],popperConfig:null,reference:"toggle"},Ri={autoClose:"(boolean|string)",boundary:"(string|element)",display:"string",offset:"(array|string|function)",popperConfig:"(null|object|function)",reference:"(string|element|object)"};class qi extends W{constructor(t,e){super(t,e),this._popper=null,this._parent=this._element.parentNode,this._menu=z.next(this._element,Pi)[0]||z.prev(this._element,Pi)[0]||z.findOne(Pi,this._parent),this._inNavbar=this._detectNavbar()}static get Default(){return zi}static get DefaultType(){return Ri}static get NAME(){return yi}toggle(){return this._isShown()?this.hide():this.show()}show(){if(l(this._element)||this._isShown())return;const t={relatedTarget:this._element};if(!N.trigger(this._element,xi,t).defaultPrevented){if(this._createPopper(),"ontouchstart"in document.documentElement&&!this._parent.closest(".navbar-nav"))for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._element.focus(),this._element.setAttribute("aria-expanded",!0),this._menu.classList.add($i),this._element.classList.add($i),N.trigger(this._element,ki,t)}}hide(){if(l(this._element)||!this._isShown())return;const t={relatedTarget:this._element};this._completeHide(t)}dispose(){this._popper&&this._popper.destroy(),super.dispose()}update(){this._inNavbar=this._detectNavbar(),this._popper&&this._popper.update()}_completeHide(t){if(!N.trigger(this._element,Ci,t).defaultPrevented){if("ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._popper&&this._popper.destroy(),this._menu.classList.remove($i),this._element.classList.remove($i),this._element.setAttribute("aria-expanded","false"),F.removeDataAttribute(this._menu,"popper"),N.trigger(this._element,Oi,t)}}_getConfig(t){if("object"==typeof(t=super._getConfig(t)).reference&&!o(t.reference)&&"function"!=typeof t.reference.getBoundingClientRect)throw new TypeError(`${yi.toUpperCase()}: Option "reference" provided type "object" without a required "getBoundingClientRect" method.`);return t}_createPopper(){if(void 0===vi)throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)");let t=this._element;"parent"===this._config.reference?t=this._parent:o(this._config.reference)?t=r(this._config.reference):"object"==typeof this._config.reference&&(t=this._config.reference);const e=this._getPopperConfig();this._popper=bi(t,this._menu,e)}_isShown(){return this._menu.classList.contains($i)}_getPlacement(){const t=this._parent;if(t.classList.contains("dropend"))return Wi;if(t.classList.contains("dropstart"))return Bi;if(t.classList.contains("dropup-center"))return"top";if(t.classList.contains("dropdown-center"))return"bottom";const e="end"===getComputedStyle(this._menu).getPropertyValue("--bs-position").trim();return t.classList.contains("dropup")?e?Mi:ji:e?Hi:Fi}
vendor: 10,248 bytes, line 37260
37260_detectNavbar(){return null!==this._element.closest(".navbar")}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_getPopperConfig(){const t={placement:this._getPlacement(),modifiers:[{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"offset",options:{offset:this._getOffset()}}]};return(this._inNavbar||"static"===this._config.display)&&(F.setDataAttribute(this._menu,"popper","static"),t.modifiers=[{name:"applyStyles",enabled:!1}]),{...t,...g(this._config.popperConfig,[t])}}_selectMenuItem({key:t,target:e}){const i=z.find(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)",this._menu).filter((t=>a(t)));i.length&&b(i,e,t===Ti,!i.includes(e)).focus()}static jQueryInterface(t){return this.each((function(){const e=qi.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}static clearMenus(t){if(2===t.button||"keyup"===t.type&&"Tab"!==t.key)return;const e=z.find(Ni);for(const i of e){const e=qi.getInstance(i);if(!e||!1===e._config.autoClose)continue;const n=t.composedPath(),s=n.includes(e._menu);if(n.includes(e._element)||"inside"===e._config.autoClose&&!s||"outside"===e._config.autoClose&&s)continue;if(e._menu.contains(t.target)&&("keyup"===t.type&&"Tab"===t.key||/input|select|option|textarea|form/i.test(t.target.tagName)))continue;const o={relatedTarget:e._element};"click"===t.type&&(o.clickEvent=t),e._completeHide(o)}}static dataApiKeydownHandler(t){const e=/input|textarea/i.test(t.target.tagName),i="Escape"===t.key,n=[Ei,Ti].includes(t.key);if(!n&&!i)return;if(e&&!i)return;t.preventDefault();const s=this.matches(Ii)?this:z.prev(this,Ii)[0]||z.next(this,Ii)[0]||z.findOne(Ii,t.delegateTarget.parentNode),o=qi.getOrCreateInstance(s);if(n)return t.stopPropagation(),o.show(),void o._selectMenuItem(t);o._isShown()&&(t.stopPropagation(),o.hide(),s.focus())}}N.on(document,Si,Ii,qi.dataApiKeydownHandler),N.on(document,Si,Pi,qi.dataApiKeydownHandler),N.on(document,Li,qi.clearMenus),N.on(document,Di,qi.clearMenus),N.on(document,Li,Ii,(function(t){t.preventDefault(),qi.getOrCreateInstance(this).toggle()})),m(qi);const Vi="backdrop",Ki="show",Qi=`mousedown.bs.${Vi}`,Xi={className:"modal-backdrop",clickCallback:null,isAnimated:!1,isVisible:!0,rootElement:"body"},Yi={className:"string",clickCallback:"(function|null)",isAnimated:"boolean",isVisible:"boolean",rootElement:"(element|string)"};class Ui extends H{constructor(t){super(),this._config=this._getConfig(t),this._isAppended=!1,this._element=null}static get Default(){return Xi}static get DefaultType(){return Yi}static get NAME(){return Vi}show(t){if(!this._config.isVisible)return void g(t);this._append();const e=this._getElement();this._config.isAnimated&&d(e),e.classList.add(Ki),this._emulateAnimation((()=>{g(t)}))}hide(t){this._config.isVisible?(this._getElement().classList.remove(Ki),this._emulateAnimation((()=>{this.dispose(),g(t)}))):g(t)}dispose(){this._isAppended&&(N.off(this._element,Qi),this._element.remove(),this._isAppended=!1)}_getElement(){if(!this._element){const t=document.createElement("div");t.className=this._config.className,this._config.isAnimated&&t.classList.add("fade"),this._element=t}return this._element}_configAfterMerge(t){return t.rootElement=r(t.rootElement),t}_append(){if(this._isAppended)return;const t=this._getElement();this._config.rootElement.append(t),N.on(t,Qi,(()=>{g(this._config.clickCallback)})),this._isAppended=!0}_emulateAnimation(t){_(t,this._getElement(),this._config.isAnimated)}}const Gi=".bs.focustrap",Ji=`focusin${Gi}`,Zi=`keydown.tab${Gi}`,tn="backward",en={autofocus:!0,trapElement:null},nn={autofocus:"boolean",trapElement:"element"};class sn extends H{constructor(t){super(),this._config=this._getConfig(t),this._isActive=!1,this._lastTabNavDirection=null}static get Default(){return en}static get DefaultType(){return nn}static get NAME(){return"focustrap"}activate(){this._isActive||(this._config.autofocus&&this._config.trapElement.focus(),N.off(document,Gi),N.on(document,Ji,(t=>this._handleFocusin(t))),N.on(document,Zi,(t=>this._handleKeydown(t))),this._isActive=!0)}deactivate(){this._isActive&&(this._isActive=!1,N.off(document,Gi))}_handleFocusin(t){const{trapElement:e}=this._config;if(t.target===document||t.target===e||e.contains(t.target))return;const i=z.focusableChildren(e);0===i.length?e.focus():this._lastTabNavDirection===tn?i[i.length-1].focus():i[0].focus()}_handleKeydown(t){"Tab"===t.key&&(this._lastTabNavDirection=t.shiftKey?tn:"forward")}}const on=".fixed-top, .fixed-bottom, .is-fixed, .sticky-top",rn=".sticky-top",an="padding-right",ln="margin-right";class cn{constructor(){this._element=document.body}getWidth(){const t=document.documentElement.clientWidth;return Math.abs(window.innerWidth-t)}hide(){const t=this.getWidth();this._disableOverFlow(),this._setElementAttributes(this._element,an,(e=>e+t)),this._setElementAttributes(on,an,(e=>e+t)),this._setElementAttributes(rn,ln,(e=>e-t))}reset(){this._resetElementAttributes(this._element,"overflow"),this._resetElementAttributes(this._element,an),this._resetElementAttributes(on,an),this._resetElementAttributes(rn,ln)}isOverflowing(){return this.getWidth()>0}_disableOverFlow(){this._saveInitialAttribute(this._element,"overflow"),this._element.style.overflow="hidden"}_setElementAttributes(t,e,i){const n=this.getWidth();this._applyManipulationCallback(t,(t=>{if(t!==this._element&&window.innerWidth>t.clientWidth+n)return;this._saveInitialAttribute(t,e);const s=window.getComputedStyle(t).getPropertyValue(e);t.style.setProperty(e,`${i(Number.parseFloat(s))}px`)}))}_saveInitialAttribute(t,e){const i=t.style.getPropertyValue(e);i&&F.setDataAttribute(t,e,i)}_resetElementAttributes(t,e){this._applyManipulationCallback(t,(t=>{const i=F.getDataAttribute(t,e);null!==i?(F.removeDataAttribute(t,e),t.style.setProperty(e,i)):t.style.removeProperty(e)}))}_applyManipulationCallback(t,e){if(o(t))e(t);else for(const i of z.find(t,this._element))e(i)}}const hn=".bs.modal",dn=`hide${hn}`,un=`hidePrevented${hn}`,fn=`hidden${hn}`,pn=`show${hn}`,mn=`shown${hn}`,gn=`resize${hn}`,_n=`click.dismiss${hn}`,bn=`mousedown.dismiss${hn}`,vn=`keydown.dismiss${hn}`,yn=`click${hn}.data-api`,wn="modal-open",An="show",En="modal-static",Tn={backdrop:!0,focus:!0,keyboard:!0},Cn={backdrop:"(boolean|string)",focus:"boolean",keyboard:"boolean"};class On extends W{constructor(t,e){super(t,e),this._dialog=z.findOne(".modal-dialog",this._element),this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._isShown=!1,this._isTransitioning=!1,this._scrollBar=new cn,this._addEventListeners()}static get Default(){return Tn}static get DefaultType(){return Cn}static get NAME(){return"modal"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||this._isTransitioning||N.trigger(this._element,pn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._isTransitioning=!0,this._scrollBar.hide(),document.body.classList.add(wn),this._adjustDialog(),this._backdrop.show((()=>this._showElement(t))))}hide(){this._isShown&&!this._isTransitioning&&(N.trigger(this._element,dn).defaultPrevented||(this._isShown=!1,this._isTransitioning=!0,this._focustrap.deactivate(),this._element.classList.remove(An),this._queueCallback((()=>this._hideModal()),this._element,this._isAnimated())))}dispose(){N.off(window,hn),N.off(this._dialog,hn),this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}handleUpdate(){this._adjustDialog()}_initializeBackDrop(){return new Ui({isVisible:Boolean(this._config.backdrop),isAnimated:this._isAnimated()})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_showElement(t){document.body.contains(this._element)||document.body.append(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.scrollTop=0;const e=z.findOne(".modal-body",this._dialog);e&&(e.scrollTop=0),d(this._element),this._element.classList.add(An),this._queueCallback((()=>{this._config.focus&&this._focustrap.activate(),this._isTransitioning=!1,N.trigger(this._element,mn,{relatedTarget:t})}),this._dialog,this._isAnimated())}_addEventListeners(){N.on(this._element,vn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():this._triggerBackdropTransition())})),N.on(window,gn,(()=>{this._isShown&&!this._isTransitioning&&this._adjustDialog()})),N.on(this._element,bn,(t=>{N.one(this._element,_n,(e=>{this._element===t.target&&this._element===e.target&&("static"!==this._config.backdrop?this._config.backdrop&&this.hide():this._triggerBackdropTransition())}))}))}_hideModal(){this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._backdrop.hide((()=>{document.body.classList.remove(wn),this._resetAdjustments(),this._scrollBar.reset(),N.trigger(this._element,fn)}))}_isAnimated(){return this._element.classList.contains("fade")}_triggerBackdropTransition(){if(N.trigger(this._element,un).defaultPrevented)return;const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._element.style.overflowY;"hidden"===e||this._element.classList.contains(En)||(t||(this._element.style.overflowY="hidden"),this._element.classList.add(En),this._queueCallback((()=>{this._element.classList.remove(En),this._queueCallback((()=>{this._element.style.overflowY=e}),this._dialog)}),this._dialog),this._element.focus())}_adjustDialog(){const t=this._element.scrollHeight>document.documentElement.clientHeight,e=this._scrollBar.getWidth(),i=e>0;if(i&&!t){const t=p()?"paddingLeft":"paddingRight";this._element.style[t]=`${e}px`}if(!i&&t){const t=p()?"paddingRight":"paddingLeft";this._element.style[t]=`${e}px`}}_resetAdjustments(){this._element.style.paddingLeft="",this._element.style.paddingRight=""}static jQueryInterface(t,e){return this.each((function(){const i=On.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===i[t])throw new TypeError(`No method n
vendor: 9,229 bytes, line 37260
37260amed "${t}"`);i[t](e)}}))}}N.on(document,yn,'[data-bs-toggle="modal"]',(function(t){const e=z.getElementFromSelector(this);["A","AREA"].includes(this.tagName)&&t.preventDefault(),N.one(e,pn,(t=>{t.defaultPrevented||N.one(e,fn,(()=>{a(this)&&this.focus()}))}));const i=z.findOne(".modal.show");i&&On.getInstance(i).hide(),On.getOrCreateInstance(e).toggle(this)})),R(On),m(On);const xn=".bs.offcanvas",kn=".data-api",Ln=`load${xn}${kn}`,Sn="show",Dn="showing",$n="hiding",In=".offcanvas.show",Nn=`show${xn}`,Pn=`shown${xn}`,jn=`hide${xn}`,Mn=`hidePrevented${xn}`,Fn=`hidden${xn}`,Hn=`resize${xn}`,Wn=`click${xn}${kn}`,Bn=`keydown.dismiss${xn}`,zn={backdrop:!0,keyboard:!0,scroll:!1},Rn={backdrop:"(boolean|string)",keyboard:"boolean",scroll:"boolean"};class qn extends W{constructor(t,e){super(t,e),this._isShown=!1,this._backdrop=this._initializeBackDrop(),this._focustrap=this._initializeFocusTrap(),this._addEventListeners()}static get Default(){return zn}static get DefaultType(){return Rn}static get NAME(){return"offcanvas"}toggle(t){return this._isShown?this.hide():this.show(t)}show(t){this._isShown||N.trigger(this._element,Nn,{relatedTarget:t}).defaultPrevented||(this._isShown=!0,this._backdrop.show(),this._config.scroll||(new cn).hide(),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),this._element.classList.add(Dn),this._queueCallback((()=>{this._config.scroll&&!this._config.backdrop||this._focustrap.activate(),this._element.classList.add(Sn),this._element.classList.remove(Dn),N.trigger(this._element,Pn,{relatedTarget:t})}),this._element,!0))}hide(){this._isShown&&(N.trigger(this._element,jn).defaultPrevented||(this._focustrap.deactivate(),this._element.blur(),this._isShown=!1,this._element.classList.add($n),this._backdrop.hide(),this._queueCallback((()=>{this._element.classList.remove(Sn,$n),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._config.scroll||(new cn).reset(),N.trigger(this._element,Fn)}),this._element,!0)))}dispose(){this._backdrop.dispose(),this._focustrap.deactivate(),super.dispose()}_initializeBackDrop(){const t=Boolean(this._config.backdrop);return new Ui({className:"offcanvas-backdrop",isVisible:t,isAnimated:!0,rootElement:this._element.parentNode,clickCallback:t?()=>{"static"!==this._config.backdrop?this.hide():N.trigger(this._element,Mn)}:null})}_initializeFocusTrap(){return new sn({trapElement:this._element})}_addEventListeners(){N.on(this._element,Bn,(t=>{"Escape"===t.key&&(this._config.keyboard?this.hide():N.trigger(this._element,Mn))}))}static jQueryInterface(t){return this.each((function(){const e=qn.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}N.on(document,Wn,'[data-bs-toggle="offcanvas"]',(function(t){const e=z.getElementFromSelector(this);if(["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this))return;N.one(e,Fn,(()=>{a(this)&&this.focus()}));const i=z.findOne(In);i&&i!==e&&qn.getInstance(i).hide(),qn.getOrCreateInstance(e).toggle(this)})),N.on(window,Ln,(()=>{for(const t of z.find(In))qn.getOrCreateInstance(t).show()})),N.on(window,Hn,(()=>{for(const t of z.find("[aria-modal][class*=show][class*=offcanvas-]"))"fixed"!==getComputedStyle(t).position&&qn.getOrCreateInstance(t).hide()})),R(qn),m(qn);const Vn={"*":["class","dir","id","lang","role",/^aria-[\w-]*$/i],a:["target","href","title","rel"],area:[],b:[],br:[],col:[],code:[],dd:[],div:[],dl:[],dt:[],em:[],hr:[],h1:[],h2:[],h3:[],h4:[],h5:[],h6:[],i:[],img:["src","srcset","alt","title","width","height"],li:[],ol:[],p:[],pre:[],s:[],small:[],span:[],sub:[],sup:[],strong:[],u:[],ul:[]},Kn=new Set(["background","cite","href","itemtype","longdesc","poster","src","xlink:href"]),Qn=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:/?#]*(?:[/?#]|$))/i,Xn=(t,e)=>{const i=t.nodeName.toLowerCase();return e.includes(i)?!Kn.has(i)||Boolean(Qn.test(t.nodeValue)):e.filter((t=>t instanceof RegExp)).some((t=>t.test(i)))},Yn={allowList:Vn,content:{},extraClass:"",html:!1,sanitize:!0,sanitizeFn:null,template:"<div></div>"},Un={allowList:"object",content:"object",extraClass:"(string|function)",html:"boolean",sanitize:"boolean",sanitizeFn:"(null|function)",template:"string"},Gn={entry:"(string|element|function|null)",selector:"(string|element)"};class Jn extends H{constructor(t){super(),this._config=this._getConfig(t)}static get Default(){return Yn}static get DefaultType(){return Un}static get NAME(){return"TemplateFactory"}getContent(){return Object.values(this._config.content).map((t=>this._resolvePossibleFunction(t))).filter(Boolean)}hasContent(){return this.getContent().length>0}changeContent(t){return this._checkContent(t),this._config.content={...this._config.content,...t},this}toHtml(){const t=document.createElement("div");t.innerHTML=this._maybeSanitize(this._config.template);for(const[e,i]of Object.entries(this._config.content))this._setContent(t,i,e);const e=t.children[0],i=this._resolvePossibleFunction(this._config.extraClass);return i&&e.classList.add(...i.split(" ")),e}_typeCheckConfig(t){super._typeCheckConfig(t),this._checkContent(t.content)}_checkContent(t){for(const[e,i]of Object.entries(t))super._typeCheckConfig({selector:e,entry:i},Gn)}_setContent(t,e,i){const n=z.findOne(i,t);n&&((e=this._resolvePossibleFunction(e))?o(e)?this._putElementInTemplate(r(e),n):this._config.html?n.innerHTML=this._maybeSanitize(e):n.textContent=e:n.remove())}_maybeSanitize(t){return this._config.sanitize?function(t,e,i){if(!t.length)return t;if(i&&"function"==typeof i)return i(t);const n=(new window.DOMParser).parseFromString(t,"text/html"),s=[].concat(...n.body.querySelectorAll("*"));for(const t of s){const i=t.nodeName.toLowerCase();if(!Object.keys(e).includes(i)){t.remove();continue}const n=[].concat(...t.attributes),s=[].concat(e["*"]||[],e[i]||[]);for(const e of n)Xn(e,s)||t.removeAttribute(e.nodeName)}return n.body.innerHTML}(t,this._config.allowList,this._config.sanitizeFn):t}_resolvePossibleFunction(t){return g(t,[this])}_putElementInTemplate(t,e){if(this._config.html)return e.innerHTML="",void e.append(t);e.textContent=t.textContent}}const Zn=new Set(["sanitize","allowList","sanitizeFn"]),ts="fade",es="show",is=".modal",ns="hide.bs.modal",ss="hover",os="focus",rs={AUTO:"auto",TOP:"top",RIGHT:p()?"left":"right",BOTTOM:"bottom",LEFT:p()?"right":"left"},as={allowList:Vn,animation:!0,boundary:"clippingParents",container:!1,customClass:"",delay:0,fallbackPlacements:["top","right","bottom","left"],html:!1,offset:[0,6],placement:"top",popperConfig:null,sanitize:!0,sanitizeFn:null,selector:!1,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',title:"",trigger:"hover focus"},ls={allowList:"object",animation:"boolean",boundary:"(string|element)",container:"(string|element|boolean)",customClass:"(string|function)",delay:"(number|object)",fallbackPlacements:"array",html:"boolean",offset:"(array|string|function)",placement:"(string|function)",popperConfig:"(null|object|function)",sanitize:"boolean",sanitizeFn:"(null|function)",selector:"(string|boolean)",template:"string",title:"(string|element|function)",trigger:"string"};class cs extends W{constructor(t,e){if(void 0===vi)throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)");super(t,e),this._isEnabled=!0,this._timeout=0,this._isHovered=null,this._activeTrigger={},this._popper=null,this._templateFactory=null,this._newContent=null,this.tip=null,this._setListeners(),this._config.selector||this._fixTitle()}static get Default(){return as}static get DefaultType(){return ls}static get NAME(){return"tooltip"}enable(){this._isEnabled=!0}disable(){this._isEnabled=!1}toggleEnabled(){this._isEnabled=!this._isEnabled}toggle(){this._isEnabled&&(this._activeTrigger.click=!this._activeTrigger.click,this._isShown()?this._leave():this._enter())}dispose(){clearTimeout(this._timeout),N.off(this._element.closest(is),ns,this._hideModalHandler),this._element.getAttribute("data-bs-original-title")&&this._element.setAttribute("title",this._element.getAttribute("data-bs-original-title")),this._disposePopper(),super.dispose()}show(){if("none"===this._element.style.display)throw new Error("Please use show on visible elements");if(!this._isWithContent()||!this._isEnabled)return;const t=N.trigger(this._element,this.constructor.eventName("show")),e=(c(this._element)||this._element.ownerDocument.documentElement).contains(this._element);if(t.defaultPrevented||!e)return;this._disposePopper();const i=this._getTipElement();this._element.setAttribute("aria-describedby",i.getAttribute("id"));const{container:n}=this._config;if(this._element.ownerDocument.documentElement.contains(this.tip)||(n.append(i),N.trigger(this._element,this.constructor.eventName("inserted"))),this._popper=this._createPopper(i),i.classList.add(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.on(t,"mouseover",h);this._queueCallback((()=>{N.trigger(this._element,this.constructor.eventName("shown")),!1===this._isHovered&&this._leave(),this._isHovered=!1}),this.tip,this._isAnimated())}
vendor: 5,396 bytes, line 37260
37260hide(){if(this._isShown()&&!N.trigger(this._element,this.constructor.eventName("hide")).defaultPrevented){if(this._getTipElement().classList.remove(es),"ontouchstart"in document.documentElement)for(const t of[].concat(...document.body.children))N.off(t,"mouseover",h);this._activeTrigger.click=!1,this._activeTrigger[os]=!1,this._activeTrigger[ss]=!1,this._isHovered=null,this._queueCallback((()=>{this._isWithActiveTrigger()||(this._isHovered||this._disposePopper(),this._element.removeAttribute("aria-describedby"),N.trigger(this._element,this.constructor.eventName("hidden")))}),this.tip,this._isAnimated())}}update(){this._popper&&this._popper.update()}_isWithContent(){return Boolean(this._getTitle())}_getTipElement(){return this.tip||(this.tip=this._createTipElement(this._newContent||this._getContentForTemplate())),this.tip}_createTipElement(t){const e=this._getTemplateFactory(t).toHtml();if(!e)return null;e.classList.remove(ts,es),e.classList.add(`bs-${this.constructor.NAME}-auto`);const i=(t=>{do{t+=Math.floor(1e6*Math.random())}while(document.getElementById(t));return t})(this.constructor.NAME).toString();return e.setAttribute("id",i),this._isAnimated()&&e.classList.add(ts),e}setContent(t){this._newContent=t,this._isShown()&&(this._disposePopper(),this.show())}_getTemplateFactory(t){return this._templateFactory?this._templateFactory.changeContent(t):this._templateFactory=new Jn({...this._config,content:t,extraClass:this._resolvePossibleFunction(this._config.customClass)}),this._templateFactory}_getContentForTemplate(){return{".tooltip-inner":this._getTitle()}}_getTitle(){return this._resolvePossibleFunction(this._config.title)||this._element.getAttribute("data-bs-original-title")}_initializeOnDelegatedTarget(t){return this.constructor.getOrCreateInstance(t.delegateTarget,this._getDelegateConfig())}_isAnimated(){return this._config.animation||this.tip&&this.tip.classList.contains(ts)}_isShown(){return this.tip&&this.tip.classList.contains(es)}_createPopper(t){const e=g(this._config.placement,[this,t,this._element]),i=rs[e.toUpperCase()];return bi(this._element,t,this._getPopperConfig(i))}_getOffset(){const{offset:t}=this._config;return"string"==typeof t?t.split(",").map((t=>Number.parseInt(t,10))):"function"==typeof t?e=>t(e,this._element):t}_resolvePossibleFunction(t){return g(t,[this._element])}_getPopperConfig(t){const e={placement:t,modifiers:[{name:"flip",options:{fallbackPlacements:this._config.fallbackPlacements}},{name:"offset",options:{offset:this._getOffset()}},{name:"preventOverflow",options:{boundary:this._config.boundary}},{name:"arrow",options:{element:`.${this.constructor.NAME}-arrow`}},{name:"preSetPlacement",enabled:!0,phase:"beforeMain",fn:t=>{this._getTipElement().setAttribute("data-popper-placement",t.state.placement)}}]};return{...e,...g(this._config.popperConfig,[e])}}_setListeners(){const t=this._config.trigger.split(" ");for(const e of t)if("click"===e)N.on(this._element,this.constructor.eventName("click"),this._config.selector,(t=>{this._initializeOnDelegatedTarget(t).toggle()}));else if("manual"!==e){const t=e===ss?this.constructor.eventName("mouseenter"):this.constructor.eventName("focusin"),i=e===ss?this.constructor.eventName("mouseleave"):this.constructor.eventName("focusout");N.on(this._element,t,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusin"===t.type?os:ss]=!0,e._enter()})),N.on(this._element,i,this._config.selector,(t=>{const e=this._initializeOnDelegatedTarget(t);e._activeTrigger["focusout"===t.type?os:ss]=e._element.contains(t.relatedTarget),e._leave()}))}this._hideModalHandler=()=>{this._element&&this.hide()},N.on(this._element.closest(is),ns,this._hideModalHandler)}_fixTitle(){const t=this._element.getAttribute("title");t&&(this._element.getAttribute("aria-label")||this._element.textContent.trim()||this._element.setAttribute("aria-label",t),this._element.setAttribute("data-bs-original-title",t),this._element.removeAttribute("title"))}_enter(){this._isShown()||this._isHovered?this._isHovered=!0:(this._isHovered=!0,this._setTimeout((()=>{this._isHovered&&this.show()}),this._config.delay.show))}_leave(){this._isWithActiveTrigger()||(this._isHovered=!1,this._setTimeout((()=>{this._isHovered||this.hide()}),this._config.delay.hide))}_setTimeout(t,e){clearTimeout(this._timeout),this._timeout=setTimeout(t,e)}_isWithActiveTrigger(){return Object.values(this._activeTrigger).includes(!0)}_getConfig(t){const e=F.getDataAttributes(this._element);for(const t of Object.keys(e))Zn.has(t)&&delete e[t];return t={...e,..."object"==typeof t&&t?t:{}},t=this._mergeConfigObj(t),t=this._configAfterMerge(t),this._typeCheckConfig(t),t}_configAfterMerge(t){return t.container=!1===t.container?document.body:r(t.container),"number"==typeof t.delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),t}_getDelegateConfig(){const t={};for(const[e,i]of Object.entries(this._config))this.constructor.Default[e]!==i&&(t[e]=i);return t.selector=!1,t.trigger="manual",t}_disposePopper(){this._popper&&(this._popper.destroy(),this._popper=null),this.tip&&(this.tip.remove(),this.tip=null)}static jQueryInterface(t){return this.each((function(){const e=cs.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method n
vendor: 10,644 bytes, line 37260
37260amed "${t}"`);e[t]()}}))}}m(cs);const hs={...cs.Default,content:"",offset:[0,8],placement:"right",template:'<div class="popover" role="tooltip"><div class="popover-arrow"></div><h3 class="popover-header"></h3><div class="popover-body"></div></div>',trigger:"click"},ds={...cs.DefaultType,content:"(null|string|element|function)"};class us extends cs{static get Default(){return hs}static get DefaultType(){return ds}static get NAME(){return"popover"}_isWithContent(){return this._getTitle()||this._getContent()}_getContentForTemplate(){return{".popover-header":this._getTitle(),".popover-body":this._getContent()}}_getContent(){return this._resolvePossibleFunction(this._config.content)}static jQueryInterface(t){return this.each((function(){const e=us.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t]()}}))}}m(us);const fs=".bs.scrollspy",ps=`activate${fs}`,ms=`click${fs}`,gs=`load${fs}.data-api`,_s="active",bs="[href]",vs=".nav-link",ys=`${vs}, .nav-item > ${vs}, .list-group-item`,ws={offset:null,rootMargin:"0px 0px -25%",smoothScroll:!1,target:null,threshold:[.1,.5,1]},As={offset:"(number|null)",rootMargin:"string",smoothScroll:"boolean",target:"element",threshold:"array"};class Es extends W{constructor(t,e){super(t,e),this._targetLinks=new Map,this._observableSections=new Map,this._rootElement="visible"===getComputedStyle(this._element).overflowY?null:this._element,this._activeTarget=null,this._observer=null,this._previousScrollData={visibleEntryTop:0,parentScrollTop:0},this.refresh()}static get Default(){return ws}static get DefaultType(){return As}static get NAME(){return"scrollspy"}refresh(){this._initializeTargetsAndObservables(),this._maybeEnableSmoothScroll(),this._observer?this._observer.disconnect():this._observer=this._getNewObserver();for(const t of this._observableSections.values())this._observer.observe(t)}dispose(){this._observer.disconnect(),super.dispose()}_configAfterMerge(t){return t.target=r(t.target)||document.body,t.rootMargin=t.offset?`${t.offset}px 0px -30%`:t.rootMargin,"string"==typeof t.threshold&&(t.threshold=t.threshold.split(",").map((t=>Number.parseFloat(t)))),t}_maybeEnableSmoothScroll(){this._config.smoothScroll&&(N.off(this._config.target,ms),N.on(this._config.target,ms,bs,(t=>{const e=this._observableSections.get(t.target.hash);if(e){t.preventDefault();const i=this._rootElement||window,n=e.offsetTop-this._element.offsetTop;if(i.scrollTo)return void i.scrollTo({top:n,behavior:"smooth"});i.scrollTop=n}})))}_getNewObserver(){const t={root:this._rootElement,threshold:this._config.threshold,rootMargin:this._config.rootMargin};return new IntersectionObserver((t=>this._observerCallback(t)),t)}_observerCallback(t){const e=t=>this._targetLinks.get(`#${t.target.id}`),i=t=>{this._previousScrollData.visibleEntryTop=t.target.offsetTop,this._process(e(t))},n=(this._rootElement||document.documentElement).scrollTop,s=n>=this._previousScrollData.parentScrollTop;this._previousScrollData.parentScrollTop=n;for(const o of t){if(!o.isIntersecting){this._activeTarget=null,this._clearActiveClass(e(o));continue}const t=o.target.offsetTop>=this._previousScrollData.visibleEntryTop;if(s&&t){if(i(o),!n)return}else s||t||i(o)}}_initializeTargetsAndObservables(){this._targetLinks=new Map,this._observableSections=new Map;const t=z.find(bs,this._config.target);for(const e of t){if(!e.hash||l(e))continue;const t=z.findOne(decodeURI(e.hash),this._element);a(t)&&(this._targetLinks.set(decodeURI(e.hash),e),this._observableSections.set(e.hash,t))}}_process(t){this._activeTarget!==t&&(this._clearActiveClass(this._config.target),this._activeTarget=t,t.classList.add(_s),this._activateParents(t),N.trigger(this._element,ps,{relatedTarget:t}))}_activateParents(t){if(t.classList.contains("dropdown-item"))z.findOne(".dropdown-toggle",t.closest(".dropdown")).classList.add(_s);else for(const e of z.parents(t,".nav, .list-group"))for(const t of z.prev(e,ys))t.classList.add(_s)}_clearActiveClass(t){t.classList.remove(_s);const e=z.find(`${bs}.${_s}`,t);for(const t of e)t.classList.remove(_s)}static jQueryInterface(t){return this.each((function(){const e=Es.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(window,gs,(()=>{for(const t of z.find('[data-bs-spy="scroll"]'))Es.getOrCreateInstance(t)})),m(Es);const Ts=".bs.tab",Cs=`hide${Ts}`,Os=`hidden${Ts}`,xs=`show${Ts}`,ks=`shown${Ts}`,Ls=`click${Ts}`,Ss=`keydown${Ts}`,Ds=`load${Ts}`,$s="ArrowLeft",Is="ArrowRight",Ns="ArrowUp",Ps="ArrowDown",js="Home",Ms="End",Fs="active",Hs="fade",Ws="show",Bs=".dropdown-toggle",zs=`:not(${Bs})`,Rs='[data-bs-toggle="tab"], [data-bs-toggle="pill"], [data-bs-toggle="list"]',qs=`.nav-link${zs}, .list-group-item${zs}, [role="tab"]${zs}, ${Rs}`,Vs=`.${Fs}[data-bs-toggle="tab"], .${Fs}[data-bs-toggle="pill"], .${Fs}[data-bs-toggle="list"]`;class Ks extends W{constructor(t){super(t),this._parent=this._element.closest('.list-group, .nav, [role="tablist"]'),this._parent&&(this._setInitialAttributes(this._parent,this._getChildren()),N.on(this._element,Ss,(t=>this._keydown(t))))}static get NAME(){return"tab"}show(){const t=this._element;if(this._elemIsActive(t))return;const e=this._getActiveElem(),i=e?N.trigger(e,Cs,{relatedTarget:t}):null;N.trigger(t,xs,{relatedTarget:e}).defaultPrevented||i&&i.defaultPrevented||(this._deactivate(e,t),this._activate(t,e))}_activate(t,e){t&&(t.classList.add(Fs),this._activate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.removeAttribute("tabindex"),t.setAttribute("aria-selected",!0),this._toggleDropDown(t,!0),N.trigger(t,ks,{relatedTarget:e})):t.classList.add(Ws)}),t,t.classList.contains(Hs)))}_deactivate(t,e){t&&(t.classList.remove(Fs),t.blur(),this._deactivate(z.getElementFromSelector(t)),this._queueCallback((()=>{"tab"===t.getAttribute("role")?(t.setAttribute("aria-selected",!1),t.setAttribute("tabindex","-1"),this._toggleDropDown(t,!1),N.trigger(t,Os,{relatedTarget:e})):t.classList.remove(Ws)}),t,t.classList.contains(Hs)))}_keydown(t){if(![$s,Is,Ns,Ps,js,Ms].includes(t.key))return;t.stopPropagation(),t.preventDefault();const e=this._getChildren().filter((t=>!l(t)));let i;if([js,Ms].includes(t.key))i=e[t.key===js?0:e.length-1];else{const n=[Is,Ps].includes(t.key);i=b(e,t.target,n,!0)}i&&(i.focus({preventScroll:!0}),Ks.getOrCreateInstance(i).show())}_getChildren(){return z.find(qs,this._parent)}_getActiveElem(){return this._getChildren().find((t=>this._elemIsActive(t)))||null}_setInitialAttributes(t,e){this._setAttributeIfNotExists(t,"role","tablist");for(const t of e)this._setInitialAttributesOnChild(t)}_setInitialAttributesOnChild(t){t=this._getInnerElement(t);const e=this._elemIsActive(t),i=this._getOuterElement(t);t.setAttribute("aria-selected",e),i!==t&&this._setAttributeIfNotExists(i,"role","presentation"),e||t.setAttribute("tabindex","-1"),this._setAttributeIfNotExists(t,"role","tab"),this._setInitialAttributesOnTargetPanel(t)}_setInitialAttributesOnTargetPanel(t){const e=z.getElementFromSelector(t);e&&(this._setAttributeIfNotExists(e,"role","tabpanel"),t.id&&this._setAttributeIfNotExists(e,"aria-labelledby",`${t.id}`))}_toggleDropDown(t,e){const i=this._getOuterElement(t);if(!i.classList.contains("dropdown"))return;const n=(t,n)=>{const s=z.findOne(t,i);s&&s.classList.toggle(n,e)};n(Bs,Fs),n(".dropdown-menu",Ws),i.setAttribute("aria-expanded",e)}_setAttributeIfNotExists(t,e,i){t.hasAttribute(e)||t.setAttribute(e,i)}_elemIsActive(t){return t.classList.contains(Fs)}_getInnerElement(t){return t.matches(qs)?t:z.findOne(qs,t)}_getOuterElement(t){return t.closest(".nav-item, .list-group-item")||t}static jQueryInterface(t){return this.each((function(){const e=Ks.getOrCreateInstance(this);if("string"==typeof t){if(void 0===e[t]||t.startsWith("_")||"constructor"===t)throw new TypeError(`No method named "${t}"`);e[t]()}}))}}N.on(document,Ls,Rs,(function(t){["A","AREA"].includes(this.tagName)&&t.preventDefault(),l(this)||Ks.getOrCreateInstance(this).show()})),N.on(window,Ds,(()=>{for(const t of z.find(Vs))Ks.getOrCreateInstance(t)})),m(Ks);const Qs=".bs.toast",Xs=`mouseover${Qs}`,Ys=`mouseout${Qs}`,Us=`focusin${Qs}`,Gs=`focusout${Qs}`,Js=`hide${Qs}`,Zs=`hidden${Qs}`,to=`show${Qs}`,eo=`shown${Qs}`,io="hide",no="show",so="showing",oo={animation:"boolean",autohide:"boolean",delay:"number"},ro={animation:!0,autohide:!0,delay:5e3};class ao extends W{constructor(t,e){super(t,e),this._timeout=null,this._hasMouseInteraction=!1,this._hasKeyboardInteraction=!1,this._setListeners()}static get Default(){return ro}static get DefaultType(){return oo}static get NAME(){return"toast"}show(){N.trigger(this._element,to).defaultPrevented||(this._clearTimeout(),this._config.animation&&this._element.classList.add("fade"),this._element.classList.remove(io),d(this._element),this._element.classList.add(no,so),this._queueCallback((()=>{this._element.classList.remove(so),N.trigger(this._element,eo),this._maybeScheduleHide()}),this._element,this._config.animation))}hide(){this.isShown()&&(N.trigger(this._element,Js).defaultPrevented||(this._element.classList.add(so),this._queueCallback((()=>{this._element.classList.add(io),this._element.classList.remove(so,no),N.trigger(this._element,Zs)}),this._element,this._config.animation)))}dispose(){this._clearTimeout(),this.isShown()&&this._element.classList.remove(no),super.dispose()}isShown(){return this._element.classList.contains(no)}_maybeScheduleHide(){this._config.autohide&&(this._hasMouseInteraction||this._hasKeyboardInteraction||(this._timeout=setTimeout((()=>{this.hide()}),this._config.delay)))}_onInteraction(t,e){switch(t.type){case"mouseover":case"mouseout":this._hasMouseInteraction=e;break;case"focusin":case"focusout":this._hasKeyboardInteraction=e}if(e)return void this._clearTimeout();const i=t.relatedTarget;this._element===i||this._element.contains(i)||this._maybeScheduleHide()}_setListeners(){N.on(this._element,Xs,(t=>this._onInteraction(t,!0))),N.on(this._element,Ys,(t=>this._onInteraction(t,!1))),N.on(this._element,Us,(t=>this._onInteraction(t,!0))),N.on(this._element,Gs,(t=>this._onInteraction(t,!1)))}_clearTimeout(){clearTimeout(this._timeout),this._timeout=null}static jQueryInterface(t){return this.each((function(){const e=ao.getOrCreateInstance(this,t);if("string"==typeof t){if(void 0===e[t])throw new TypeError(`No method named "${t}"`);e[t](this)}}))}}return R(ao),m(ao),{Alert:Q,Button:Y,Carousel:xt,Collapse:Bt,Dropdown:qi,Modal:On,Offcanvas:qn,Popover:us,ScrollSpy:Es,Tab:Ks,Toast:ao,Tooltip:cs}}));
37260
37261//# sourceMappingURL=bootstrap.bundle.min.js.map

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.