(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [8824],
  {
    59765: (e, t, i) => {
      'use strict';
      i.d(t, { Z: () => c, t: () => u });
      var s = i(29768),
        n = i(74673),
        r = i(35197),
        l = i(34250),
        o = (i(76506), i(91306), i(92143), i(17533)),
        a = i(57251);
      i(21972),
        i(23639),
        i(86656),
        i(22723),
        i(91055),
        i(27794),
        i(6906),
        i(50406),
        i(60991),
        i(81172),
        i(71552),
        i(31450),
        i(40642),
        i(26341);
      const u = (0, a.s)()({
        esriTimeUnitsMilliseconds: 'milliseconds',
        esriTimeUnitsSeconds: 'seconds',
        esriTimeUnitsMinutes: 'minutes',
        esriTimeUnitsHours: 'hours',
        esriTimeUnitsDays: 'days',
        esriTimeUnitsWeeks: 'weeks',
        esriTimeUnitsMonths: 'months',
        esriTimeUnitsYears: 'years',
        esriTimeUnitsDecades: 'decades',
        esriTimeUnitsCenturies: 'centuries',
        esriTimeUnitsUnknown: void 0,
      });
      var p;
      let d = (p = class extends n.a {
        constructor(e) {
          super(e), (this.value = 0), (this.unit = 'milliseconds');
        }
        toMilliseconds() {
          return (0, r.c)(this.value, this.unit, 'milliseconds');
        }
        clone() {
          return new p({ value: this.value, unit: this.unit });
        }
      });
      (0, s._)(
        [(0, l.Cb)({ type: Number, json: { write: !0 }, nonNullable: !0 })],
        d.prototype,
        'value',
        void 0,
      ),
        (0, s._)(
          [
            (0, l.Cb)({
              type: u.apiValues,
              json: { type: u.jsonValues, read: u.read, write: u.write },
              nonNullable: !0,
            }),
          ],
          d.prototype,
          'unit',
          void 0,
        ),
        (d = p = (0, s._)([(0, o.j)('esri.TimeInterval')], d));
      const c = d;
    },
    19902: (e, t, i) => {
      'use strict';
      i.d(t, { T: () => d });
      var s = i(29768),
        n = i(93314),
        r = i(59765),
        l = i(34250),
        o = (i(76506), i(91306), i(92143), i(97714)),
        a = i(17533),
        u = i(77361),
        p = i(14249);
      const d = (e) => {
        let t = class extends e {
          constructor() {
            super(...arguments),
              (this.timeExtent = null),
              (this.timeOffset = null),
              (this.useViewTime = !0);
          }
          readOffset(e, t) {
            const i = t.timeInfo.exportOptions;
            if (!i) return null;
            const s = i.timeOffset,
              n = r.t.fromJSON(i.timeOffsetUnits);
            return s && n ? new r.Z({ value: s, unit: n }) : null;
          }
          set timeInfo(e) {
            (0, p.UF)(e, this.fieldsIndex), this._set('timeInfo', e);
          }
        };
        return (
          (0, s._)(
            [(0, l.Cb)({ type: n.Z, json: { write: !1 } })],
            t.prototype,
            'timeExtent',
            void 0,
          ),
          (0, s._)([(0, l.Cb)({ type: r.Z })], t.prototype, 'timeOffset', void 0),
          (0, s._)(
            [(0, o.r)('service', 'timeOffset', ['timeInfo.exportOptions'])],
            t.prototype,
            'readOffset',
            null,
          ),
          (0, s._)(
            [
              (0, l.Cb)({
                value: null,
                type: u.Z,
                json: { write: !0, origins: { 'web-document': { read: !1, write: !1 } } },
              }),
            ],
            t.prototype,
            'timeInfo',
            null,
          ),
          (0, s._)(
            [
              (0, l.Cb)({
                type: Boolean,
                json: {
                  read: { source: 'timeAnimation' },
                  write: { target: 'timeAnimation' },
                  origins: { 'web-scene': { read: !1, write: !1 } },
                },
              }),
            ],
            t.prototype,
            'useViewTime',
            void 0,
          ),
          (t = (0, s._)([(0, a.j)('esri.layers.mixins.TemporalLayer')], t)),
          t
        );
      };
    },
    83290: (e, t, i) => {
      'use strict';
      i.d(t, { a: () => o, r: () => a, w: () => u });
      var s = i(60991),
        n = i(71552),
        r = i(13322),
        l = i(14460);
      const o = { key: 'type', base: r.F, typeMap: { selection: r.Z } };
      function a(e, t) {
        const i = (t = t.layerDefinition || t).featureReduction;
        if (i)
          switch (i.type) {
            case 'selection':
              return r.Z.fromJSON(i);
            case 'cluster':
              return l.Z.fromJSON(i);
          }
        return null;
      }
      function u(e, t, i, r) {
        const l = (function (e, t, i) {
          return e
            ? 'selection' !== e.type
              ? (i.messages &&
                  i.messages.push(
                    new s.Z(
                      'featureReduction:unsupported',
                      `FeatureReduction of type '${e.declaredClass}' are not supported in scenes.`,
                      { featureReduction: e, context: i },
                    ),
                  ),
                null)
              : e.write({}, i)
            : null;
        })(e, 0, r);
        l && (0, n.s)(i, l, t);
      }
    },
    47346: (e, t, i) => {
      'use strict';
      i.d(t, { d: () => a });
      var s = i(92143),
        n = i(97546),
        r = i(1709),
        l = i(14249);
      const o = s.L.getLogger('esri.layers.support.fieldProperties');
      function a() {
        return {
          fields: { type: [n.Z], value: null },
          fieldsIndex: {
            readOnly: !0,
            get() {
              return new r.Z(this.fields || []);
            },
          },
          outFields: {
            type: [String],
            json: { read: !1 },
            set: function (e) {
              (this._userOutFields = e), this.notifyChange('outFields');
            },
            get: function () {
              const e = this._userOutFields;
              if (!e || !e.length) return null;
              if (e.includes('*')) return ['*'];
              if (!this.fields) return e;
              for (const t of e)
                this.fieldsIndex.has(t) ||
                  o.error(
                    'field-attributes-layer:invalid-field',
                    `Invalid field ${t} found in outFields`,
                    { layer: this, outFields: e },
                  );
              return (0, l.Q0)(this.fieldsIndex, e);
            },
          },
        };
      }
    },
    68653: (e, t, i) => {
      'use strict';
      i.d(t, { r: () => r });
      var s = i(77807);
      const n = /\[([^\[\]]+)\]/gi;
      function r(e, t, i) {
        return e
          ? e.map((e) => {
              const r = new s.Z();
              if ((r.read(e, i), r.labelExpression)) {
                const e =
                  t.fields || (t.layerDefinition && t.layerDefinition.fields) || this.fields;
                r.labelExpression = r.labelExpression.replace(
                  n,
                  (t, i) =>
                    `[${(function (e, t) {
                      if (!t) return e;
                      const i = e.toLowerCase();
                      for (let e = 0; e < t.length; e++) {
                        const s = t[e].name;
                        if (s.toLowerCase() === i) return s;
                      }
                      return e;
                    })(i, e)}]`,
                );
              }
              return r;
            })
          : null;
      }
    },
    14460: (e, t, i) => {
      'use strict';
      i.d(t, { Z: () => x });
      var s,
        n = i(29768),
        r = i(86748),
        l = i(96467),
        o = i(74673),
        a = i(76506),
        u = i(99403),
        p = i(34250),
        d = (i(91306), i(92143), i(17533)),
        c = i(43022),
        y = i(77807);
      i(15324),
        i(91055),
        i(76996),
        i(21972),
        i(23639),
        i(86656),
        i(22723),
        i(27794),
        i(6906),
        i(50406),
        i(60991),
        i(81172),
        i(71552),
        i(31450),
        i(40642),
        i(86787),
        i(97714),
        i(2906),
        i(14249),
        i(9801),
        i(53523),
        i(59465),
        i(57251),
        i(42911),
        i(26341),
        i(46826),
        i(45433),
        i(60217),
        i(74569),
        i(21801),
        i(73796),
        i(60947),
        i(91597),
        i(35132),
        i(89623),
        i(84069),
        i(44567),
        i(98380),
        i(92896),
        i(22781),
        i(32422),
        i(29107),
        i(30574),
        i(2157),
        i(25977),
        i(7471),
        i(54414),
        i(1648),
        i(8925),
        i(33921),
        i(3482),
        i(45154),
        i(16769),
        i(55531),
        i(30582),
        i(593),
        i(85699),
        i(63136),
        i(96055),
        i(47776),
        i(18033),
        i(6331),
        i(62048),
        i(4292),
        i(75626),
        i(72652),
        i(29641),
        i(30493),
        i(70821),
        i(82673),
        i(34229),
        i(37029),
        i(63571),
        i(30776),
        i(48027),
        i(54174),
        i(82426),
        i(63130),
        i(25696),
        i(66396),
        i(42775),
        i(95834),
        i(34394),
        i(57150),
        i(76726),
        i(20444),
        i(76393),
        i(78548),
        i(2497),
        i(49906),
        i(46527),
        i(48649),
        i(9960),
        i(3101),
        i(5853),
        i(39141),
        i(32101),
        i(38742),
        i(48243),
        i(34635),
        i(10401),
        i(49900),
        i(66284),
        i(82058),
        i(88762),
        i(73173),
        i(22739),
        i(20543),
        i(67477),
        i(78533),
        i(74653),
        i(91091),
        i(58943),
        i(70737),
        i(8487),
        i(17817),
        i(90814),
        i(15459),
        i(61847),
        i(16796),
        i(16955),
        i(22401),
        i(77894),
        i(55187),
        i(8586),
        i(44509),
        i(69814),
        i(11305),
        i(62259),
        i(44790),
        i(5909),
        i(60669),
        i(48208),
        i(51589),
        i(93314),
        i(35197),
        i(47842),
        i(17298),
        i(85557),
        i(53785),
        i(95587),
        i(50203),
        i(30439),
        i(6941),
        i(16218),
        i(9075);
      let m = (s = class extends o.a {
        constructor() {
          super(...arguments),
            (this.statisticType = null),
            (this.onStatisticField = null),
            (this.onStatisticValueExpression = null);
        }
        clone() {
          return new s({
            statisticType: this.statisticType,
            onStatisticField: this.onStatisticField,
            onStatisticValueExpression: this.onStatisticValueExpression,
          });
        }
      });
      (0, n._)(
        [(0, p.Cb)({ type: String, json: { write: !0 } })],
        m.prototype,
        'statisticType',
        void 0,
      ),
        (0, n._)(
          [(0, p.Cb)({ type: String, json: { write: !0 } })],
          m.prototype,
          'onStatisticField',
          void 0,
        ),
        (0, n._)(
          [(0, p.Cb)({ type: String, json: { write: !0 } })],
          m.prototype,
          'onStatisticValueExpression',
          void 0,
        ),
        (m = s = (0, n._)([(0, d.j)('esri.layers.support.OutStatistic')], m));
      var v,
        f = m;
      let h = (v = class extends o.a {
        constructor() {
          super(...arguments), (this.name = null);
        }
        clone() {
          return new v({ name: this.name, outStatistic: this.outStatistic.clone() });
        }
      });
      (0, n._)([(0, p.Cb)({ type: String, json: { write: !0 } })], h.prototype, 'name', void 0),
        (0, n._)(
          [(0, p.Cb)({ type: f, json: { write: !0 } })],
          h.prototype,
          'outStatistic',
          void 0,
        ),
        (h = v = (0, n._)([(0, d.j)('esri.layers.support.AggregateField')], h));
      var w,
        b = h;
      let g = (w = class extends o.a {
        constructor(e) {
          super(e),
            (this.type = 'cluster'),
            (this.clusterRadius = (0, u.t)('80px')),
            (this.clusterMinSize = (0, u.t)('12px')),
            (this.clusterMaxSize = (0, u.t)('50px')),
            (this.popupEnabled = !0),
            (this.popupTemplate = null),
            (this.symbol = null),
            (this.labelingInfo = null),
            (this.labelsVisible = !0),
            (this.fields = null);
        }
        clone() {
          return new w({
            clusterRadius: this.clusterRadius,
            clusterMinSize: this.clusterMinSize,
            clusterMaxSize: this.clusterMaxSize,
            labelingInfo: (0, a.d9)(this.labelingInfo),
            labelsVisible: this.labelsVisible,
            fields: (0, a.d9)(this.fields),
            popupEnabled: this.popupEnabled,
            popupTemplate: (0, a.d9)(this.popupTemplate),
          });
        }
      });
      (0, n._)(
        [(0, p.Cb)({ type: ['cluster'], readOnly: !0, json: { write: !0 } })],
        g.prototype,
        'type',
        void 0,
      ),
        (0, n._)(
          [
            (0, p.Cb)({
              type: Number,
              cast: (e) => ('auto' === e ? e : (0, u.t)(e)),
              json: { write: !0 },
            }),
          ],
          g.prototype,
          'clusterRadius',
          void 0,
        ),
        (0, n._)(
          [(0, p.Cb)({ type: Number, cast: u.t, json: { write: !0 } })],
          g.prototype,
          'clusterMinSize',
          void 0,
        ),
        (0, n._)(
          [(0, p.Cb)({ type: Number, cast: u.t, json: { write: !0 } })],
          g.prototype,
          'clusterMaxSize',
          void 0,
        ),
        (0, n._)([(0, p.Cb)(c.p)], g.prototype, 'popupEnabled', void 0),
        (0, n._)(
          [
            (0, p.Cb)({
              type: r.Z,
              json: { read: { source: 'popupInfo' }, write: { target: 'popupInfo' } },
            }),
          ],
          g.prototype,
          'popupTemplate',
          void 0,
        ),
        (0, n._)([(0, p.Cb)({ types: l.AH })], g.prototype, 'symbol', void 0),
        (0, n._)(
          [
            (0, p.Cb)({
              type: [y.Z],
              json: {
                read: { source: 'drawingInfo.labelingInfo' },
                write: { target: 'drawingInfo.labelingInfo' },
              },
            }),
          ],
          g.prototype,
          'labelingInfo',
          void 0,
        ),
        (0, n._)([(0, p.Cb)(c.l)], g.prototype, 'labelsVisible', void 0),
        (0, n._)([(0, p.Cb)({ type: [b], json: { write: !0 } })], g.prototype, 'fields', void 0),
        (g = w = (0, n._)([(0, d.j)('esri.layers.support.FeatureReductionCluster')], g));
      const x = g;
    },
    13322: (e, t, i) => {
      'use strict';
      i.d(t, { Z: () => d, F: () => u });
      var s = i(29768),
        n = i(34250),
        r = (i(76506), i(91306), i(92143), i(17533)),
        l = i(74673);
      i(86656),
        i(22723),
        i(31450),
        i(71552),
        i(40642),
        i(81172),
        i(21972),
        i(23639),
        i(91055),
        i(27794),
        i(6906),
        i(50406),
        i(60991),
        i(26341);
      let o = class extends l.a {
        constructor() {
          super(...arguments), (this.type = null);
        }
      };
      (0, s._)(
        [
          (0, n.Cb)({
            type: ['selection', 'cluster'],
            readOnly: !0,
            json: { read: !1, write: !0 },
          }),
        ],
        o.prototype,
        'type',
        void 0,
      ),
        (o = (0, s._)([(0, r.j)('esri.layers.support.FeatureReduction')], o));
      var a,
        u = o;
      let p = (a = class extends u {
        constructor(e) {
          super(e), (this.type = 'selection');
        }
        clone() {
          return new a();
        }
      });
      (0, s._)([(0, n.Cb)({ type: ['selection'] })], p.prototype, 'type', void 0),
        (p = a = (0, s._)([(0, r.j)('esri.layers.support.FeatureReductionSelection')], p));
      const d = p;
    },
    77361: (e, t, i) => {
      'use strict';
      i.d(t, { Z: () => h });
      var s,
        n = i(29768),
        r = i(93314),
        l = i(59765),
        o = i(74673),
        a = i(76506),
        u = i(34250),
        p = (i(91306), i(92143), i(97714)),
        d = i(17533),
        c = i(2906);
      i(35197),
        i(21972),
        i(23639),
        i(86656),
        i(22723),
        i(91055),
        i(27794),
        i(6906),
        i(50406),
        i(60991),
        i(81172),
        i(71552),
        i(31450),
        i(40642),
        i(26341),
        i(57251);
      let y = (s = class extends o.a {
        constructor(e) {
          super(e), (this.respectsDaylightSaving = !1), (this.timezone = null);
        }
        readRespectsDaylightSaving(e, t) {
          return void 0 !== t.respectsDaylightSaving
            ? t.respectsDaylightSaving
            : void 0 !== t.respectDaylightSaving && t.respectDaylightSaving;
        }
        clone() {
          const { respectsDaylightSaving: e, timezone: t } = this;
          return new s({ respectsDaylightSaving: e, timezone: t });
        }
      });
      (0, n._)(
        [(0, u.Cb)({ type: Boolean, json: { write: !0 } })],
        y.prototype,
        'respectsDaylightSaving',
        void 0,
      ),
        (0, n._)(
          [(0, p.r)('respectsDaylightSaving', ['respectsDaylightSaving', 'respectDaylightSaving'])],
          y.prototype,
          'readRespectsDaylightSaving',
          null,
        ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: String,
              json: { read: { source: 'timeZone' }, write: { target: 'timeZone' } },
            }),
          ],
          y.prototype,
          'timezone',
          void 0,
        ),
        (y = s = (0, n._)([(0, d.j)('esri.layers.support.TimeReference')], y));
      var m,
        v = y;
      let f = (m = class extends o.a {
        constructor(e) {
          super(e),
            (this.cumulative = !1),
            (this.endField = null),
            (this.fullTimeExtent = null),
            (this.hasLiveData = !1),
            (this.interval = null),
            (this.startField = null),
            (this.timeReference = null),
            (this.trackIdField = null),
            (this.useTime = !0);
        }
        readFullTimeExtent(e, t) {
          if (!t.timeExtent || !Array.isArray(t.timeExtent) || 2 !== t.timeExtent.length)
            return null;
          const i = new Date(t.timeExtent[0]),
            s = new Date(t.timeExtent[1]);
          return new r.Z({ start: i, end: s });
        }
        writeFullTimeExtent(e, t) {
          e && (0, a.i)(e.start) && (0, a.i)(e.end)
            ? (t.timeExtent = [e.start.getTime(), e.end.getTime()])
            : (t.timeExtent = null);
        }
        readInterval(e, t) {
          return t.timeInterval && t.timeIntervalUnits
            ? new l.Z({ value: t.timeInterval, unit: l.t.fromJSON(t.timeIntervalUnits) })
            : t.defaultTimeInterval && t.defaultTimeIntervalUnits
            ? new l.Z({
                value: t.defaultTimeInterval,
                unit: l.t.fromJSON(t.defaultTimeIntervalUnits),
              })
            : null;
        }
        writeInterval(e, t) {
          if (e) {
            const i = e.toJSON();
            (t.timeInterval = i.value), (t.timeIntervalUnits = i.unit);
          } else (t.timeInterval = null), (t.timeIntervalUnits = null);
        }
        clone() {
          const {
            cumulative: e,
            endField: t,
            hasLiveData: i,
            interval: s,
            startField: n,
            timeReference: r,
            fullTimeExtent: l,
            trackIdField: o,
            useTime: u,
          } = this;
          return new m({
            cumulative: e,
            endField: t,
            hasLiveData: i,
            interval: s,
            startField: n,
            timeReference: (0, a.d9)(r),
            fullTimeExtent: (0, a.d9)(l),
            trackIdField: o,
            useTime: u,
          });
        }
      });
      (0, n._)(
        [
          (0, u.Cb)({
            type: Boolean,
            json: {
              read: { source: 'exportOptions.timeDataCumulative' },
              write: { target: 'exportOptions.timeDataCumulative' },
            },
          }),
        ],
        f.prototype,
        'cumulative',
        void 0,
      ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: String,
              json: {
                read: { source: 'endTimeField' },
                write: { target: 'endTimeField', allowNull: !0 },
              },
            }),
          ],
          f.prototype,
          'endField',
          void 0,
        ),
        (0, n._)(
          [(0, u.Cb)({ type: r.Z, json: { write: { enabled: !0, allowNull: !0 } } })],
          f.prototype,
          'fullTimeExtent',
          void 0,
        ),
        (0, n._)(
          [(0, p.r)('fullTimeExtent', ['timeExtent'])],
          f.prototype,
          'readFullTimeExtent',
          null,
        ),
        (0, n._)([(0, c.w)('fullTimeExtent')], f.prototype, 'writeFullTimeExtent', null),
        (0, n._)(
          [(0, u.Cb)({ type: Boolean, json: { write: !0 } })],
          f.prototype,
          'hasLiveData',
          void 0,
        ),
        (0, n._)(
          [(0, u.Cb)({ type: l.Z, json: { write: { enabled: !0, allowNull: !0 } } })],
          f.prototype,
          'interval',
          void 0,
        ),
        (0, n._)(
          [
            (0, p.r)('interval', [
              'timeInterval',
              'timeIntervalUnits',
              'defaultTimeInterval',
              'defaultTimeIntervalUnits',
            ]),
          ],
          f.prototype,
          'readInterval',
          null,
        ),
        (0, n._)([(0, c.w)('interval')], f.prototype, 'writeInterval', null),
        (0, n._)(
          [
            (0, u.Cb)({
              type: String,
              json: {
                read: { source: 'startTimeField' },
                write: { target: 'startTimeField', allowNull: !0 },
              },
            }),
          ],
          f.prototype,
          'startField',
          void 0,
        ),
        (0, n._)(
          [(0, u.Cb)({ type: v, json: { write: { enabled: !0, allowNull: !0 } } })],
          f.prototype,
          'timeReference',
          void 0,
        ),
        (0, n._)(
          [(0, u.Cb)({ type: String, json: { write: { enabled: !0, allowNull: !0 } } })],
          f.prototype,
          'trackIdField',
          void 0,
        ),
        (0, n._)(
          [
            (0, u.Cb)({
              type: Boolean,
              json: {
                read: { source: 'exportOptions.useTime' },
                write: { target: 'exportOptions.useTime' },
              },
            }),
          ],
          f.prototype,
          'useTime',
          void 0,
        ),
        (f = m = (0, n._)([(0, d.j)('esri.layers.support.TimeInfo')], f));
      const h = f;
    },
  },
]);
