(self.webpackChunkRemoteClient = self.webpackChunkRemoteClient || []).push([
  [5709, 7258],
  {
    55823: (e, t, r) => {
      'use strict';
      r.d(t, { a: () => o });
      var s = r(92847);
      function o(e, t, r) {
        if (!r || !r.features || !r.hasZ) return;
        const o = (0, s.g)(r.geometryType, t, e.outSpatialReference);
        if (o) for (const e of r.features) o(e.geometry);
      }
    },
    92847: (e, t, r) => {
      'use strict';
      r.d(t, { g: () => i, u: () => l });
      var s = r(76506),
        o = r(53785),
        n = r(60947);
      function i(e, t, r) {
        if ((0, s.b)(t) || (0, s.b)(r) || r.vcsWkid || (0, n.e)(t, r)) return null;
        const i = (0, o.d)(t) / (0, o.d)(r);
        if (1 === i) return null;
        switch (e) {
          case 'point':
          case 'esriGeometryPoint':
            return (e) => {
              return (r = i), void ((t = e) && null != t.z && (t.z *= r));
              var t, r;
            };
          case 'polyline':
          case 'esriGeometryPolyline':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.paths) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, i);
          case 'polygon':
          case 'esriGeometryPolygon':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.rings) for (const e of r) e.length > 2 && (e[2] *= t);
              })(e, i);
          case 'multipoint':
          case 'esriGeometryMultipoint':
            return (e) =>
              (function (e, t) {
                if (e) for (const r of e.points) r.length > 2 && (r[2] *= t);
              })(e, i);
          default:
            return null;
        }
      }
      function a(e, t, r) {
        if (null == e.hasM || e.hasZ)
          for (const e of t) for (const t of e) t.length > 2 && (t[2] *= r);
      }
      function l(e, t, r) {
        if ((!e && !t) || !r) return;
        const s = (0, o.d)(r);
        c(e, r, s), c(t, r, s);
      }
      function c(e, t, r) {
        if (e) for (const s of e) u(s.geometry, t, r);
      }
      function u(e, t, r) {
        if (!e || !e.spatialReference || (0, n.e)(e.spatialReference, t)) return;
        const s = (0, o.d)(e.spatialReference) / r;
        if (1 !== s)
          if ('x' in e) null != e.z && (e.z *= s);
          else if ('rings' in e) a(e, e.rings, s);
          else if ('paths' in e) a(e, e.paths, s);
          else if ('points' in e && (null == e.hasM || e.hasZ))
            for (const t of e.points) t.length > 2 && (t[2] *= s);
      }
    },
    46987: (e, t, r) => {
      'use strict';
      r.d(t, { Z: () => l });
      var s = r(22723),
        o = r(92143),
        n = r(50406),
        i = r(37453);
      r(76506), r(31450), r(71552), r(40642), r(60991), r(81172), r(88762), r(32101);
      const a = o.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, s) => {
              let o = !0;
              const a = (e) => {
                (0, n.k_)(t.signal), o && ((o = !1), e());
              };
              (this._clients.length = e.length), (this._clientPromises.length = e.length);
              for (let o = 0; o < e.length; ++o) {
                const l = e[o];
                (0, n.y8)(l)
                  ? (this._clientPromises[o] = l.then(
                      (e) => ((this._clients[o] = new i.default(e, t)), a(r), this._clients[o]),
                      () => (a(s), null),
                    ))
                  : ((this._clients[o] = new i.default(l, t)),
                    (this._clientPromises[o] = Promise.resolve(this._clients[o])),
                    a(r));
              }
            });
          }
          broadcast(e, t, r) {
            const s = new Array(this._clientPromises.length);
            for (let o = 0; o < this._clientPromises.length; ++o) {
              const n = this._clientPromises[o];
              s[o] = n.then((s) => s.invoke(e, t, r));
            }
            return s;
          }
          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 s = null;
            return (
              Array.isArray(r)
                ? (a.warn(
                    'invoke()',
                    'The transferList parameter is deprecated, use the options object instead',
                  ),
                  (s = { transferList: r }))
                : (s = r),
              this.closed
                ? Promise.reject(new Error('Connection closed'))
                : this.getAvailableClient().then((r) => r.invoke(e, t, s))
            );
          }
          on(e, t) {
            return Promise.all(this._clientPromises).then(() =>
              (0, s.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 s = 0; s < this._clientPromises.length; ++s)
                this._clientPromises[s].then((o) => {
                  (t[s] = o.openPort()), 0 == --r && e(t);
                });
            });
          }
          get test() {
            return { numClients: this._clients.length };
          }
        };
    },
    65514: (e, t, r) => {
      'use strict';
      r.d(t, { bA: () => D, Mz: () => F });
      var s = r(60991),
        o = r(76506),
        n = r(50406),
        i = r(46987),
        a = r(37453),
        l = r(88762),
        c = r(92143),
        u = r(73173),
        h = r(31450),
        d = (r(66284), r(32101)),
        f = r(3482);
      r(81172), r(71552), r(40642), r(22723), r(82058), r(33921), r(57251);
      let p = null;
      p = (0, d.hF)((0, u.g)('esri/core/workers/init.js'));
      const g = {};
      (g.baseUrl = (0, d.hF)((0, u.g)('dojo/'))),
        (g.packages = [{ name: 'esri', location: '../esri' }]);
      class m {
        constructor() {
          const e = document.createDocumentFragment();
          ['addEventListener', 'dispatchEvent', 'removeEventListener'].forEach((t) => {
            this[t] = (...r) => e[t](...r);
          });
        }
      }
      const y = o.g.MutationObserver || o.g.WebKitMutationObserver,
        v = (function () {
          let e;
          if (o.g.process && o.g.process.nextTick)
            e = (e) => {
              o.g.process.nextTick(e);
            };
          else if (o.g.Promise)
            e = (e) => {
              o.g.Promise.resolve().then(e);
            };
          else if (y) {
            const t = [],
              r = document.createElement('div');
            new y(() => {
              for (; t.length > 0; ) t.shift()();
            }).observe(r, { attributes: !0 }),
              (e = (e) => {
                t.push(e), r.setAttribute('queueStatus', '1');
              });
          }
          return e;
        })(),
        w = (() => {
          const e = o.g.MessageEvent;
          try {
            new e('message', { data: null });
          } catch {
            return (e, t = {}) => {
              const { data: r, bubbles: s = !1, cancelable: o = !1 } = t,
                n = document.createEvent('Event');
              return n.initEvent(e, s, o), (n.data = r), n;
            };
          }
          return (t, r) => new e(t, r);
        })();
      class b {
        constructor() {
          (this._dispatcher = new m()), this._workerPostMessage({ type: a.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) {
          v(() => {
            this._workerMessageHandler(w('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) {
          v(() => {
            this.dispatchEvent(w('message', { data: e }));
          });
        }
        async _workerMessageHandler(e) {
          const t = (0, a.r)(e);
          if (t && t.type === a.M.OPEN) {
            const { modulePath: e, jobId: r } = t;
            let s = await a.default.loadWorker(e);
            s || (s = await import(e));
            const o = a.default.connect(s);
            this._workerPostMessage({ type: a.M.OPENED, jobId: r, data: o });
          }
        }
      }
      const _ = c.L.getLogger('esri.core.workers'),
        { HANDSHAKE: k } = a.M;
      let P, E;
      const M = 'Failed to create Worker. Fallback to execute module in main thread';
      async function R(e) {
        return new Promise((t) => {
          function r(o) {
            const n = (0, a.r)(o);
            n &&
              n.type === k &&
              (e.removeEventListener('message', r), e.removeEventListener('error', s), t(e));
          }
          function s(t) {
            t.preventDefault(),
              e.removeEventListener('message', r),
              e.removeEventListener('error', s),
              _.warn('Failed to create Worker. Fallback to execute module in main thread', t),
              (e = new b()).addEventListener('message', r),
              e.addEventListener('error', s);
          }
          e.addEventListener('message', r), e.addEventListener('error', s);
        });
      }
      let N = 0;
      const O = c.L.getLogger('esri.core.workers'),
        { ABORT: S, INVOKE: C, OPEN: j, OPENED: I, RESPONSE: L } = a.M;
      class A {
        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(), O.error(e);
            });
        }
        static async create(e) {
          const t = await (async function () {
            if (!(0, o.h)('esri-workers')) return R(new b());
            if (!P && !E)
              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 != h.Z.default) {
                      const t = { ...h.Z };
                      delete t.default, (e = JSON.parse(JSON.stringify(t)));
                    } else e = JSON.parse(JSON.stringify(h.Z));
                    (e.assetsPath = (0, d.hF)(e.assetsPath)),
                      (e.request.interceptors = []),
                      (e.log.interceptors = []),
                      (e.locale = (0, f.g)()),
                      (e.has = {
                        'csp-restrictions': (0, o.h)('csp-restrictions'),
                        'esri-2d-debug': !1,
                        'esri-2d-update-debug': (0, o.h)('esri-2d-update-debug'),
                        'esri-2d-query-centroid-enabled': (0, o.h)(
                          'esri-2d-query-centroid-enabled',
                        ),
                        'featurelayer-pbf': (0, o.h)('featurelayer-pbf'),
                        'esri-atomics': (0, o.h)('esri-atomics'),
                        'esri-shared-array-buffer': (0, o.h)('esri-shared-array-buffer'),
                        'esri-tiles-debug': (0, o.h)('esri-tiles-debug'),
                        'esri-workers-arraybuffer-transfer': (0, o.h)(
                          'esri-workers-arraybuffer-transfer',
                        ),
                        'host-webworker': 1,
                      }),
                      e.workers.loaderUrl
                        ? (e.workers.loaderUrl = (0, d.hF)(e.workers.loaderUrl))
                        : p && (e.workers.loaderUrl = p),
                      e.workers.workerPath
                        ? (e.workers.workerPath = (0, d.hF)(e.workers.workerPath))
                        : (e.workers.workerPath = 'esri/core/workers/RemoteClient');
                    const t = h.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 = g.baseUrl),
                          null == (t = g.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, f.g)(),
                        has: {
                          'csp-restrictions': (0, o.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) || [],
                      }),
                      s = { version: l.i8, buildDate: l.rh, revision: l.LB };
                    return JSON.stringify({ esriConfig: e, loaderConfig: r, kernelInfo: s });
                  })()}'`,
                );
                P = URL.createObjectURL(new Blob([e], { type: 'text/javascript' }));
              } catch (e) {
                E = e || {};
              }
            let e;
            if (P)
              try {
                e = new Worker(P, { name: 'esri-worker-' + N++ });
              } catch (t) {
                _.warn(M, E), (e = new b());
              }
            else _.warn(M, E), (e = new b());
            return R(e);
          })();
          return new A(t, e);
        }
        terminate() {
          this.worker.terminate();
        }
        async open(e, t = {}) {
          const { signal: r } = t,
            s = (0, a.n)();
          return new Promise((t, o) => {
            const i = {
              resolve: t,
              reject: o,
              abortHandle: (0, n.$F)(r, () => {
                this._outJobs.delete(s), this._post({ type: S, jobId: s });
              }),
            };
            this._outJobs.set(s, i), this._post({ type: j, jobId: s, modulePath: e });
          });
        }
        _onMessage(e) {
          const t = (0, a.r)(e);
          if (t)
            switch (t.type) {
              case I:
                this._onOpenedMessage(t);
                break;
              case L:
                this._onResponseMessage(t);
                break;
              case S:
                this._onAbortMessage(t);
                break;
              case C:
                this._onInvokeMessage(t);
            }
        }
        _onAbortMessage(e) {
          const t = this._inJobs,
            r = e.jobId,
            s = t.get(r);
          s && (s.controller && s.controller.abort(), t.delete(r));
        }
        _onInvokeMessage(e) {
          const { methodName: t, jobId: r, data: s, abortable: o } = e,
            i = o ? (0, n.yi)() : null,
            c = this._inJobs,
            u = l.Nv[t];
          let h;
          try {
            if ('function' != typeof u) throw new TypeError(`${t} is not a function`);
            h = u.call(null, s, { signal: i ? i.signal : null });
          } catch (e) {
            return void this._post({ type: L, jobId: r, error: (0, a.t)(e) });
          }
          (0, n.y8)(h)
            ? (c.set(r, { controller: i, promise: h }),
              h.then(
                (e) => {
                  c.has(r) && (c.delete(r), this._post({ type: L, jobId: r }, e));
                },
                (e) => {
                  c.has(r) &&
                    (c.delete(r),
                    e || (e = { message: 'Error encountered at method' + t }),
                    (0, n.D_)(e) ||
                      this._post({
                        type: L,
                        jobId: r,
                        error: (0, a.t)(e || { message: `Error encountered at method ${t}` }),
                      }));
                },
              ))
            : this._post({ type: L, jobId: r }, h);
        }
        _onOpenedMessage(e) {
          var t;
          const { jobId: r, data: s } = e,
            o = this._outJobs.get(r);
          o && (this._outJobs.delete(r), null == (t = o.abortHandle) || t.remove(), o.resolve(s));
        }
        _onResponseMessage(e) {
          var t;
          const { jobId: r, error: o, data: n } = e,
            i = this._outJobs.get(r);
          i &&
            (this._outJobs.delete(r),
            null == (t = i.abortHandle) || t.remove(),
            o ? i.reject(s.Z.fromJSON(JSON.parse(o))) : i.resolve(n));
        }
        _post(e, t, r) {
          return (0, a.p)(this.worker, e, t, r);
        }
      }
      let x = (0, o.h)('esri-workers-debug')
        ? 1
        : (0, o.h)('host-browser')
        ? navigator.hardwareConcurrency - 1
        : 0;
      x || (x = ((0, o.h)('safari') && (0, o.h)('mac')) || (0, o.h)('trident') ? 7 : 2);
      let J = 0;
      const H = [];
      function F(e, t) {
        return U(e, { client: t });
      }
      async function U(e, t) {
        const r = new i.Z();
        return await r.open(e, t), r;
      }
      async function D(e, t = {}) {
        if ('string' != typeof e)
          throw new s.Z('workers:undefined-module', 'modulePath is missing');
        let r = t.strategy || 'distributed';
        if (
          ((0, o.h)('host-webworker') && !(0, o.h)('esri-workers') && (r = 'local'), 'local' === r)
        ) {
          let r = await a.default.loadWorker(e);
          r || (r = await import(e)), (0, n.k_)(t.signal);
          const s = t.client || r;
          return U([a.default.connect(r)], { ...t, client: s });
        }
        if (
          (await (async function () {
            if (T) return T;
            G = (0, n.yi)();
            const e = [];
            for (let t = 0; t < x; t++) {
              const r = A.create(t).then((e) => ((H[t] = e), e));
              e.push(r);
            }
            return (T = Promise.all(e)), T;
          })(),
          (0, n.k_)(t.signal),
          'dedicated' === r)
        ) {
          const r = J++ % x;
          return U([await H[r].open(e, t)], t);
        }
        if (t.maxNumWorkers && t.maxNumWorkers > 0) {
          const r = Math.min(t.maxNumWorkers, x);
          if (r < x) {
            const s = new Array(r);
            for (let o = 0; o < r; ++o) {
              const r = J++ % x;
              s[o] = H[r].open(e, t);
            }
            return U(s, t);
          }
        }
        return U(
          H.map((r) => r.open(e, t)),
          t,
        );
      }
      let G,
        T = null;
    },
    87258: (e, t, r) => {
      'use strict';
      r.r(t), r.d(t, { default: () => v });
      var s = r(29768),
        o = r(74569),
        n = r(23761),
        i = r(57251),
        a = r(74673),
        l = r(76506),
        c = r(34250),
        u = (r(91306), r(92143), r(97714)),
        h = r(17533),
        d = r(2906),
        f = r(60947),
        p = r(32422),
        g = 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 m = new i.J({
        esriGeometryPoint: 'point',
        esriGeometryMultipoint: 'multipoint',
        esriGeometryPolyline: 'polyline',
        esriGeometryPolygon: 'polygon',
        esriGeometryEnvelope: 'extent',
        mesh: 'mesh',
        '': null,
      });
      let y = class extends a.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 = f.Z.fromJSON(t.spatialReference),
            s = [];
          for (let t = 0; t < e.length; t++) {
            const o = e[t],
              i = n.Z.fromJSON(o),
              a = o.geometry && o.geometry.spatialReference;
            (0, l.i)(i.geometry) && !a && (i.geometry.spatialReference = r), s.push(i);
          }
          return s;
        }
        writeGeometryType(e, t, r, s) {
          if (e) return void m.write(e, t, r, s);
          const { features: o } = this;
          if (o)
            for (const e of o)
              if (e && (0, l.i)(e.geometry)) return void m.write(e.geometry.type, t, r, s);
        }
        readQueryGeometry(e, t) {
          if (!e) return null;
          const r = !!e.spatialReference,
            s = (0, p.im)(e);
          return (
            !r && t.spatialReference && (s.spatialReference = f.Z.fromJSON(t.spatialReference)), s
          );
        }
        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 s = t.features[r];
              if (s.geometry) {
                const t = e && e[r];
                s.geometry = (t && t.toJSON()) || s.geometry;
              }
            }
          return t;
        }
        quantize(e) {
          const {
              scale: [t, r],
              translate: [s, o],
            } = e,
            n = this.features,
            i = this._getQuantizationFunction(
              this.geometryType,
              (e) => Math.round((e - s) / t),
              (e) => Math.round((o - e) / r),
            );
          for (let e = 0, t = n.length; e < t; e++)
            i((0, l.u)(n[e].geometry)) || (n.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: [s, o],
              scale: [n, i],
            } = r,
            a = this._getHydrationFunction(
              e,
              (e) => e * n + s,
              (e) => o - e * i,
            );
          for (const { geometry: e } of t) (0, l.i)(e) && a(e);
          return (this.transform = null), this;
        }
        _quantizePoints(e, t, r) {
          let s, o;
          const n = [];
          for (let i = 0, a = e.length; i < a; i++) {
            const a = e[i];
            if (i > 0) {
              const e = t(a[0]),
                i = r(a[1]);
              (e === s && i === o) || (n.push([e - s, i - o]), (s = e), (o = i));
            } else (s = t(a[0])), (o = r(a[1])), n.push([s, o]);
          }
          return n.length > 0 ? n : 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 s = (0, p.oU)(e) ? e.rings : e.paths,
                  o = [];
                for (let e = 0, n = s.length; e < n; e++) {
                  const n = s[e],
                    i = this._quantizePoints(n, t, r);
                  i && o.push(i);
                }
                return o.length > 0 ? ((0, p.oU)(e) ? (e.rings = o) : (e.paths = o), e) : null;
              }
            : 'multipoint' === e
            ? (e) => {
                const s = this._quantizePoints(e.points, t, r);
                return s.length > 0 ? ((e.points = s), 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 s = (0, p.oU)(e) ? e.rings : e.paths;
                let o, n;
                for (let e = 0, i = s.length; e < i; e++) {
                  const i = s[e];
                  for (let e = 0, s = i.length; e < s; e++) {
                    const s = i[e];
                    e > 0 ? ((o += s[0]), (n += s[1])) : ((o = s[0]), (n = s[1])),
                      (s[0] = t(o)),
                      (s[1] = r(n));
                  }
                }
              }
            : '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 s = e.points;
                let o, n;
                for (let e = 0, i = s.length; e < i; e++) {
                  const i = s[e];
                  e > 0 ? ((o += i[0]), (n += i[1])) : ((o = i[0]), (n = i[1])),
                    (i[0] = t(o)),
                    (i[1] = r(n));
                }
              }
            : void 0;
        }
      };
      (0, s._)(
        [(0, c.Cb)({ type: String, json: { write: !0 } })],
        y.prototype,
        'displayFieldName',
        void 0,
      ),
        (0, s._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          y.prototype,
          'exceededTransferLimit',
          void 0,
        ),
        (0, s._)(
          [(0, c.Cb)({ type: [n.Z], json: { write: !0 } })],
          y.prototype,
          'features',
          void 0,
        ),
        (0, s._)([(0, u.r)('features')], y.prototype, 'readFeatures', null),
        (0, s._)([(0, c.Cb)({ type: [g.Z], json: { write: !0 } })], y.prototype, 'fields', void 0),
        (0, s._)(
          [
            (0, c.Cb)({
              type: ['point', 'multipoint', 'polyline', 'polygon', 'extent', 'mesh'],
              json: { read: { reader: m.read } },
            }),
          ],
          y.prototype,
          'geometryType',
          void 0,
        ),
        (0, s._)([(0, d.w)('geometryType')], y.prototype, 'writeGeometryType', null),
        (0, s._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          y.prototype,
          'hasM',
          void 0,
        ),
        (0, s._)(
          [
            (0, c.Cb)({
              type: Boolean,
              json: { write: { overridePolicy: (e) => ({ enabled: e }) } },
            }),
          ],
          y.prototype,
          'hasZ',
          void 0,
        ),
        (0, s._)(
          [(0, c.Cb)({ types: o.qM, json: { write: !0 } })],
          y.prototype,
          'queryGeometry',
          void 0,
        ),
        (0, s._)([(0, u.r)('queryGeometry')], y.prototype, 'readQueryGeometry', null),
        (0, s._)(
          [(0, c.Cb)({ type: f.Z, json: { write: !0 } })],
          y.prototype,
          'spatialReference',
          void 0,
        ),
        (0, s._)([(0, d.w)('spatialReference')], y.prototype, 'writeSpatialReference', null),
        (0, s._)([(0, c.Cb)({ json: { write: !0 } })], y.prototype, 'transform', void 0),
        (y = (0, s._)([(0, h.j)('esri.rest.support.FeatureSet')], y)),
        (y.prototype.toJSON.isDefaultToJSON = !0),
        y || (y = {});
      const v = y;
    },
  },
]);
