(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [6694, 7258],
  {
    23761: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => m });
      var i,
        n = r(29768),
        a = r(74569),
        s = r(86748),
        o = r(96467),
        l = r(74673),
        c = r(76506),
        u = r(42788),
        d = r(34250),
        p = (r(91306), r(92143), r(17533)),
        g = r(32422);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(97714),
        r(60947),
        r(2906),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589);
      let y = (i = class extends l.a {
        constructor(...e) {
          super(...e),
            (this.isAggregate = !1),
            (this.layer = null),
            (this.popupTemplate = null),
            (this.sourceLayer = null),
            Object.defineProperty(this, 'uid', { value: (0, u.g)(), configurable: !0 });
        }
        normalizeCtorArgs(e, t, r, i) {
          return e && !e.declaredClass
            ? e
            : { geometry: e, symbol: t, attributes: r, popupTemplate: i };
        }
        set attributes(e) {
          const t = this._get('attributes');
          t !== e && (this._set('attributes', e), this._notifyLayer('attributes', t, e));
        }
        set geometry(e) {
          const t = this._get('geometry');
          t !== e && (this._set('geometry', e), this._notifyLayer('geometry', t, e));
        }
        set symbol(e) {
          const t = this._get('symbol');
          t !== e && (this._set('symbol', e), this._notifyLayer('symbol', t, e));
        }
        set visible(e) {
          const t = this._get('visible');
          t !== e && (this._set('visible', e), this._notifyLayer('visible', t, e));
        }
        getEffectivePopupTemplate(e = !1) {
          if (this.popupTemplate) return this.popupTemplate;
          for (const t of [this.sourceLayer, this.layer])
            if (t) {
              if ('popupTemplate' in t && t.popupTemplate) return t.popupTemplate;
              if (e && 'defaultPopupTemplate' in t && (0, c.i)(t.defaultPopupTemplate))
                return t.defaultPopupTemplate;
            }
          return null;
        }
        getAttribute(e) {
          return this.attributes && this.attributes[e];
        }
        setAttribute(e, t) {
          if (this.attributes) {
            const r = this.getAttribute(e);
            (this.attributes[e] = t), this._notifyLayer('attributes', r, t, e);
          } else (this.attributes = { [e]: t }), this._notifyLayer('attributes', void 0, t, e);
        }
        getObjectId() {
          return this.sourceLayer &&
            'objectIdField' in this.sourceLayer &&
            this.sourceLayer.objectIdField
            ? this.getAttribute(this.sourceLayer.objectIdField)
            : null;
        }
        toJSON() {
          return {
            geometry: (0, c.i)(this.geometry) ? this.geometry.toJSON() : null,
            symbol: (0, c.i)(this.symbol) ? this.symbol.toJSON() : null,
            attributes: { ...this.attributes },
            popupTemplate: this.popupTemplate && this.popupTemplate.toJSON(),
          };
        }
        clone() {
          return new i(this.cloneProperties());
        }
        notifyGeometryChanged() {
          this._notifyLayer('geometry', this.geometry, this.geometry);
        }
        cloneProperties() {
          return {
            attributes: (0, c.d9)(this.attributes),
            geometry: (0, c.d9)(this.geometry),
            layer: this.layer,
            popupTemplate: this.popupTemplate && this.popupTemplate.clone(),
            sourceLayer: this.sourceLayer,
            symbol: (0, c.d9)(this.symbol),
            visible: this.visible,
          };
        }
        _notifyLayer(e, t, r, i) {
          if (!this.layer || !('graphicChanged' in this.layer)) return;
          const n = { graphic: this, property: e, oldValue: t, newValue: r };
          'attributes' === e && (n.attributeName = i), this.layer.graphicChanged(n);
        }
      });
      (0, n._)([(0, d.Cb)({ value: null })], y.prototype, 'attributes', null),
        (0, n._)(
          [(0, d.Cb)({ value: null, types: a.qM, json: { read: g.im } })],
          y.prototype,
          'geometry',
          null,
        ),
        (0, n._)([(0, d.Cb)({ type: Boolean })], y.prototype, 'isAggregate', void 0),
        (0, n._)([(0, d.Cb)()], y.prototype, 'layer', void 0),
        (0, n._)([(0, d.Cb)({ type: s.Z })], y.prototype, 'popupTemplate', void 0),
        (0, n._)([(0, d.Cb)()], y.prototype, 'sourceLayer', void 0),
        (0, n._)([(0, d.Cb)({ value: null, types: o.LB })], y.prototype, 'symbol', null),
        (0, n._)([(0, d.Cb)({ type: Boolean, value: !0 })], y.prototype, 'visible', null),
        (y = i = (0, n._)([(0, p.j)('esri.Graphic')], y)),
        ((y || (y = {})).generateUID = u.g);
      const m = y;
    },
    8547: (e, t, r) => {
      'use strict';
      r.d(t, { C: () => s });
      var i = r(29768),
        n = r(34250),
        a = (r(76506), r(91306), r(92143), r(17533));
      const s = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments), (this.customParameters = null);
          }
        };
        return (
          (0, i._)(
            [(0, n.Cb)({ type: Object, json: { write: !0 } })],
            t.prototype,
            'customParameters',
            void 0,
          ),
          (t = (0, i._)([(0, a.j)('esri.layers.mixins.CustomParametersMixin')], t)),
          t
        );
      };
    },
    30831: (e, t, r) => {
      'use strict';
      r.d(t, { I: () => n });
      var i = r(91700);
      class n {
        constructor(e, t) {
          (this._storage = new i.M()),
            (this._storage.maxSize = e),
            t && this._storage.registerRemoveFunc('', t);
        }
        put(e, t) {
          this._storage.put(e, t, 1, 1);
        }
        pop(e) {
          return this._storage.pop(e);
        }
        get(e) {
          return this._storage.get(e);
        }
        clear() {
          this._storage.clearAll();
        }
        destroy() {
          this._storage.destroy();
        }
      }
    },
    62162: (e, t, r) => {
      'use strict';
      r.d(t, { P: () => w });
      var i = r(29768),
        n = r(88762),
        a = r(82058),
        s = r(41864),
        o = r(60991),
        l = r(92143),
        c = r(76506),
        u = r(50406),
        d = r(32101),
        p = r(34250),
        g = (r(91306), r(97714)),
        y = r(17533),
        m = r(2906),
        h = r(49900),
        M = r(56420),
        f = r(74653);
      const I = l.L.getLogger('esri.layers.mixins.PortalLayer'),
        w = (e) => {
          let t = class extends e {
            constructor() {
              super(...arguments),
                (this.resourceReferences = { portalItem: null, paths: [] }),
                (this.userHasEditingPrivileges = !0);
            }
            destroy() {
              var e;
              null == (e = this.portalItem) || e.destroy(), (this.portalItem = null);
            }
            set portalItem(e) {
              e !== this._get('portalItem') &&
                (this.removeOrigin('portal-item'), this._set('portalItem', e));
            }
            readPortalItem(e, t, r) {
              if (t.itemId) return new M.default({ id: t.itemId, portal: r && r.portal });
            }
            writePortalItem(e, t) {
              e && e.id && (t.itemId = e.id);
            }
            async loadFromPortal(e, t) {
              if (this.portalItem && this.portalItem.id)
                try {
                  const i = await r
                    .e(8642)
                    .then(r.bind(r, 8642))
                    .then(function (e) {
                      return e.l;
                    });
                  return (
                    (0, u.k_)(t),
                    await i.load(
                      {
                        instance: this,
                        supportedTypes: e.supportedTypes,
                        validateItem: e.validateItem,
                        supportsData: e.supportsData,
                      },
                      t,
                    )
                  );
                } catch (e) {
                  throw (
                    ((0, u.D_)(e) ||
                      I.warn(
                        `Failed to load layer (${this.title}, ${this.id}) portal item (${this.portalItem.id})\n  ${e}`,
                      ),
                    e)
                  );
                }
            }
            async finishLoadEditablePortalLayer(e) {
              this._set(
                'userHasEditingPrivileges',
                await this.fetchUserHasEditingPrivileges(e).catch((e) => ((0, u.r9)(e), !0)),
              );
            }
            async fetchUserHasEditingPrivileges(e) {
              const t = this.url ? (null == n.id ? void 0 : n.id.findCredential(this.url)) : null;
              if (!t) return !0;
              const r = b.credential === t ? b.user : await this.fetchEditingUser(e);
              return (
                (b.credential = t),
                (b.user = r),
                (0, c.b)(r) || null == r.privileges || r.privileges.includes('features:user:edit')
              );
            }
            async fetchEditingUser(e) {
              var t, r;
              const i = null == (t = this.portalItem) || null == (r = t.portal) ? void 0 : r.user;
              if (i) return i;
              const o = n.id.findServerInfo(this.url);
              if (null == o || !o.owningSystemUrl) return null;
              const l = `${o.owningSystemUrl}/sharing/rest`,
                u = h.Z.getDefault();
              if (u && u.loaded && (0, d.Fv)(u.restUrl) === (0, d.Fv)(l)) return u.user;
              const p = `${l}/community/self`,
                g = (0, c.i)(e) ? e.signal : null,
                y = await (0, s.r)(
                  (0, a.default)(p, { authMode: 'no-prompt', query: { f: 'json' }, signal: g }),
                );
              return y.ok ? f.default.fromJSON(y.value.data) : null;
            }
            read(e, t) {
              t && (t.layer = this), super.read(e, t);
            }
            write(e, t) {
              const r = t && t.portal,
                i =
                  this.portalItem &&
                  this.portalItem.id &&
                  (this.portalItem.portal || h.Z.getDefault());
              return r && i && !(0, d.tm)(i.restUrl, r.restUrl)
                ? (t.messages &&
                    t.messages.push(
                      new o.Z(
                        'layer:cross-portal',
                        `The layer '${this.title} (${this.id})' cannot be persisted because it refers to an item on a different portal than the one being saved to. To save the scene, set the layer.portalItem to null or save the scene to the same portal as the item associated with the layer`,
                        { layer: this },
                      ),
                    ),
                  null)
                : super.write(e, { ...t, layer: this });
            }
          };
          return (
            (0, i._)([(0, p.Cb)({ type: M.default })], t.prototype, 'portalItem', null),
            (0, i._)(
              [(0, g.r)('web-document', 'portalItem', ['itemId'])],
              t.prototype,
              'readPortalItem',
              null,
            ),
            (0, i._)(
              [(0, m.w)('web-document', 'portalItem', { itemId: { type: String } })],
              t.prototype,
              'writePortalItem',
              null,
            ),
            (0, i._)([(0, p.Cb)()], t.prototype, 'resourceReferences', void 0),
            (0, i._)(
              [(0, p.Cb)({ readOnly: !0 })],
              t.prototype,
              'userHasEditingPrivileges',
              void 0,
            ),
            (t = (0, i._)([(0, y.j)('esri.layers.mixins.PortalLayer')], t)),
            t
          );
        },
        b = { credential: null, user: null };
    },
    13074: (e, t, r) => {
      'use strict';
      r.d(t, { R: () => s });
      var i = r(60991),
        n = r(65514),
        a = r(22337);
      class s {
        constructor() {
          (this._workerThread = null), (this._destroyed = !1);
        }
        async initialize() {
          const e = await (0, n.bA)('RasterWorker');
          this._destroyed ? e.close() : (this._workerThread = e);
        }
        destroy() {
          (this._destroyed = !0),
            this._workerThread && (this._workerThread.close(), (this._workerThread = null));
        }
        async decode(e, t) {
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          const r = await this._workerThread.invoke('decode', e, t);
          return r ? new a.Z(r) : null;
        }
        async symbolize(e, t) {
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          const r = {
              extent: e.extent && e.extent.toJSON(),
              pixelBlock: e.pixelBlock.toJSON(),
              simpleStretchParams: e.simpleStretchParams,
              bandIds: e.bandIds,
            },
            n = await this._workerThread.invoke('symbolize', r, t);
          return n ? new a.Z(n) : null;
        }
        async updateSymbolizer(e, t) {
          var r;
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          const n = null == e || null == (r = e.rendererJSON) ? void 0 : r.histograms;
          await Promise.all(
            this._workerThread.broadcast(
              'updateSymbolizer',
              { symbolizerJSON: e.toJSON(), histograms: n },
              t,
            ),
          );
        }
        async stretch(e, t) {
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          if (null == e || !e.pixelBlock) return null;
          const r = { srcPixelBlock: e.pixelBlock.toJSON(), stretchParams: e.stretchParams },
            n = await this._workerThread.invoke('stretch', r, t);
          return n ? new a.Z(n) : null;
        }
        async split(e, t) {
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          if (null == e || !e.pixelBlock) return null;
          const r = {
              srcPixelBlock: e.pixelBlock.toJSON(),
              tileSize: e.tileSize,
              maximumPyramidLevel: e.maximumPyramidLevel,
            },
            n = await this._workerThread.invoke('split', r, t);
          return (
            n &&
              n.forEach((e, t) => {
                n.set(t, e ? a.Z.fromJSON(e) : null);
              }),
            Promise.resolve(n)
          );
        }
        async estimateStatisticsHistograms(e, t) {
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          if (null == e || !e.pixelBlock) return null;
          const r = { srcPixelBlock: e.pixelBlock.toJSON() },
            n = await this._workerThread.invoke('estimateStatisticsHistograms', r, t);
          return Promise.resolve(n);
        }
        async mosaicAndTransform(e, t) {
          var r;
          if (!this._workerThread)
            throw new i.Z('raster-jobhandler:no-connection', 'no available worker connection');
          if (null == e || null == (r = e.srcPixelBlocks) || !r.length) return null;
          const n = { ...e, srcPixelBlocks: e.srcPixelBlocks.map((e) => (e ? e.toJSON() : null)) },
            s = await this._workerThread.invoke('mosaicAndTransform', n, t);
          return s ? new a.Z(s) : null;
        }
      }
    },
    48190: (e, t, r) => {
      'use strict';
      function i(e) {}
      r.d(t, { n: () => i }), r(76506);
    },
    93939: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => y, d: () => m, h: () => g });
      var i = r(21972),
        n = r(15324),
        a = r(76506),
        s = r(86656);
      const o = [
        'esri.Color',
        'esri.portal.Portal',
        'esri.symbols.support.Symbol3DAnchorPosition2D',
        'esri.symbols.support.Symbol3DAnchorPosition3D',
      ];
      function l(e) {
        return e instanceof i.Z;
      }
      function c(e) {
        return e instanceof n.Z
          ? Object.keys(e.items)
          : l(e)
          ? (0, s.g)(e).keys()
          : e
          ? Object.keys(e)
          : [];
      }
      function u(e, t) {
        return e instanceof n.Z ? e.items[t] : e[t];
      }
      function d(e) {
        return e ? e.declaredClass : null;
      }
      function p(e, t) {
        const r = e.diff;
        if (r && 'function' == typeof r) return r(e, t);
        const i = c(e),
          n = c(t);
        if (0 === i.length && 0 === n.length) return;
        if (
          !i.length ||
          !n.length ||
          (function (e, t) {
            return !(!Array.isArray(e) || !Array.isArray(t)) && e.length !== t.length;
          })(e, t)
        )
          return { type: 'complete', oldValue: e, newValue: t };
        const s = n.filter((e) => -1 === i.indexOf(e)),
          g = i.filter((e) => -1 === n.indexOf(e)),
          y = i
            .filter((r) => n.indexOf(r) > -1 && u(e, r) !== u(t, r))
            .concat(s, g)
            .sort(),
          m = d(e);
        if (m && o.indexOf(m) > -1 && y.length)
          return { type: 'complete', oldValue: e, newValue: t };
        let h;
        const M = l(e) && l(t);
        for (const i of y) {
          const n = u(e, i),
            s = u(t, i);
          let o;
          (M || ('function' != typeof n && 'function' != typeof s)) &&
            n !== s &&
            ((null == n && null == s) ||
              ((o =
                r && r[i] && 'function' == typeof r[i]
                  ? r[i](n, s)
                  : 'object' == typeof n && 'object' == typeof s && d(n) === d(s)
                  ? p(n, s)
                  : { type: 'complete', oldValue: n, newValue: s }),
              (0, a.i)(o) &&
                ((0, a.i)(h) ? (h.diff[i] = o) : (h = { type: 'partial', diff: { [i]: o } }))));
        }
        return h;
      }
      function g(e, t) {
        if ((0, a.b)(e)) return !1;
        const r = t.split('.');
        let i = e;
        for (const e of r) {
          if ('complete' === i.type) return !0;
          if ('partial' !== i.type) return !1;
          {
            const t = i.diff[e];
            if (!t) return !1;
            i = t;
          }
        }
        return !0;
      }
      function y(e, t) {
        for (const r of t) if (g(e, r)) return !0;
        return !1;
      }
      function m(e, t) {
        if ('function' != typeof e && 'function' != typeof t && (e || t))
          return !e || !t || ('object' == typeof e && 'object' == typeof t && d(e) !== d(t))
            ? { type: 'complete', oldValue: e, newValue: t }
            : p(e, t);
      }
    },
    54732: (e, t, r) => {
      'use strict';
      r.d(t, { k: () => i });
      const i = new (r(57251).J)({
        esriFieldTypeSmallInteger: 'small-integer',
        esriFieldTypeInteger: 'integer',
        esriFieldTypeSingle: 'single',
        esriFieldTypeDouble: 'double',
        esriFieldTypeLong: 'long',
        esriFieldTypeString: 'string',
        esriFieldTypeDate: 'date',
        esriFieldTypeOID: 'oid',
        esriFieldTypeGeometry: 'geometry',
        esriFieldTypeBlob: 'blob',
        esriFieldTypeRaster: 'raster',
        esriFieldTypeGUID: 'guid',
        esriFieldTypeGlobalID: 'global-id',
        esriFieldTypeXML: 'xml',
      });
    },
    66774: (e, t, r) => {
      'use strict';
      var i = r(29768),
        n = r(57251),
        a = r(34250),
        s = (r(76506), r(91306), r(92143), r(17533)),
        o = r(74673),
        l = r(63683),
        c = r(30776);
      const u = new n.J({
        classBreaksDef: 'class-breaks-definition',
        uniqueValueDef: 'unique-value-definition',
      });
      let d = class extends o.a {
        constructor() {
          super(...arguments),
            (this.baseSymbol = null),
            (this.colorRamp = null),
            (this.type = null);
        }
      };
      (0, i._)([(0, a.Cb)({ type: c.Z, json: { write: !0 } })], d.prototype, 'baseSymbol', void 0),
        (0, i._)(
          [(0, a.Cb)({ types: l.t, json: { read: { reader: l.f }, write: !0 } })],
          d.prototype,
          'colorRamp',
          void 0,
        ),
        (0, i._)(
          [(0, a.Cb)({ json: { read: u.read, write: u.write } })],
          d.prototype,
          'type',
          void 0,
        ),
        (d = (0, i._)([(0, s.j)('esri.rest.support.ClassificationDefinition')], d));
      var p = d;
      const g = new n.J({
          esriClassifyEqualInterval: 'equal-interval',
          esriClassifyManual: 'manual',
          esriClassifyNaturalBreaks: 'natural-breaks',
          esriClassifyQuantile: 'quantile',
          esriClassifyStandardDeviation: 'standard-deviation',
          esriClassifyDefinedInterval: 'defined-interval',
        }),
        y = new n.J({
          esriNormalizeByLog: 'log',
          esriNormalizeByPercentOfTotal: 'percent-of-total',
          esriNormalizeByField: 'field',
        });
      let m = class extends p {
        constructor() {
          super(...arguments),
            (this.breakCount = null),
            (this.classificationField = null),
            (this.classificationMethod = null),
            (this.normalizationField = null),
            (this.normalizationType = null),
            (this.type = 'class-breaks-definition');
        }
        set standardDeviationInterval(e) {
          'standard-deviation' === this.classificationMethod &&
            this._set('standardDeviationInterval', e);
        }
        set definedInterval(e) {
          'defined-interval' === this.classificationMethod && this._set('definedInterval', e);
        }
      };
      (0, i._)([(0, a.Cb)({ json: { write: !0 } })], m.prototype, 'breakCount', void 0),
        (0, i._)([(0, a.Cb)({ json: { write: !0 } })], m.prototype, 'classificationField', void 0),
        (0, i._)(
          [(0, a.Cb)({ type: String, json: { read: g.read, write: g.write } })],
          m.prototype,
          'classificationMethod',
          void 0,
        ),
        (0, i._)([(0, a.Cb)({ json: { write: !0 } })], m.prototype, 'normalizationField', void 0),
        (0, i._)(
          [(0, a.Cb)({ json: { read: y.read, write: y.write } })],
          m.prototype,
          'normalizationType',
          void 0,
        ),
        (0, i._)(
          [(0, a.Cb)({ value: null, json: { write: !0 } })],
          m.prototype,
          'standardDeviationInterval',
          null,
        ),
        (0, i._)(
          [(0, a.Cb)({ value: null, json: { write: !0 } })],
          m.prototype,
          'definedInterval',
          null,
        ),
        (0, i._)([(0, a.Cb)()], m.prototype, 'type', void 0),
        (m = (0, i._)([(0, s.j)('esri.rest.support.ClassBreaksDefinition')], m));
    },
    88056: (e, t, r) => {
      'use strict';
      r.d(t, { i: () => n, n: () => a });
      var i = r(57251);
      const n = (0, i.s)()({
          RSP_NearestNeighbor: 'nearest',
          RSP_BilinearInterpolation: 'bilinear',
          RSP_CubicConvolution: 'cubic',
          RSP_Majority: 'majority',
        }),
        a = (0, i.s)()({ esriNoDataMatchAny: 'any', esriNoDataMatchAll: 'all' });
    },
    1030: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => b, b: () => w, c: () => f, g: () => I, n: () => S });
      var i = r(48027),
        n = (r(88678), r(76506)),
        a = (r(53785), r(97546)),
        s = r(72246),
        o = r(12158),
        l = (r(94070), r(62484)),
        c = r(238),
        u = (r(94479), r(66774), r(51127)),
        d = r(86951),
        p = r(95310),
        g = r(81050),
        y = (r(76223), r(55306), r(84225));
      const m = u.Z.fromJSON({
          type: 'multipart',
          colorRamps: [
            { fromColor: [0, 0, 255], toColor: [0, 255, 255] },
            { fromColor: [0, 255, 255], toColor: [255, 255, 0] },
            { fromColor: [255, 255, 0], toColor: [255, 0, 0] },
          ],
        }),
        h = u.Z.fromJSON(l.P[0]),
        M = new Set([
          'scientific',
          'standard-time',
          'vector-uv',
          'vector-magdir',
          'vector-u',
          'vector-v',
          'vector-magnitude',
          'vector-direction',
        ]);
      function f(e, t) {
        const { attributeTable: r, colormap: a } = e;
        if (T(e)) {
          const t = (function (e) {
            if (!T(e)) return null;
            let t;
            var r, i;
            (0, n.i)(e.statistics) &&
              (t = [
                {
                  type: 'size',
                  field: 'Magnitude',
                  minSize: 10,
                  maxSize: 40,
                  minDataValue: null == (r = e.statistics[0]) ? void 0 : r.min,
                  maxDataValue: null == (i = e.statistics[0]) ? void 0 : i.max,
                },
              ]);
            const a = new y.Z({ visualVariables: t });
            return (a.visualVariables = [...a.sizeVariables, ...a.rotationVariables]), a;
          })(e);
          if ((0, n.i)(t)) return t;
        }
        if ((0, n.i)(a)) {
          const t = (function (e) {
            if (!D(e)) return null;
            let t;
            const { attributeTable: r, colormap: i } = e;
            if ((0, n.i)(r)) {
              const e = A(r, 'value'),
                i = v(r);
              'string' === i.type &&
                ((t = {}),
                r.features.forEach((r) => {
                  const n = r.attributes;
                  t[n[e.name]] = i ? n[i.name] : n[e.name];
                }));
            }
            return g.Z.createFromColormap((0, n.u)(i), t);
          })(e);
          if ((0, n.i)(t)) return t;
        }
        if ((0, n.i)(r)) {
          const t = (function (e, t, r, a) {
            if (!C(e, t)) return null;
            const { attributeTable: s, statistics: u } = e,
              d = v(s, t),
              g = A(s, 'red'),
              y = A(s, 'green'),
              m = A(s, 'blue'),
              M = new o.Z(),
              f = [],
              I = new Set(),
              w = !!(g && y && m);
            if ((0, n.i)(s))
              s.features.forEach((e) => {
                const t = e.attributes[d.name];
                if (!I.has(e.attributes[d.name]) && null != t) {
                  I.add(t);
                  const r =
                    !w ||
                    ('single' !== g.type && 'double' !== g.type) ||
                    ('single' !== y.type && 'double' !== y.type) ||
                    ('single' !== m.type && 'double' !== m.type) ||
                    s.features.some(
                      (e) =>
                        e.attributes[g.name] > 1 ||
                        e.attributes[y.name] > 1 ||
                        e.attributes[m.name] > 1,
                    )
                      ? 1
                      : 255;
                  f.push(
                    new c.Z({
                      value: e.attributes[d.name],
                      label: e.attributes[d.name] + '',
                      symbol: {
                        type: 'simple-fill',
                        style: 'solid',
                        outline: null,
                        color: new i.Z(
                          w
                            ? [
                                e.attributes[g.name] * r,
                                e.attributes[y.name] * r,
                                e.attributes[m.name] * r,
                                1,
                              ]
                            : [0, 0, 0, 0],
                        ),
                      },
                    }),
                  );
                }
              });
            else if (null != u && u[0])
              for (let e = u[0].min; e <= u[0].max; e++)
                f.push(
                  new c.Z({
                    value: e,
                    label: e.toString(),
                    symbol: {
                      type: 'simple-fill',
                      style: 'solid',
                      outline: null,
                      color: new i.Z([0, 0, 0, 0]),
                    },
                  }),
                );
            if (
              (f.sort((e, t) =>
                e.value && 'string' == typeof e.value.valueOf() ? 0 : e.value > t.value ? 1 : -1,
              ),
              !w)
            ) {
              const e = (0, l.c)(h, f.length);
              f.forEach((t, r) => (t.symbol.color = new i.Z(e[r].slice(1, 4)))), (M.colorRamp = h);
            }
            return new p.Z({ field: d.name, uniqueValueInfos: f, authoringInfo: M });
          })(e);
          if ((0, n.i)(t)) return t;
        }
        return (function (e, t) {
          var r, i, a, o;
          e = (function (e, t) {
            if (null == t) return e;
            let r = (0, n.u)(e.statistics),
              i = (0, n.u)(e.histograms);
            const { multidimensionalInfo: a } = e;
            if (t && (0, n.i)(a)) {
              const { statistics: e, histograms: n } = a.variables.find((e) => e.name === t);
              null != e && e.length && (r = e), null != n && n.length && (i = n);
            }
            return s.Z.fromJSON({ ...e.toJSON(), statistics: r, histograms: i });
          })(e, null == t ? void 0 : t.variableName);
          const { bandCount: l } = e;
          let { bandIds: c, stretchType: u } = t || {};
          null != (r = c) && r.some((e) => e >= l) && (c = null);
          let p = (0, n.u)(e.statistics),
            g = (0, n.u)(e.histograms);
          var y;
          l > 1
            ? ((c = null != (y = c) && y.length ? c : b(e)),
              (p = null == p ? null : c.map((e) => p[e])),
              (g = null == g ? null : c.map((e) => g[e])))
            : (c = [0]),
            null == u &&
              (u = (function (e) {
                let t = 'percent-clip';
                const { pixelType: r, dataType: i, histograms: a, statistics: s } = e;
                return (
                  'u8' !== r || ('processed' !== i && (0, n.i)(a) && (0, n.i)(s))
                    ? 'u8' === r || 'elevation' === i || M.has(i)
                      ? (t = 'min-max')
                      : (0, n.i)(a)
                      ? (t = 'percent-clip')
                      : (0, n.i)(s) && ((t = 'min-max'), (t = 'min-max'))
                    : (t = 'none'),
                  t
                );
              })(e));
          let h = !1;
          switch (u) {
            case 'none':
              h = !1;
              break;
            case 'percent-clip':
              h = !(null != (i = g) && i.length);
              break;
            default:
              h = !(null != (a = p) && a.length);
          }
          const { dataType: f } = e,
            I = 1 === (null == (o = c) ? void 0 : o.length) && M.has(f) ? m : null,
            w = new d.Z({
              stretchType: u,
              dynamicRangeAdjustment: h,
              colorRamp: I,
              outputMin: 0,
              outputMax: 255,
              gamma: 1 === c.length ? [1] : [1, 1, 1],
              useGamma: !1,
            });
          return (
            'percent-clip' === u
              ? (w.maxPercent = w.minPercent = 0.25)
              : 'standard-deviation' === u && (w.numberOfStandardDeviations = 2),
            !h &&
              ((0, n.i)(e.multidimensionalInfo) || (null != t && t.includeStatisticsInStretch)) &&
              ('percent-clip' === u
                ? (w.histograms = g)
                : ('min-max' !== u && 'standard-deviation' !== u) || (w.statistics = p)),
            w
          );
        })(e, t);
      }
      function I(e) {
        const t = ['raster-stretch'];
        return (
          D(e) && t.push('raster-colormap'),
          C(e) && t.push('unique-value'),
          (function (e) {
            const { attributeTable: t, bandCount: r } = e;
            return 1 === r && ((0, n.i)(t) || (0, n.i)(e.histograms));
          })(e) && t.push('class-breaks'),
          (function (e) {
            return 'elevation' === e.dataType;
          })(e) && t.push('raster-shaded-relief'),
          T(e) && t.push('vector-field'),
          t
        );
      }
      function w(e, t, r) {
        const i = ['nearest', 'bilinear', 'cubic', 'majority'].find(
          (e) => e === (null == r ? void 0 : r.toLowerCase()),
        );
        return 'Map' === t
          ? null != i
            ? i
            : 'bilinear'
          : 'standard-time' === e.dataType
          ? null != i
            ? i
            : 'nearest'
          : 'thematic' === e.dataType || e.attributeTable || e.colormap
          ? 'nearest' === i || 'majority' === i
            ? i
            : 'nearest'
          : null != i
          ? i
          : 'bilinear';
      }
      function b(e) {
        const t = e.bandCount;
        if (1 === t) return null;
        if (2 === t) return [0];
        const r = e.keyProperties && e.keyProperties.BandProperties;
        let i;
        if (r && r.length === t) {
          const { red: e, green: t, blue: n, nir: a } = (function (e) {
            const t = {};
            for (let i = 0; i < e.length; i++) {
              var r;
              const n = e[i],
                a = null == (r = n.BandName) ? void 0 : r.toLowerCase();
              if ('red' === a) t.red = i;
              else if ('green' === a) t.green = i;
              else if ('blue' === a) t.blue = i;
              else if ('nearinfrared' === a || 'nearinfrared_1' === a || 'nir' === a) t.nir = i;
              else if (n.WavelengthMax && n.WavelengthMin) {
                const e = n.WavelengthMin,
                  r = n.WavelengthMax;
                null == t.blue && e >= 410 && e <= 480 && r >= 480 && r <= 540
                  ? (t.blue = i)
                  : null == t.green && e >= 490 && e <= 560 && r >= 560 && r <= 610
                  ? (t.green = i)
                  : null == t.red && e >= 595 && e <= 670 && r >= 660 && r <= 730
                  ? (t.red = i)
                  : null == t.nir && e >= 700 && e <= 860 && r >= 800 && r <= 950 && (t.nir = i);
              }
            }
            return t;
          })(r);
          null != e && null != t && null != n
            ? (i = [e, t, n])
            : null != a && null != e && null != t && (i = [a, e, t]);
        }
        return !i && t >= 3 && (i = [0, 1, 2]), i;
      }
      function v(e, t) {
        let r;
        return (
          (0, n.i)(e)
            ? ((r = t
                ? e.fields.find((e) => t.toLowerCase() === e.name.toLowerCase())
                : e.fields.find(
                    (e) => 'string' === e.type && e.name.toLowerCase().indexOf('class') > -1,
                  )),
              r || ((r = e.fields.find((e) => 'string' === e.type)), r || (r = A(e, 'value'))))
            : (r = new a.Z({ name: 'value' })),
          r
        );
      }
      function A(e, t) {
        return (0, n.i)(e) ? e.fields.find((e) => e.name.toLowerCase() === t) : null;
      }
      function C(e, t) {
        const { attributeTable: r, bandCount: i } = e;
        return !(
          ((0, n.i)(r) ||
            !(function (e) {
              var t, r, i;
              return (
                ['u8', 's8'].indexOf(e.pixelType) > -1 &&
                null != (null == (t = e.statistics) || null == (r = t[0]) ? void 0 : r.min) &&
                null != (null == (i = e.statistics[0]) ? void 0 : i.max) &&
                1 === e.bandCount
              );
            })(e)) &&
          (!(0, n.i)(r) ||
            i > 1 ||
            (t && null == r.fields.find((e) => e.name.toLowerCase() === t.toLowerCase())))
        );
      }
      function D(e) {
        const { bandCount: t, colormap: r } = e;
        return (0, n.i)(r) && r.length && 1 === t;
      }
      function T(e) {
        var t;
        const { dataType: r } = e;
        return !(
          (null != (t = e.storageInfo) && t.tileInfo) ||
          ('vector-uv' !== r && 'vector-magdir' !== r)
        );
      }
      function L(e) {
        var t;
        return {
          color: null == (t = e.symbolLayers[0].material) ? void 0 : t.color,
          type: 'esriSFS',
          style: 'esriSFSSolid',
        };
      }
      function S(e) {
        if ('uniqueValue' === e.type) {
          var t;
          const r = e.uniqueValueInfos,
            i = r[0].symbol;
          return (
            null != i &&
              null != (t = i.symbolLayers) &&
              t.length &&
              (e.uniqueValueInfos = r.map((e) => ({
                value: e.value,
                label: e.label,
                symbol: e.symbol ? L(e.symbol) : null,
              }))),
            e
          );
        }
        if ('classBreaks' === e.type) {
          var r;
          const t = e.classBreakInfos,
            i = t[0].symbol;
          return (
            null != i &&
              null != (r = i.symbolLayers) &&
              r.length &&
              (e.classBreakInfos = t.map((e) => ({
                classMinValue: e.classMinValue,
                classMaxValue: e.classMaxValue,
                label: e.label,
                symbol: e.symbol ? L(e.symbol) : null,
              }))),
            e
          );
        }
        return e;
      }
    },
    52228: (e, t, r) => {
      'use strict';
      function i(e) {
        return e && 'esri.renderers.visualVariables.SizeVariable' === e.declaredClass;
      }
      function n(e) {
        return null != e && !isNaN(e) && isFinite(e);
      }
      function a(e) {
        return e.valueExpression
          ? 'expression'
          : e.field && 'string' == typeof e.field
          ? 'field'
          : 'unknown';
      }
      function s(e, t) {
        const r = t || a(e),
          i = e.valueUnit || 'unknown';
        return 'unknown' === r
          ? 'constant'
          : e.stops
          ? 'stops'
          : null != e.minSize &&
            null != e.maxSize &&
            null != e.minDataValue &&
            null != e.maxDataValue
          ? 'clamped-linear'
          : 'unknown' === i
          ? null != e.minSize && null != e.minDataValue
            ? e.minSize && e.minDataValue
              ? 'proportional'
              : 'additive'
            : 'identity'
          : 'real-world-size';
      }
      r.d(t, { a: () => s, b: () => n, g: () => a, i: () => i });
    },
    42788: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => n });
      let i = 0;
      function n() {
        return ++i;
      }
    },
    98402: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => p, b: () => g });
      var i = r(48027),
        n = r(96467),
        a = r(41864),
        s = r(76506),
        o = r(82426),
        l = (r(73173), r(82058), r(30831));
      function c(e) {
        for (const t of e) if ('number' == typeof t) return t;
        return null;
      }
      function u(e, t, r) {
        for (let i = 0; i < 3; i++) {
          const n = e[i];
          switch (n) {
            case 'symbol-value':
              return null != r[i] ? r[i] / t[i] : 1;
            case 'proportional':
              break;
            default:
              if (n && t[i]) return n / t[i];
          }
        }
        return 1;
      }
      function d(e, t, r, i) {
        switch (e) {
          case 'proportional':
            return r * i;
          case 'symbol-value':
            return null != t ? t : r;
          default:
            return e;
        }
      }
      async function p(e, t) {
        if (e && t)
          return (0, n.dU)(e)
            ? (async function (e, t) {
                const i = e.symbolLayers;
                i &&
                  (await (0, a.f)(i, async (e) =>
                    (async function (e, t) {
                      switch (e.type) {
                        case 'extrude':
                          !(function (e, t) {
                            e.size = 'number' == typeof t[2] ? t[2] : 0;
                          })(e, t);
                          break;
                        case 'icon':
                        case 'line':
                        case 'text':
                          !(function (e, t) {
                            const r = c(t);
                            (0, s.i)(r) && (e.size = r);
                          })(e, t);
                          break;
                        case 'path':
                          !(function (e, t) {
                            const r = u(t, o.O, [e.width, void 0, e.height]);
                            (e.width = d(t[0], e.width, 1, r)),
                              (e.height = d(t[2], e.height, 1, r));
                          })(e, t);
                          break;
                        case 'object':
                          await (async function (e, t) {
                            const { resourceSize: i, symbolSize: n } = await (async function (e) {
                                const t = await Promise.all([r.e(1801), r.e(1568)]).then(
                                    r.bind(r, 61568),
                                  ),
                                  i = await t.computeObjectLayerResourceSize(e, 10),
                                  { width: n, height: a, depth: s } = e,
                                  o = [n, s, a];
                                let l = 1;
                                for (let e = 0; e < 3; e++)
                                  if (null != o[e]) {
                                    l = o[e] / i[e];
                                    break;
                                  }
                                for (let e = 0; e < 3; e++) null == o[e] && (o[e] = i[e] * l);
                                return { resourceSize: i, symbolSize: o };
                              })(e),
                              a = u(t, i, n);
                            (e.width = d(t[0], n[0], i[0], a)),
                              (e.depth = d(t[1], n[1], i[1], a)),
                              (e.height = d(t[2], n[2], i[2], a));
                          })(e, t);
                      }
                    })(e, t),
                  ));
              })(e, t)
            : void (
                (0, n.cT)(e) &&
                (function (e, t) {
                  const r = c(t);
                  if (!(0, s.b)(r))
                    switch (e.type) {
                      case 'simple-marker':
                        e.size = r;
                        break;
                      case 'picture-marker': {
                        const t = e.width / e.height;
                        t > 1
                          ? ((e.width = r), (e.height = r * t))
                          : ((e.width = r * t), (e.height = r));
                        break;
                      }
                      case 'simple-line':
                        e.width = r;
                        break;
                      case 'text':
                        e.font.size = r;
                    }
                })(e, t)
              );
      }
      function g(e, t, r) {
        if (e && null != t)
          if ((0, n.dU)(e)) {
            const i = e.symbolLayers;
            i &&
              i.forEach((e) => {
                if (e && 'object' === e.type)
                  switch (r) {
                    case 'tilt':
                      e.tilt = t;
                      break;
                    case 'roll':
                      e.roll = t;
                      break;
                    default:
                      e.heading = t;
                  }
              });
          } else
            (0, n.cT)(e) &&
              (('simple-marker' !== e.type && 'picture-marker' !== e.type && 'text' !== e.type) ||
                (e.angle = t));
      }
      r(53269), r(20444), new l.I(1e3), new i.Z([128, 128, 128]), new i.Z('white');
    },
    7534: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => p, c: () => d, g: () => o }), r(76506);
      var i = r(22337);
      const n = 180 / Math.PI,
        a = function (e) {
          return (
            e &&
            'esri.layers.support.PixelBlock' === e.declaredClass &&
            e.pixels &&
            e.pixels.length > 0
          );
        },
        s = new Map();
      function o(e, t) {
        return s.get(e) / s.get(t) || 1;
      }
      function l(e) {
        return (450 - e) % 360;
      }
      function c(e, t = 'geographic') {
        const [r, i] = e,
          a = Math.sqrt(r * r + i * i);
        let s = Math.atan2(i, r) * n;
        return (s = (360 + s) % 360), 'geographic' === t && (s = l(s)), [a, s];
      }
      function u(e, t = 'geographic') {
        let r = e[1];
        'geographic' === t && (r = l(r)), (r %= 360);
        const i = e[0];
        return [i * Math.cos(r / n), i * Math.sin(r / n)];
      }
      function d(e, t, r = 'geographic', n = 1) {
        if (!a(e)) return e;
        const { pixels: s, width: o, height: l } = e,
          d = o * l,
          p = s[0],
          g = s[1],
          y = i.Z.createEmptyBand(e.pixelType, d),
          m = i.Z.createEmptyBand(e.pixelType, d);
        let h = 0;
        for (let e = 0; e < l; e++)
          for (let e = 0; e < o; e++)
            'vector-uv' === t
              ? (([y[h], m[h]] = c([p[h], g[h]], r)), (y[h] *= n))
              : (([y[h], m[h]] = u([p[h], g[h]], r)), (y[h] *= n), (m[h] *= n)),
              h++;
        const M = new i.Z({
          pixelType: e.pixelType,
          width: e.width,
          height: e.height,
          mask: e.mask,
          validPixelCount: e.validPixelCount,
          maskIsAlpha: e.maskIsAlpha,
          pixels: [y, m],
        });
        return M.updateStatistics(), M;
      }
      function p(e, t, r = 1) {
        if (1 === r || !a(e)) return e;
        const i = e.clone(),
          { pixels: n, width: s, height: o } = i,
          l = n[0],
          c = n[1];
        let u = 0;
        for (let e = 0; e < o; e++)
          for (let e = 0; e < s; e++)
            'vector-uv' === t ? ((l[u] *= r), (c[u] *= r)) : (l[u] *= r), u++;
        return i.updateStatistics(), i;
      }
      s.set('meter-per-second', 1),
        s.set('kilometer-per-hour', 0.277778),
        s.set('knots', 0.514444),
        s.set('feet-per-second', 0.3048),
        s.set('mile-per-hour', 0.44704);
    },
    74057: (e, t, r) => {
      'use strict';
      r.d(t, {
        PR: () => v,
        Lq: () => y,
        Km: () => m,
        cM: () => h,
        ap: () => M,
        V3: () => w,
        B3: () => g,
      });
      var i = r(48027),
        n = r(23761),
        a = r(48190),
        s = r(92143),
        o = r(76506),
        l = r(85557),
        c = r(52228);
      r(54174),
        r(82426),
        r(91306),
        r(31450),
        r(71552),
        r(40642),
        r(74569),
        r(21801),
        r(34250),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(73796),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(26341),
        r(97714),
        r(60947),
        r(2906),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(57251),
        r(32422),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(53785),
        r(95587);
      const u = s.L.getLogger('esri.renderers.visualVariables.support.visualVariableUtils'),
        d = new n.Z(),
        p = Math.PI,
        g = /^\s*(return\s+)?\$view\.scale\s*(;)?\s*$/i;
      function y(e, t, r) {
        const n =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'color' === e.type)[0]
            : e;
        if (!n) return;
        if ('esri.renderers.visualVariables.ColorVariable' !== n.declaredClass)
          return void u.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.ColorVariable',
          );
        const a = 'number' == typeof t,
          s = a ? null : t,
          l = s && s.attributes;
        let c = a ? t : null;
        const d = n.field,
          { ipData: p, hasExpression: g } = n.cache;
        let y = n.cache.compiledFunc;
        if (!d && !g) {
          const e = n.stops;
          return e && e[0] && e[0].color;
        }
        if ('number' != typeof c)
          if (g) {
            if (!(0, o.i)(r) || !(0, o.i)(r.arcade))
              return void u.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              i = t.getViewInfo(e),
              a = t.createExecContext(s, i);
            if (!y) {
              const e = t.createSyntaxTree(n.valueExpression);
              (y = t.createFunction(e)), (n.cache.compiledFunc = y);
            }
            c = t.executeFunction(y, a);
          } else l && (c = l[d]);
        const m = n.normalizationField,
          h = l ? parseFloat(l[m]) : void 0;
        if (null != c && (!m || a || (!isNaN(h) && 0 !== h))) {
          isNaN(h) || a || (c /= h);
          const e = b(c, p);
          if (e) {
            const t = e[0],
              a = e[1],
              s =
                t === a
                  ? n.stops[t].color
                  : i.Z.blendColors(
                      n.stops[t].color,
                      n.stops[a].color,
                      e[2],
                      (0, o.i)(r) ? r.color : void 0,
                    );
            return new i.Z(s);
          }
        }
      }
      function m(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'opacity' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.OpacityVariable' !== i.declaredClass)
          return void u.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.OpacityVariable',
          );
        const n = 'number' == typeof t,
          a = n ? null : t,
          s = a && a.attributes;
        let l = n ? t : null;
        const c = i.field,
          { ipData: d, hasExpression: p } = i.cache;
        let g = i.cache.compiledFunc;
        if (!c && !p) {
          const e = i.stops;
          return e && e[0] && e[0].opacity;
        }
        if ('number' != typeof l)
          if (p) {
            if ((0, o.b)(r) || (0, o.b)(r.arcade))
              return void u.error('Use of arcade expressions requires an arcade context');
            const e = {
                viewingMode: r.viewingMode,
                scale: r.scale,
                spatialReference: r.spatialReference,
              },
              t = r.arcade.arcadeUtils,
              n = t.getViewInfo(e),
              s = t.createExecContext(a, n);
            if (!g) {
              const e = t.createSyntaxTree(i.valueExpression);
              (g = t.createFunction(e)), (i.cache.compiledFunc = g);
            }
            l = t.executeFunction(g, s);
          } else s && (l = s[c]);
        const y = i.normalizationField,
          m = s ? parseFloat(s[y]) : void 0;
        if (null != l && (!y || n || (!isNaN(m) && 0 !== m))) {
          isNaN(m) || n || (l /= m);
          const e = b(l, d);
          if (e) {
            const t = e[0],
              r = e[1];
            if (t === r) return i.stops[t].opacity;
            {
              const n = i.stops[t].opacity;
              return n + (i.stops[r].opacity - n) * e[2];
            }
          }
        }
      }
      function h(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'rotation' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.RotationVariable' !== i.declaredClass)
          return void u.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.RotationVariable',
          );
        const n = i.axis || 'heading',
          a = 'heading' === n && 'arithmetic' === i.rotationType ? 90 : 0,
          s = 'heading' === n && 'arithmetic' === i.rotationType ? -1 : 1,
          l = 'number' == typeof t ? null : t,
          c = l && l.attributes,
          d = i.field,
          { hasExpression: p } = i.cache;
        let g = i.cache.compiledFunc,
          y = 0;
        if (!d && !p) return y;
        if (p) {
          if ((0, o.b)(r) || (0, o.b)(r.arcade))
            return void u.error('Use of arcade expressions requires an arcade context');
          const e = {
              viewingMode: r.viewingMode,
              scale: r.scale,
              spatialReference: r.spatialReference,
            },
            t = r.arcade.arcadeUtils,
            n = t.getViewInfo(e),
            a = t.createExecContext(l, n);
          if (!g) {
            const e = t.createSyntaxTree(i.valueExpression);
            (g = t.createFunction(e)), (i.cache.compiledFunc = g);
          }
          y = t.executeFunction(g, a);
        } else c && (y = c[d] || 0);
        return (y = 'number' != typeof y || isNaN(y) ? null : a + s * y), y;
      }
      function M(e, t, r) {
        const i =
          'visualVariables' in e && e.visualVariables
            ? e.visualVariables.filter((e) => 'size' === e.type)[0]
            : e;
        if (!i) return;
        if ('esri.renderers.visualVariables.SizeVariable' !== i.declaredClass)
          return void u.warn(
            'The visualVariable should be an instance of esri.renderers.visualVariables.SizeVariable',
          );
        const n = (function (e, t, r, i, n) {
          switch (t.transformationType) {
            case 'additive':
              return (function (e, t, r, i) {
                return e + (f(t.minSize, r, i) || t.minDataValue);
              })(e, t, r, i);
            case 'constant':
              return (function (e, t, r) {
                const i = e.stops;
                let n = i && i.length && i[0].size;
                return null == n && (n = e.minSize), f(n, t, r);
              })(t, r, i);
            case 'clamped-linear':
              return (function (e, t, r, i) {
                const n = (e - t.minDataValue) / (t.maxDataValue - t.minDataValue),
                  a = f(t.minSize, r, i),
                  s = f(t.maxSize, r, i),
                  l = (0, o.i)(i) ? i.shape : void 0;
                if (e <= t.minDataValue) return a;
                if (e >= t.maxDataValue) return s;
                if ('area' === t.scaleBy && l) {
                  const e = 'circle' === l,
                    t = e ? p * (a / 2) ** 2 : a * a,
                    r = t + n * ((e ? p * (s / 2) ** 2 : s * s) - t);
                  return e ? 2 * Math.sqrt(r / p) : Math.sqrt(r);
                }
                return a + n * (s - a);
              })(e, t, r, i);
            case 'proportional':
              return (function (e, t, r, i) {
                const n = (0, o.i)(i) ? i.shape : void 0,
                  a = e / t.minDataValue,
                  s = f(t.minSize, r, i),
                  l = f(t.maxSize, r, i);
                let c = null;
                return (
                  (c =
                    'circle' === n
                      ? 2 * Math.sqrt(a * (s / 2) ** 2)
                      : 'square' === n || 'diamond' === n || 'image' === n
                      ? Math.sqrt(a * s ** 2)
                      : a * s),
                  I(c, s, l)
                );
              })(e, t, r, i);
            case 'stops':
              return (function (e, t, r, i, n) {
                const [a, s, o] = b(e, n);
                if (a === s) return f(t.stops[a].size, r, i);
                {
                  const e = f(t.stops[a].size, r, i);
                  return e + (f(t.stops[s].size, r, i) - e) * o;
                }
              })(e, t, r, i, n);
            case 'real-world-size':
              return (function (e, t, r, i) {
                const n = ((0, o.i)(i) && i.resolution ? i.resolution : 1) * l.m[t.valueUnit],
                  a = f(t.minSize, r, i),
                  s = f(t.maxSize, r, i),
                  { valueRepresentation: c } = t;
                let u = null;
                return (
                  (u =
                    'area' === c
                      ? (2 * Math.sqrt(e / p)) / n
                      : 'radius' === c || 'distance' === c
                      ? (2 * e) / n
                      : e / n),
                  I(u, a, s)
                );
              })(e, t, r, i);
            case 'identity':
              return e;
            case 'unknown':
              return null;
          }
        })(
          (function (e, t, r) {
            const i = 'number' == typeof t,
              n = i ? null : t,
              a = n && n.attributes;
            let s = i ? t : null;
            const { isScaleDriven: l } = e.cache;
            let d = e.cache.compiledFunc;
            if (l) {
              const t = (0, o.i)(r) ? r.scale : void 0,
                i = (0, o.i)(r) ? r.view : void 0;
              s =
                null == t || '3d' === i
                  ? (function (e) {
                      let t = null,
                        r = null;
                      const i = e.stops;
                      return (
                        i
                          ? ((t = i[0].value), (r = i[i.length - 1].value))
                          : ((t = e.minDataValue || 0), (r = e.maxDataValue || 0)),
                        (t + r) / 2
                      );
                    })(e)
                  : t;
            } else if (!i)
              switch (e.inputValueType) {
                case 'expression': {
                  if ((0, o.b)(r) || (0, o.b)(r.arcade))
                    return void u.error('Use of arcade expressions requires an arcade context');
                  const t = {
                      viewingMode: r.viewingMode,
                      scale: r.scale,
                      spatialReference: r.spatialReference,
                    },
                    i = r.arcade.arcadeUtils,
                    a = i.getViewInfo(t),
                    l = i.createExecContext(n, a);
                  if (!d) {
                    const t = i.createSyntaxTree(e.valueExpression);
                    (d = i.createFunction(t)), (e.cache.compiledFunc = d);
                  }
                  s = i.executeFunction(d, l);
                  break;
                }
                case 'field':
                  a && (s = a[e.field]);
                  break;
                case 'unknown':
                  s = null;
              }
            if (!(0, c.b)(s)) return null;
            if (i || !e.normalizationField) return s;
            const p = a ? parseFloat(a[e.normalizationField]) : null;
            return (0, c.b)(p) && 0 !== p ? s / p : null;
          })(i, t, r),
          i,
          t,
          r,
          i.cache.ipData,
        );
        return null == n || isNaN(n) ? 0 : n;
      }
      function f(e, t, r) {
        return null == e ? null : (0, c.i)(e) ? M(e, t, r) : (0, c.b)(e) ? e : null;
      }
      function I(e, t, r) {
        return (0, c.b)(r) && e > r ? r : (0, c.b)(t) && e < t ? t : e;
      }
      function w(e, t, r) {
        const { isScaleDriven: i } = e.cache;
        if (!((i && '3d' === r) || t)) return null;
        const n = { scale: t, view: r };
        let a = f(e.minSize, d, n),
          s = f(e.maxSize, d, n);
        if (null != a || null != s) {
          if (a > s) {
            const e = s;
            (s = a), (a = e);
          }
          return { minSize: a, maxSize: s };
        }
      }
      function b(e, t) {
        if (!t) return;
        let r = 0,
          i = t.length - 1;
        return (
          t.some((t, n) => (e < t ? ((i = n), !0) : ((r = n), !1))),
          [r, i, (e - t[r]) / (t[i] - t[r])]
        );
      }
      function v(e, t, r) {
        const i = ['proportional', 'proportional', 'proportional'];
        for (const n of e) {
          const e = n.useSymbolValue ? 'symbol-value' : M(n, t, r);
          switch (n.axis) {
            case 'width':
              i[0] = e;
              break;
            case 'depth':
              i[1] = e;
              break;
            case 'height':
              i[2] = e;
              break;
            case 'width-and-depth':
              (i[0] = e), (i[1] = e);
              break;
            case 'all':
            case void 0:
            case null:
              (i[0] = e), (i[1] = e), (i[2] = e);
              break;
            default:
              (0, a.n)(n.axis);
          }
        }
        return i;
      }
    },
    46987: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var i = r(22723),
        n = r(92143),
        a = r(50406),
        s = r(37453);
      r(76506), r(31450), r(71552), r(40642), r(60991), r(81172), r(88762), r(32101);
      const o = n.L.getLogger('esri.core.workers.Connection'),
        l = class {
          constructor() {
            (this._clients = new Array()),
              (this._clientPromises = new Array()),
              (this._clientIdx = 0);
          }
          destroy() {
            this.close();
          }
          get closed() {
            return !this._clients || !this._clients.length;
          }
          open(e, t) {
            return new Promise((r, i) => {
              let n = !0;
              const o = (e) => {
                (0, a.k_)(t.signal), n && ((n = !1), e());
              };
              (this._clients.length = e.length), (this._clientPromises.length = e.length);
              for (let n = 0; n < e.length; ++n) {
                const l = e[n];
                (0, a.y8)(l)
                  ? (this._clientPromises[n] = l.then(
                      (e) => ((this._clients[n] = new s.default(e, t)), o(r), this._clients[n]),
                      () => (o(i), null),
                    ))
                  : ((this._clients[n] = new s.default(l, t)),
                    (this._clientPromises[n] = Promise.resolve(this._clients[n])),
                    o(r));
              }
            });
          }
          broadcast(e, t, r) {
            const i = new Array(this._clientPromises.length);
            for (let n = 0; n < this._clientPromises.length; ++n) {
              const a = this._clientPromises[n];
              i[n] = a.then((i) => i.invoke(e, t, r));
            }
            return i;
          }
          close() {
            for (const e of this._clientPromises) e.then((e) => e.close());
            (this._clients.length = 0), (this._clientPromises.length = 0);
          }
          getAvailableClient() {
            let e;
            for (let t = 0; t < this._clients.length; ++t) {
              const r = this._clients[t];
              if (r) {
                if (!r.isBusy()) return Promise.resolve(r);
              } else (e = e || []), e.push(this._clientPromises[t]);
            }
            return e
              ? Promise.race(e)
              : ((this._clientIdx = (this._clientIdx + 1) % this._clients.length),
                Promise.resolve(this._clients[this._clientIdx]));
          }
          invoke(e, t, r) {
            let i = null;
            return (
              Array.isArray(r)
                ? (o.warn(
                    'invoke()',
                    'The transferList parameter is deprecated, use the options object instead',
                  ),
                  (i = { transferList: r }))
                : (i = r),
              this.closed
                ? Promise.reject(new Error('Connection closed'))
                : this.getAvailableClient().then((r) => r.invoke(e, t, i))
            );
          }
          on(e, t) {
            return Promise.all(this._clientPromises).then(() =>
              (0, i.h)(this._clients.map((r) => r.on(e, t))),
            );
          }
          openPorts() {
            return new Promise((e) => {
              const t = new Array(this._clientPromises.length);
              let r = t.length;
              for (let i = 0; i < this._clientPromises.length; ++i)
                this._clientPromises[i].then((n) => {
                  (t[i] = n.openPort()), 0 == --r && e(t);
                });
            });
          }
          get test() {
            return { numClients: this._clients.length };
          }
        };
    },
    65514: (e, t, r) => {
      'use strict';
      r.d(t, { bA: () => E, Mz: () => H });
      var i = r(60991),
        n = r(76506),
        a = r(50406),
        s = r(46987),
        o = r(37453),
        l = r(88762),
        c = r(92143),
        u = r(73173),
        d = r(31450),
        p = (r(66284), r(32101)),
        g = r(3482);
      r(81172), r(71552), r(40642), r(22723), r(82058), r(33921), r(57251);
      let y = null;
      y = (0, p.hF)((0, u.g)('esri/core/workers/init.js'));
      const m = {};
      (m.baseUrl = (0, p.hF)((0, u.g)('dojo/'))),
        (m.packages = [{ name: 'esri', location: '../esri' }]);
      class h {
        constructor() {
          const e = document.createDocumentFragment();
          ['addEventListener', 'dispatchEvent', 'removeEventListener'].forEach((t) => {
            this[t] = (...r) => e[t](...r);
          });
        }
      }
      const M = n.g.MutationObserver || n.g.WebKitMutationObserver,
        f = (function () {
          let e;
          if (n.g.process && n.g.process.nextTick)
            e = (e) => {
              n.g.process.nextTick(e);
            };
          else if (n.g.Promise)
            e = (e) => {
              n.g.Promise.resolve().then(e);
            };
          else if (M) {
            const t = [],
              r = document.createElement('div');
            new M(() => {
              for (; t.length > 0; ) t.shift()();
            }).observe(r, { attributes: !0 }),
              (e = (e) => {
                t.push(e), r.setAttribute('queueStatus', '1');
              });
          }
          return e;
        })(),
        I = (() => {
          const e = n.g.MessageEvent;
          try {
            new e('message', { data: null });
          } catch {
            return (e, t = {}) => {
              const { data: r, bubbles: i = !1, cancelable: n = !1 } = t,
                a = document.createEvent('Event');
              return a.initEvent(e, i, n), (a.data = r), a;
            };
          }
          return (t, r) => new e(t, r);
        })();
      class w {
        constructor() {
          (this._dispatcher = new h()), this._workerPostMessage({ type: o.M.HANDSHAKE });
        }
        terminate() {}
        get onmessage() {
          return this._onmessageHandler;
        }
        set onmessage(e) {
          this._onmessageHandler && this.removeEventListener('message', this._onmessageHandler),
            (this._onmessageHandler = e),
            e && this.addEventListener('message', e);
        }
        get onmessageerror() {
          return this._onmessageerrorHandler;
        }
        set onmessageerror(e) {
          this._onmessageerrorHandler &&
            this.removeEventListener('messageerror', this._onmessageerrorHandler),
            (this._onmessageerrorHandler = e),
            e && this.addEventListener('messageerror', e);
        }
        get onerror() {
          return this._onerrorHandler;
        }
        set onerror(e) {
          this._onerrorHandler && this.removeEventListener('error', this._onerrorHandler),
            (this._onerrorHandler = e),
            e && this.addEventListener('error', e);
        }
        postMessage(e) {
          f(() => {
            this._workerMessageHandler(I('message', { data: e }));
          });
        }
        dispatchEvent(e) {
          return this._dispatcher.dispatchEvent(e);
        }
        addEventListener(e, t, r) {
          this._dispatcher.addEventListener(e, t, r);
        }
        removeEventListener(e, t, r) {
          this._dispatcher.removeEventListener(e, t, r);
        }
        _workerPostMessage(e) {
          f(() => {
            this.dispatchEvent(I('message', { data: e }));
          });
        }
        async _workerMessageHandler(e) {
          const t = (0, o.r)(e);
          if (t && t.type === o.M.OPEN) {
            const { modulePath: e, jobId: r } = t;
            let i = await o.default.loadWorker(e);
            i || (i = await import(e));
            const n = o.default.connect(i);
            this._workerPostMessage({ type: o.M.OPENED, jobId: r, data: n });
          }
        }
      }
      const b = c.L.getLogger('esri.core.workers'),
        { HANDSHAKE: v } = o.M;
      let A, C;
      const D = 'Failed to create Worker. Fallback to execute module in main thread';
      async function T(e) {
        return new Promise((t) => {
          function r(n) {
            const a = (0, o.r)(n);
            a &&
              a.type === v &&
              (e.removeEventListener('message', r), e.removeEventListener('error', i), t(e));
          }
          function i(t) {
            t.preventDefault(),
              e.removeEventListener('message', r),
              e.removeEventListener('error', i),
              b.warn('Failed to create Worker. Fallback to execute module in main thread', t),
              (e = new w()).addEventListener('message', r),
              e.addEventListener('error', i);
          }
          e.addEventListener('message', r), e.addEventListener('error', i);
        });
      }
      let L = 0;
      const S = c.L.getLogger('esri.core.workers'),
        { ABORT: j, INVOKE: N, OPEN: x, OPENED: Z, RESPONSE: z } = o.M;
      class k {
        constructor(e, t) {
          (this._outJobs = new Map()),
            (this._inJobs = new Map()),
            (this.worker = e),
            (this.id = t),
            e.addEventListener('message', this._onMessage.bind(this)),
            e.addEventListener('error', (e) => {
              e.preventDefault(), S.error(e);
            });
        }
        static async create(e) {
          const t = await (async function () {
            if (!(0, n.h)('esri-workers')) return T(new w());
            if (!A && !C)
              try {
                const e = 'let globalId=0;const outgoing=new Map,configuration=JSON.parse("{CONFIGURATION}");self.esriConfig=configuration.esriConfig;const workerPath=self.esriConfig.workers.workerPath,HANDSHAKE=0,OPEN=1,OPENED=2,RESPONSE=3,INVOKE=4,ABORT=5;function createAbortError(){const e=new Error("Aborted");return e.name="AbortError",e}function receiveMessage(e){return e&&e.data?"string"==typeof e.data?JSON.parse(e.data):e.data:null}function invokeStaticMessage(e,o,r){const t=r&&r.signal,n=globalId++;return new Promise(((r,i)=>{if(t){if(t.aborted)return i(createAbortError());t.addEventListener("abort",(()=>{outgoing.get(n)&&(outgoing.delete(n),self.postMessage({type:5,jobId:n}),i(createAbortError()))}))}outgoing.set(n,{resolve:r,reject:i}),self.postMessage({type:4,jobId:n,methodName:e,abortable:null!=t,data:o})}))}let workerRevisionChecked=!1;function checkWorkerRevision(e){if(!workerRevisionChecked&&e.kernelInfo){workerRevisionChecked=!0;const{revision:o,buildDate:r,version:t}=configuration.kernelInfo,{revision:n,buildDate:i,version:s}=e.kernelInfo;o!==n&&console.warn(`[esri.core.workers] Version mismatch detected between ArcGIS API for JavaScript and assets:\nAPI version: ${t} [Date: ${r}, Revision: ${o.slice(0,8)}]\nAssets version: ${s} [Date: ${i}, Revision: ${n.slice(0,8)}]`)}}function messageHandler(e){const o=receiveMessage(e);if(!o)return;const r=o.jobId;switch(o.type){case 1:let e;function t(o){const t=e.connect(o);self.postMessage({type:2,jobId:r,data:t},[t])}"function"==typeof define&&define.amd?require([workerPath],(r=>{e=r.default||r,checkWorkerRevision(e),e.loadWorker(o.modulePath).then((e=>e||new Promise((e=>{require([o.modulePath],e)})))).then(t)})):"System"in self&&"function"==typeof System.import?System.import(workerPath).then((r=>(e=r.default,checkWorkerRevision(e),e.loadWorker(o.modulePath)))).then((e=>e||System.import(o.modulePath))).then(t):(self.RemoteClient||importScripts(workerPath),e=self.RemoteClient.default||self.RemoteClient,checkWorkerRevision(e),e.loadWorker(o.modulePath).then(t));break;case 3:if(outgoing.has(r)){const e=outgoing.get(r);outgoing.delete(r),o.error?e.reject(JSON.parse(o.error)):e.resolve(o.data)}}}self.dojoConfig=configuration.loaderConfig,esriConfig.workers.loaderUrl&&(self.importScripts(esriConfig.workers.loaderUrl),"function"==typeof require&&"function"==typeof require.config&&require.config(configuration.loaderConfig)),self.addEventListener("message",messageHandler),self.postMessage({type:0});'.replace(
                  '"{CONFIGURATION}"',
                  `'${(function () {
                    let e;
                    if (null != d.Z.default) {
                      const t = { ...d.Z };
                      delete t.default, (e = JSON.parse(JSON.stringify(t)));
                    } else e = JSON.parse(JSON.stringify(d.Z));
                    (e.assetsPath = (0, p.hF)(e.assetsPath)),
                      (e.request.interceptors = []),
                      (e.log.interceptors = []),
                      (e.locale = (0, g.g)()),
                      (e.has = {
                        'csp-restrictions': (0, n.h)('csp-restrictions'),
                        'esri-2d-debug': !1,
                        'esri-2d-update-debug': (0, n.h)('esri-2d-update-debug'),
                        'esri-2d-query-centroid-enabled': (0, n.h)(
                          'esri-2d-query-centroid-enabled',
                        ),
                        'featurelayer-pbf': (0, n.h)('featurelayer-pbf'),
                        'esri-atomics': (0, n.h)('esri-atomics'),
                        'esri-shared-array-buffer': (0, n.h)('esri-shared-array-buffer'),
                        'esri-tiles-debug': (0, n.h)('esri-tiles-debug'),
                        'esri-workers-arraybuffer-transfer': (0, n.h)(
                          'esri-workers-arraybuffer-transfer',
                        ),
                        'host-webworker': 1,
                      }),
                      e.workers.loaderUrl
                        ? (e.workers.loaderUrl = (0, p.hF)(e.workers.loaderUrl))
                        : y && (e.workers.loaderUrl = y),
                      e.workers.workerPath
                        ? (e.workers.workerPath = (0, p.hF)(e.workers.workerPath))
                        : (e.workers.workerPath = 'esri/core/workers/RemoteClient');
                    const t = d.Z.workers.loaderConfig,
                      r = (function (e) {
                        var t;
                        const r = {
                          async: e.async,
                          isDebug: e.isDebug,
                          locale: e.locale,
                          baseUrl: e.baseUrl,
                          has: { ...e.has },
                          map: { ...e.map },
                          packages: (e.packages && e.packages.concat()) || [],
                          paths: { ...e.paths },
                        };
                        return (
                          e.hasOwnProperty('async') || (r.async = !0),
                          e.hasOwnProperty('isDebug') || (r.isDebug = !1),
                          e.baseUrl || (r.baseUrl = m.baseUrl),
                          null == (t = m.packages) ||
                            t.forEach((e) => {
                              !(function (e, t) {
                                for (const r of e) if (r.name === t.name) return;
                                e.push(t);
                              })(r.packages, e);
                            }),
                          r
                        );
                      })({
                        baseUrl: null == t ? void 0 : t.baseUrl,
                        locale: (0, g.g)(),
                        has: {
                          'csp-restrictions': (0, n.h)('csp-restrictions'),
                          'dojo-test-sniff': 0,
                          'host-webworker': 1,
                          ...(null == t ? void 0 : t.has),
                        },
                        map: { ...(null == t ? void 0 : t.map) },
                        paths: { ...(null == t ? void 0 : t.paths) },
                        packages: (null == t ? void 0 : t.packages) || [],
                      }),
                      i = { version: l.i8, buildDate: l.rh, revision: l.LB };
                    return JSON.stringify({ esriConfig: e, loaderConfig: r, kernelInfo: i });
                  })()}'`,
                );
                A = URL.createObjectURL(new Blob([e], { type: 'text/javascript' }));
              } catch (e) {
                C = e || {};
              }
            let e;
            if (A)
              try {
                e = new Worker(A, { name: 'esri-worker-' + L++ });
              } catch (t) {
                b.warn(D, C), (e = new w());
              }
            else b.warn(D, C), (e = new w());
            return T(e);
          })();
          return new k(t, e);
        }
        terminate() {
          this.worker.terminate();
        }
        async open(e, t = {}) {
          const { signal: r } = t,
            i = (0, o.n)();
          return new Promise((t, n) => {
            const s = {
              resolve: t,
              reject: n,
              abortHandle: (0, a.$F)(r, () => {
                this._outJobs.delete(i), this._post({ type: j, jobId: i });
              }),
            };
            this._outJobs.set(i, s), this._post({ type: x, jobId: i, modulePath: e });
          });
        }
        _onMessage(e) {
          const t = (0, o.r)(e);
          if (t)
            switch (t.type) {
              case Z:
                this._onOpenedMessage(t);
                break;
              case z:
                this._onResponseMessage(t);
                break;
              case j:
                this._onAbortMessage(t);
                break;
              case N:
                this._onInvokeMessage(t);
            }
        }
        _onAbortMessage(e) {
          const t = this._inJobs,
            r = e.jobId,
            i = t.get(r);
          i && (i.controller && i.controller.abort(), t.delete(r));
        }
        _onInvokeMessage(e) {
          const { methodName: t, jobId: r, data: i, abortable: n } = e,
            s = n ? (0, a.yi)() : null,
            c = this._inJobs,
            u = l.Nv[t];
          let d;
          try {
            if ('function' != typeof u) throw new TypeError(`${t} is not a function`);
            d = u.call(null, i, { signal: s ? s.signal : null });
          } catch (e) {
            return void this._post({ type: z, jobId: r, error: (0, o.t)(e) });
          }
          (0, a.y8)(d)
            ? (c.set(r, { controller: s, promise: d }),
              d.then(
                (e) => {
                  c.has(r) && (c.delete(r), this._post({ type: z, jobId: r }, e));
                },
                (e) => {
                  c.has(r) &&
                    (c.delete(r),
                    e || (e = { message: 'Error encountered at method' + t }),
                    (0, a.D_)(e) ||
                      this._post({
                        type: z,
                        jobId: r,
                        error: (0, o.t)(e || { message: `Error encountered at method ${t}` }),
                      }));
                },
              ))
            : this._post({ type: z, jobId: r }, d);
        }
        _onOpenedMessage(e) {
          var t;
          const { jobId: r, data: i } = e,
            n = this._outJobs.get(r);
          n && (this._outJobs.delete(r), null == (t = n.abortHandle) || t.remove(), n.resolve(i));
        }
        _onResponseMessage(e) {
          var t;
          const { jobId: r, error: n, data: a } = e,
            s = this._outJobs.get(r);
          s &&
            (this._outJobs.delete(r),
            null == (t = s.abortHandle) || t.remove(),
            n ? s.reject(i.Z.fromJSON(JSON.parse(n))) : s.resolve(a));
        }
        _post(e, t, r) {
          return (0, o.p)(this.worker, e, t, r);
        }
      }
      let _ = (0, n.h)('esri-workers-debug')
        ? 1
        : (0, n.h)('host-browser')
        ? navigator.hardwareConcurrency - 1
        : 0;
      _ || (_ = ((0, n.h)('safari') && (0, n.h)('mac')) || (0, n.h)('trident') ? 7 : 2);
      let B = 0;
      const U = [];
      function H(e, t) {
        return P(e, { client: t });
      }
      async function P(e, t) {
        const r = new s.Z();
        return await r.open(e, t), r;
      }
      async function E(e, t = {}) {
        if ('string' != typeof e)
          throw new i.Z('workers:undefined-module', 'modulePath is missing');
        let r = t.strategy || 'distributed';
        if (
          ((0, n.h)('host-webworker') && !(0, n.h)('esri-workers') && (r = 'local'), 'local' === r)
        ) {
          let r = await o.default.loadWorker(e);
          r || (r = await import(e)), (0, a.k_)(t.signal);
          const i = t.client || r;
          return P([o.default.connect(r)], { ...t, client: i });
        }
        if (
          (await (async function () {
            if (V) return V;
            R = (0, a.yi)();
            const e = [];
            for (let t = 0; t < _; t++) {
              const r = k.create(t).then((e) => ((U[t] = e), e));
              e.push(r);
            }
            return (V = Promise.all(e)), V;
          })(),
          (0, a.k_)(t.signal),
          'dedicated' === r)
        ) {
          const r = B++ % _;
          return P([await U[r].open(e, t)], t);
        }
        if (t.maxNumWorkers && t.maxNumWorkers > 0) {
          const r = Math.min(t.maxNumWorkers, _);
          if (r < _) {
            const i = new Array(r);
            for (let n = 0; n < r; ++n) {
              const r = B++ % _;
              i[n] = U[r].open(e, t);
            }
            return P(i, t);
          }
        }
        return P(
          U.map((r) => r.open(e, t)),
          t,
        );
      }
      let R,
        V = null;
    },
    66827: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => d });
      var i,
        n = r(29768),
        a = r(74673),
        s = r(76506),
        o = r(34250),
        l = r(91306),
        c = (r(92143), r(17533));
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341);
      let u = (i = class extends a.a {
        constructor(e) {
          super(e),
            (this.variableName = null),
            (this.dimensionName = null),
            (this.values = []),
            (this.isSlice = !1);
        }
        clone() {
          return new i({
            variableName: this.variableName,
            dimensionName: this.dimensionName,
            values: (0, s.d9)(this.values),
            isSlice: this.isSlice,
          });
        }
      });
      (0, n._)(
        [(0, o.Cb)({ type: String, json: { write: !0 } })],
        u.prototype,
        'variableName',
        void 0,
      ),
        (0, n._)(
          [(0, o.Cb)({ type: String, json: { write: !0 } })],
          u.prototype,
          'dimensionName',
          void 0,
        ),
        (0, n._)(
          [
            (0, o.Cb)({
              type: l.t.array(l.t.oneOf([l.t.native(Number), l.t.array(l.t.native(Number))])),
              json: { write: !0 },
            }),
          ],
          u.prototype,
          'values',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: Boolean, json: { write: !0 } })],
          u.prototype,
          'isSlice',
          void 0,
        ),
        (u = i = (0, n._)([(0, c.j)('esri.layers.support.DimensionalDefinition')], u));
      const d = u;
    },
    97546: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => h });
      var i,
        n = r(29768),
        a = r(57251),
        s = r(74673),
        o = r(34250),
        l = (r(76506), r(91306)),
        c = (r(92143), r(59465)),
        u = r(97714),
        d = r(17533),
        p = r(9801),
        g = r(54732);
      r(71552),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(40642),
        r(26341),
        r(53523),
        r(42911),
        r(46826),
        r(45433);
      const y = new a.J({
        binary: 'binary',
        coordinate: 'coordinate',
        countOrAmount: 'count-or-amount',
        dateAndTime: 'date-and-time',
        description: 'description',
        locationOrPlaceName: 'location-or-place-name',
        measurement: 'measurement',
        nameOrTitle: 'name-or-title',
        none: 'none',
        orderedOrRanked: 'ordered-or-ranked',
        percentageOrRatio: 'percentage-or-ratio',
        typeOrCategory: 'type-or-category',
        uniqueIdentifier: 'unique-identifier',
      });
      let m = (i = class extends s.a {
        constructor(e) {
          super(e),
            (this.alias = null),
            (this.defaultValue = void 0),
            (this.description = null),
            (this.domain = null),
            (this.editable = !0),
            (this.length = -1),
            (this.name = null),
            (this.nullable = !0),
            (this.type = null),
            (this.valueType = null);
        }
        readDescription(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? r.value : null;
        }
        readValueType(e, { description: t }) {
          let r;
          try {
            r = JSON.parse(t);
          } catch (e) {}
          return r ? y.fromJSON(r.fieldValueType) : null;
        }
        clone() {
          return new i({
            alias: this.alias,
            defaultValue: this.defaultValue,
            description: this.description,
            domain: (this.domain && this.domain.clone()) || null,
            editable: this.editable,
            length: this.length,
            name: this.name,
            nullable: this.nullable,
            type: this.type,
            valueType: this.valueType,
          });
        }
      });
      (0, n._)([(0, o.Cb)({ type: String, json: { write: !0 } })], m.prototype, 'alias', void 0),
        (0, n._)(
          [(0, o.Cb)({ type: [String, Number], json: { write: { allowNull: !0 } } })],
          m.prototype,
          'defaultValue',
          void 0,
        ),
        (0, n._)([(0, o.Cb)()], m.prototype, 'description', void 0),
        (0, n._)([(0, u.r)('description')], m.prototype, 'readDescription', null),
        (0, n._)(
          [(0, o.Cb)({ types: p.t, json: { read: { reader: p.f }, write: !0 } })],
          m.prototype,
          'domain',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: Boolean, json: { write: !0 } })],
          m.prototype,
          'editable',
          void 0,
        ),
        (0, n._)([(0, o.Cb)({ type: l.I, json: { write: !0 } })], m.prototype, 'length', void 0),
        (0, n._)([(0, o.Cb)({ type: String, json: { write: !0 } })], m.prototype, 'name', void 0),
        (0, n._)(
          [(0, o.Cb)({ type: Boolean, json: { write: !0 } })],
          m.prototype,
          'nullable',
          void 0,
        ),
        (0, n._)([(0, c.e)(g.k)], m.prototype, 'type', void 0),
        (0, n._)([(0, o.Cb)()], m.prototype, 'valueType', void 0),
        (0, n._)([(0, u.r)('valueType', ['description'])], m.prototype, 'readValueType', null),
        (m = i = (0, n._)([(0, d.j)('esri.layers.support.Field')], m));
      const h = m;
    },
    88678: (e, t, r) => {
      'use strict';
      r.d(t, { dr: () => u, ij: () => g, FK: () => d });
      var i = r(17533),
        n = r(55306),
        a = r(81050),
        s = r(76223),
        o = r(86951),
        l = r(95310),
        c = r(84225);
      r(76506),
        r(91306),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(81172),
        r(86656),
        r(22723),
        r(96467),
        r(63571),
        r(34250),
        r(59465),
        r(57251),
        r(97714),
        r(2906),
        r(14249),
        r(60991),
        r(9801),
        r(53523),
        r(74673),
        r(21972),
        r(23639),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(26341),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(74569),
        r(21801),
        r(73796),
        r(60947),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(32422),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(15324),
        r(76996),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(33921),
        r(3482),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(65684),
        r(12158),
        r(74864),
        r(63683),
        r(94479),
        r(45702),
        r(51127),
        r(74071),
        r(51723),
        r(23243),
        r(51669),
        r(6090),
        r(3977),
        r(36741),
        r(11253),
        r(90319),
        r(38822),
        r(74057),
        r(23761),
        r(86748),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(48190),
        r(85557),
        r(53785),
        r(95587),
        r(94070),
        r(16218),
        r(9075),
        r(67541),
        r(55436),
        r(62484),
        r(93939),
        r(238),
        r(71831),
        r(49500),
        r(95533),
        r(94751),
        r(7534),
        r(22337),
        r(98402),
        r(41864),
        r(30831),
        r(91700),
        r(53269);
      const u = {
          key: 'type',
          base: null,
          typeMap: {
            'unique-value': l.Z,
            'class-breaks': n.Z,
            'raster-colormap': a.Z,
            'raster-stretch': o.Z,
            'vector-field': c.Z,
            'raster-shaded-relief': s.Z,
          },
        },
        d = { ...u, typeMap: { ...u.typeMap } };
      delete d.typeMap['vector-field'];
      const p = {
        uniqueValue: l.Z,
        classBreaks: n.Z,
        rasterStretch: o.Z,
        rasterColormap: a.Z,
        vectorField: c.Z,
        rasterShadedRelief: s.Z,
      };
      function g(e, t) {
        if (!e) return null;
        if ('classBreaks' === e.type && e.classificationMethod) {
          const t = e.authoringInfo || { classificationMethod: '' };
          (t.classificationMethod = e.classificationMethod), (e.authoringInfo = t);
        }
        const r = ((n = e) && p[n.type]) || null;
        var n;
        if (r) {
          const i = new r();
          return i.read(e, t), i;
        }
        return (
          t &&
            t.messages &&
            e &&
            t.messages.push(
              new i.W(
                'renderer:unsupported',
                "Renderers of type '" + (e.type || 'unknown') + "' are not supported",
                { definition: e, context: t },
              ),
            ),
          null
        );
      }
    },
    81050: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => p });
      var i,
        n = r(29768),
        a = r(74673),
        s = r(34250),
        o = (r(76506), r(91306), r(92143), r(59465)),
        l = r(17533),
        c = r(55436),
        u = r(62484);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341),
        r(57251),
        r(48027),
        r(54174),
        r(82426);
      let d = (i = class extends a.a {
        constructor(e) {
          super(e), (this.colormapInfos = null), (this.type = 'raster-colormap');
        }
        static createFromColormap(e, t) {
          if (!e) return null;
          const r = 5 === e[0].length,
            n = [...e]
              .sort((e) => e[0][0] - e[1][0])
              .map((e) => {
                var i;
                return c.Z.fromJSON({
                  value: e[0],
                  color: r ? e.slice(1, 5) : e.slice(1, 4).concat([255]),
                  label: t ? (null != (i = t[e[0]]) ? i : '') : e[0],
                });
              });
          return new i({ colormapInfos: n });
        }
        static createFromColorramp(e) {
          const t = (0, u.c)(e, 256);
          return i.createFromColormap(t);
        }
        clone() {
          return new i({ colormapInfos: this.colormapInfos.map((e) => e.toJSON()) });
        }
        extractColormap() {
          return this.colormapInfos
            .map((e) => [
              e.value,
              e.color.r,
              e.color.g,
              e.color.b,
              e.color.a > 1 ? e.color.a : (255 * e.color.a) & 255,
            ])
            .sort((e, t) => e[0] - t[0]);
        }
      });
      (0, n._)(
        [(0, s.Cb)({ type: [c.Z], json: { write: !0 } })],
        d.prototype,
        'colormapInfos',
        void 0,
      ),
        (0, n._)([(0, o.e)({ rasterColormap: 'raster-colormap' })], d.prototype, 'type', void 0),
        (d = i = (0, n._)([(0, l.j)('esri.renderers.RasterColormapRenderer')], d));
      const p = d;
    },
    76223: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => g });
      var i,
        n = r(29768),
        a = r(74673),
        s = r(76506),
        o = r(34250),
        l = (r(91306), r(92143), r(59465)),
        c = r(97714),
        u = r(17533),
        d = r(63683);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341),
        r(57251),
        r(94479),
        r(48027),
        r(54174),
        r(82426),
        r(45702),
        r(51127);
      let p = (i = class extends a.a {
        constructor(e) {
          super(e),
            (this.altitude = 45),
            (this.azimuth = 315),
            (this.colorRamp = null),
            (this.hillshadeType = 'multi-directional'),
            (this.pixelSizePower = 0.664),
            (this.pixelSizeFactor = 0.024),
            (this.scalingType = 'none'),
            (this.type = 'raster-shaded-relief'),
            (this.zFactor = 1);
        }
        readColorRamp(e) {
          return (0, d.f)(e);
        }
        clone() {
          return new i({
            hillshadeType: this.hillshadeType,
            altitude: this.altitude,
            azimuth: this.azimuth,
            zFactor: this.zFactor,
            scalingType: this.scalingType,
            pixelSizeFactor: this.pixelSizeFactor,
            pixelSizePower: this.pixelSizePower,
            colorRamp: (0, s.d9)(this.colorRamp),
          });
        }
      });
      (0, n._)([(0, o.Cb)({ type: Number, json: { write: !0 } })], p.prototype, 'altitude', void 0),
        (0, n._)(
          [(0, o.Cb)({ type: Number, json: { write: !0 } })],
          p.prototype,
          'azimuth',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ types: d.t, json: { write: !0 } })],
          p.prototype,
          'colorRamp',
          void 0,
        ),
        (0, n._)([(0, c.r)('colorRamp')], p.prototype, 'readColorRamp', null),
        (0, n._)(
          [(0, o.Cb)({ type: ['traditional', 'multi-directional'], json: { write: !0 } })],
          p.prototype,
          'hillshadeType',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: Number, json: { write: !0 } })],
          p.prototype,
          'pixelSizePower',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: Number, json: { write: !0 } })],
          p.prototype,
          'pixelSizeFactor',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: ['none', 'adjusted'], json: { write: !0 } })],
          p.prototype,
          'scalingType',
          void 0,
        ),
        (0, n._)(
          [(0, l.e)({ rasterShadedRelief: 'raster-shaded-relief' })],
          p.prototype,
          'type',
          void 0,
        ),
        (0, n._)(
          [(0, o.Cb)({ type: Number, json: { write: !0 } })],
          p.prototype,
          'zFactor',
          void 0,
        ),
        (p = i = (0, n._)([(0, u.j)('esri.renderers.RasterShadedReliefRenderer')], p));
      const g = p;
    },
    86951: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => f, s: () => y });
      var i = r(29768),
        n = r(74673),
        a = r(76506),
        s = r(34250),
        o = r(91306),
        l = (r(92143), r(59465)),
        c = r(97714),
        u = r(17533),
        d = r(2906),
        p = r(57251),
        g = r(63683);
      r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(71552),
        r(31450),
        r(40642),
        r(26341),
        r(94479),
        r(48027),
        r(54174),
        r(82426),
        r(45702),
        r(51127);
      const y = new p.J({
          none: 'none',
          standardDeviation: 'standard-deviation',
          histogramEqualization: 'histogram-equalization',
          minMax: 'min-max',
          percentClip: 'percent-clip',
          sigmoid: 'sigmoid',
        }),
        m = {
          0: 'none',
          3: 'standardDeviation',
          4: 'histogramEqualization',
          5: 'minMax',
          6: 'percentClip',
          9: 'sigmoid',
        };
      var h;
      let M = (h = class extends n.a {
        constructor(e) {
          super(e),
            (this.colorRamp = null),
            (this.computeGamma = !1),
            (this.dynamicRangeAdjustment = !1),
            (this.gamma = []),
            (this.maxPercent = null),
            (this.minPercent = null),
            (this.numberOfStandardDeviations = null),
            (this.outputMax = null),
            (this.outputMin = null),
            (this.sigmoidStrengthLevel = null),
            (this.statistics = []),
            (this.histograms = null),
            (this.useGamma = !1),
            (this.stretchType = 'none'),
            (this.type = 'raster-stretch');
        }
        readColorRamp(e) {
          if (e) return (0, g.f)(e);
        }
        writeStatistics(e, t, r) {
          var i;
          null != (i = e) &&
            i.length &&
            (Array.isArray(e[0]) || (e = e.map((e) => [e.min, e.max, e.avg, e.stddev])),
            (t[r] = e));
        }
        readStretchType(e, t) {
          let r = t.stretchType;
          return 'number' == typeof r && (r = m[r]), y.read(r);
        }
        clone() {
          return new h({
            stretchType: this.stretchType,
            outputMin: this.outputMin,
            outputMax: this.outputMax,
            useGamma: this.useGamma,
            computeGamma: this.computeGamma,
            statistics: (0, a.d9)(this.statistics),
            gamma: (0, a.d9)(this.gamma),
            sigmoidStrengthLevel: this.sigmoidStrengthLevel,
            numberOfStandardDeviations: this.numberOfStandardDeviations,
            minPercent: this.minPercent,
            maxPercent: this.maxPercent,
            colorRamp: (0, a.d9)(this.colorRamp),
            histograms: (0, a.d9)(this.histograms),
            dynamicRangeAdjustment: this.dynamicRangeAdjustment,
          });
        }
      });
      (0, i._)([(0, s.Cb)({ types: g.t, json: { write: !0 } })], M.prototype, 'colorRamp', void 0),
        (0, i._)([(0, c.r)('colorRamp')], M.prototype, 'readColorRamp', null),
        (0, i._)(
          [(0, s.Cb)({ type: Boolean, json: { write: !0 } })],
          M.prototype,
          'computeGamma',
          void 0,
        ),
        (0, i._)(
          [
            (0, s.Cb)({
              type: Boolean,
              json: { write: { target: 'dra' }, read: { source: 'dra' } },
            }),
          ],
          M.prototype,
          'dynamicRangeAdjustment',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: [Number], json: { write: !0 } })],
          M.prototype,
          'gamma',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: Number, json: { write: !0 } })],
          M.prototype,
          'maxPercent',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: Number, json: { write: !0 } })],
          M.prototype,
          'minPercent',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: o.I, json: { write: !0 } })],
          M.prototype,
          'numberOfStandardDeviations',
          void 0,
        ),
        (0, i._)(
          [
            (0, s.Cb)({
              type: Number,
              json: { read: { source: 'max' }, write: { target: 'max' } },
            }),
          ],
          M.prototype,
          'outputMax',
          void 0,
        ),
        (0, i._)(
          [
            (0, s.Cb)({
              type: Number,
              json: { read: { source: 'min' }, write: { target: 'min' } },
            }),
          ],
          M.prototype,
          'outputMin',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: Number, json: { write: !0 } })],
          M.prototype,
          'sigmoidStrengthLevel',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ json: { type: [[Number]], write: !0 } })],
          M.prototype,
          'statistics',
          void 0,
        ),
        (0, i._)([(0, s.Cb)()], M.prototype, 'histograms', void 0),
        (0, i._)([(0, d.w)('statistics')], M.prototype, 'writeStatistics', null),
        (0, i._)(
          [(0, s.Cb)({ type: Boolean, json: { write: !0 } })],
          M.prototype,
          'useGamma',
          void 0,
        ),
        (0, i._)(
          [(0, s.Cb)({ type: y.apiValues, json: { type: y.jsonValues, write: y.write } })],
          M.prototype,
          'stretchType',
          void 0,
        ),
        (0, i._)([(0, c.r)('stretchType', ['stretchType'])], M.prototype, 'readStretchType', null),
        (0, i._)([(0, l.e)({ rasterStretch: 'raster-stretch' })], M.prototype, 'type', void 0),
        (M = h = (0, i._)([(0, u.j)('esri.renderers.RasterStretchRenderer')], M));
      const f = M;
    },
    84225: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => Z });
      var i,
        n = r(29768),
        a = r(48027),
        s = (r(74569), r(23761)),
        o = (r(96467), r(57251)),
        l = r(74673),
        c = r(76506),
        u = r(34250),
        d = (r(91306), r(92143), r(59465)),
        p = r(97714),
        g = r(17533),
        y = r(95533),
        m = r(7534),
        h = r(55306),
        M = r(74071),
        f = r(94070),
        I = r(11253),
        w = r(90319),
        b = r(74057),
        v = r(78548),
        A = r(60669),
        C = r(98402),
        D = r(91597),
        T = r(11305);
      r(54174),
        r(82426),
        r(31450),
        r(71552),
        r(40642),
        r(21801),
        r(73796),
        r(60947),
        r(2906),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(26341),
        r(35132),
        r(89623),
        r(86787),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(32422),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(63571),
        r(30776),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(62259),
        r(44790),
        r(5909),
        r(48208),
        r(51589),
        r(94751),
        r(22337),
        r(65684),
        r(12158),
        r(74864),
        r(63683),
        r(94479),
        r(45702),
        r(51127),
        r(67541),
        r(16218),
        r(9075),
        r(51669),
        r(51723),
        r(23243),
        r(6090),
        r(3977),
        r(36741),
        r(38822),
        r(48190),
        r(85557),
        r(53785),
        r(95587),
        r(41864),
        r(30831),
        r(91700),
        r(53269);
      const L = new Set([
          'esriMetersPerSecond',
          'esriKilometersPerHour',
          'esriKnots',
          'esriFeetPerSecond',
          'esriMilesPerHour',
        ]),
        S = new o.J({
          esriMetersPerSecond: 'meter-per-second',
          esriKilometersPerHour: 'kilometer-per-hour',
          esriKnots: 'knots',
          esriFeetPerSecond: 'feet-per-second',
          esriMilesPerHour: 'mile-per-hour',
        }),
        j = new o.J({
          beaufort_ft: 'beaufort-ft',
          beaufort_km: 'beaufort-km',
          beaufort_kn: 'beaufort-kn',
          beaufort_m: 'beaufort-m',
          beaufort_mi: 'beaufort-mi',
          classified_arrow: 'classified-arrow',
          ocean_current_kn: 'ocean-current-kn',
          ocean_current_m: 'ocean-current-m',
          simple_scalar: 'simple-scalar',
          single_arrow: 'single-arrow',
          wind_speed: 'wind-barb',
        }),
        N = new o.J({ flow_from: 'flow-from', flow_to: 'flow-to' });
      let x = (i = class extends (0, M.V)(l.a) {
        constructor(e) {
          super(e),
            (this.attributeField = 'Magnitude'),
            (this.flowRepresentation = 'flow-from'),
            (this.rotationType = 'arithmetic'),
            (this.style = 'single-arrow'),
            (this.symbolTileSize = 50),
            (this.type = 'vector-field');
        }
        readInputUnit(e, t) {
          return L.has(e) ? S.fromJSON(e) : null;
        }
        readOutputUnit(e, t) {
          return L.has(e) ? S.fromJSON(e) : null;
        }
        get styleRenderer() {
          const e = this.style,
            t = this.attributeField,
            r = this._createStyleRenderer(e);
          return (r.field = t), r;
        }
        get sizeVariables() {
          const e = [];
          if (this.visualVariables)
            for (const t of this.visualVariables) 'size' === t.type && e.push(t);
          if (0 === e.length) {
            const t = new w.Z({
              field: 'Magnitude',
              minSize: 0.2 * this.symbolTileSize,
              maxSize: 0.8 * this.symbolTileSize,
            });
            this.visualVariables ? this.visualVariables.push(t) : this._set('visualVariables', [t]),
              e.push(t);
          }
          return e;
        }
        get rotationVariables() {
          const e = [];
          if (this.visualVariables)
            for (const t of this.visualVariables) 'rotation' === t.type && e.push(t);
          if (0 === e.length) {
            const t = new I.Z({ field: 'Direction', rotationType: this.rotationType });
            this.visualVariables ? this.visualVariables.push(t) : this._set('visualVariables', [t]),
              e.push(t);
          }
          return e;
        }
        clone() {
          return new i({
            attributeField: this.attributeField,
            flowRepresentation: this.flowRepresentation,
            rotationType: this.rotationType,
            symbolTileSize: this.symbolTileSize,
            style: this.style,
            visualVariables: (0, c.d9)(this.visualVariables),
            inputUnit: this.inputUnit,
            outputUnit: this.outputUnit,
          });
        }
        async getGraphicsFromPixelData(e, t = !1, r = []) {
          const i = [],
            n = (0, m.g)(this.inputUnit, this.outputUnit),
            a = t
              ? (0, m.c)(e.pixelBlock, 'vector-uv', this.rotationType, n)
              : (0, m.a)(e.pixelBlock, 'vector-magdir', n),
            o = e.extent,
            l = a.mask && a.mask.length > 0;
          let c = 0;
          const u = (o.xmax - o.xmin) / a.width,
            d = (o.ymax - o.ymin) / a.height;
          for (let e = 0; e < a.height; e++)
            for (let t = 0; t < a.width; t++, c++) {
              let n = new D.Z({
                x: o.xmin + t * u + u / 2,
                y: o.ymax - e * d - d / 2,
                spatialReference: o.spatialReference,
              });
              n = (await (0, y.aX)(n))[0];
              const p = r.some((e) => e.intersects(n));
              if ((!l || a.mask[c]) && !p) {
                const e = { Magnitude: a.pixels[0][c], Direction: a.pixels[1][c] },
                  t = new s.Z({
                    geometry: {
                      type: 'point',
                      x: n.x,
                      y: n.y,
                      spatialReference: o.spatialReference,
                    },
                    attributes: e,
                  });
                (t.symbol = this._getVisualVariablesAppliedSymbol(t)), i.push(t);
              }
            }
          return i;
        }
        getSymbol(e, t) {}
        async getSymbolAsync(e, t) {}
        getSymbols() {
          return [];
        }
        getClassBreakInfos() {
          var e;
          return null == (e = this.styleRenderer) ? void 0 : e.classBreakInfos;
        }
        getDefaultSymbol() {
          var e;
          return null == (e = this.styleRenderer) ? void 0 : e.defaultSymbol;
        }
        _getDefaultSymbol(e) {
          return new A.Z({
            path: 'M14,32 14,18 9,23 16,3 22,23 17,18 17,32 z',
            outline: new v.Z({ width: 0 }),
            size: 20,
            color: e || new a.Z([0, 92, 230]),
          });
        }
        _getVisualVariablesAppliedSymbol(e) {
          if (!e) return;
          let t = this.styleRenderer && this.styleRenderer.getSymbol(e);
          t = t.clone();
          const r = this.sizeVariables,
            i = this.rotationVariables;
          if (
            (r && r.length && this.sizeVariables.forEach((r) => (0, C.a)(t, (0, b.PR)([r], e))),
            i && i.length)
          ) {
            const r = e.attributes.Direction;
            (e.attributes.Direction = 'flow-from' === this.flowRepresentation ? r : r + 180),
              this.rotationVariables.forEach((r) => (0, C.b)(t, (0, b.cM)(r, e), r.axis));
          }
          return t;
        }
        _createStyleRenderer(e) {
          let t = { defaultSymbol: this._getDefaultSymbol(), classBreakInfos: [] };
          switch (e) {
            case 'single-arrow':
              t = this._createSingleArrowRenderer();
              break;
            case 'beaufort-kn':
              t = this._createBeaufortKnotsRenderer();
              break;
            case 'beaufort-m':
              t = this._createBeaufortMeterRenderer();
              break;
            case 'beaufort-ft':
              t = this._createBeaufortFeetRenderer();
              break;
            case 'beaufort-mi':
              t = this._createBeaufortMilesRenderer();
              break;
            case 'beaufort-km':
              t = this._createBeaufortKilometersRenderer();
              break;
            case 'ocean-current-m':
              t = this._createCurrentMeterRenderer();
              break;
            case 'ocean-current-kn':
              t = this._createCurrentKnotsRenderer();
              break;
            case 'simple-scalar':
              t = this._createSimpleScalarRenderer();
              break;
            case 'wind-barb':
              t = this._createWindBarbsRenderer();
              break;
            case 'classified-arrow':
              t = this._createClassifiedArrowRenderer();
          }
          return new h.Z(t);
        }
        _createSingleArrowRenderer() {
          return { defaultSymbol: this._getDefaultSymbol() };
        }
        _createBeaufortKnotsRenderer() {
          return {
            defaultSymbol: this._getDefaultSymbol(new a.Z([214, 47, 39])),
            classBreakInfos: this._getClassBreaks(
              [0, 1, 3, 6, 10, 16, 21, 27, 33, 40, 47, 55, 63],
              [
                [40, 146, 199],
                [89, 162, 186],
                [129, 179, 171],
                [160, 194, 155],
                [191, 212, 138],
                [218, 230, 119],
                [250, 250, 100],
                [252, 213, 83],
                [252, 179, 102],
                [250, 141, 52],
                [247, 110, 42],
                [240, 71, 29],
              ],
            ),
          };
        }
        _createBeaufortMeterRenderer() {
          return {
            defaultSymbol: this._getDefaultSymbol(new a.Z([214, 47, 39])),
            classBreakInfos: this._getClassBreaks(
              [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7],
              [
                [69, 117, 181],
                [101, 137, 184],
                [132, 158, 186],
                [162, 180, 189],
                [192, 204, 190],
                [222, 227, 191],
                [255, 255, 191],
                [255, 220, 161],
                [250, 185, 132],
                [245, 152, 105],
                [237, 117, 81],
                [232, 21, 21],
              ],
            ),
          };
        }
        _createBeaufortFeetRenderer() {
          const e = this._getDefaultSymbol(new a.Z([214, 47, 39]));
          let t = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7];
          return (
            (t = t.map((e) => 3.28084 * e)),
            {
              defaultSymbol: e,
              classBreakInfos: this._getClassBreaks(t, [
                [69, 117, 181],
                [101, 137, 184],
                [132, 158, 186],
                [162, 180, 189],
                [192, 204, 190],
                [222, 227, 191],
                [255, 255, 191],
                [255, 220, 161],
                [250, 185, 132],
                [245, 152, 105],
                [237, 117, 81],
                [232, 21, 21],
              ]),
            }
          );
        }
        _createBeaufortMilesRenderer() {
          const e = this._getDefaultSymbol(new a.Z([214, 47, 39]));
          let t = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7];
          return (
            (t = t.map((e) => 2.23694 * e)),
            {
              defaultSymbol: e,
              classBreakInfos: this._getClassBreaks(t, [
                [69, 117, 181],
                [101, 137, 184],
                [132, 158, 186],
                [162, 180, 189],
                [192, 204, 190],
                [222, 227, 191],
                [255, 255, 191],
                [255, 220, 161],
                [250, 185, 132],
                [245, 152, 105],
                [237, 117, 81],
                [232, 21, 21],
              ]),
            }
          );
        }
        _createBeaufortKilometersRenderer() {
          const e = this._getDefaultSymbol(new a.Z([214, 47, 39]));
          let t = [0, 0.2, 1.8, 3.3, 5.4, 8.5, 11, 14.1, 17.2, 20.8, 24.4, 28.6, 32.7];
          return (
            (t = t.map((e) => 3.6 * e)),
            {
              defaultSymbol: e,
              classBreakInfos: this._getClassBreaks(t, [
                [69, 117, 181],
                [101, 137, 184],
                [132, 158, 186],
                [162, 180, 189],
                [192, 204, 190],
                [222, 227, 191],
                [255, 255, 191],
                [255, 220, 161],
                [250, 185, 132],
                [245, 152, 105],
                [237, 117, 81],
                [232, 21, 21],
              ]),
            }
          );
        }
        _createCurrentMeterRenderer() {
          return {
            defaultSymbol: this._getDefaultSymbol(new a.Z([177, 177, 177])),
            classBreakInfos: this._getClassBreaks(
              [0, 0.5, 1, 1.5, 2],
              [
                [78, 26, 153],
                [179, 27, 26],
                [202, 128, 26],
                [177, 177, 177],
              ],
            ),
          };
        }
        _createCurrentKnotsRenderer() {
          return {
            defaultSymbol: this._getDefaultSymbol(new a.Z([177, 177, 177])),
            classBreakInfos: this._getClassBreaks(
              [0, 0.25, 0.5, 1, 1.5, 2, 2.5, 3, 3.5, 4],
              [
                [0, 0, 0],
                [0, 37, 100],
                [78, 26, 153],
                [151, 0, 100],
                [179, 27, 26],
                [177, 78, 26],
                [202, 128, 26],
                [177, 179, 52],
                [177, 177, 177],
              ],
            ),
          };
        }
        _createClassifiedArrowRenderer() {
          var e;
          const t = this._getDefaultSymbol(new a.Z([56, 168, 0]));
          let r = [0, 1e-6, 3.5, 7, 10.5, 14];
          if (null != (e = this.sizeVariables) && e.length) {
            const e = this.sizeVariables[0].minDataValue,
              t = this.sizeVariables[0].maxDataValue;
            if (e && t) {
              const i = (t - e) / 5;
              r = Array.from(Array(6).keys()).map((t) => e + i * t);
            }
          }
          return {
            defaultSymbol: t,
            classBreakInfos: this._getClassBreaks(r, [
              [56, 168, 0],
              [139, 309, 0],
              [255, 255, 0],
              [255, 128, 0],
              [255, 0, 0],
            ]),
          };
        }
        _createSimpleScalarRenderer() {
          return {
            defaultSymbol: T.Z.fromJSON({
              imageData:
                'iVBORw0KGgoAAAANSUhEUgAAACsAAAArCAQAAABLVLlLAAAABGdBTUEAAYagMeiWXwAAAAJiS0dEAACqjSMyAAAACXBIWXMAAABIAAAASABGyWs+AAAC3ElEQVRIx9XXvW4cVRQH8N982btpsIREJECyiCXsxX4DKh6AliqGKCBBE2SlwlHgAbBD/AKmyEYUeQ1KahPZSZQvBCkQLTHZ7KGY8Xodz4w3a1NwbzVzz/znfJ//zbStVC5q3icKak9GAs2QIdDx3PtW/S011NW3p+M5Eomh11ipTIKe6+4LQzHaQ+G+63pIZNJJQXMpljwTwj1brpgx5w1zZlyx5Z4QnllEIm2xeeSUHBf0hV0bejo1Uh09G3aFvgXk7cCJFBc9EdaRVuHJJaOdKyTV2TVhYLMduNR0Q9gxL5GaaTDw8GzejrDRBpxWoGsySRW0dttKuattwNkIlFw2YXgzOdYq4Ox49PlM+JrKd5OusjTWhBuVxUfMX/KXXZ3WEmkuqa67wspR4BTbwtKr/5u4fFgStse/T7EifFPnnYl9zPq4vmUOPrRndgoHjDti1gOPqlyXoifcRNGQzUd31lDyfHmob1Gp35vSr+P6vilcQ5Egtyd8YF/ySg9NhPM+9M/IOaHwp5+PSZayXTvCogEUwlatC3J8LLwYtcWB8EuDXQVuCkV5/B4eNHb7wGBs87LBDS+xjdVSn09wq1G8dFM+9tSUhIGneLvUdniKxKpTYljCpu3j7rVWlHj/P23v4NPGUEyeCQnexe9lJjzEQqMjJs+EzNAX6B98dBZVRmroJx95x/A/6gln18EyfCUsl+qdXb/tjvfbw+mwforpUOBz4XLVoBwAn3aWnfeH246NyBXhrq7TTN5lNSP9RkU+puUJm3W2Tsdq0nZWM07srk7MwQrZSRysjjGWBLRJNsNbfj2JMR4AbxpU1XLAb9Mxfpsq5EjMuuiR8L0JiHOOBX3hiUvOmavN0nMueSzcceFk0BK4pMqLo7vDD1Z0qrtDx7Itt4Xwm9UqbMmk8S0Dtuzb2pvOU99Z1nLTOfleNmvfZfP2pYZmPfajwosKdDBNpacNpVGGsWX9CyDI8Xq/Sj6QAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE0LTExLTEwVDAzOjE3OjU4LTA1OjAwF+tHyQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNC0xMS0xMFQwMzoxNzo1OC0wNTowMGa2/3UAAAAASUVORK5CYII=',
              height: 20,
              width: 20,
              type: 'esriPMS',
              angle: 0,
            }),
          };
        }
        _createWindBarbsRenderer() {
          const e = Array.from(Array(31).keys()).map((e) => 5 * e),
            t = [
              {
                range: '0-5',
                path:
                  'M20 20 M5 20 A15 15 0 1 0 35 20 A15 15 0 1 0 5 20 M20 20 M10 20 A10 10 0 1 0 30 20 A10 10 0 1 0 10 20',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTIwIDIwIE01IDIwIEExNSAxNSAwIDEgMCAzNSAyMCBBMTUgMTUgMCAxIDAgNSAyMCBNMjAgMjAgTTEwIDIwIEExMCAxMCAwIDEgMCAzMCAyMCBBMTAgMTAgMCAxIDAgMTAgMjAiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '5-10',
                path: 'M25 0 L25 40 M25 35 L17.5 37.5',
                imageData:
                  'PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '10-15',
                path: 'M25 0 L25 40 L10 45 L25 40',
                imageData:
                  'PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNyA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '15-20',
                path: 'M25 0 L25 40 L10 45 L25 40 M25 35 L17.5 37.5',
                imageData:
                  'PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjEyIDAgMTUgNDUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxNy41IDM3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '20-25',
                path: 'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40',
                imageData:
                  'PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+',
              },
              {
                range: '25-30',
                path: 'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L17.5 32.5',
                imageData:
                  'PHN2ZyB3aWR0aD0iMjAiIGhlaWdodD0iMjAiIHZpZXdCb3g9IjkgMCAyNiA0NiIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8cGF0aCBkPSJNMjUgMCBMMjUgNDAgTDEwIDQ1IEwyNSA0MCBNMjUgMzUgTDEwIDQwIEwyNSAzNSBNMjUgMzAgTDE3LjUgMzIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '30-35',
                path: 'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '35-40',
                path:
                  'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '40-45',
                path:
                  'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '45-50',
                path:
                  'M25 0 L25 40 L10 45 L25 40 M25 35 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0NiI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0NSBMMjUgNDAgTTI1IDM1IEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '50-55',
                path: 'M25 0 L25 40 L10 40 L25 35',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '55-60',
                path: 'M25 0 L25 40 L10 40 L25 35 M25 30 L17.5 32.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMHB4IiBoZWlnaHQ9IjIwcHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxNy41IDMyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '60-65',
                path: 'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '65-70',
                path: 'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L17.5 27.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxNy41IDI3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '70-75',
                path: 'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '75-80',
                path:
                  'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L17.5 22.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxNy41IDIyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '80-85',
                path:
                  'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '85-90',
                path:
                  'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L17.5 17.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxNy41IDE3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '90-95',
                path:
                  'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '95-100',
                path:
                  'M25 0 L25 40 L10 40 L25 35 M25 30 L10 35 L25 30 M25 25 L10 30 L25 25 M25 20 L10 25 L25 20 M25 15 L10 20 L25 15 M25 10 L17.5 12.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTTI1IDMwIEwxMCAzNSBMMjUgMzAgTTI1IDI1IEwxMCAzMCBMMjUgMjUgTTI1IDIwIEwxMCAyNSBMMjUgMjAgTTI1IDE1IEwxMCAyMCBMMjUgMTUgTTI1IDEwIEwxNy41IDEyLjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
              {
                range: '100-105',
                path: 'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMnB4IiBoZWlnaHQ9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '105-110',
                path: 'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L17.5 27.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDE3LjUgMjcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '110-115',
                path: 'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+',
              },
              {
                range: '115-120',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L17.5 22.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDE3LjUgMjIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '120-125',
                path: 'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+',
              },
              {
                range: '125-130',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L17.5 17.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDE3LjUgMTcuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '130-135',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+',
              },
              {
                range: '135-140',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDE3LjUgMTIuNSIgc3R5bGU9InN0cm9rZTpyZ2IoMCwwLDApO3N0cm9rZS13aWR0aDoxLjUiLz4KIDwvc3ZnPg==',
              },
              {
                range: '140-145',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IiBzdHlsZT0ic3Ryb2tlOnJnYigwLDAsMCk7c3Ryb2tlLXdpZHRoOjEuNSIvPgogPC9zdmc+',
              },
              {
                range: '145-150',
                path:
                  'M25 0 L25 40 L10 40 L25 35 L10 35 L25 30 M25 25 L10 30 M25 25 M25 20 L10 25 M25 20 M25 15 L10 20 M25 15 M25 10 L17.5 12.5',
                imageData:
                  'PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGhlaWdodD0iMzJweCIgd2lkdGg9IjMycHgiIHZpZXdCb3g9IjkgMCAyNiA0MSI+CiAgPHBhdGggZD0iTTI1IDAgTDI1IDQwIEwxMCA0MCBMMjUgMzUgTDEwIDM1IEwyNSAzMCBNMjUgMjUgTDEwIDMwIE0yNSAyNSBNMjUgMjAgTDEwIDI1IE0yNSAyMCBNMjUgMTUgTDEwIDIwIE0yNSAxNSBNMjUgMTAgTDEwIDE1IE0yNSAxMCBNMjUgNSBMMTcuNSA3LjUiIHN0eWxlPSJzdHJva2U6cmdiKDAsMCwwKTtzdHJva2Utd2lkdGg6MS41Ii8+CiA8L3N2Zz4=',
              },
            ],
            r = T.Z.fromJSON({
              imageData:
                'iVBORw0KGgoAAAANSUhEUgAAACgAAAApCAQAAADtq6NDAAAABGdBTUEAALGPC/xhBQAAAAFzUkdCAK7OHOkAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAJiS0dEAP+Hj8y/AAAACXBIWXMAAA7DAAAOwwHHb6hkAAAEY0lEQVRIx5XXWWxWRRQH8N+d+31tUdGAVjGglYJABFEBY91jfDAg7piYaFTccA++uMQEFRcSXlATtxiXqMQt4G4iisYl0ai4sIQYtVFZ1KIFKdTS0l4f7vRCS5fPebozc+bM/2z/Mzcx0AgSiUxXnKfIdMn875FIhX53U2n/B/s+kKM4UINTjTBZImixxnrv+9a2iL6zEoUBXcoudrWj/OtHm3wt02lfU9Qao9OnHvIhgmww84MEl1qnxfNmGrqHxAizLdPpC6chGcAxKGGcL+30gOERf1BSpUqVslQSV8d5ReZFe8VQ9avufJn31cWwlJV7iafKStGOE/1qvfH9qUxxu8ydUdmuSKbGO8YUdT2inKLG69pM70tliktl5qIkCAJGmusDG7Vqsc0WjZa4UBlBiA5YZIcjYzB7qDtH5kaUJFLs7RGZTZ42W4PRRmtwvbdt1+wGiaS4drEtDttdZYIDNVuAclR3vA3+dI3qHqmVSy7U6Tv1MScCPvPR7nIpFlsdCy3FdTLPGhK92e2CUITjMJ9ocwKxnsZqc3O3JwMma3d6UVLnyVxB4aXemZqvPqLdpJhW3KVVbY4yYImPo6M5Urv50fj+0z/FG9YaEiENs8UtMfXUaTeTePNHlhXfA1UU+2lyD1Il3Gtt9+adfpNG7dNlpg2U/T3KYLZ2dUWFdTgp3/rQ4sK973qnInV5TIf40x3dhvrJPBiqyWUo4wAtLqhQYS71qK+QKOFRywmGK/kpikzV6WMKhh58vGWs4TIJNjiEYLIuP8Tt4/zmLyqk+AyrJSbF+Qq1DgqRUPMxyl+9q3IQhX/rMCJ6tEunriDs1oSyQZKlr9AkhT2ZIARbJfaJS1vtVbHB+Rgi0RK/y1q1BWsEEyLoz40xtGKcARPVWB1BTPO7f4LNtpkUl1aoMbViLyZo0GRjPD3BxnxjqXeLYlvhqYrzMMG3HoyJXa3JjfnGlbYYFlP7Jh3qKsKY4hQ7TY0nG+xwRL61n63mxHtqNHosigyMLmClNwvuecFnOZB88nNBDzNkzhxEZaKMBVoKapggMzvHHXBEpNSSFAvtcFRsVn0bW8LlMmcXs+c0Kne3gRR32+zg4uXwjC6zit6Wt4a8LXVfcp/MtQXHn2ynGbuCmb8GvvFeJLEE82ReU9/n6+dkq2x3buG9Wn94smcgAw631RPR7BTH+kbmHReZoEpOdEe7zWqZl40s0JWs9Hmv7hjBHqPDwsjGKVJnWWqjbdZp1KhJi0aPmxYZsIRhlttgeF+Jlke41QcOQKoqilSb6HJzSvNG3G/UoWnxwsmt+sVaYwd63dRbqdnMyCPVeyRPvpYgdavM22oGKoMUVRbJfOWMwidJ8Zzb1UvmWK/VVUXzHaTjjrVYh1897HT7xxYEVUaa5SWb/WO+YUWa9SrwvigzM8YlzlYv2GSdVCYxxlBtVnnFq5olwp5/BEk/OLsf5LUmG2+inRJdVvjZ97ZH9/zP34ug1O91pf4p+D+JYBpvrKxfbwAAACV0RVh0ZGF0ZTpjcmVhdGUAMjAxNC0xMS0xMFQwMzoxMjowOS0wNTowMB9ViV0AAAAldEVYdGRhdGU6bW9kaWZ5ADIwMTQtMTEtMTBUMDM6MTI6MDktMDU6MDBuCDHhAAAAAElFTkSuQmCC',
              height: 20,
              width: 20,
              type: 'esriPMS',
              angle: 0,
            }),
            i = e.map((i, n) => {
              let a;
              if (n !== e.length - 1)
                if (0 === n) a = { minValue: i, maxValue: e[n + 1], symbol: r };
                else {
                  const r = T.Z.fromJSON({
                    type: 'esriPMS',
                    imageData: t[n].imageData,
                    contentType: 'image/svg+xml',
                    height: 32,
                    width: 32,
                    angle: 0,
                  });
                  a = { minValue: i, maxValue: e[n + 1], symbol: r };
                }
              return new f.Z(a);
            });
          return { defaultSymbol: r, classBreakInfos: i };
        }
        _getClassBreaks(e, t) {
          return t.map(
            (t, r) =>
              new f.Z({
                minValue: e[r],
                maxValue: e[r + 1],
                symbol: this._getDefaultSymbol(new a.Z(t)),
              }),
          );
        }
      });
      (0, n._)(
        [(0, u.Cb)({ type: String, json: { write: !0 } })],
        x.prototype,
        'attributeField',
        void 0,
      ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: N.apiValues,
              json: { type: N.jsonValues, read: { reader: N.read }, write: { writer: N.write } },
            }),
          ],
          x.prototype,
          'flowRepresentation',
          void 0,
        ),
        (0, n._)(
          [(0, u.Cb)({ type: ['geographic', 'arithmetic'], json: { write: !0 } })],
          x.prototype,
          'rotationType',
          void 0,
        ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: j.apiValues,
              json: { type: j.jsonValues, read: { reader: j.read }, write: { writer: j.write } },
            }),
          ],
          x.prototype,
          'style',
          void 0,
        ),
        (0, n._)([(0, u.Cb)({ json: { write: !0 } })], x.prototype, 'symbolTileSize', void 0),
        (0, n._)(
          [
            (0, u.Cb)({
              type: S.apiValues,
              json: { type: S.jsonValues, write: { writer: S.write } },
            }),
          ],
          x.prototype,
          'inputUnit',
          void 0,
        ),
        (0, n._)([(0, p.r)('inputUnit')], x.prototype, 'readInputUnit', null),
        (0, n._)(
          [
            (0, u.Cb)({
              type: S.apiValues,
              json: { type: S.jsonValues, read: { reader: S.read }, write: { writer: S.write } },
            }),
          ],
          x.prototype,
          'outputUnit',
          void 0,
        ),
        (0, n._)([(0, p.r)('outputUnit')], x.prototype, 'readOutputUnit', null),
        (0, n._)([(0, d.e)({ vectorField: 'vector-field' })], x.prototype, 'type', void 0),
        (0, n._)([(0, u.Cb)({ type: h.Z })], x.prototype, 'styleRenderer', null),
        (0, n._)([(0, u.Cb)({ type: w.Z })], x.prototype, 'sizeVariables', null),
        (0, n._)([(0, u.Cb)({ type: I.Z })], x.prototype, 'rotationVariables', null),
        (x = i = (0, n._)([(0, g.j)('esri.renderers.VectorFieldRenderer')], x));
      const Z = x;
    },
    55436: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => u });
      var i = r(29768),
        n = r(48027),
        a = r(74673),
        s = r(34250),
        o = (r(76506), r(91306)),
        l = (r(92143), r(17533));
      r(54174),
        r(82426),
        r(31450),
        r(71552),
        r(40642),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(26341);
      let c = class extends a.a {
        constructor() {
          super(...arguments), (this.value = null), (this.label = null), (this.color = null);
        }
      };
      (0, i._)([(0, s.Cb)({ type: Number, json: { write: !0 } })], c.prototype, 'value', void 0),
        (0, i._)([(0, s.Cb)({ type: String, json: { write: !0 } })], c.prototype, 'label', void 0),
        (0, i._)(
          [(0, s.Cb)({ type: n.Z, json: { type: [o.I], write: !0 } })],
          c.prototype,
          'color',
          void 0,
        ),
        (c = (0, i._)([(0, l.j)('esri.renderers.support.ColormapInfo')], c));
      const u = c;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => f });
      var i = r(29768),
        n = r(74569),
        a = r(23761),
        s = r(57251),
        o = r(74673),
        l = r(76506),
        c = r(34250),
        u = (r(91306), r(92143), r(97714)),
        d = r(17533),
        p = r(2906),
        g = r(60947),
        y = r(32422),
        m = r(97546);
      r(21801),
        r(40642),
        r(71552),
        r(73796),
        r(21972),
        r(23639),
        r(86656),
        r(22723),
        r(91055),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(81172),
        r(31450),
        r(26341),
        r(91597),
        r(86787),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(86748),
        r(15324),
        r(76996),
        r(14249),
        r(9801),
        r(53523),
        r(59465),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(29107),
        r(30574),
        r(2157),
        r(25977),
        r(7471),
        r(54414),
        r(1648),
        r(8925),
        r(33921),
        r(3482),
        r(45154),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(4292),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(96467),
        r(63571),
        r(30776),
        r(48027),
        r(54174),
        r(82426),
        r(63130),
        r(25696),
        r(66396),
        r(42775),
        r(95834),
        r(34394),
        r(57150),
        r(76726),
        r(20444),
        r(76393),
        r(78548),
        r(2497),
        r(49906),
        r(46527),
        r(48649),
        r(9960),
        r(3101),
        r(5853),
        r(39141),
        r(32101),
        r(38742),
        r(48243),
        r(34635),
        r(10401),
        r(49900),
        r(66284),
        r(82058),
        r(88762),
        r(73173),
        r(22739),
        r(20543),
        r(67477),
        r(78533),
        r(74653),
        r(91091),
        r(58943),
        r(70737),
        r(8487),
        r(17817),
        r(90814),
        r(15459),
        r(61847),
        r(16796),
        r(16955),
        r(22401),
        r(77894),
        r(55187),
        r(8586),
        r(44509),
        r(69814),
        r(11305),
        r(62259),
        r(44790),
        r(5909),
        r(60669),
        r(48208),
        r(51589),
        r(54732);
      const h = new s.J({
        esriGeometryPoint: 'point',
        esriGeometryMultipoint: 'multipoint',
        esriGeometryPolyline: 'polyline',
        esriGeometryPolygon: 'polygon',
        esriGeometryEnvelope: 'extent',
        mesh: 'mesh',
        '': null,
      });
      let M = class extends o.a {
        constructor(e) {
          super(e),
            (this.displayFieldName = null),
            (this.exceededTransferLimit = !1),
            (this.features = []),
            (this.fields = null),
            (this.geometryType = null),
            (this.hasM = !1),
            (this.hasZ = !1),
            (this.queryGeometry = null),
            (this.spatialReference = null);
        }
        readFeatures(e, t) {
          const r = g.Z.fromJSON(t.spatialReference),
            i = [];
          for (let t = 0; t < e.length; t++) {
            const n = e[t],
              s = a.Z.fromJSON(n),
              o = n.geometry && n.geometry.spatialReference;
            (0, l.i)(s.geometry) && !o && (s.geometry.spatialReference = r), i.push(s);
          }
          return i;
        }
        writeGeometryType(e, t, r, i) {
          if (e) return void h.write(e, t, r, i);
          const { features: n } = this;
          if (n)
            for (const e of n)
              if (e && (0, l.i)(e.geometry)) return void h.write(e.geometry.type, t, r, i);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            i = (0, y.im)(e);
          return (
            !r && t.spatialReference && (i.spatialReference = g.Z.fromJSON(t.spatialReference)), i
          );
        }
        writeSpatialReference(e, t) {
          if (e) return void (t.spatialReference = e.toJSON());
          const { features: r } = this;
          if (r)
            for (const e of r)
              if (e && (0, l.i)(e.geometry) && e.geometry.spatialReference)
                return void (t.spatialReference = e.geometry.spatialReference.toJSON());
        }
        toJSON(e) {
          const t = this.write(null);
          if (t.features && Array.isArray(e) && e.length > 0)
            for (let r = 0; r < t.features.length; r++) {
              const i = t.features[r];
              if (i.geometry) {
                const t = e && e[r];
                i.geometry = (t && t.toJSON()) || i.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [i, n],
            } = e,
            a = this.features,
            s = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - i) / t),
              (e) => Math.round((n - e) / r),
            );
          for (let e = 0, t = a.length; e < t; e++)
            s((0, l.u)(a[e].geometry)) || (a.splice(e, 1), e--, t--);
          return (this.transform = e), this;
        }
        unquantize() {
          const { geometryType: e, features: t, transform: r } = this;
          if (!r) return this;
          const {
              translate: [i, n],
              scale: [a, s],
            } = r,
            o = this._getHydrationFunction(
              e,
              (e) => e * a + i,
              (e) => n - e * s,
            );
          for (const { geometry: e } of t) (0, l.i)(e) && o(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let i, n;
          const a = [];
          for (let s = 0, o = e.length; s < o; s++) {
            const o = e[s];
            if (s > 0) {
              const e = t(o[0]),
                s = r(o[1]);
              (e === i && s === n) || (a.push([e - i, s - n]), (i = e), (n = s));
            } else (i = t(o[0])), (n = r(o[1])), a.push([i, n]);
          }
          return a.length > 0 ? a : null;
        }
        _getQuantizationFunction(e, t, r) {
          return 'point' === e
            ? (e) => ((e.x = t(e.x)), (e.y = r(e.y)), e)
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, y.oU)(e) ? e.rings : e.paths,
                  n = [];
                for (let e = 0, a = i.length; e < a; e++) {
                  const a = i[e],
                    s = this._quantizePoints(a, t, r);
                  s && n.push(s);
                }
                return n.length > 0 ? ((0, y.oU)(e) ? (e.rings = n) : (e.paths = n), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const i = this._quantizePoints(e.points, t, r);
                return i.length > 0 ? ((e.points = i), e) : null;
              }
            : 'extent' === e
            ? (e) => e
            : null;
        }
        _getHydrationFunction(e, t, r) {
          return 'point' === e
            ? (e) => {
                (e.x = t(e.x)), (e.y = r(e.y));
              }
            : 'polyline' === e || 'polygon' === e
            ? (e) => {
                const i = (0, y.oU)(e) ? e.rings : e.paths;
                let n, a;
                for (let e = 0, s = i.length; e < s; e++) {
                  const s = i[e];
                  for (let e = 0, i = s.length; e < i; e++) {
                    const i = s[e];
                    e > 0 ? ((n += i[0]), (a += i[1])) : ((n = i[0]), (a = i[1])),
                      (i[0] = t(n)),
                      (i[1] = r(a));
                  }
                }
              }
            : 'extent' === e
            ? (e) => {
                (e.xmin = t(e.xmin)),
                  (e.ymin = r(e.ymin)),
                  (e.xmax = t(e.xmax)),
                  (e.ymax = r(e.ymax));
              }
            : 'multipoint' === e
            ? (e) => {
                const i = e.points;
                let n, a;
                for (let e = 0, s = i.length; e < s; e++) {
                  const s = i[e];
                  e > 0 ? ((n += s[0]), (a += s[1])) : ((n = s[0]), (a = s[1])),
                    (s[0] = t(n)),
                    (s[1] = r(a));
                }
              }
            : void 0;
        }
      };
      (0, i._)(
        [(0, c.Cb)({ type: String, json: { write: !0 } })],
        M.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, i._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          M.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, i._)(
          [(0, c.Cb)({ type: [a.Z], json: { write: !0 } })],
          M.prototype,
          'features',
          void 0,
        ),
        (0, i._)([(0, u.r)('features')], M.prototype, 'readFeatures', null),
        (0, i._)([(0, c.Cb)({ type: [m.Z], json: { write: !0 } })], M.prototype, 'fields', void 0),
        (0, i._)(
          [
            (0, c.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: h.read } },
            }),
          ],
          M.prototype,
          'geometryType',
          void 0,
        ),
        (0, i._)([(0, p.w)('geometryType')], M.prototype, 'writeGeometryType', null),
        (0, i._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          M.prototype,
          'hasM',
          void 0,
        ),
        (0, i._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          M.prototype,
          'hasZ',
          void 0,
        ),
        (0, i._)(
          [(0, c.Cb)({ types: n.qM, json: { write: !0 } })],
          M.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, i._)([(0, u.r)('queryGeometry')], M.prototype, 'readQueryGeometry', null),
        (0, i._)(
          [(0, c.Cb)({ type: g.Z, json: { write: !0 } })],
          M.prototype,
          'spatialReference',
          void 0,
        ),
        (0, i._)([(0, p.w)('spatialReference')], M.prototype, 'writeSpatialReference', null),
        (0, i._)([(0, c.Cb)({ json: { write: !0 } })], M.prototype, 'transform', void 0),
        (M = (0, i._)([(0, d.j)('esri.rest.support.FeatureSet')], M)),
        (M.prototype.toJSON.isDefaultToJSON = !0),
        M || (M = {});
      const f = M;
    },
    78893: (e, t, r) => {
      'use strict';
      r.d(t, { eZ: () => d });
      var i = r(86748),
        n = r(14249),
        a = r(30574),
        s = (r(2157), r(25977), r(7471)),
        o = (r(45154), r(4292), r(54414)),
        l = r(1648);
      r(15324),
        r(91055),
        r(76996),
        r(21972),
        r(23639),
        r(76506),
        r(92143),
        r(31450),
        r(71552),
        r(40642),
        r(34250),
        r(91306),
        r(86656),
        r(22723),
        r(17533),
        r(81172),
        r(27794),
        r(6906),
        r(50406),
        r(60991),
        r(74673),
        r(26341),
        r(86787),
        r(97714),
        r(2906),
        r(29107),
        r(57251),
        r(59465),
        r(8925),
        r(33921),
        r(3482),
        r(16769),
        r(55531),
        r(30582),
        r(593),
        r(85699),
        r(63136),
        r(96055),
        r(47776),
        r(18033),
        r(6331),
        r(62048),
        r(75626),
        r(72652),
        r(29641),
        r(30493),
        r(70821),
        r(82673),
        r(34229),
        r(37029),
        r(9801),
        r(53523),
        r(42911),
        r(46826),
        r(45433),
        r(60217),
        r(74569),
        r(21801),
        r(73796),
        r(60947),
        r(91597),
        r(35132),
        r(89623),
        r(84069),
        r(44567),
        r(98380),
        r(92896),
        r(22781),
        r(32422);
      const c = ['oid', 'global-id'],
        u = ['oid', 'global-id', 'guid'];
      function d({ displayField: e, editFieldsInfo: t, fields: r, objectIdField: o, title: l }, c) {
        if (!r) return null;
        const u = M({ editFieldsInfo: t, fields: r, objectIdField: o }, c);
        if (!u.length) return null;
        const d = (function (e) {
            const t = (0, n.O5)(e),
              { titleBase: r } = e;
            return t ? `${r}: {${t.trim()}}` : r;
          })({ titleBase: l, fields: r, displayField: e }),
          p = [new s.Z(), new a.Z()];
        return new i.Z({ title: d, content: p, fieldInfos: u });
      }
      const p = [
          /^fnode_$/i,
          /^tnode_$/i,
          /^lpoly_$/i,
          /^rpoly_$/i,
          /^poly_$/i,
          /^subclass$/i,
          /^subclass_$/i,
          /^rings_ok$/i,
          /^rings_nok$/i,
          /shape/i,
          /perimeter/i,
          /objectid/i,
          /_i$/i,
        ],
        g = (e, { editFieldsInfo: t, objectIdField: r, visibleFieldNames: i }) =>
          i
            ? i.has(e.name)
            : !(
                m(e.name, t) ||
                (r && e.name === r) ||
                c.indexOf(e.type) > -1 ||
                p.some((t) => t.test(e.name))
              );
      function y(e, t) {
        return 'oid' === e.type
          ? -1
          : 'oid' === t.type
          ? 1
          : I(e)
          ? -1
          : I(t)
          ? 1
          : (e.alias || e.name)
              .toLocaleLowerCase()
              .localeCompare((t.alias || t.name).toLocaleLowerCase());
      }
      function m(e, t) {
        if (!e || !t) return !1;
        const { creationDateField: r, creatorField: i, editDateField: n, editorField: a } = t;
        return (
          -1 !==
          [
            r && r.toLowerCase(),
            i && i.toLowerCase(),
            n && n.toLowerCase(),
            a && a.toLowerCase(),
          ].indexOf(e.toLowerCase())
        );
      }
      function h(e, t) {
        return e.editable && -1 === u.indexOf(e.type) && !m(e.name, t);
      }
      function M({ editFieldsInfo: e, fields: t, objectIdField: r }, i) {
        return (function (e, t) {
          const r = e;
          return (
            t && (e = e.filter((e) => -1 === t.indexOf(e.type))),
            e === r && (e = e.slice()),
            e.sort(y),
            e
          );
        })(t, (null == i ? void 0 : i.ignoreFieldTypes) || w).map(
          (t) =>
            new o.Z({
              fieldName: t.name,
              isEditable: h(t, e),
              label: t.alias,
              format: f(t),
              visible: g(t, {
                editFieldsInfo: e,
                objectIdField: r,
                visibleFieldNames: null == i ? void 0 : i.visibleFieldNames,
              }),
            }),
        );
      }
      function f(e) {
        switch (e.type) {
          case 'small-integer':
          case 'integer':
          case 'single':
            return new l.Z({ digitSeparator: !0, places: 0 });
          case 'double':
            return new l.Z({ digitSeparator: !0, places: 2 });
          case 'date':
            return new l.Z({ dateFormat: 'long-month-day-year' });
          default:
            return null;
        }
      }
      function I(e) {
        return (
          'name' === (e.name && e.name.toLowerCase()) ||
          'name' === (e.alias && e.alias.toLowerCase()) ||
          void 0
        );
      }
      const w = ['geometry', 'blob', 'raster', 'guid', 'xml'];
    },
    53269: (e, t, r) => {
      'use strict';
      r(48027), r(54174), r(82426), r(76506), r(91306), r(92143), r(31450), r(71552), r(40642);
    },
  },
]);
