@esri/hub-common 9.13.1 → 9.13.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,2 +1,2 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisHub=e.arcgisHub||{})}(this,function(n){"use strict";function o(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}function i(e,r,n){return n=n||"",Array.isArray(e)?e.map(t):!e||!c(e)||s(e)||l(e)||u(e)?r(e,n):Object.assign({},e,o(e,t));function t(e,t){return i(e,r,""+(n?n+"."+t:t))}}function a(e){return"string"==typeof e||e instanceof String}function s(e){return e instanceof Date}function u(e){return"function"==typeof e}function c(e){return"object"==typeof e}function l(e){return e instanceof RegExp}function f(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function p(e){var t,r={};if(Array.isArray(e))r=e.map(p);else if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&(null!=(t=e[n])&&"object"==typeof t?t instanceof Date?r[n]=new Date(t.getTime()):r[n]=p(t):r[n]=t);else r=e;return r}function d(e,r,n){return e?e.reduce(function(e,t){return e=f(t,r)===n?t:e},null):null}function r(e){return""+(e=void 0===e?"i":e)+Math.random().toString(36).substr(2,8)}function h(e,t){return null!=e&&(t=p(t)).push(e),t}function m(e){return(e=(e=e.toLowerCase()).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi," ")).replace(/(\-|\_|\.|\s)+(.)?/g,function(e,t,r){return r?r.toUpperCase():""}).replace(/(^|\/)([A-Z])/g,function(e,t,r){return e.toLowerCase()})}function g(e,t,r){return r.indexOf(e)===t}function t(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function y(e){return e.reduce(function(e,t){return e.concat(t)},[])}function v(e,t,r){void 0===r&&(r={});var t=t.split("."),n=e,o=t.length-1;t.forEach(function(e,t){n.hasOwnProperty(e)&&null!=n[e]?t===o&&("object"!=typeof n[e]||Array.isArray(n[e])?n[e]=r:n[e]=Object.assign(n[e],p(r))):n[e]=t===o?r:{},n=n[e]})}function b(e,t,r){t=f(e,t);return void 0!==t?t:r}function w(e,r,n){return i(e,function(e){if(!a(e))return e;var t=l(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function S(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==f(t,e)&&v(r,e,f(t,e))}),r):t}function k(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function C(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!A(t)||(t=C(t,n))&&(e=t),e},void 0):A(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!A(r[t])||(t=C(r[t],n))&&(e=t),e},void 0):void 0}function A(e){var t=!1;return t=e&&c(e)&&!s(e)&&!l(e)&&!u(e)?!0:t}function T(e,n,o){void 0===o&&(o=5);return e.reduce(function(e,t){var r=e[e.length-1];return r&&r.length!==o||e.push(r=[]),r.push(t),e},[]).reduce(function(e,r){return e.then(function(t){var e=r.map(function(e){return n(e)});return Promise.all(e).then(function(e){return t.concat(e)})})},Promise.resolve([]))}function I(e,t){return-1!==e.indexOf(t)}var E=function(e,t){return(E=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function e(e,t){function r(){this.constructor=e}E(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var P=function(){return(P=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function x(e,a,s,u){return new(s=s||Promise)(function(r,t){function n(e){try{i(u.next(e))}catch(e){t(e)}}function o(e){try{i(u.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(n,o)}i((u=u.apply(e,a||[])).next())})}function O(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(r,s)}catch(e){t=[6,e],i=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function D(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n}var _,U=(e(N,_=Error),N);function N(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=_.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,N.prototype),n.stack=b(r,"stack",(new Error).stack),n}function R(r,n){return void 0===n&&(n={}),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,e).catch(function(e){return n})}}function j(e){var r=(new Date).getTime();return Array(e).fill(0).reduce(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),e=""+e+t.toString(16)},"")}function M(e){"{"===e[0]&&(e=e.substring(1,e.length-1));return/^(\{){0,1}[0-9a-fA-F]{8}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{12}(\}){0,1}$/gi.test(e)}n.Level=void 0,(lt=n.Level||(n.Level={}))[lt.all=0]="all",lt[lt.debug=1]="debug",lt[lt.info=2]="info",lt[lt.warn=3]="warn",lt[lt.error=4]="error",lt[lt.off=5]="off";var L=(F.setLogLevel=function(e){this.logLevel=e},F.log=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.log.apply(console,D([e],t))},F.debug=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.debug.apply(console,D([e],t))},F.info=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.info)&&console.info.apply(console,D([e],t))},F.warn=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.warn)&&console.warn.apply(console,D([e],t))},F.error=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.error)&&console.error.apply(console,D([e],t))},F.isLevelPermitted=function(e){return this.logLevel<=e},F.logLevel=n.Level.off,F);function F(){}function G(e){return e.capabilities.includes("updateitemcontrol")}function q(t){return Object.keys(t).some(function(e){e=t[e];if(!e)return!1;switch((e=e&&e.toParam?e.toParam():e).constructor.name){case"Array":case"Object":case"Date":case"Function":case"Boolean":case"String":case"Number":return!1;default:return!0}})}function B(o){var i={};return Object.keys(o).forEach(function(e){var t=o[e];if((t=t&&t.toParam?t.toParam():t)||0===t||"boolean"==typeof t||"string"==typeof t){switch(t.constructor.name){case"Array":var r=null===(r=null===(r=t[0])||void 0===r?void 0:r.constructor)||void 0===r?void 0:r.name,n="Array"===r?t:"Object"===r?JSON.stringify(t):t.join(",");break;case"Object":n=JSON.stringify(t);break;case"Date":n=t.valueOf();break;case"Function":n=null;break;case"Boolean":n=t+"";break;default:n=t}(n||0===n||"string"==typeof n||Array.isArray(n))&&(i[e]=n)}}),i}function Y(e){var t=B(e);return Object.keys(t).map(function(e){return function t(r,e){return Array.isArray(e)&&e[0]&&Array.isArray(e[0])?e.map(function(e){return t(r,e)}).join("&"):encodeURIComponent(r)+"="+encodeURIComponent(e)}(e,t[e])}).join("&")}var W=function(e,t,r,n,o){e=e||"UNKNOWN_ERROR",t=t||"UNKNOWN_ERROR_CODE",this.name="ArcGISRequestError",this.message="UNKNOWN_ERROR_CODE"===t?e:t+": "+e,this.originalMessage=e,this.code=t,this.response=r,this.url=n,this.options=o};function H(e){console&&console.warn&&console.warn.apply(console,[e])}W.prototype=Object.create(Error.prototype),W.prototype.constructor=W;var z,V="@esri/arcgis-rest-js",K={httpMethod:"POST",params:{f:"json"}},J=(e($,z=W),$.prototype.retry=function(e,n){var o=this;void 0===n&&(n=3);var i=0,a=function(t,r){e(o.url,o.options).then(function(e){e=P(P({},o.options),{authentication:e});return i+=1,X(o.url,e)}).then(function(e){t(e)}).catch(function(e){"ArcGISAuthError"===e.name&&i<n?a(t,r):"ArcGISAuthError"===e.name&&n<=i?r(o):r(e)})};return new Promise(function(e,t){a(e,t)})},$);function $(e,t,r,n,o){o=z.call(this,e=void 0===e?"AUTHENTICATION_ERROR":e,t=void 0===t?"AUTHENTICATION_ERROR_CODE":t,r,n,o)||this;return o.name="ArcGISAuthError",o.message="AUTHENTICATION_ERROR_CODE"===t?e:t+": "+e,o}function X(n,e){void 0===e&&(e={params:{f:"json"}});var o=P(P(P({httpMethod:"POST"},K),e),{params:P(P({},K.params),e.params),headers:P(P({},K.headers),e.headers)}),t=[],e=[];if(o.fetch||"undefined"==typeof fetch?(t.push("`fetch`"),e.push("`node-fetch`")):o.fetch=fetch.bind(Function("return this")()),"undefined"==typeof Promise&&(t.push("`Promise`"),e.push("`es6-promise`")),"undefined"==typeof FormData&&(t.push("`FormData`"),e.push("`isomorphic-form-data`")),!o.fetch||"undefined"==typeof Promise||"undefined"==typeof FormData)throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing "+t.join(", ")+". We recommend installing the "+e.join(", ")+" modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");var e=o.httpMethod,i=o.authentication,a=o.rawResponse,s=P({f:"json"},o.params),r=null,u={method:e,credentials:o.credentials||"same-origin"};return o.headers&&o.headers["X-Esri-Auth-Client-Id"]&&-1<n.indexOf("/oauth2/platformSelf")&&(u.credentials="include"),(i?i.getToken(n,{fetch:o.fetch}).catch(function(e){return e.url=n,e.options=o,r=e,Promise.resolve("")}):Promise.resolve("")).then(function(e){e.length&&(s.token=e),i&&i.getDomainCredentials&&(u.credentials=i.getDomainCredentials(n));var t={};"GET"===u.method&&(s.token&&o.hideToken&&"undefined"==typeof window&&(t["X-Esri-Authorization"]="Bearer "+s.token,delete s.token),r=""===Y(s)?n:n+"?"+Y(s),o.maxUrlLength&&r.length>o.maxUrlLength||s.token&&o.hideToken?(u.method="POST",e.length&&o.hideToken&&(s.token=e,delete t["X-Esri-Authorization"])):n=r);var r=new RegExp("/items/.+/updateResources").test(n);return"POST"===u.method&&(u.body=function(e,t){var t=q(e)||t,r=B(e);if(t){var n=new FormData;return Object.keys(r).forEach(function(e){var t;"undefined"!=typeof Blob&&r[e]instanceof Blob?(t=r.fileName||r[e].name||e,n.append(e,r[e],t)):n.append(e,r[e])}),n}return Y(e)}(s,r)),u.headers=P(P({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=V),q(s)||r||(u.headers["Content-Type"]="application/x-www-form-urlencoded"),o.fetch(n,u)}).then(function(e){if(!e.ok){var t=e.status,r=e.statusText;throw new W(r,"HTTP "+t,e,n,o)}if(a)return e;switch(s.f){case"json":case"geojson":return e.json();case"html":case"text":return e.text();default:return e.blob()}}).then(function(e){if("json"!==s.f&&"geojson"!==s.f||a)return e;var t=function(t,e,r,n){if(400<=t.code){var o=t.message,i=t.code;throw new W(o,i,t,e,r)}if(t.error){var a=t.error,o=a.message,i=a.code,s=a.messageCode,a=s||i||"UNKNOWN_ERROR_CODE";if(498===i||499===i||"GWM_0003"===s||400===i&&"Unable to generate token."===o)throw n||new J(o,a,t,e,r);throw new W(o,a,t,e,r)}if("failed"!==t.status&&"failure"!==t.status)return t;o=void 0,i="UNKNOWN_ERROR_CODE";try{o=JSON.parse(t.statusMessage).message,i=JSON.parse(t.statusMessage).code}catch(e){o=t.statusMessage||t.message}throw new W(o,i,t,e,r)}(e,n,o,r);return r&&(e=n.toLowerCase().split(/\/rest(\/admin)?\/services\//)[0],o.authentication.federatedServers[e]={token:[],expires:new Date(Date.now()+864e5)},r=null),t})}function Q(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function Z(e){return e.replace(/^#/,"").split("&").reduce(function(e,t){var r,t=(r=t,r=(t=t.split("="))[0],t=t[1],{key:decodeURIComponent(r),value:decodeURIComponent(t)});return e[t.key]=t.value,e},{})}function ee(e,t){return t.rawResponse=!1,X(e,t).then(function(e){var t={token:e.access_token,username:e.username,expires:new Date(Date.now()+(1e3*e.expires_in-1e3)),ssl:!0===e.ssl};return e.refresh_token&&(t.refreshToken=e.refresh_token),t})}function te(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=V,X(e,t)}var re=/^https?:\/\/(\S+)\.arcgis\.com.+/;function ne(e){return re.test(e)}function oe(e){if(!re.test(e))return null;e=e.match(re)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function ie(e,t){t=Q(function(e){if(!re.test(e))return e;switch(oe(e)){case"dev":return"https://devext.arcgis.com/sharing/rest";case"qa":return"https://qaext.arcgis.com/sharing/rest";default:return"https://www.arcgis.com/sharing/rest"}}(t)).replace(/https?:\/\//,""),e=Q(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var ae=(Object.defineProperty(se.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),se.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=P({portal:"https://www.arcgis.com/sharing/rest",provider:"arcgis",expiration:20160,popup:!0,popupWindowFeatures:"height=400,width=600,menubar=no,location=yes,resizable=yes,scrollbars=yes,status=yes",state:e.clientId,locale:""},e),n=r.portal,o=r.provider,i=r.clientId,a=r.expiration,s=r.redirectUri,u=r.popup,c=r.popupWindowFeatures,l=r.state,p=r.locale,r=r.params,p="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p;if(r&&(p=p+"&"+Y(r)),u){var f,d=((f={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){f.resolve=e,f.reject=t}),f);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),d.reject(new J(e.errorMessage,e.error))):t&&(t=JSON.parse(t),d.resolve(new se({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(p,"oauth-window",c),d.promise}t.location.href=p},se.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=P({portal:"https://www.arcgis.com/sharing/rest",popup:!0},e),i=t.portal,a=t.clientId,s=t.popup;function r(e,t){try{var r=void 0,n="__ESRI_REST_AUTH_HANDLER_"+a;if(s&&(o.opener?o.opener.parent&&o.opener.parent[n]?r=o.opener.parent[n]:o.opener&&o.opener[n]&&(r=o.opener[n]):o!==o.parent&&o.parent&&o.parent[n]&&(r=o.parent[n]),r))return r(e?JSON.stringify(e):void 0,JSON.stringify(t)),void o.close()}catch(e){throw new J('Unable to complete authentication. It\'s possible you specified popup based oAuth2 but no handler from "beginOAuth2()" present. This generally happens because the "popup" option differs between "beginOAuth2()" and "completeOAuth2()".')}if(e)throw new J(e.errorMessage,e.error);return new se({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=Z(o.location.hash);if(!e.access_token){var n=void 0,u="Unknown error";return e.error&&(n=e.error,u=e.error_description),r({error:n,errorMessage:u})}t=e.access_token,n=new Date(Date.now()+1e3*parseInt(e.expires_in,10)-6e4),u=e.username;return r(void 0,{token:t,expires:n,ssl:"true"===e.ssl,username:u})},se.fromParent=function(e,n){var o;return!n&&window&&(n=window),new Promise(function(t,r){o=function(e){if(e.source===n.parent&&e.data)try{return t(se.parentMessageHandler(e))}catch(e){return r(e)}},n.addEventListener("message",o,!1),n.parent.postMessage({type:"arcgis:auth:requestCredential"},e)}).then(function(e){return n.removeEventListener("message",o,!1),e})},se.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=P({portal:"https://arcgis.com/sharing/rest",expiration:20160},e),n=r.portal,o=r.clientId,i=r.expiration,r=r.redirectUri;t.writeHead(301,{Location:n+"/oauth2/authorize?client_id="+o+"&expiration="+(e.duration||i)+"&response_type=code&redirect_uri="+encodeURIComponent(r)}),t.end()},se.exchangeAuthorizationCode=function(e,t){var e=P({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return ee(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new se({clientId:n,portal:r,ssl:e.ssl,redirectUri:o,refreshToken:e.refreshToken,refreshTokenTTL:i,refreshTokenExpires:new Date(Date.now()+60*(i-1)*1e3),token:e.token,tokenExpires:e.expires,username:e.username})})},se.deserialize=function(e){e=JSON.parse(e);return new se({clientId:e.clientId,refreshToken:e.refreshToken,refreshTokenExpires:new Date(e.refreshTokenExpires),username:e.username,password:e.password,token:e.token,tokenExpires:new Date(e.tokenExpires),portal:e.portal,ssl:e.ssl,tokenDuration:e.tokenDuration,redirectUri:e.redirectUri,refreshTokenTTL:e.refreshTokenTTL})},se.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new se({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},se.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return se.fromCredential(e.data.credential);if("arcgis:auth:error"!==e.data.type)throw new Error("Unknown message type.");var t=new Error(e.data.error.message);throw t.name=e.data.error.name,t},se.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},se.prototype.getUser=function(e){var t=this;if(this._pendingUserRequest)return this._pendingUserRequest;if(this._user)return Promise.resolve(this._user);var r=this.portal+"/community/self",e=P(P({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingUserRequest=X(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},se.prototype.getPortal=function(e){var t=this;if(this._pendingPortalRequest)return this._pendingPortalRequest;if(this._portalInfo)return Promise.resolve(this._portalInfo);var r=this.portal+"/portals/self",e=P(P({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingPortalRequest=X(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},se.prototype.getUsername=function(){return this.username?Promise.resolve(this.username):this._user?Promise.resolve(this._user.username):this.getUser().then(function(e){return e.username})},se.prototype.getToken=function(e,t){return r=this.portal,n=e,o=ne(r),i=ne(n),r=oe(r),n=oe(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},se.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return X((t=void 0===t?"https://www.arcgis.com/sharing/rest":t)+"/oauth2/validateAppAccess",{method:"POST",params:{f:"json",client_id:r,token:e}});var t})},se.prototype.toJSON=function(){return{clientId:this.clientId,refreshToken:this.refreshToken,refreshTokenExpires:this.refreshTokenExpires,username:this.username,password:this.password,token:this.token,tokenExpires:this.tokenExpires,portal:this.portal,ssl:this.ssl,tokenDuration:this.tokenDuration,redirectUri:this.redirectUri,refreshTokenTTL:this.refreshTokenTTL}},se.prototype.serialize=function(){return JSON.stringify(this)},se.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},se.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},se.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new J("Unable to refresh token."))},se.prototype.getServerRootUrl=function(e){var t=Q(e).split(/\/rest(\/admin)?\/services(?:\/|#|\?|$)/)[0].match(/(https?:\/\/)(.+)/);t[0];var r=t[1],e=t[2].split("/"),t=e[0],e=e.slice(1);return""+r+t.toLowerCase()+"/"+e.join("/")},se.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},se.prototype.createPostMessageHandler=function(o){var i=this;return function(e){var t=-1<o.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type,n=i.tokenExpires.getTime()>Date.now();t&&r&&(r={},r=n?((n=i.toCredential()).server=n.server.replace("/sharing/rest",""),{type:"arcgis:auth:credential",credential:n}):{type:"arcgis:auth:error",error:{name:"tokenExpiredError",message:"Session token was expired, and not returned to the child application"}},e.source.postMessage(r,e.origin))}},se.prototype.getTokenForServer=function(t,r){var n=this,o=this.getServerRootUrl(t),e=this.federatedServers[o];return e&&e.expires&&e.expires.getTime()>Date.now()?Promise.resolve(e.token):this._pendingTokenRequests[o]||(this._pendingTokenRequests[o]=this.fetchAuthorizedDomains().then(function(){return X(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(ie(e.owningSystemUrl,n.portal))return X(e.owningSystemUrl+"/sharing/rest/info",r);throw new J(t+" is not federated with "+n.portal+".","NOT_FEDERATED")}if(e.authInfo&&void 0!==n.federatedServers[o])return Promise.resolve({authInfo:e.authInfo});throw new J(t+" is not federated with any portal and is not explicitly trusted.","NOT_FEDERATED")}).then(function(e){return e.authInfo.tokenServicesUrl}).then(function(e){return n.token&&n.tokenExpires.getTime()>Date.now()?te(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):te(e,{params:{username:n.username,password:n.password,expiration:n.tokenDuration,client:"referer"}}).then(function(e){return n._token=e.token,n._tokenExpires=new Date(e.expires),e})}).then(function(e){return n.federatedServers[o]={expires:new Date(e.expires),token:e.token},delete n._pendingTokenRequests[o],e.token})}),this._pendingTokenRequests[o])},se.prototype.getFreshToken=function(e){var t=this;return this.token&&!this.tokenExpires||this.token&&this.tokenExpires&&this.tokenExpires.getTime()>Date.now()?Promise.resolve(this.token):(this._pendingTokenRequests[this.portal]||(this._pendingTokenRequests[this.portal]=this.refreshSession(e).then(function(e){return t._pendingTokenRequests[t.portal]=null,e.token})),this._pendingTokenRequests[this.portal])},se.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=P({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return te(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},se.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=P({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return ee(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},se.prototype.refreshRefreshToken=function(e){var t=this,e=P({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return ee(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t._refreshToken=e.refreshToken,t._refreshTokenExpires=new Date(Date.now()+60*(t.refreshTokenTTL-1)*1e3),t})},se.prototype.fetchAuthorizedDomains=function(){var t=this;return this.server||!this.portal?Promise.resolve(this):this.getPortal().then(function(e){return e.authorizedCrossOriginDomains&&e.authorizedCrossOriginDomains.length&&(t.trustedDomains=e.authorizedCrossOriginDomains.filter(function(e){return!e.startsWith("http://")}).map(function(e){return e.startsWith("https://")?e:"https://"+e})),t})},se);function se(e){var t;this.clientId=e.clientId,this._refreshToken=e.refreshToken,this._refreshTokenExpires=e.refreshTokenExpires,this.username=e.username,this.password=e.password,this._token=e.token,this._tokenExpires=e.tokenExpires,this.portal=e.portal?Q(e.portal):"https://www.arcgis.com/sharing/rest",this.ssl=e.ssl,this.provider=e.provider||"arcgis",this.tokenDuration=e.tokenDuration||20160,this.redirectUri=e.redirectUri,this.refreshTokenTTL=e.refreshTokenTTL||20160,this.server=e.server,this.federatedServers={},this.trustedDomains=[],e.server&&(t=this.getServerRootUrl(e.server),this.federatedServers[t]={token:e.token,expires:e.tokenExpires}),this._pendingTokenRequests={}}function ue(e){e=e.privileges;return I(void 0===e?[]:e,"portal:user:createItem")}function ce(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,l=t.groups,p=t.orgId,u=I(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===p)&&!s&&"org_admin"===u,t=ue(t);return t&&u?n=!0:t&&(r=D(f(e,"groupIds")||[],[f(e,"properties.collaborationGroupId")]),n=l.some(function(e){return G(e)&&I(r,e.id)})),n}var le=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function pe(e){var t=e.host,r=e.path,e=e.query,t=t.endsWith("/")?t:t+"/",t=new URL(r,t);return t.search=function(r){void 0===r&&(r={});var e=Object.keys(r).filter(function(e){return void 0!==r[e]}).reduce(function(e,t){return e[t]=r[t],e},{});return new URLSearchParams(e).toString()}(e),t.toString()}function fe(e){return(e=void 0===e?{}:e).portal?Q(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function de(e){return e.owner?Promise.resolve(e.owner):e.item&&e.item.owner?Promise.resolve(e.item.owner):e.authentication&&e.authentication.getUsername?e.authentication.getUsername():Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."))}function he(n){return de(n).then(function(e){var t,r=n.folderId?fe(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":fe(n)+"/content/users/"+e+"/items/"+n.item.id+"/update";return n.params=P(P({},n.params),(t=n.item,(e=JSON.parse(JSON.stringify(t))).data&&("undefined"!=typeof Blob&&t.data instanceof Blob||"ReadStream"===t.data.constructor.name?e.file=t.data:e.text=t.data,delete e.data),e)),X(r,n)})}function me(e,t){return X(ge(e,t),P({httpMethod:"GET"},t))}var ge=function(e,t){return("string"==typeof t?t:fe(t))+"/content/items/"+e};function ye(e){var t=ge(e.id,e)+"/relatedItems",r=P({httpMethod:"GET",params:{direction:e.direction}},e);return"string"==typeof e.relationshipType?r.params.relationshipType=e.relationshipType:r.params.relationshipTypes=e.relationshipType,delete r.direction,delete r.relationshipType,X(t,r)}function ve(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function be(e){return t=e.groupId,X(fe(e=e)+"/community/groups/"+t,P({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function we(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var Se=(ke.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},ke.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(H("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},ke.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},ke.prototype.endGroup=function(){return this.openGroups<=0?H("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},ke.prototype.and=function(){return this.addModifier("and")},ke.prototype.or=function(){return this.addModifier("or")},ke.prototype.not=function(){return this.addModifier("not")},ke.prototype.from=function(e){return this.hasTerms?H('`from(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[0]=e,this},ke.prototype.to=function(e){return this.hasTerms?H('`to(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[1]=e,this},ke.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},ke.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},ke.prototype.clone=function(){return this.commit(),this.cleanup(),new ke(this.q+"")},ke.prototype.addModifier=function(e){return this.currentModifer?(H("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?H("You have called `"+e+"()` without calling another method to modify your query first. Try calling `match()` first."):(this.currentModifer=e,this.q+=""===this.q?"":" ",this.q+=e.toUpperCase()+" "),this)},ke.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},ke.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},ke.prototype.commit=function(){var t=this;return this.currentModifer=void 0,this.hasRange&&(this.q+="["+this.formatTerm(this.rangeStack[0])+" TO "+this.formatTerm(this.rangeStack[1])+"]",this.rangeStack=[void 0,void 0]),this.hasTerms&&(this.q+=this.termStack.map(function(e){return t.formatTerm(e)}).join(" "),this.termStack=[]),this},Object.defineProperty(ke.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(ke.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),ke.prototype.cleanup=function(){if(0<this.openGroups)for(H("Automatically closing "+this.openGroups+" group(s). You can use `endGroup(...)` to remove this warning.");0<this.openGroups;)this.q+=")",this.openGroups--;var e=this.q;this.q=e.replace(/( AND ?| NOT ?| OR ?)*$/,""),e!==this.q&&H("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},ke);function ke(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function Ce(r,n){var o,i,e,t="string"==typeof r||r instanceof Se?{httpMethod:"GET",params:{q:r}}:(o=r,t=["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName","filter","countFields","countSize","categories","categoryFilters"],(i=P(P({params:{}},{httpMethod:"GET"}),o)).params=t.reduce(function(e,t){return!o[t]&&"boolean"!=typeof o[t]||(e[t]=o[t]),e},i.params),["params","httpMethod","rawResponse","authentication","portal","fetch","maxUrlLength","headers"].reduce(function(e,t){return i[t]&&(e[t]=i[t]),e},{}));switch(n){case"item":e="/search";break;case"group":e="/community/groups";break;case"groupContent":if("string"==typeof r||r instanceof Se||!r.groupId)return Promise.reject(new Error("you must pass a `groupId` option to `searchGroupContent`"));e="/content/groups/"+r.groupId+"/search";break;default:e="/portals/self/users/search"}return X(fe(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof Se?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,Ce(e,n)}),t})}function Ae(e){return Ce(e,"item")}function Te(e,t){if(0===e.length)return[];for(var r=[],n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function Ie(e){var t=e.id,r=fe(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=D(Ee("users",e.users,t),Ee("admins",e.admins,t)).map(function(e){return X(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(Pe)}function Ee(o,e,i){return!e||e.length<1?[]:Te(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=P(P({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function Pe(e){var t=e.filter(function(e){return e.notAdded}).reduce(function(e,t){return e.concat(t.notAdded)},[]),e=e.filter(function(e){return e.errors}).reduce(function(e,t){return e.concat(t.errors)},[]),t={notAdded:t};return 0<e.length&&(t.errors=e),t}function xe(t){var e=t.id,r=t.users,n=fe(t)+"/community/groups/"+e+"/removeUsers",r=Te(r,25).map(function(e){e=P(P({},t),{users:e,params:{users:e}});return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(r).then(function(e){var t=function(r){return e.filter(function(e){return e[r]}).reduce(function(e,t){return e.concat(t[r])},[])},r=t("errors"),t={notRemoved:t("notRemoved")};return r.length?P(P({},t),{errors:r}):t})}function Oe(e){var t,r=e.id,n=fe(e)+"/community/groups/"+r+"/invite",e=Te((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=P(P({},t.params),{users:e,role:t.role,expiration:t.expiration}),t}(e,t)}).map(function(e){return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(De)}function De(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function _e(e){return X(fe(e)+"/community/groups/"+e.id+"/unprotect",e)}function Ue(e){return X(fe(e)+"/community/groups/"+e.id+"/delete",P({},e))}function Ne(e){var t=fe(e)+"/community/groups/"+e.id+"/updateUsers",r={authentication:e.authentication,params:{}};return"admin"===e.newMemberType?r.params.admins=e.users:r.params.users=e.users,X(t,r)}function Re(e){var n,t=fe(e)+"/portals/self/createNotification",e=Te((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=P(P({},e.params),{users:t,subject:r.subject,message:r.message,notificationChannelType:e.notificationChannelType}),e;var t,r}).map(function(e){return X(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(je)}function je(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function Me(e){var t,r,n={httpMethod:"GET"};return"string"==typeof e?r="https://www.arcgis.com/sharing/rest/community/users/"+e:(t=e.username||e.authentication.username,r=fe(e)+"/community/users/"+encodeURIComponent(t),n=P(P({},e),n)),X(r,n)}function Le(t){return Ae({q:"id: "+t.id+" AND group: "+t.groupId,start:1,num:10,sortField:"title",authentication:t.authentication,httpMethod:"POST"}).then(function(e){if(0<e.total)return e.results.some(function(e){return e.id===t.id})})}function Fe(a){return Le(a).then(function(e){if(e)return{itemId:a.id,shortcut:!0,notSharedWith:[]};var t=a.authentication.username,e=a.owner,n=a.confirmItemControl,e=e||t;if(e===t)return Ge(a);var o=!1,i=!1;return Promise.all([Me({username:t,authentication:a.authentication}),Me({username:e,authentication:a.authentication}),be(a)]).then(function(e){var t=e[0],r=e[1],e=e[2];return o="org_admin"===t.role&&!t.roleId,i=t.orgId!==r.orgId,function(e,t,r,n,o,i){var a=[];if(i.groupId!==e.favGroupId)if(t){if(!n)throw Error("This item can not be shared to shared editing group "+i.groupId+" by "+e.username+" as they not the item owner or org admin.");a.push(qe(e,e,!1,"Error adding "+e.username+" as member to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i),qe(e,o,!0,"none"===r?"Error adding user "+o.username+" to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.":"Error promoting user "+o.username+" to admin in edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i))}else if(n)a.push(qe(e,e,!1,"Error adding "+e.username+" as member to view group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i));else if("none"===r)throw new Error("This item can not be shared by "+e.username+" as they are not a member of the specified group "+i.groupId+".");return a}(t,!!n,e,o,r,a)}).then(function(e){var t=e[0],r=(void 0===t?{promise:Promise.resolve({notAdded:[]}),revert:function(e){return Promise.resolve(e)}}:t).revert;return Promise.all(e.map(function(e){return e.promise})).then(function(){return Ge(a,o,i)}).then(function(e){return r(e)})})}).then(function(e){if(e.notSharedWith.length)throw Error("Item "+a.id+" could not be shared to group "+a.groupId+".");return e})}function Ge(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=fe(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=fe(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},X(i,e)}function qe(e,t,r,n,o){var i,a,s=t.groups||[],u=s.find(function(e){return e.id===o.groupId});if(e.orgId!==t.orgId)throw Error("User "+t.username+" is not a member of the same org as "+e.username+". Consequently they can not be added added to group "+o.groupId+" nor can item "+o.id+" be shared to the group.");if(!u&&511<s.length)throw Error("User "+t.username+" already has 512 groups, and can not be added to group "+o.groupId+". Consequently item "+o.id+" can not be shared to the group.");return a=u?r&&"member"===u.userMembership.memberType?(i=Ne({id:o.groupId,users:[t.username],newMemberType:"admin",authentication:o.authentication}).then(function(e){e=e.results.reduce(function(e,t){return t.success||e.push(t.username),e},[]);return Promise.resolve({notAdded:e})}).catch(function(){return{notAdded:[t.username]}}),function(e){return Ne({id:o.groupId,users:[t.username],newMemberType:"member",authentication:o.authentication}).then(function(){return e}).catch(function(){return e})}):(i=Promise.resolve({notAdded:[]}),function(e){return Promise.resolve(e)}):(i=Ie(((a={id:o.groupId})[r?"admins":"users"]=[t.username],a.authentication=o.authentication,a)).then(function(e){if(e.errors&&e.errors.length)throw e.errors[0];return e}).catch(function(){return{notAdded:[t.username]}}),function(e){return xe({id:o.groupId,users:[t.username],authentication:o.authentication}).then(function(){return e})}),{promise:i.then(function(e){if(e.notAdded.length)throw new Error(n);return e}),revert:a}}function Be(o){return Le(o).then(function(e){if(!e)return Promise.resolve({itemId:o.id,shortcut:!0,notUnsharedFrom:[]});var r=o.authentication.username,n=o.owner;return Promise.all([be(o),Me({username:r,authentication:o.authentication})]).then(function(e){var t=e[0],e=e[1],e="org_admin"===e.role&&!e.roleId;if(!((n||r)===r)&&!e&&["admin","owner"].indexOf(t)<0)throw Error("This item can not be unshared from group "+o.groupId+" by "+r+" as they not the item owner, an org admin, group admin or group owner.");return function(e){var t=e.authentication.username,r=e.owner||t,n=fe(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=fe(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},X(n,e)}(o)}).then(function(e){if(e.notUnsharedFrom.length)throw Error("Item "+o.id+" could not be unshared to group "+o.groupId);return e})})}function Ye(e){return function(e,t){e=e||"self",e=fe(t)+"/portals/"+e,t=P({httpMethod:"GET"},t);return X(e,t)}(null,e)}function We(e){if("string"==typeof e)return e.replace(/\/sharing\/rest\/?$/,"");if("object"==typeof e){var t=e.portalSelf||e,r=t.portalHostname,n=t.urlKey,o=t.customBaseUrl;if(r||n&&o)return t.isPortal?"https://"+t.portalHostname:"https://"+t.urlKey+"."+t.customBaseUrl}return We(fe(e))}var He={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function ze(e){if(e.isPortal)return We(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(He[e]||He.www)+"/opendata-ui/assets"}function Ve(e){return We(e)+"/sharing/rest"}function Ke(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Je(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}function $e(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Je(e.portalHostname)}var Xe=function(e,t,r){var n=e.id,e=e.access,t=Ve(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()};var Qe=/\/(map|feature)server/i,Ze=function(e){e=e.match(Qe),e=e&&e[1];return e&&t(e)+" Service"};function et(e){var t=e&&e.hubApiUrl;return t||Je(Ve(e))}var tt={app:["Application","City Engine Web Scene","CityEngine Web Scene","Dashboard","Insights Page","Insights Workbook","Operation View","Web Mapping Application","StoryMap","Web Experience","Urban Model"],dataset:["CSV Collection","CSV","Feature Collection Template","Feature Collection","Feature Layer","Feature Service","File Geodatabase","GeoJSON","GeoJson","KML Collection","KML","Microsoft Excel","Raster Layer","Shapefile","Stream Service","Table"],document:["CAD Drawing","Document Link","Hub Page","Site Page","Image","iWork Keynote","iWork Numbers","iWork Pages","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","PDF","Pro Map","Report Template"],event:["Hub Event"],feedback:["Form","Quick Capture Project"],initiative:["Hub Initiative"],template:["Hub Initiative Template"],solution:["Solution"],map:["Image Collection","Image Service","Map Service Layer","Map Service","Scene Service","Scene Layer","Vector Tile Service","Web Map Service","Web Map Tile Service","Web Map","Web Scene","WFS","WMS","WMTS"],other:["360 VR Experience","AppBuilder Widget Package","Application Configuration","ArcPad Package","Code Attachment","Code Sample","Desktop Add In","Desktop Application Template","Desktop Application","Desktop Style","Explorer Add In","Explorer Layer","Geocoding Service","Geometry Service","Geoprocessing Package","Geoprocessing Sample","Geoprocessing Service","Layer File","Layer Package","Layer Template","Layer","Layout","Locator Package","Map Area","Map Document","Map Package","Map Service Definition","Map Template","Mobile Application","Mobile Map Package","Native Application","Network Analysis Service","Operations Dashboard Add In","Project Package","Project Template","Raster Function Template","Rule Package","Scene Package","Service Definition","SQLite Geodatabase","Style","Tile Package","Vector Tile Package","Workflow Manager Package"],site:["Hub Site Application","Site Application"]},rt=tt.app,nt=tt.dataset,ot=tt.document,it=tt.event,at=tt.feedback,st=tt.initiative,ut=tt.map,ct=tt.other,lt=tt.site,pt=["360 VR Experience","Application","CityEngine Web Scene","Code Sample","CSV Collection","CSV","CAD Drawing","Desktop Application","Desktop Application Template","Desktop Style","File Geodatabase","GeoJson","Geoprocessing Package","Geoprocessing Sample","Image","iWork Keynote","iWork Numbers","KML Collection","KML","Layer","Layer File","Layer Package","Layout","Locator Package","Map Package","Map Service Definition","Map Template","Microsoft Excel","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","Operations Dashboard Add In","PDF","Pro Map","Project Package","Project Template","Raster function template","Rule Package","Service Definition","Shapefile","Vector Tile Package","Workflow Manager Package"],ft=["Data"],dt={app:rt.concat(at),dataset:nt,document:ot,event:it,initiative:st,map:ut,other:ct,site:lt,downloadableTypes:pt,downloadableTypeKeywords:ft,apiTypes:["Feature Service","Map Service","Image Service"]};function ht(e){return-1!==pt.indexOf(e.type)||e.typeKeywords&&ft.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function mt(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var gt={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function yt(e){var t=e.portalSelf,r=t.defaultExtent,t=f(t,"helperServices.geometry.url");if(!t)return Promise.resolve(gt);if(!r)return Promise.resolve(gt);t+="/project",r={httpMethod:"POST",params:{geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[r]}),transformForward:!1,transformation:"",inSR:r.spatialReference.wkid,outSR:4326,f:"json"}};return e.authentication&&(r.authentication=e.authentication),X(t,r).then(function(e){e=e.geometries[0];return{xmin:e.xmin,ymin:e.ymin,xmax:e.xmax,ymax:e.ymax,spatialReference:{wkid:4326}}}).catch(function(e){return gt})}var vt=function(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])};function bt(e){return console.warn("DEPRECATED: use isBBox() instead"),vt(e)}function wt(e){var t=(n=e[0])[0],r=n[1],e=(n=e[1])[0],n=n[1];return{rings:[[[t,r],[e,r],[e,n],[t,n],[t,r]]],spatialReference:{wkid:4326}}}var St=[{type:"CC0-1.0",abbr:"CC0",name:"Public Domain Dedication",url:"http://creativecommons.org/publicdomain/zero/1.0"},{type:"CC-BY-4.0",abbr:"CC BY",name:"Attribution 4.0 International",url:"http://creativecommons.org/licenses/by/4.0"},{type:"CC-BY-3.0",abbr:"CC BY 3.0",name:"Attribution 3.0 Unported",url:"http://creativecommons.org/licenses/by/3.0"},{type:"CC-BY-2.5",abbr:"CC BY 2.5",name:"Attribution 2.5 Generic",url:"http://creativecommons.org/licenses/by/2.5"},{type:"CC-BY-2.0",abbr:"CC BY 2.0",name:"Attribution 2.0 Generic",url:"http://creativecommons.org/licenses/by/2.0"},{type:"CC-BY-1.0",abbr:"CC BY 1.0",name:"Attribution 1.0 Generic",url:"http://creativecommons.org/licenses/by/1.0"},{type:"CC-BY-SA-4.0",abbr:"CC BY-SA",name:"Attribution-ShareAlike 4.0 International",url:"http://creativecommons.org/licenses/by-sa/4.0"},{type:"CC-BY-SA-3.0",abbr:"CC BY-SA 3.0",name:"Attribution-ShareAlike 3.0 Unported",url:"http://creativecommons.org/licenses/by-sa/3.0"},{type:"CC-BY-SA-2.5",abbr:"CC BY-SA 2.5",name:"Attribution-ShareAlike 2.5 Generic",url:"http://creativecommons.org/licenses/by-sa/2.5"},{type:"CC-BY-SA-2.0",abbr:"CC BY-SA 2.0",name:"Attribution-ShareAlike 2.0 Generic",url:"http://creativecommons.org/licenses/by-sa/2.0"},{type:"CC-BY-SA-1.0",abbr:"CC BY-SA 1.0",name:"Attribution-ShareAlike 1.0 Generic",url:"http://creativecommons.org/licenses/by-sa/1.0"},{type:"CC-BY-ND-4.0",abbr:"CC BY-ND",name:"Attribution-NoDerivatives 4.0 International",url:"http://creativecommons.org/licenses/by-nd/4.0"},{type:"CC-BY-ND-3.0",abbr:"CC BY-ND 3.0",name:"Attribution-NoDerivs 3.0 Unported",url:"http://creativecommons.org/licenses/by-nd/3.0"},{type:"CC-BY-ND-2.5",abbr:"CC BY-ND 2.5",name:"Attribution-NoDerivs 2.5 Generic",url:"http://creativecommons.org/licenses/by-nd/2.5"},{type:"CC-BY-ND-2.0",abbr:"CC BY-ND 2.0",name:"Attribution-NoDerivs 2.0 Generic",url:"http://creativecommons.org/licenses/by-nd/2.0"},{type:"CC-BY-ND-1.0",abbr:"CC BY-ND 1.0",name:"Attribution-NoDerivs 1.0 Generic",url:"http://creativecommons.org/licenses/by-nd/1.0"},{type:"CC-BY-NC-4.0",abbr:"CC BY-NC",name:"Attribution-NonCommercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0"},{type:"CC-BY-NC-3.0",abbr:"CC BY-NC 3.0",name:"Attribution-NonCommercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0"},{type:"CC-BY-NC-2.5",abbr:"CC BY-NC 2.5",name:"Attribution-NonCommercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5"},{type:"CC-BY-NC-2.0",abbr:"CC BY-NC 2.0",name:"Attribution-NonCommercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0"},{type:"CC-BY-NC-1.0",abbr:"CC BY-NC 1.0",name:"Attribution-NonCommercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0"},{type:"CC-BY-NC-SA-4.0",abbr:"CC BY-NC-SA",name:"Attribution-NonCommercial-ShareAlike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0"},{type:"CC-BY-NC-SA-3.0",abbr:"CC BY-NC-SA 3.0",name:"Attribution-NonCommercial-ShareAlike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0"},{type:"CC-BY-NC-SA-2.5",abbr:"CC BY-NC-SA 2.5",name:"Attribution-NonCommercial-ShareAlike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5"},{type:"CC-BY-NC-SA-2.0",abbr:"CC BY-NC-SA 2.0",name:"Attribution-NonCommercial-ShareAlike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0"},{type:"CC-BY-NC-SA-1.0",abbr:"CC BY-NC-SA 1.0",name:"Attribution-NonCommercial-ShareAlike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0"},{type:"CC-BY-NC-ND-4.0",abbr:"CC BY-NC-ND",name:"Attribution-NonCommercial-NoDerivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0"},{type:"CC-BY-NC-ND-3.0",abbr:"CC BY-NC-ND 3.0",name:"Attribution-NonCommercial-NoDerivs 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0"},{type:"CC-BY-NC-ND-2.5",abbr:"CC BY-NC-ND 2.5",name:"Attribution-NonCommercial-NoDerivs 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5"},{type:"CC-BY-NC-ND-2.0",abbr:"CC BY-NC-ND 2.0",name:"Attribution-NonCommercial-NoDerivs 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0"},{type:"CC-BY-NC-ND-1.0",abbr:"CC BY-NC-ND 1.0",name:"Attribution-NonCommercial-NoDerivs 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/1.0"},{type:"PDDL-1.0",abbr:"PDDL",name:"ODC Public Domain Dedication and License",url:"http://opendatacommons.org/licenses/pddl/summary"},{type:"ODbL-1.0",abbr:"ODbL",name:"ODC Open Database License",url:"http://opendatacommons.org/licenses/odbl/summary"},{type:"ODC-BY-1.0",abbr:"ODC BY",name:"ODC Attribution License",url:"http://opendatacommons.org/licenses/by/summary"}];function kt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=St.filter(function(e){return t=e,(e=(e=r).toLowerCase()).includes(t.name.toLowerCase())||e.includes(t.url.toLowerCase())||e.includes(t.abbr.toLowerCase());var t});return n.length&&(t=!0,e=n.pop()),t||(n=void 0,!function(e){try{return!!new URL(e).protocol}catch(e){return!1}}(r)?(t=r,new RegExp(/^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)>((?:.(?!\<\/a\>))*.)?<\/a>$|^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)\/>/).test(t)&&(t=new RegExp(/href\s?=\s?["'](.*?)["']/),n=r.match(t)[1])):n=r,n&&(e.url=n,e.text="")),e.text||delete e.text,e}var Ct=function(e,t){var r=P(P({},e.item),{extent:t}),r=P(P({},e),{item:r,extent:t}),t=At(r);return P(P({},r),{boundary:t})},At=function(e){var t,e=e.item,r=e.extent,n=vt(r),e=(null===(e=e.properties)||void 0===e?void 0:e.boundary)||(n?"item":void 0);switch(e){case"item":t=n?wt(r):null;break;case"none":t=null}return{provenance:e,geometry:t}};var Tt={};function It(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=Pt(e);return"feedback"===e?"app":e}function Et(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&I(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&I(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&I(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&I(r,"hubSolutionTemplate")?"Solution":t}function Pt(e){if(Tt[e=void 0===e?"":e])return Tt[e];for(var t=0,r=Object.keys(tt);t<r.length;t++)for(var n=r[t],o=0,i=tt[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Tt[e]=n}}function xt(e){return e&&"feature service"===e.toLowerCase()}function Ot(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function Dt(e){return Ot(e.url)||xt(e.type)&&I(e.typeKeywords,"Singlelayer")&&"0"}function _t(t,e){if(I(["template","feedback"],t.family))return t.id;if(Jt(t)){var r=(f(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=f(e,"domainInfo.orgKey");return f(e,"data.values.isUmbrella")?t.slug:Nt(t.slug,r)}return t.hubId||t.id}function Ut(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Nt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Rt(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return D(e,t)},[]).filter(function(e){return!I(t,e.toLowerCase())})}function jt(e){var t,r;switch((e||"").toLowerCase()){case"image service":t="dataset";break;case"feature service":case"raster layer":t="map";break;case"microsoft excel":t="document";break;case"cad drawing":case"feature collection template":case"report template":t="content";break;default:t={other:"content",solution:"template"}[r=Pt(e)]||r}return t}function Mt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),Pt(Et(e="string"==typeof e?{type:e}:e))}function Lt(e){var t=new Date(e.created),r="item.created",n=e.properties,r=Object.assign({},e,{identifier:e.id,errors:[],item:e,name:e.title,hubType:Mt(e),categories:Rt(e.categories),itemCategories:e.categories,summary:e.snippet||e.description,publisher:{name:e.owner,username:e.owner},permissions:{visibility:e.access,control:e.itemControl||"view"},actionLinks:n&&n.links,hubActions:n&&n.actions,metrics:n&&n.metrics,isDownloadable:ht(e),license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:kt(e.licenseInfo)});return Ct(Bt(r,e.type),e.extent)}function Ft(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Ut(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,l=r.type,p=r.typeKeywords,f=r.description,d=r.snippet,h=r.tags,m=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,S=r.culture,k=r.url,C=r.access,A=r.proxyFilter,T=r.properties,I=r.appCategories,E=r.industries,P=r.languages,x=r.largeThumbnail,O=r.banner,D=r.screenshots,_=r.listed,U=r.ownerFolder,N=r.size,R=r.protected,j=r.commentsEnabled,M=r.numComments,L=r.numRatings,F=r.avgRating,G=r.numViews,q=r.itemControl,B=r.scoreCompleteness,Y=r.itemExtent,e=r.itemModified,t=r.modifiedProvenance,r=r.serviceSpatialReference;return{id:n,owner:o,orgId:i,created:a,modified:e||"item.modified"===t&&s,title:c||u,type:k&&Ze(k)||l,typeKeywords:p,description:f,tags:h,snippet:d,thumbnail:m,extent:Y||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:S,url:k,access:C,size:N,protected:R,proxyFilter:A,properties:T,appCategories:I,industries:E,languages:P,largeThumbnail:x,banner:O,screenshots:D,listed:_,ownerFolder:U,commentsEnabled:j,numComments:M,numRatings:L,avgRating:F,numViews:G,itemControl:q,scoreCompleteness:B}}}}function Gt(e,t){var r=e.id,r=e.slug||t||r,r=P(P({},e),{hubId:t,identifier:r});return zt(r,{relative:Vt(r)})}function qt(e,t){var r=_t(e,t);return{relative:r=Vt(e,r),absolute:""+f(t,"item.url").replace(/\/$/,"")+r}}var Bt=function(e,t){var r=Et(P(P({},e.item),{type:t})),n=jt(r),o=Yt(r),i=Wt(r,e.isProxied),i=P(P({},e),{type:t,family:n,normalizedType:r,contentTypeIcon:o,contentTypeLabel:i});return zt(i,{relative:Vt(i)})},Yt=function(e){return null!==(e={appbuilderExtension:"file",appbuilderWidgetPackage:"widgets-source",application:"web",arcgisProMap:"desktop",cadDrawing:"file-cad",cityEngineWebScene:"urban-model",codeAttachment:"file-code",colorSet:"palette",contentCategorySet:"label",cSV:"file-csv",cSVCollection:"file-csv",dashboard:"dashboard",desktopApplication:"desktop",documentLink:"link",excaliburImageryProject:"file",explorerMap:"file",exportPackage:"file",featureCollection:"data",featureCollectionTemplate:"file",featureLayer:"data",featureService:"collection",fileGeodatabase:"data",form:"survey",geocodingService:"file",geodataService:"file",geometryService:"file",geopackage:"file",geoprocessingService:"file",globeLayer:"layers",globeService:"file",hubInitiative:"mountain-summit-nocap",hubInitiativeTemplate:"initiative-template-outlines-thick",hubPage:"browser",hubSiteApplication:"web",image:"file-image",imageService:"data",insightsModel:"file",insightsPage:"graph-moving-average",insightsTheme:"palette",insightsWorkbook:"graph-moving-average",iWorkPages:"file-text",iWorkKeynote:"presentation",iWorkNumbers:"file-report",kML:"data",kMLCollection:"data",layer:"layers",layerPackage:"layers",locatorPackage:"file",mapArea:"file",mapDocument:"map-contents",mapImageLayer:"collection",mapPackage:"file",mapService:"collection",microsoftExcel:"file-report",microsoftPowerpoint:"presentation",microsoftWord:"file-text",mission:"file",mobileMapPackage:"map-contents",nativeApplication:"mobile",nativeApplicationInstaller:"file",nativeApplicationTemplate:"file",mobileApplication:"mobile",networkAnalysisService:"file",notebook:"code",orientedImageryCatalog:"file",orthoMappingProject:"file",orthoMappingTemplate:"file",pDF:"file-pdf",quickCaptureProject:"mobile",rasterLayer:"map",realTimeAnalytic:"file",relationalDatabaseConnection:"file",reportTemplate:"file",sceneLayer:"data",sceneService:"urban-model",serviceDefinition:"file",shapefile:"data",solution:"solutions",sqliteGeodatabase:"file",statisticalDataCollection:"file",storyMap:"tour",symbolSet:"file",table:"table",urbanModel:"urban-model",vectorTileService:"map",visioDocument:"conditional-rules",webExperience:"apps",webMap:"map",webMappingApplication:"apps",webScene:"urban-model",wFS:"map",wMS:"map",wMTS:"map",workflowManagerService:"file",workforceProject:"list-check"}[m(e||"")])&&void 0!==e?e:"file"},Wt=function(e,t){return t?"CSV":m(e||"")},Ht=function(e,t){var r=qt(e,t),t=r.relative,r=r.absolute;return zt(e,{relative:t,site:r})},zt=function(e,t){t=P(P({},e.urls),t);return P(P({},e),{urls:t})},Vt=function(e,t){var r=e.family,n=t||e.identifier,o=Kt(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":Jt(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},Kt=function(e){var t,r=e.normalizedType,n=e.identifier;return"Solution"===r&&(0<(null===(e=e.typeKeywords)||void 0===e?void 0:e.indexOf("Deployed"))&&(t="/content/"+n),t="/templates/"+n+"/about"),t},Jt=function(e){return I(["Hub Page","Site Page"],e.type)};const $t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Xt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Qt={atob:function(t){if((t=(t=(t=`${t}`).replace(/[ \t\n\f\r]/g,"")).length%4==0?t.replace(/==?$/,""):t).length%4==1||/[^+/0-9A-Za-z]/.test(t))return null;let r="",n=0,o=0;for(let e=0;e<t.length;e++)n<<=6,n|=function(e){e=$t.indexOf(e);return e<0?void 0:e}(t[e]),o+=6,24===o&&(r+=String.fromCharCode((16711680&n)>>16),r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n),n=o=0);return 12===o?(n>>=4,r+=String.fromCharCode(n)):18===o&&(n>>=2,r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n)),r},btoa:function(e){let t;for(e=`${e}`,t=0;t<e.length;t++)if(255<e.charCodeAt(t))return null;let r="";for(t=0;t<e.length;t+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(t)>>2,n[1]=(3&e.charCodeAt(t))<<4,e.length>t+1&&(n[1]|=e.charCodeAt(t+1)>>4,n[2]=(15&e.charCodeAt(t+1))<<2),e.length>t+2&&(n[2]|=e.charCodeAt(t+2)>>6,n[3]=63&e.charCodeAt(t+2));for(let e=0;e<n.length;e++)void 0===n[e]?r+="=":r+=function(e){if(0<=e&&e<64)return Xt[e];return}(n[e])}return r}},Zt="4326",er={csv:{name:"CSV",itemTypes:["CSV","CSV Collection"],supportsProjection:!0},kml:{name:"KML",itemTypes:["KML","KML Collection"],supportsProjection:!1},shapefile:{name:"Shapefile",itemTypes:["Shapefile"],supportsProjection:!0},fileGeodatabase:{name:"File Geodatabase",itemTypes:["File Geodatabase"],supportsProjection:!0},geojson:{name:"GeoJson",itemTypes:["GeoJson"],supportsProjection:!1},excel:{name:"Excel",itemTypes:["Microsoft Excel"],supportsProjection:!0},featureCollection:{name:"Feature Collection",itemTypes:["Feature Collection"],supportsProjection:!0}};function tr(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Qt.btoa(e)}function rr(e){return"spatialRefId:"+tr(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function nr(e){return"exportItem:"+e}function or(e){return e?"exportLayer:0"+e:"exportLayer:null"}function ir(e){var t,r=e.autoAddResult,n=e.inviteResult,o=e.primaryEmailResult,e=e.secondaryEmailResult;return(o||e)&&(t={success:(e=[o,e].filter(function(e){return e})).every(function(e){return e.success})},(e=e.reduce(function(e,t){return e.concat(b(t,"errors",[]))},[])).length&&(t.errors=e)),{success:[r,n,t].filter(function(e){return e}).every(function(e){return e.success}),autoAdd:r,invite:n,email:t}}function ar(t,e){var r;return t&&(r=!f(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],f(t,"notAdded.length")&&r.push(new W("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return I(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function sr(e,t){return e.orgId===t.orgId}function ur(e){return"org_admin"===e.role&&!e.roleId}function cr(e,t,r,n){var o=Promise.resolve(null);return e.length&&(e={authentication:r,message:t.body,subject:t.subject,notificationChannelType:"email",users:e.map(function(e){return e.username})},n||(e.batchSize=1),o=Re(e)),o}function lr(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&f(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=cr(t.usersToInvite.filter(function(e){return sr(e,r)}),t.email,t.secondaryRO.authentication,ur(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function pr(e,t,r){var n=Promise.resolve(null);return n=t.length?Ie({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function fr(t){return pr(f(t,"groupId"),f(t,"usersToAutoAdd"),f(t,"primaryRO.authentication")).then(function(e){return ar(e,t)})}function dr(e,t,r,n,o){void 0===n&&(n=20160),void 0===o&&(o="group_member");var i=Promise.resolve(null);return i=t.length?Oe({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function hr(t){return dr(f(t,"groupId"),f(t,"usersToInvite"),f(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function mr(t){var e=Promise.resolve(t);return e=t.email&&f(t,"inviteResult.success")?cr(t.usersToEmail,t.email,t.primaryRO.authentication,ur(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function gr(e,t){var r,n=[];return-1!==t.privileges.indexOf("portal:admin:assignToGroups")&&(r=[t.orgId,t.cOrgId].filter(function(e){return e}),n=e.filter(function(e){return-1!==r.indexOf(e.orgId)})),n}function yr(e,t){var r=gr(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function vr(e,t,r){void 0===r&&(r=!1);e=yr(e,t).filter(function(e){return sr(e,t)});return r&&e.push(t),e}function br(e,t){if("object"==typeof e&&null!==e&&"string"==typeof t){for(var r=t.split("."),n=0;n<r.length-1;n++){if(!e.hasOwnProperty(r[n]))return;e=e[r[n]]}delete e[r[r.length-1]]}}function wr(e){var t=p(e.item);return t.text=JSON.stringify(e.data),t}function Sr(e,t){return Promise.all([me(e,t),(r=e,r=ge(e,t=t)+"/data",(t=P({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),X(r,t).catch(function(e){var t=RegExp(/The string did not match the expected pattern|(Unexpected end of (JSON input|data at line 1 column 1))/i);if(!t.test(e.message))throw e}))]).then(function(e){return{item:e[0],data:e[1]}});var r}var kr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function Cr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var Ar=function(e){return e instanceof Date},Tr=function(e){return"function"==typeof e},Ir=function(e){return"object"==typeof e},Er=function(e){return e instanceof RegExp};var Pr=function(e){return"object"==typeof e};function xr(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return _r(t)&&Dr(t)&&(e<(t=Or(t))&&(e=t)),e},-1);-1<e&&(t=0===e?[]:"{{delete:"+(e-1)+"}}");return t}(e.map(t).filter(function(e){return null!=e})):e&&Pr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return _r(n)&&Dr(n)?(r=Or(n))>e.maxLevel&&(e.maxLevel=r):e.obj[t]=n,e},{obj:{},maxLevel:-1});e=0<e.maxLevel?1===e.maxLevel?void 0:"{{delete:"+(e.maxLevel-1)+"}}":e.obj;return e}(Cr(e,t)):function(e){var t=e;"string"==typeof e&&Dr(e)&&(t=function(e){var t=e,e=Or(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return xr(e)}}var Or=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Dr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var _r=function(e){return"string"==typeof e};function Ur(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var Nr=function(e){var t={};if(Array.isArray(e))t=e.map(Nr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=Nr(e[r]):t[r]=e[r];else t=e;return t},Rr=/{{\s*?[\w].*?}}/g,jr=function(e){return"string"==typeof e};function Mr(e){return e||""===e||0===e}function Lr(e,a,s){if((s=Nr(s=void 0===s?null:s)||{}).optional)throw new Error("Please do not pass in an `optional` transform; adlib provides that internally.");return s.optional=Ur,xr(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!Ir(e)||Ar(e)||Er(e)||Tr(e)?n(e,o):Object.assign({},e,Cr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!jr(t))return t;var r,n=t.match(Rr);return n&&n.length?(n.map(function(e){var o,i=!1,t=e.replace(/{|}/g,"").trim();-1<t.indexOf("||")&&(r=t.split("||").map(function(e){return e.trim()}),o=r.length,t=r.find(function(e,t){var r,n;return(n=a,r=(r=e).split(":")[0],null!=(r=kr(n,r,null)))?e:t+1===o&&(i=!0,isNaN(e)?e:parseInt(e))}));var r={key:e,value:t};return i||(t=function(e,t,r){var n,o=e.split(":");if(1<o.length){var i,a=o[0],s=o[1];if(o[2]&&(i=o[2]),!r||!r[s]||"function"!=typeof r[s])throw new Error("Attempted to apply non-existant transform "+s+" on "+a+" with params "+e);n=kr(t,a),n=r[s](a,n,t,i)}else n=kr(t,e);return n}(t,a,s),r.value=Mr(t)?t:e),r}).forEach(function(e){t===e.key?("string"==typeof e.value&&(isNaN(e.value)||""===e.value||(-1<e.value.indexOf(".")?e.value=parseFloat(e.value):e.value=parseInt(e.value))),r=e.value):t=t.replace(e.key,e.value)}),Mr(r)?r:t):t}))}function Fr(e,t,r){return Lr(e,t,r)}var Gr=["id","isOrgItem","proxyFilter","ownerFolder","protected","owner","created","modified","guid","name","access","size","listed","numComments","numRatings","avgRating","numViews","scoreCompleteness","groupDesignations","listed","screenshots","banner","appCategories","industries","languages","largeThumbnail"];function qr(e,t,r){return Ae({q:'title:"'+e+'" AND '+Object.keys(t).map(function(e){return e+':"'+t[e]+'"'}).join(" AND "),authentication:r}).then(function(e){return 0<e.results.length}).catch(function(e){throw Error("Error in doesItemExistWithTitle "+e)})}function Br(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Yr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Wr(r){return Yr(r.url).then(function(e){return de(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=fe(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=P({file:t.resource,fileName:t.name,resourcesPrefix:t.prefix,text:t.content,access:t.private?"private":"inherit"},t.params),X(e,t)});var t})}function Hr(t){return Yr(t.url).then(function(e){return he({item:{id:t.id,owner:t.owner},params:{fileName:t.fileName,thumbnail:e},authentication:t.authentication}).catch(function(e){return Promise.resolve()})}).catch(function(e){return Promise.resolve()})}function zr(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Xe(e,t,o=!o&&"string"==typeof r?r:o).split("?"),o=r[0],r=r[1],r=new URLSearchParams(r);r.delete("f"),n&&r.append("w",n+"");r=r.toString(),e=o+"/info/"+e.thumbnail;return r?e+"?"+r:e}var Vr={arcgis:{label:"ArcGIS Online",url:"https://www.arcgis.com",type:"arcgis"},arcgisQA:{label:"ArcGIS Online QAEXT",url:"https://qaext.arcgis.com",type:"arcgis"},arcgisDEV:{label:"ArcGIS Online DEVEXT",url:"https://devext.arcgis.com",type:"arcgis"},hub:{label:"ArcGIS Hub",url:"https://hub.arcgis.com/api",type:"arcgis-hub"},hubDEV:{label:"ArcGIS Hub DEV",url:"https://hubdev.arcgis.com/api",type:"arcgis-hub"},hubQA:{label:"ArcGIS Hub QA",url:"https://hubqa.arcgis.com/api",type:"arcgis-hub"}};function Kr(e){return"string"==typeof e&&e in Vr?Vr[e]:e}function Jr(e,t){var r=p(e);return t.from<e.from&&(r.from=t.from),t.to>e.to&&(r.to=t.to),r}function $r(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=D(Xr(r,t),Xr(n,t));e.length&&(o[t]=e.filter(g))}),o}function Xr(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Qr(e){var t={};return Array.isArray(e)?t={any:e}:("string"==typeof e&&(t={any:[e]}),"object"==typeof e&&(t=e)),t}function Zr(e){var t=new Date,r={type:"date-range",from:t.getTime(),to:t.getTime()};switch(e.unit){case"hours":case"days":case"weeks":r.from=r.to-{min:6e4,hours:36e5,days:864e5,weeks:6048e5}[e.unit]*e.num;break;case"months":t.setMonth(t.getMonth()-e.num),r.from=t.getTime();break;case"years":t.setFullYear(t.getFullYear()-e.num),r.from=t.getTime()}return r}function en(e,t,r){var n=p(e),e=t.q,t=t.filter;return e&&(n.q=(n.q?" ("+n.q+" "+r+" "+e+")":e).trim()),t&&(n.filter=(n.filter?"("+n.filter+" "+r+" "+t+")":t).trim()),n}function tn(e,t){var r={q:"",filter:""};return t.exact&&(D(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=nn("AND",e,t.exact):("string"==typeof t.exact&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all.push(t.exact)),Array.isArray(t.exact)&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all=t.all.concat(t.exact)))),t.any&&(r.q=nn("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+nn("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+nn("OR","-"+e,t.not)),r}function rn(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function nn(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}function on(e,t,r,n){var o=p(e);return e.authentication&&(o.authentication=ae.deserialize(e.authentication.serialize())),o.start=-1<t?t:r+1,function(e){return e&&(o.authentication=e),n(o)}}function an(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/groups/"+t.id+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}function sn(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/users/"+t.username+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}var un={$apps:[{type:{any:["Code Sample","Web Mapping Application","Mobile Application","Application","Desktop Application Template","Desktop Application","Operation View","Dashboard","Operations Dashboard Extension","Workforce Project","Insights Workbook","Insights Page","Insights Model","Hub Page","Hub Initiative","Hub Site Application","StoryMap","Web Experience","Web Experience Template","Form"],not:["Code Attachment","Featured Items","Symbol Set","Color Set","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]},typekeywords:{not:["MapAreaPackage","SMX"]}}],$storymap:[{type:"StoryMap"},{type:"Web Mapping Application",typekeywords:["Story Map"]}],$dashboard:[{type:"Dashboard",typekeywords:{any:["Dashboard"],not:["ArcGIS Operation View","Add In","Extension"]}}],$dataset:[],$experience:[{type:{any:["Web Experience"],not:["Web Experience Template"]}}],$site:[{type:["Hub Site Application","Site Application"]},{type:["Web Mapping Application"],typekeywords:["hubSite"]}],$initiative:[{type:{any:"Hub Initiative",not:"Hub Initiative Template"}}],$document:[{typekeywords:{any:"Document",not:["MapAreaPackage","SMX"]},type:{any:["Image","Layout","Desktop Style","Project Template","Report Template","Pro Report","Statistical Data Collection","360 VR Experience","netCDF","PDF","CSV","Administrative Report","Raster function template"],not:["Image Service","Explorer Document","Explorer Map","Globe Document","Scene Document","Code Attachment","Featured Items","Symbol Set","ColorSet","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]}}]};function cn(e){var t,o=[];return null!==(t=e.aggregations)&&void 0!==t&&t.counts&&e.aggregations.counts.forEach(function(r){var e={label:r.fieldName,attribute:r.fieldName,type:"multi-select"},n=[];r.fieldValues.forEach(function(e){var t={filterType:"content"};t[r.fieldName]=e.value;t={label:e.value,value:e.value,count:e.count,selected:!1,filter:t};n.push(t)}),e.options=n,o.push(e)}),o}function ln(e){var t=pn(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?un[t]&&(e=e.concat(un[t])):e.push(t),e},[])),hn(t)}function pn(e){var r=p(e);return r.subFilters=r.subFilters||[],r.type&&(Array.isArray(r.type)?r.type=r.type.reduce(function(e,t){return fn(t)?r.subFilters=r.subFilters.concat(dn(t)):e.push(t),e},[]):fn(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(dn(e)),delete r.type)),r}function fn(e){var t=!1;return t="string"==typeof e?e in un:t}function dn(e){return un[e]}function hn(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Qr(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(hn)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=Zr(t[e]):r[e]=p(t[e]))}),r}function mn(e){var t,r=gn(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?en(e,gn(t),"OR"):e},{q:"",filter:""}),r=en(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function gn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),r}function yn(r){var n={},o=["created","modified"],i=D(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("searchUserAccess")&&(n.searchUserAccess=r.searchUserAccess),r.term&&(n.term=r.term),n}function vn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function bn(r){var n={},o=["created","modified","lastlogin"],i=D(["disabled","term"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("disabled")&&(n.disabled=r.disabled),r.term&&(n.term=r.term),n}function wn(e){var r={q:"",filter:""},n=["created","modified","lastlogin"],o=D(["term","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("disabled")&&(r.disabled=e.disabled),e.term&&(r.q=("("+e.term+") "+r.q).trim()),r}function Sn(o){return Ae(o).then(function(e){var t=-1<e.nextStart,r=e.results.map(Lt);o.site&&(r=r.map(function(e){return Ht(e,o.site)}));var n=cn(e);return{total:e.total,results:r,facets:n,hasNext:t,next:on(o,e.nextStart,e.total,Sn)}})}function kn(o){function i(e){return e.siteTeamUrl=o.site.item.url+"/teams/"+e.id+"/about",e}var e,t,r=(null===(e=o.authentication)||void 0===e?void 0:e.portal)||"https://www.arcgis.com/sharing/rest";o.authentication&&(t=o.authentication.token);function a(e){return e.thumbnailUrl=an(r,e,t),e}return Ce(o,"group").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,kn)}})}function Cn(o){function i(e){return e.profileUrl=o.site.item.url+"/people/"+e.username+"/profile",e}function a(e){return e.thumbnail&&(e.thumbnailUrl=sn(t,e,r)),e}var t=o.authentication.portal,r=o.authentication.token;return Ce(o,"user").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,Cn)}})}function An(t){return x(this,void 0,void 0,function(){return O(this,function(e){return 200<=t.status&&t.status<300?[2,t.json()]:[2,t.json().then(function(e){if(e.error)throw new Error(e.error.title+" :: "+e.error.detail+" :: "+t.status);throw new Error("Got "+t.status+" "+t.statusText)})]})})}function Tn(e){var t={},e=f(e,"authentication.token");return e&&(t.Authorization=e),t}function In(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function En(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return Ae(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return I(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function Pn(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Ke(e);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function xn(e,t){return En(e,t).then(function(e){return!0}).catch(function(e){return!1})}function On(t,r,n,o){var i=t;return Pn((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?On(t,r,n,o+1):i})}function Dn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return xn(o,r).then(function(e){return e?Dn(t,r,n+1):o})}function _n(e,t){if(t.isPortal)return En(e,t);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An)}function Un(e,t){var r=p(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+j(5):r}function Nn(e,t){return Sr(e,t).then(Fn)}function Rn(e){if(1.4<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},br(t,"data.values.gacode"),k("item.properties.schemaVersion",1.4,t),t}var jn=1.5;function Mn(e){if(1.5<=f(e,"item.properties.schemaVersion"))return e;var r,t=p(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(Ln).forEach(function(e){var t=Ln[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Ln={"{{default.name}}":"{{name}}","{{default.description}}":"{{description}}","{{item.tags}}":"{{tags}}","{{item.created:toISO}}":"{{created:toISO}}","{{item.modified:toISO}}":"{{modified:toISO}}","{{default.source.source}}":"{{source}}","{{item.owner}}":"{{owner}}","{{org.portalProperties.links.contactUs.url}}":"{{orgContactEmail}}","{{org.name}}":"{{orgName}}","{{item.categories}}":"{{categories}}","{{item.licenseInfo}}":"{{licenseInfo}}","{{item.modified}}":"{{modified}}","{{enrichments.categories}}":"{{categories}}","{{default.id}}":"{{id}}","{{item.licenseInfo || No License}}":"{{licenseInfo || No License}}","{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}":"{{orgContactEmail || mailto:data@tempe.gov}}","{{default.description || No Description}}":"{{description || No Description}}","{{item.id}}":"{{id}}"};function Fn(e){return f(e,"item.properties.schemaVersion")===jn?e:e=Mn(e=Rn(e=function(e){if(1.3<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(M),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog")||{};return f(t,"data.values.groups")&&(e.groups=p(t.data.values.groups),delete t.data.values.groups),t.data.catalog=e,t.item.properties.schemaVersion=1.2,t}(e=function(e){if(1.1<=f(e,"item.properties.schemaVersion"))return e;var t=p(e);return["subdomain","defaultHostname","internalUrl","customHostname","externalUrl"].forEach(function(e){t.data.values[e]&&"string"==typeof t.data.values[e]&&(t.data.values[e]=t.data.values[e].toLowerCase())}),t.item.properties.schemaVersion=1.1,t}(e=function(e){if(1<=f(e,"item.properties.schemaVersion"))return e;var t=p(e);return["groupId","title"].forEach(function(e){delete t.data.values[e]}),t.item.properties||(t.item.properties={}),t.item.properties.schemaVersion=1,t.data.values.groups&&Array.isArray(t.data.values.groups)&&(e=t.data.values.groups.map(function(e){return"object"==typeof e?e.id:e}).filter(function(e){return!!e}),t.data.values.groups=e),t}(e))))))}var Gn=["ar","bs","ca","cs","da","de","en","es","et","el","fi","fr","hr","he","hu","it","id","ja","ko","lt","lv","nb","nl","pl","pt","pt-br","pt-pt","ro","ru","sl","sr","sv","th","tr","uk","vi","zh","zh-cn","zh-tw","zh-hk"];var qn,Bn=(e(Yn,qn=Error),Yn);function Yn(e,t,r){e=qn.call(this,e)||this;return e.status=r,e.url=t,e}function Wn(e,t){var r,n,o=P({httpMethod:"GET"},t),i=o.fetch||fetch,t=P({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=pe({host:et(o),path:("/api/v3/"+e).replace(/\/\//g,"/"),query:r});return i(a,{method:o.httpMethod,headers:t,body:n}).then(function(e){if(e.ok)return e.json();throw new Bn(e.statusText,a,e.status)})}function Hn(e,t){return ye(P({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function zn(e,t){return ye(P({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Vn(e,t){return ye(P({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Kn(t){function e(e){return-1<t.typeKeywords.indexOf(e)}var r=e("FieldworkerView");return r=r||["Survey123","Feature Service","View Service"].every(e)&&!e("StakeholderView")}var Jn="/api/v3/domains",$n="/api/v3/datasets",Xn="/api/discussions/v1",Qn=(Object.defineProperty(Zn.prototype,"session",{get:function(){return this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isAuthenticated",{get:function(){return!!this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"userRequestOptions",{get:function(){if(this.isAuthenticated)return{authentication:this._authentication,portal:this.sharingApiUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"requestOptions",{get:function(){var e={portal:this.sharingApiUrl};return e=this.isAuthenticated?{authentication:this._authentication,portal:this.sharingApiUrl}:e},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubRequestOptions",{get:function(){return{authentication:this.session,isPortal:this.isPortal,portalSelf:this.portal,hubApiUrl:this.hubUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portalUrl",{get:function(){return this.isAuthenticated?this.isPortal?"https://"+this._portalSelf.portalHostname:"https://"+this._portalSelf.urlKey+"."+this._portalSelf.customBaseUrl:this._portalUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"sharingApiUrl",{get:function(){return this.portalUrl+"/sharing/rest"},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubUrl",{get:function(){return this._hubUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isPortal",{get:function(){return this._portalSelf?this._portalSelf.isPortal:-1===this._portalUrl.indexOf("arcgis.com")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"discussionsServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Xn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubSearchServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+$n},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"domainServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Jn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"eventsConfig",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.events")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubEnabled",{get:function(){return b(this._portalSelf,"portalProperties.hub.enabled",!1)},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgId",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.orgId")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgHostname",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.portalHostname")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgUrl",{get:function(){if(this.communityOrgHostname)return"https://"+this.communityOrgHostname},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"helperServices",{get:function(){if(this._portalSelf)return this._portalSelf.helperServices},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"currentUser",{get:function(){return this._currentUser},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portal",{get:function(){return this._portalSelf},enumerable:!1,configurable:!0}),Zn);function Zn(e){this._portalUrl="https://www.arcgis.com",this.id=e.id,this._portalUrl=e.portalUrl,this._hubUrl=e.hubUrl,e.authentication&&(this._authentication=e.authentication),e.portalSelf&&(this._portalSelf=e.portalSelf),e.currentUser&&(this._currentUser=e.currentUser)}eo.create=function(r){return void 0===r&&(r={}),x(this,void 0,void 0,function(){var t;return O(this,function(e){switch(e.label){case 0:return[4,(t=new eo(r)).initialize()];case 1:return e.sent(),[2,t]}})})},eo.prototype.initialize=function(){return x(this,void 0,void 0,function(){var t,r;return O(this,function(e){switch(e.label){case 0:return(t={id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl},this._authentication)?(this.log("ArcGISContext-"+this.id+": Initializing"),[4,Ye({authentication:this._authentication})]):[3,2];case 1:r=e.sent(),this._portalSelf=r,this._currentUser=r.user,t={id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl,portalSelf:this._portalSelf,currentUser:this._currentUser,authentication:this._authentication},e.label=2;case 2:return this._state=new Qn(t),[2]}})})},eo.prototype.setAuthentication=function(t){return x(this,void 0,void 0,function(){return O(this,function(e){switch(e.label){case 0:return this._authentication=t,this._portalUrl=t.portal.replace("/sharing/rest",""),[4,this.initialize()];case 1:return e.sent(),[2]}})})},eo.prototype.clearAuthentication=function(){this._state.isPortal||(this._portalUrl=function(e){var t;e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://qaext.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://devext.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://www.arcgis.com");return t}(this._portalUrl)),this._authentication=null,this._portalSelf=null,this._currentUser=null,this._state=new Qn({id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl})},Object.defineProperty(eo.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),eo.prototype.log=function(e){this._debug&&console.info(e)},ct=eo;function eo(e){this._portalUrl="https://www.arcgis.com",this._debug=!1,this.id=(new Date).getTime(),e.debug&&(this._debug=e.debug),this.log("ArcGISContext:ctor: Creating "+this.id),e.authentication?(this._authentication=e.authentication,this._portalUrl=this._authentication.portal.replace("/sharing/rest","")):e.portalUrl&&(this._portalUrl=e.portalUrl),this._hubUrl=to(this._portalUrl)}function to(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}ro.prototype.startOperation=function(e){e=p(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},ro.prototype.start=function(e,t){t={type:e,id:b(t,"id",r(e+"_")),inputs:b(t,"inputs",{}),cleanup:b(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},ro.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},ro.prototype.getOperations=function(){return this.operations},ro.prototype.finish=function(e,t){var r=this.getOperation(e);if(!r)throw new Error("No operation with id "+e+" present in stack");r.duration=(new Date).getTime()-r.startedAt,r.state="completed",t&&(r.output=p(t))},ro.prototype.merge=function(e){this.operations=D(this.operations,e.operations)},ro.prototype.getCompleted=function(){return p(this.operations.filter(function(e){return"completed"===e.state}))},ro.prototype.getWorking=function(){return p(this.operations.filter(function(e){return"working"===e.state}))},ro.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(no).join("\n")},ro.prototype.serialize=function(){return{operations:p(this.getOperations())}},lt=ro;function ro(){this.operations=[]}function no(e){var t=e.startedAt+" : Operation "+e.id+" started with inputs "+JSON.stringify(e.inputs)+" but was not completed";return t="completed"===e.state?e.startedAt+" : Operation "+e.id+" took "+e.duration+" ms with inputs "+JSON.stringify(e.inputs)+" and output "+(e.output?JSON.stringify(e.output):"n/a"):t}n.ArcGISContext=ct,n.GLOBAL_EXTENT=gt,n.HUB_CDN_URLMAP=He,n.HUB_LOCALES=Gn,n.Logger=L,n.OperationError=U,n.OperationStack=lt,n.PORTAL_EXPORT_TYPES=er,n.REQUIRED_PRIVS=le,n.RemoteServerError=Bn,n.SEARCH_APIS=Vr,n.SITE_SCHEMA_VERSION=jn,n.STANDARD_LICENSES=St,n.WGS84_WKID=Zt,n._addTokenToResourceUrl=Br,n._canEmailUser=sr,n._checkStatusAndParseJson=An,n._consolidateResults=ir,n._deepMapValues=i,n._ensureSafeDomainLength=Un,n._ensureTelemetry=Rn,n._formatAutoAddResponse=ar,n._getAuthHeader=Tn,n._getAutoAddUsers=gr,n._getDomainServiceUrl=In,n._getEmailUsers=vr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=yr,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=ur,n._isRegExp=l,n._isString=a,n._lookupPortal=En,n._mapValues=o,n._processAutoAdd=fr,n._processInvite=hr,n._processPrimaryEmail=mr,n._processSecondaryEmail=lr,n._searchContent=function(n,o){var i;return x(this,void 0,void 0,function(){var t,r;return O(this,function(e){return r=ln(n),t=Kr(o.api||"arcgis"),[2,"arcgis"===t.type?(r=mn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",null!==(i=o.aggregations)&&void 0!==i&&i.length&&(r.countFields=o.aggregations.join(","),r.countSize=200),o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),o.site&&(r.site=p(o.site)),Sn(r)):Promise.resolve({total:0,results:[],facets:[],hasNext:!1,next:function(){}})]})})},n._searchGroups=function(n,o){var i;return x(this,void 0,void 0,function(){var t,r;return O(this,function(e){if(r=yn(n),"arcgis"===(t=Kr(o.api||"arcgis")).type)return r=vn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),t.url,null!==(i=r.authentication)&&void 0!==i&&i.portal&&r.authentication.portal,o.site&&(r.site=p(o.site)),[2,kn(r)];throw new Error("_searchGroups is not implemented for non-arcgis apis")})})},n._searchUsers=function(r,n){return x(this,void 0,void 0,function(){var t;return O(this,function(e){if(!n.authentication)throw new Error("Authentication required to search for users.");if(t=bn(r),"arcgis"===Kr(n.api||"arcgis").type)return(t=wn(t)).authentication=n.authentication,n.num&&(t.num=n.num),n.sortField&&(t.sortField=n.sortField),n.sortOrder&&(t.sortOrder=n.sortOrder),n.site&&(t.site=p(n.site)),[2,Cn(t)];throw new Error("_searchUsers is not implemented for non-arcgis apis")})})},n._unprotectAndRemoveGroup=function(e){var t=R(_e,{success:!0}),r=R(Ue,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=R(ve,{success:!0}),r=R(we,{success:!0});return t(e).then(function(){return r(e)})},n.addContextToSlug=function(e,t){return/.+::.+/.test(e)?e:t+"::"+e},n.addDays=function(e,t){try{var r=new Date(e);return new Date(r.setDate(r.getDate()+t)).toISOString().split("T")[0]}catch(e){throw new Error("Invalid Date")}},n.addDomain=function(e,t){if(t.isPortal)throw new Error("addDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);r["Content-Type"]="application/json";var n=""+In(t.hubApiUrl);return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"POST",headers:r,mode:"cors",body:JSON.stringify(e)}).then(An)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Ve(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=o.map(function(e){return{name:e.name,type:e.type||"resource",url:r+"/resources/"+n+"-"+e.name}})),o},n.addUsersToGroup=function(e,t,r,n,o){var i=p(b(r,"portalSelf.user",{}));return i.cOrgId=f(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),fr({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:gr(t,i),usersToInvite:yr(t,i),usersToEmail:vr(t,i,f(n,"copyMe"))}).then(hr).then(mr).then(lr).then(ir)},n.applyPropertiesToItems=function(e,t){return e.map(function(e){return e.properties||(e.properties={}),Object.assign(e.properties,t),e})},n.arrayToObject=function(e,r){return e.reduce(function(e,t){return e[f(t,r)]=t,e},{})},n.atob=Qt.atob,n.autoAddUsers=pr,n.bBoxToPolygon=wt,n.batch=T,n.btoa=Qt.btoa,n.buildDraft=function(e,t){return S(e,{},t)},n.buildExistingExportsPortalQuery=function(e,t){var r,n,o,i,a=(c=function(e){if(e)return{onlyTypes:e.onlyTypes,layerId:e.layerId,spatialRefId:e.spatialRefId};return{}}(t)).onlyTypes,s=c.layerId,u=c.spatialRefId,t=Object.keys(er).map(function(e){return er[e]}),c=new Set(y(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||y(t.map(function(e){return e.itemTypes})),s=(new Se).startGroup().match(nr(e)).in("typekeywords").and().match(or(s)).in("typekeywords").endGroup().and().startGroup();function l(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(rr((r=e,t=Zt,t=(e=i)&&!o.has(r)?e:t))).in("typekeywords").endGroup()}return r=s,n=(c={types:t,spatialRefId:u,noProjectionItemTypes:c}).types,o=c.noProjectionItemTypes,i=c.spatialRefId,n.forEach(function(e,t){l(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=pe,n.camelize=m,n.canEditEvent=function(e,t){var r=!1;return ue(t)&&(e=f(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!d(void 0===t?[]:t,"id",e)),r},n.canEditItem=ce,n.canEditSite=function(e,t){var r=!1;return r=!f(e,"properties.isDefaultHubHome")&&ue(t)?ce(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=f(e,"properties.isDefaultHubHome"),i=ue(t);return!o&&i?n=ce(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=le.every(function(e){return I(r,e)}))),n},n.capitalize=t,n.categories=dt,n.chunkArray=function(e,t){for(var r=[],n=0;n<e.length;)r.push(e.slice(n,n+t)),n+=t;return r},n.clearSession=function(e,t){(t=void 0===t?window:t).localStorage&&t.localStorage.removeItem("__CONTEXT_"+e)},n.cloneObject=p,n.completeOAuth2=function(t,e){var r=(e=(e=void 0===e?window:e).location.href.match(/access_token=(.+)&expires_in=.+&username=([^&]+)/))[1],n="https://www.arcgis.com/sharing/rest/community/users/"+decodeURIComponent(e[2]);return X(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?X(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return ae.completeOAuth2(t)}):ae.completeOAuth2(t)})},n.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(function(r,n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(n.apply(void 0,e))}})},n.convertContentDefinitionToFilter=hn,n.convertContentFilterToSearchOptions=gn,n.convertPortalResponseToFacets=cn,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Ve(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=e.resources.map(function(e){return{name:e,type:"resource",url:r+"/resources/"+n+"-"+e}})),o},n.convertToWellKnownLocale=function(e){var t="en";return e=(e=void 0===e?"en":e).toLowerCase(),-1<Gn.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<Gn.indexOf(e[0])&&(t=e[0]),t},n.convertUrlsToAnchorTags=function(t){var e=t.match(/((((ftp|https?):\/\/)|(w{3}\.))[-\w@:%_+.~#?,&//=]+)/g);return e&&e.forEach(function(e){t=t.replace(e,'<a target="_blank" href="'+e+'">'+e+"</a>")}),t.replace("(","<br/>(")},n.createExtent=function(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}},n.createId=r,n.createOperationPipeline=function(e){return function(r){return e.reduce(function(e,t){return e.then(t).catch(function(e){if("OperationError"===e.name)return Promise.reject(e);e="IPipeableFn did not reject with an OperationError \n Operation Stack: \n "+r.stack.toString(),e=new U("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=Ft(e),r=Lt(t);delete r.itemCategories;var n=e.id,o=(S=e.attributes).errors,i=S.boundary,a=S.extent,s=S.metadata,u=S.modified,c=S.modifiedProvenance,l=S.slug,p=S.searchDescription,f=S.groupIds,d=S.server,h=S.layers,m=S.layer,g=S.recordCount,y=S.statistics,v=S.orgId,b=S.orgName,w=S.organization,e=S.orgExtent,S=S.type;return r.errors=o,r.boundary=i,!vt(t.extent)&&a&&vt(a.coordinates)&&(r.extent=a.coordinates),r.metadata=s||null,r.modified!==u&&(r.modified=u,r.updatedDate=new Date(u),r.updatedDateSource=c),r.slug=l,p&&(r.summary=p),r.groupIds=f,r.server=d,r.layers=h,r.layer=m,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),Bt(Gt(r,n),S)},n.datasetToItem=Ft,n.deepFind=C,n.deepFindById=function(e,t){return C(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=br,n.doesItemExistWithTitle=qr,n.domainExists=Pn,n.domainExistsPortal=xn,n.emailOrgUsers=cr,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?Dn(e,t):On(e,t.portalSelf.urlKey+"."+Ke(et(t)),t)).then(function(e){return Un(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)I(e,o)?o=t+"-"+ ++n:r=!0;return o},n.expandApi=Kr,n.expandApis=function(e){return e.map(Kr)},n.expandContentFilter=ln,n.expandGroupFilter=yn,n.expandTypeField=pn,n.expandUserFilter=bn,n.extend=function n(e,o,i){void 0===i&&(i=!0);e=p(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=p(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=mt,n.failSafe=R,n.failSafeUpdate=function(e,t){return R(he,{id:e.item.id,success:!0})(Object.assign({item:wr(e)},t))},n.fetchAllPages=function(n,o,r,i){var a=o.num||100,e=o.start||1;return(-1===(r=void 0===r?-1:r)?n(P(P({},o),{num:a,start:e})):Promise.resolve({nextStart:e,total:r,results:[],num:a})).then(function(t){if(-1===t.nextStart)return[t];for(var e=[],r=t.nextStart;r<=t.total;r+=a)e.push(r);return T(e,function(e){return n(P(P({},o),{start:e,num:a}))},i).then(function(e){return D([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return D(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Wr,n.fetchAndUploadThumbnail=Hr,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(ze(e)+"/locales/"+t+".json").toLocaleLowerCase();return fetch(n,{method:"GET",credentials:"same-origin",mode:r}).then(function(e){return e.json()}).catch(function(e){throw Error("Attempt to fetch locale "+t+" from "+n+" failed: "+JSON.stringify(e))})},n.fetchImageAsBlob=Yr,n.fetchSite=function(e,t){return M(e)?Nn(e,t):_n(Ke(e).split("/")[0],t).then(function(e){return Nn(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return f(e,t)===r})},n.findBy=d,n.flattenArray=y,n.generateRandomString=j,n.getCategory=It,n.getCollection=Pt,n.getContentIdentifier=_t,n.getContentSiteUrls=qt,n.getContentTypeIcon=Yt,n.getContentTypeLabel=Wt,n.getCulture=function(e){return f(e,"portalSelf.user.culture")||f(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=In(t.hubApiUrl)+"?siteId="+e,t=Tn(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=nr,n.getExportLayerTypeKeyword=or,n.getFamily=jt,n.getGeographicOrgExtent=yt,n.getGroupThumbnailUrl=an,n.getHubApiUrl=et,n.getHubApiUrlFromPortal=function(e){return $e(e)+"/api/v3"},n.getHubLocaleAssetUrl=ze,n.getHubProduct=function(e){var t=f(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=$e,n.getInputFeatureServiceModel=Hn,n.getItemApiUrl=Xe,n.getItemAssets=function(e,t){var r=Ve(t.portalSelf)+"/content/items/"+e.id,n=zr(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=ge(e,t=t)+"/resources",(t=P({},t)).params=P({num:1e3},t.params),X(e,t).then(function(e){e=e.resources.map(function(e){return{name:e.resource,type:"resource",url:r+"/resources/"+e.resource}});return o.concat(e)})},n.getItemDataUrl=function(e,t,r){t=Xe(e,t,r),r="\\/"+e.id+"\\?f=json",r=new RegExp(r);return t&&t.replace(r,"/"+e.id+"/data").replace(/\&token/,"?token")},n.getItemHomeUrl=function(e,t){return We(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=Dt(e);return e?t+"_"+e:t}},n.getItemHubType=Mt,n.getItemLayerId=Dt,n.getItemThumbnailUrl=zr,n.getLayerIdFromUrl=Ot,n.getModel=Sr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return R(Sr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getNextFunction=on,n.getOrgExtentAsBBox=function(e){return yt(e).then(mt)},n.getPortalApiUrl=Ve,n.getPortalUrl=We,n.getProp=f,n.getProps=function(r,e){return e.reduce(function(e,t){t=f(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=Ze,n.getSession=function(e,t){var r=null;return!(t=void 0===t?window:t).localStorage||(e=t.localStorage.getItem("__CONTEXT_"+e))&&(r=ae.deserialize(e)),r},n.getSiteById=Nn,n.getSourceFeatureServiceModelFromFieldworker=zn,n.getSpatialRefTypeKeyword=rr,n.getStakeholderModel=Vn,n.getStructuredLicense=kt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?me(e,r):Promise.resolve(e)).then(function(t){var e=[Hn(t.id,r),Vn(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&Kn(t.item)?zn((n=t).item.id,r):t}).then(function(e){return{form:{item:t},featureService:e,fieldworker:n,stakeholder:o}})})},n.getTypeCategories=function(e){if(e=It(Et(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return dt[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=On,n.getUniqueDomainNamePortal=Dn,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return qr(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getUserThumbnailUrl=sn,n.getWithDefault=b,n.hasBasePriv=ue,n.hubApiRequest=Wn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Wn("/search",P(P({},{headers:t,httpMethod:"POST"}),e))},n.includes=I,n.incrementString=function(e){var t=e.match(/-\s(\d+$)/);return t?(t=parseInt(t[1],10),e=e.replace("- "+t,"- "+(t+1))):e+=" - 1",e},n.interpolate=Fr,n.interpolateItemId=function(e){return Fr(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=dr,n.isBBox=vt,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return _n(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ht,n.isExtentCoordinateArray=bt,n.isFeatureService=xt,n.isFieldworkerView=Kn,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return Qe.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Ut(e).itemId)||M(e))},n.isUpdateGroup=G,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=In(e.hubApiUrl)+"/validate?hostname="+t,e=Tn(e);return fetch(r,{method:"GET",headers:e,mode:"cors"}).then(function(e){return e.json()}).catch(function(e){return{success:!1,input:t,error:{code:400,detail:e,message:"lookupFailed"}}})},n.isValidExtent=function(t){return!!t&&[bt,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=Gr,n.itemToContent=Lt,n.last=function(e){return e[e.length-1]},n.lookupDomain=_n,n.mapBy=function(t,e){return(e=void 0===e?[]:e).map(function(e){return e[t]})},n.maybeAdd=function(e,t,r){return null!=t&&((r=p(r))[e]=t),r},n.maybePush=h,n.mergeContentFilter=function(e){var e=e.map(ln),n=["created","modified"],o=D(["filterType","subFilters","term"],n);return(e=e.reduce(function(r,e){return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];r.hasOwnProperty(t)?o.includes(t)?n.includes(t)?r[t]=Jr(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=D(r[t],e)):r[t]=$r(r[t],e):r[t]=p(e)}),r},{})).filterType="content",e},n.mergeDateRange=Jr,n.mergeGroupFilters=function(e){var e=e.map(yn),o=["created","modified"],i=D(["filterType","term"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=$r,n.mergeObjects=S,n.mergeSearchOptions=en,n.mergeUserFilters=function(e){var e=e.map(bn),o=["created","modified","lastlogin"],i=D(["disabled","term","filterType"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"user"})},n.normalizeItemType=Et,n.normalizeSolutionTemplateItem=function(e){var t=p(e);return Gr.forEach(function(e){delete t[e]}),t.extent="{{organization.defaultExtentBBox}}",t},n.objectToArray=function(r,n){return void 0===n&&(n="id"),Object.keys(r).reduce(function(e,t){return r[t][n]=t,e.push(p(r[t])),e},[])},n.objectToJsonBlob=function(e){if("undefined"!=typeof Blob)return new Blob([JSON.stringify(e)],{type:"application/json"});throw new Error("objectToJsonBlob is not currently supported on Node")},n.parseDatasetId=Ut,n.parseItemCategories=Rt,n.processRevertableTasks=function(e){return Promise.all(e).then(function(e){function t(e){return"fullfilled"===e.status}var r=e.filter(t),n=e.filter(function(e){return!t(e)});if(n.length){e=r.map(function(e){return e.revert()});throw Promise.all(e).catch(function(){}),n[0].error}return r.map(function(e){return e.results})})},n.propifyString=function(e){return m(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=Zr,n.removeContextFromSlug=Nt,n.removeDomain=function(e,t){if(t.isPortal)throw new Error("removeDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);return r["Content-Type"]="application/json",e=In(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(An)},n.removeEmptyProps=function t(r){return Object.keys(r).forEach(function(e){r[e]&&"object"==typeof r[e]?t(r[e]):null==r[e]&&delete r[e]}),r},n.replaceItemId=function(e,t,r){return void 0===r&&(r="{{appid}}"),w(p(e),new RegExp(t,"g"),r)},n.runRevertableTask=function(e,t){return e().then(function(e){return{status:"fullfilled",results:e,revert:t}}).catch(function(e){return{status:"rejected",error:e}})},n.saveSession=function(e,t,r){(r=void 0===r?window:r).localStorage&&r.localStorage.setItem("__CONTEXT_"+e,t.serialize())},n.serializeContentFilterForPortal=mn,n.serializeDateRange=rn,n.serializeGroupFilterForPortal=vn,n.serializeMatchOptions=tn,n.serializeModel=wr,n.serializeSpatialReference=tr,n.serializeStringOrArray=nn,n.serializeUserFilterForPortal=wn,n.setContentHubId=Gt,n.setContentSiteUrls=Ht,n.setContentType=Bt,n.setProp=k,n.shareItemToGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Fe(e)}))},n.slugify=function(e){return"string"==typeof e?e.trim().toLowerCase().replace(/ +/g,"-").replace(/[^\w-]/g,"").replace(/-+/g,"-"):e},n.stringToBlob=function(e,t){if(void 0===t&&(t="application/octet-stream"),"undefined"==typeof Blob)throw new Error("stringToBlob is not currently supported on Node");for(var r=[],n=0;n<e.length;n++)r[n]=e.charCodeAt(n);var o=new Uint8Array(r);return new Blob([o],{type:t})},n.stripProtocol=Ke,n.unique=g,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return h(e.find(function(e){return f(e,r)===f(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?ve(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Be(e)}))},n.updateDomain=function(e,t){if(t.isPortal)throw new Error("updateDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);r["Content-Type"]="application/json";var n=In(t.hubApiUrl)+"/"+e.id;return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"PUT",headers:r,mode:"cors",body:JSON.stringify(e)}).then(An)},n.upgradeProtocol=function(e){return-1===e.indexOf("http")?"https://"+e:-1!==e.indexOf("http://")?e.replace(/^http:/i,"https:"):e},n.upgradeSiteSchema=Fn,n.uploadResourcesFromUrl=function(n,e,o){if(Array.isArray(e)){e=e.reduce(function(e,t){var r;return t.url&&(r={id:n.item.id,owner:n.item.owner,fileName:t.name,url:Br(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Hr(r)):e.push(Wr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Qr,n.without=function(e,t){return e.filter(function(e){return e!==t})},n.withoutByProp=function(t,r,e){return e.filter(function(e){return e[t]!==r})},Object.defineProperty(n,"__esModule",{value:!0})});
1
+ !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self).arcgisHub=e.arcgisHub||{})}(this,function(n){"use strict";function o(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}function i(e,r,n){return n=n||"",Array.isArray(e)?e.map(t):!e||!c(e)||s(e)||l(e)||u(e)?r(e,n):Object.assign({},e,o(e,t));function t(e,t){return i(e,r,""+(n?n+"."+t:t))}}function a(e){return"string"==typeof e||e instanceof String}function s(e){return e instanceof Date}function u(e){return"function"==typeof e}function c(e){return"object"==typeof e}function l(e){return e instanceof RegExp}function f(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function p(e){var t,r={};if(Array.isArray(e))r=e.map(p);else if("object"==typeof e)for(var n in e)e.hasOwnProperty(n)&&(null!=(t=e[n])&&"object"==typeof t?t instanceof Date?r[n]=new Date(t.getTime()):r[n]=p(t):r[n]=t);else r=e;return r}function d(e,r,n){return e?e.reduce(function(e,t){return e=f(t,r)===n?t:e},null):null}function r(e){return""+(e=void 0===e?"i":e)+Math.random().toString(36).substr(2,8)}function h(e,t){return null!=e&&(t=p(t)).push(e),t}function m(e){return(e=(e=e.toLowerCase()).replace(/[`~!@#$%^&*()_|+\-=?;:'",.<>\{\}\[\]\\\/]/gi," ")).replace(/(\-|\_|\.|\s)+(.)?/g,function(e,t,r){return r?r.toUpperCase():""}).replace(/(^|\/)([A-Z])/g,function(e,t,r){return e.toLowerCase()})}function g(e,t,r){return r.indexOf(e)===t}function t(e){return(e=Array.from(e))[0]=e[0].toUpperCase(),e.join("")}function y(e){return e.reduce(function(e,t){return e.concat(t)},[])}function v(e,t,r){void 0===r&&(r={});var t=t.split("."),n=e,o=t.length-1;t.forEach(function(e,t){n.hasOwnProperty(e)&&null!=n[e]?t===o&&("object"!=typeof n[e]||Array.isArray(n[e])?n[e]=r:n[e]=Object.assign(n[e],p(r))):n[e]=t===o?r:{},n=n[e]})}function b(e,t,r){t=f(e,t);return void 0!==t?t:r}function w(e,r,n){return i(e,function(e){if(!a(e))return e;var t=l(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function S(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==f(t,e)&&v(r,e,f(t,e))}),r):t}function k(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function C(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!A(t)||(t=C(t,n))&&(e=t),e},void 0):A(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!A(r[t])||(t=C(r[t],n))&&(e=t),e},void 0):void 0}function A(e){var t=!1;return t=e&&c(e)&&!s(e)&&!l(e)&&!u(e)?!0:t}function T(e,n,o){void 0===o&&(o=5);return e.reduce(function(e,t){var r=e[e.length-1];return r&&r.length!==o||e.push(r=[]),r.push(t),e},[]).reduce(function(e,r){return e.then(function(t){var e=r.map(function(e){return n(e)});return Promise.all(e).then(function(e){return t.concat(e)})})},Promise.resolve([]))}function I(e,t){return-1!==e.indexOf(t)}var P=function(e,t){return(P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function e(e,t){function r(){this.constructor=e}P(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var x=function(){return(x=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e}).apply(this,arguments)};function E(e,a,s,u){return new(s=s||Promise)(function(r,t){function n(e){try{i(u.next(e))}catch(e){t(e)}}function o(e){try{i(u.throw(e))}catch(e){t(e)}}function i(e){var t;e.done?r(e.value):((t=e.value)instanceof s?t:new s(function(e){e(t)})).then(n,o)}i((u=u.apply(e,a||[])).next())})}function O(r,n){var o,i,a,s={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},e={next:t(0),throw:t(1),return:t(2)};return"function"==typeof Symbol&&(e[Symbol.iterator]=function(){return this}),e;function t(t){return function(e){return function(t){if(o)throw new TypeError("Generator is already executing.");for(;s;)try{if(o=1,i&&(a=2&t[0]?i.return:t[0]?i.throw||((a=i.return)&&a.call(i),0):i.next)&&!(a=a.call(i,t[1])).done)return a;switch(i=0,(t=a?[2&t[0],a.value]:t)[0]){case 0:case 1:a=t;break;case 4:return s.label++,{value:t[1],done:!1};case 5:s.label++,i=t[1],t=[0];continue;case 7:t=s.ops.pop(),s.trys.pop();continue;default:if(!(a=0<(a=s.trys).length&&a[a.length-1])&&(6===t[0]||2===t[0])){s=0;continue}if(3===t[0]&&(!a||t[1]>a[0]&&t[1]<a[3])){s.label=t[1];break}if(6===t[0]&&s.label<a[1]){s.label=a[1],a=t;break}if(a&&s.label<a[2]){s.label=a[2],s.ops.push(t);break}a[2]&&s.ops.pop(),s.trys.pop();continue}t=n.call(r,s)}catch(e){t=[6,e],i=0}finally{o=a=0}if(5&t[0])throw t[1];return{value:t[0]?t[1]:void 0,done:!0}}([t,e])}}}function D(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;for(var n=Array(e),o=0,t=0;t<r;t++)for(var i=arguments[t],a=0,s=i.length;a<s;a++,o++)n[o]=i[a];return n}var _,U=(e(N,_=Error),N);function N(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=_.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,N.prototype),n.stack=b(r,"stack",(new Error).stack),n}function R(r,n){return void 0===n&&(n={}),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r.apply(void 0,e).catch(function(e){return n})}}function j(e){var r=(new Date).getTime();return Array(e).fill(0).reduce(function(e){var t=(r+16*Math.random())%16|0;return r=Math.floor(r/16),e=""+e+t.toString(16)},"")}function M(e){"{"===e[0]&&(e=e.substring(1,e.length-1));return/^(\{){0,1}[0-9a-fA-F]{8}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{4}[-]?[0-9a-fA-F]{12}(\}){0,1}$/gi.test(e)}n.Level=void 0,(lt=n.Level||(n.Level={}))[lt.all=0]="all",lt[lt.debug=1]="debug",lt[lt.info=2]="info",lt[lt.warn=3]="warn",lt[lt.error=4]="error",lt[lt.off=5]="off";var L=(F.setLogLevel=function(e){this.logLevel=e},F.log=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.log.apply(console,D([e],t))},F.debug=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.debug)&&console.debug.apply(console,D([e],t))},F.info=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.info)&&console.info.apply(console,D([e],t))},F.warn=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.warn)&&console.warn.apply(console,D([e],t))},F.error=function(e){for(var t=[],r=1;r<arguments.length;r++)t[r-1]=arguments[r];this.isLevelPermitted(n.Level.error)&&console.error.apply(console,D([e],t))},F.isLevelPermitted=function(e){return this.logLevel<=e},F.logLevel=n.Level.off,F);function F(){}function G(e){return e.capabilities.includes("updateitemcontrol")}function q(t){return Object.keys(t).some(function(e){e=t[e];if(!e)return!1;switch((e=e&&e.toParam?e.toParam():e).constructor.name){case"Array":case"Object":case"Date":case"Function":case"Boolean":case"String":case"Number":return!1;default:return!0}})}function B(o){var i={};return Object.keys(o).forEach(function(e){var t=o[e];if((t=t&&t.toParam?t.toParam():t)||0===t||"boolean"==typeof t||"string"==typeof t){switch(t.constructor.name){case"Array":var r=null===(r=null===(r=t[0])||void 0===r?void 0:r.constructor)||void 0===r?void 0:r.name,n="Array"===r?t:"Object"===r?JSON.stringify(t):t.join(",");break;case"Object":n=JSON.stringify(t);break;case"Date":n=t.valueOf();break;case"Function":n=null;break;case"Boolean":n=t+"";break;default:n=t}(n||0===n||"string"==typeof n||Array.isArray(n))&&(i[e]=n)}}),i}function Y(e){var t=B(e);return Object.keys(t).map(function(e){return function t(r,e){return Array.isArray(e)&&e[0]&&Array.isArray(e[0])?e.map(function(e){return t(r,e)}).join("&"):encodeURIComponent(r)+"="+encodeURIComponent(e)}(e,t[e])}).join("&")}var W=function(e,t,r,n,o){e=e||"UNKNOWN_ERROR",t=t||"UNKNOWN_ERROR_CODE",this.name="ArcGISRequestError",this.message="UNKNOWN_ERROR_CODE"===t?e:t+": "+e,this.originalMessage=e,this.code=t,this.response=r,this.url=n,this.options=o};function H(e){console&&console.warn&&console.warn.apply(console,[e])}W.prototype=Object.create(Error.prototype),W.prototype.constructor=W;var z,V="@esri/arcgis-rest-js",K={httpMethod:"POST",params:{f:"json"}},J=(e($,z=W),$.prototype.retry=function(e,n){var o=this;void 0===n&&(n=3);var i=0,a=function(t,r){e(o.url,o.options).then(function(e){e=x(x({},o.options),{authentication:e});return i+=1,X(o.url,e)}).then(function(e){t(e)}).catch(function(e){"ArcGISAuthError"===e.name&&i<n?a(t,r):"ArcGISAuthError"===e.name&&n<=i?r(o):r(e)})};return new Promise(function(e,t){a(e,t)})},$);function $(e,t,r,n,o){o=z.call(this,e=void 0===e?"AUTHENTICATION_ERROR":e,t=void 0===t?"AUTHENTICATION_ERROR_CODE":t,r,n,o)||this;return o.name="ArcGISAuthError",o.message="AUTHENTICATION_ERROR_CODE"===t?e:t+": "+e,o}function X(n,e){void 0===e&&(e={params:{f:"json"}});var o=x(x(x({httpMethod:"POST"},K),e),{params:x(x({},K.params),e.params),headers:x(x({},K.headers),e.headers)}),t=[],e=[];if(o.fetch||"undefined"==typeof fetch?(t.push("`fetch`"),e.push("`node-fetch`")):o.fetch=fetch.bind(Function("return this")()),"undefined"==typeof Promise&&(t.push("`Promise`"),e.push("`es6-promise`")),"undefined"==typeof FormData&&(t.push("`FormData`"),e.push("`isomorphic-form-data`")),!o.fetch||"undefined"==typeof Promise||"undefined"==typeof FormData)throw new Error("`arcgis-rest-request` requires a `fetch` implementation and global variables for `Promise` and `FormData` to be present in the global scope. You are missing "+t.join(", ")+". We recommend installing the "+e.join(", ")+" modules at the root of your application to add these to the global scope. See https://bit.ly/2KNwWaJ for more info.");var e=o.httpMethod,i=o.authentication,a=o.rawResponse,s=x({f:"json"},o.params),r=null,u={method:e,credentials:o.credentials||"same-origin"};return o.headers&&o.headers["X-Esri-Auth-Client-Id"]&&-1<n.indexOf("/oauth2/platformSelf")&&(u.credentials="include"),(i?i.getToken(n,{fetch:o.fetch}).catch(function(e){return e.url=n,e.options=o,r=e,Promise.resolve("")}):Promise.resolve("")).then(function(e){e.length&&(s.token=e),i&&i.getDomainCredentials&&(u.credentials=i.getDomainCredentials(n));var t={};"GET"===u.method&&(s.token&&o.hideToken&&"undefined"==typeof window&&(t["X-Esri-Authorization"]="Bearer "+s.token,delete s.token),r=""===Y(s)?n:n+"?"+Y(s),o.maxUrlLength&&r.length>o.maxUrlLength||s.token&&o.hideToken?(u.method="POST",e.length&&o.hideToken&&(s.token=e,delete t["X-Esri-Authorization"])):n=r);var r=new RegExp("/items/.+/updateResources").test(n);return"POST"===u.method&&(u.body=function(e,t){var t=q(e)||t,r=B(e);if(t){var n=new FormData;return Object.keys(r).forEach(function(e){var t;"undefined"!=typeof Blob&&r[e]instanceof Blob?(t=r.fileName||r[e].name||e,n.append(e,r[e],t)):n.append(e,r[e])}),n}return Y(e)}(s,r)),u.headers=x(x({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=V),q(s)||r||(u.headers["Content-Type"]="application/x-www-form-urlencoded"),o.fetch(n,u)}).then(function(e){if(!e.ok){var t=e.status,r=e.statusText;throw new W(r,"HTTP "+t,e,n,o)}if(a)return e;switch(s.f){case"json":case"geojson":return e.json();case"html":case"text":return e.text();default:return e.blob()}}).then(function(e){if("json"!==s.f&&"geojson"!==s.f||a)return e;var t=function(t,e,r,n){if(400<=t.code){var o=t.message,i=t.code;throw new W(o,i,t,e,r)}if(t.error){var a=t.error,o=a.message,i=a.code,s=a.messageCode,a=s||i||"UNKNOWN_ERROR_CODE";if(498===i||499===i||"GWM_0003"===s||400===i&&"Unable to generate token."===o)throw n||new J(o,a,t,e,r);throw new W(o,a,t,e,r)}if("failed"!==t.status&&"failure"!==t.status)return t;o=void 0,i="UNKNOWN_ERROR_CODE";try{o=JSON.parse(t.statusMessage).message,i=JSON.parse(t.statusMessage).code}catch(e){o=t.statusMessage||t.message}throw new W(o,i,t,e,r)}(e,n,o,r);return r&&(e=n.toLowerCase().split(/\/rest(\/admin)?\/services\//)[0],o.authentication.federatedServers[e]={token:[],expires:new Date(Date.now()+864e5)},r=null),t})}function Q(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function Z(e){return e.replace(/^#/,"").split("&").reduce(function(e,t){var r,t=(r=t,r=(t=t.split("="))[0],t=t[1],{key:decodeURIComponent(r),value:decodeURIComponent(t)});return e[t.key]=t.value,e},{})}function ee(e,t){return t.rawResponse=!1,X(e,t).then(function(e){var t={token:e.access_token,username:e.username,expires:new Date(Date.now()+(1e3*e.expires_in-1e3)),ssl:!0===e.ssl};return e.refresh_token&&(t.refreshToken=e.refresh_token),t})}function te(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=V,X(e,t)}var re=/^https?:\/\/(\S+)\.arcgis\.com.+/;function ne(e){return re.test(e)}function oe(e){if(!re.test(e))return null;e=e.match(re)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function ie(e,t){t=Q(function(e){if(!re.test(e))return e;switch(oe(e)){case"dev":return"https://devext.arcgis.com/sharing/rest";case"qa":return"https://qaext.arcgis.com/sharing/rest";default:return"https://www.arcgis.com/sharing/rest"}}(t)).replace(/https?:\/\//,""),e=Q(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var ae=(Object.defineProperty(se.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(se.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),se.beginOAuth2=function(e,t){void 0===t&&(t=window),e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=x({portal:"https://www.arcgis.com/sharing/rest",provider:"arcgis",expiration:20160,popup:!0,popupWindowFeatures:"height=400,width=600,menubar=no,location=yes,resizable=yes,scrollbars=yes,status=yes",state:e.clientId,locale:""},e),n=r.portal,o=r.provider,i=r.clientId,a=r.expiration,s=r.redirectUri,u=r.popup,c=r.popupWindowFeatures,l=r.state,p=r.locale,r=r.params,p="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+l+"&locale="+p;if(r&&(p=p+"&"+Y(r)),u){var f,d=((f={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){f.resolve=e,f.reject=t}),f);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),d.reject(new J(e.errorMessage,e.error))):t&&(t=JSON.parse(t),d.resolve(new se({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(p,"oauth-window",c),d.promise}t.location.href=p},se.completeOAuth2=function(e,o){void 0===o&&(o=window);var t=x({portal:"https://www.arcgis.com/sharing/rest",popup:!0},e),i=t.portal,a=t.clientId,s=t.popup;function r(e,t){try{var r=void 0,n="__ESRI_REST_AUTH_HANDLER_"+a;if(s&&(o.opener?o.opener.parent&&o.opener.parent[n]?r=o.opener.parent[n]:o.opener&&o.opener[n]&&(r=o.opener[n]):o!==o.parent&&o.parent&&o.parent[n]&&(r=o.parent[n]),r))return r(e?JSON.stringify(e):void 0,JSON.stringify(t)),void o.close()}catch(e){throw new J('Unable to complete authentication. It\'s possible you specified popup based oAuth2 but no handler from "beginOAuth2()" present. This generally happens because the "popup" option differs between "beginOAuth2()" and "completeOAuth2()".')}if(e)throw new J(e.errorMessage,e.error);return new se({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=Z(o.location.hash);if(!e.access_token){var n=void 0,u="Unknown error";return e.error&&(n=e.error,u=e.error_description),r({error:n,errorMessage:u})}t=e.access_token,n=new Date(Date.now()+1e3*parseInt(e.expires_in,10)-6e4),u=e.username;return r(void 0,{token:t,expires:n,ssl:"true"===e.ssl,username:u})},se.fromParent=function(e,n){var o;return!n&&window&&(n=window),new Promise(function(t,r){o=function(e){if(e.source===n.parent&&e.data)try{return t(se.parentMessageHandler(e))}catch(e){return r(e)}},n.addEventListener("message",o,!1),n.parent.postMessage({type:"arcgis:auth:requestCredential"},e)}).then(function(e){return n.removeEventListener("message",o,!1),e})},se.authorize=function(e,t){e.duration&&console.log("DEPRECATED: 'duration' is deprecated - use 'expiration' instead");var r=x({portal:"https://arcgis.com/sharing/rest",expiration:20160},e),n=r.portal,o=r.clientId,i=r.expiration,r=r.redirectUri;t.writeHead(301,{Location:n+"/oauth2/authorize?client_id="+o+"&expiration="+(e.duration||i)+"&response_type=code&redirect_uri="+encodeURIComponent(r)}),t.end()},se.exchangeAuthorizationCode=function(e,t){var e=x({portal:"https://www.arcgis.com/sharing/rest",refreshTokenTTL:20160},e),r=e.portal,n=e.clientId,o=e.redirectUri,i=e.refreshTokenTTL;return ee(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new se({clientId:n,portal:r,ssl:e.ssl,redirectUri:o,refreshToken:e.refreshToken,refreshTokenTTL:i,refreshTokenExpires:new Date(Date.now()+60*(i-1)*1e3),token:e.token,tokenExpires:e.expires,username:e.username})})},se.deserialize=function(e){e=JSON.parse(e);return new se({clientId:e.clientId,refreshToken:e.refreshToken,refreshTokenExpires:new Date(e.refreshTokenExpires),username:e.username,password:e.password,token:e.token,tokenExpires:new Date(e.tokenExpires),portal:e.portal,ssl:e.ssl,tokenDuration:e.tokenDuration,redirectUri:e.redirectUri,refreshTokenTTL:e.refreshTokenTTL})},se.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new se({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},se.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return se.fromCredential(e.data.credential);if("arcgis:auth:error"!==e.data.type)throw new Error("Unknown message type.");var t=new Error(e.data.error.message);throw t.name=e.data.error.name,t},se.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},se.prototype.getUser=function(e){var t=this;if(this._pendingUserRequest)return this._pendingUserRequest;if(this._user)return Promise.resolve(this._user);var r=this.portal+"/community/self",e=x(x({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingUserRequest=X(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},se.prototype.getPortal=function(e){var t=this;if(this._pendingPortalRequest)return this._pendingPortalRequest;if(this._portalInfo)return Promise.resolve(this._portalInfo);var r=this.portal+"/portals/self",e=x(x({httpMethod:"GET",authentication:this},e),{rawResponse:!1});return this._pendingPortalRequest=X(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},se.prototype.getUsername=function(){return this.username?Promise.resolve(this.username):this._user?Promise.resolve(this._user.username):this.getUser().then(function(e){return e.username})},se.prototype.getToken=function(e,t){return r=this.portal,n=e,o=ne(r),i=ne(n),r=oe(r),n=oe(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},se.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return X((t=void 0===t?"https://www.arcgis.com/sharing/rest":t)+"/oauth2/validateAppAccess",{method:"POST",params:{f:"json",client_id:r,token:e}});var t})},se.prototype.toJSON=function(){return{clientId:this.clientId,refreshToken:this.refreshToken,refreshTokenExpires:this.refreshTokenExpires,username:this.username,password:this.password,token:this.token,tokenExpires:this.tokenExpires,portal:this.portal,ssl:this.ssl,tokenDuration:this.tokenDuration,redirectUri:this.redirectUri,refreshTokenTTL:this.refreshTokenTTL}},se.prototype.serialize=function(){return JSON.stringify(this)},se.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},se.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},se.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new J("Unable to refresh token."))},se.prototype.getServerRootUrl=function(e){var t=Q(e).split(/\/rest(\/admin)?\/services(?:\/|#|\?|$)/)[0].match(/(https?:\/\/)(.+)/);t[0];var r=t[1],e=t[2].split("/"),t=e[0],e=e.slice(1);return""+r+t.toLowerCase()+"/"+e.join("/")},se.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},se.prototype.createPostMessageHandler=function(o){var i=this;return function(e){var t=-1<o.indexOf(e.origin),r="arcgis:auth:requestCredential"===e.data.type,n=i.tokenExpires.getTime()>Date.now();t&&r&&(r={},r=n?((n=i.toCredential()).server=n.server.replace("/sharing/rest",""),{type:"arcgis:auth:credential",credential:n}):{type:"arcgis:auth:error",error:{name:"tokenExpiredError",message:"Session token was expired, and not returned to the child application"}},e.source.postMessage(r,e.origin))}},se.prototype.getTokenForServer=function(t,r){var n=this,o=this.getServerRootUrl(t),e=this.federatedServers[o];return e&&e.expires&&e.expires.getTime()>Date.now()?Promise.resolve(e.token):this._pendingTokenRequests[o]||(this._pendingTokenRequests[o]=this.fetchAuthorizedDomains().then(function(){return X(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(ie(e.owningSystemUrl,n.portal))return X(e.owningSystemUrl+"/sharing/rest/info",r);throw new J(t+" is not federated with "+n.portal+".","NOT_FEDERATED")}if(e.authInfo&&void 0!==n.federatedServers[o])return Promise.resolve({authInfo:e.authInfo});throw new J(t+" is not federated with any portal and is not explicitly trusted.","NOT_FEDERATED")}).then(function(e){return e.authInfo.tokenServicesUrl}).then(function(e){return n.token&&n.tokenExpires.getTime()>Date.now()?te(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):te(e,{params:{username:n.username,password:n.password,expiration:n.tokenDuration,client:"referer"}}).then(function(e){return n._token=e.token,n._tokenExpires=new Date(e.expires),e})}).then(function(e){return n.federatedServers[o]={expires:new Date(e.expires),token:e.token},delete n._pendingTokenRequests[o],e.token})}),this._pendingTokenRequests[o])},se.prototype.getFreshToken=function(e){var t=this;return this.token&&!this.tokenExpires||this.token&&this.tokenExpires&&this.tokenExpires.getTime()>Date.now()?Promise.resolve(this.token):(this._pendingTokenRequests[this.portal]||(this._pendingTokenRequests[this.portal]=this.refreshSession(e).then(function(e){return t._pendingTokenRequests[t.portal]=null,e.token})),this._pendingTokenRequests[this.portal])},se.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=x({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return te(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},se.prototype.refreshWithRefreshToken=function(e){var t=this;if(this.refreshToken&&this.refreshTokenExpires&&this.refreshTokenExpires.getTime()<Date.now())return this.refreshRefreshToken(e);e=x({params:{client_id:this.clientId,refresh_token:this.refreshToken,grant_type:"refresh_token"}},e);return ee(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},se.prototype.refreshRefreshToken=function(e){var t=this,e=x({params:{client_id:this.clientId,refresh_token:this.refreshToken,redirect_uri:this.redirectUri,grant_type:"exchange_refresh_token"}},e);return ee(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t._refreshToken=e.refreshToken,t._refreshTokenExpires=new Date(Date.now()+60*(t.refreshTokenTTL-1)*1e3),t})},se.prototype.fetchAuthorizedDomains=function(){var t=this;return this.server||!this.portal?Promise.resolve(this):this.getPortal().then(function(e){return e.authorizedCrossOriginDomains&&e.authorizedCrossOriginDomains.length&&(t.trustedDomains=e.authorizedCrossOriginDomains.filter(function(e){return!e.startsWith("http://")}).map(function(e){return e.startsWith("https://")?e:"https://"+e})),t})},se);function se(e){var t;this.clientId=e.clientId,this._refreshToken=e.refreshToken,this._refreshTokenExpires=e.refreshTokenExpires,this.username=e.username,this.password=e.password,this._token=e.token,this._tokenExpires=e.tokenExpires,this.portal=e.portal?Q(e.portal):"https://www.arcgis.com/sharing/rest",this.ssl=e.ssl,this.provider=e.provider||"arcgis",this.tokenDuration=e.tokenDuration||20160,this.redirectUri=e.redirectUri,this.refreshTokenTTL=e.refreshTokenTTL||20160,this.server=e.server,this.federatedServers={},this.trustedDomains=[],e.server&&(t=this.getServerRootUrl(e.server),this.federatedServers[t]={token:e.token,expires:e.tokenExpires}),this._pendingTokenRequests={}}function ue(e){e=e.privileges;return I(void 0===e?[]:e,"portal:user:createItem")}function ce(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,l=t.groups,p=t.orgId,u=I(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===p)&&!s&&"org_admin"===u,t=ue(t);return t&&u?n=!0:t&&(r=D(f(e,"groupIds")||[],[f(e,"properties.collaborationGroupId")]),n=l.some(function(e){return G(e)&&I(r,e.id)})),n}var le=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function pe(e){var t=e.host,r=e.path,e=e.query,t=t.endsWith("/")?t:t+"/",t=new URL(r,t);return t.search=function(r){void 0===r&&(r={});var e=Object.keys(r).filter(function(e){return void 0!==r[e]}).reduce(function(e,t){return e[t]=r[t],e},{});return new URLSearchParams(e).toString()}(e),t.toString()}function fe(e){return(e=void 0===e?{}:e).portal?Q(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function de(e){return e.owner?Promise.resolve(e.owner):e.item&&e.item.owner?Promise.resolve(e.item.owner):e.authentication&&e.authentication.getUsername?e.authentication.getUsername():Promise.reject(new Error("Could not determine the owner of this item. Pass the `owner`, `item.owner`, or `authentication` option."))}function he(n){return de(n).then(function(e){var t,r=n.folderId?fe(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":fe(n)+"/content/users/"+e+"/items/"+n.item.id+"/update";return n.params=x(x({},n.params),(t=n.item,(e=JSON.parse(JSON.stringify(t))).data&&("undefined"!=typeof Blob&&t.data instanceof Blob||"ReadStream"===t.data.constructor.name?e.file=t.data:e.text=t.data,delete e.data),e)),X(r,n)})}function me(e,t){return X(ge(e,t),x({httpMethod:"GET"},t))}var ge=function(e,t){return("string"==typeof t?t:fe(t))+"/content/items/"+e};function ye(e){var t=ge(e.id,e)+"/relatedItems",r=x({httpMethod:"GET",params:{direction:e.direction}},e);return"string"==typeof e.relationshipType?r.params.relationshipType=e.relationshipType:r.params.relationshipTypes=e.relationshipType,delete r.direction,delete r.relationshipType,X(t,r)}function ve(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function be(e){return t=e.groupId,X(fe(e=e)+"/community/groups/"+t,x({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function we(t){return de(t).then(function(e){return X(fe(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var Se=(ke.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},ke.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(H("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},ke.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},ke.prototype.endGroup=function(){return this.openGroups<=0?H("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},ke.prototype.and=function(){return this.addModifier("and")},ke.prototype.or=function(){return this.addModifier("or")},ke.prototype.not=function(){return this.addModifier("not")},ke.prototype.from=function(e){return this.hasTerms?H('`from(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[0]=e,this},ke.prototype.to=function(e){return this.hasTerms?H('`to(...)` is not allowed after `match(...)` try using `.from(...).to(...).in(...)`. Optionally, you may see this because dates are incorrectly formatted. Dates should be a primative Date value, aka a number in milliseconds or Date object, ie new Date("2020-01-01"). Your query was not modified.'):this.rangeStack[1]=e,this},ke.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},ke.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},ke.prototype.clone=function(){return this.commit(),this.cleanup(),new ke(this.q+"")},ke.prototype.addModifier=function(e){return this.currentModifer?(H("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?H("You have called `"+e+"()` without calling another method to modify your query first. Try calling `match()` first."):(this.currentModifer=e,this.q+=""===this.q?"":" ",this.q+=e.toUpperCase()+" "),this)},ke.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},ke.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},ke.prototype.commit=function(){var t=this;return this.currentModifer=void 0,this.hasRange&&(this.q+="["+this.formatTerm(this.rangeStack[0])+" TO "+this.formatTerm(this.rangeStack[1])+"]",this.rangeStack=[void 0,void 0]),this.hasTerms&&(this.q+=this.termStack.map(function(e){return t.formatTerm(e)}).join(" "),this.termStack=[]),this},Object.defineProperty(ke.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(ke.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),ke.prototype.cleanup=function(){if(0<this.openGroups)for(H("Automatically closing "+this.openGroups+" group(s). You can use `endGroup(...)` to remove this warning.");0<this.openGroups;)this.q+=")",this.openGroups--;var e=this.q;this.q=e.replace(/( AND ?| NOT ?| OR ?)*$/,""),e!==this.q&&H("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},ke);function ke(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function Ce(r,n){var o,i,e,t="string"==typeof r||r instanceof Se?{httpMethod:"GET",params:{q:r}}:(o=r,t=["q","num","start","sortField","sortOrder","searchUserAccess","searchUserName","filter","countFields","countSize","categories","categoryFilters"],(i=x(x({params:{}},{httpMethod:"GET"}),o)).params=t.reduce(function(e,t){return!o[t]&&"boolean"!=typeof o[t]||(e[t]=o[t]),e},i.params),["params","httpMethod","rawResponse","authentication","portal","fetch","maxUrlLength","headers"].reduce(function(e,t){return i[t]&&(e[t]=i[t]),e},{}));switch(n){case"item":e="/search";break;case"group":e="/community/groups";break;case"groupContent":if("string"==typeof r||r instanceof Se||!r.groupId)return Promise.reject(new Error("you must pass a `groupId` option to `searchGroupContent`"));e="/content/groups/"+r.groupId+"/search";break;default:e="/portals/self/users/search"}return X(fe(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof Se?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,Ce(e,n)}),t})}function Ae(e){return Ce(e,"item")}function Te(e,t){if(0===e.length)return[];for(var r=[],n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function Ie(e){var t=e.id,r=fe(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=D(Pe("users",e.users,t),Pe("admins",e.admins,t)).map(function(e){return X(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(xe)}function Pe(o,e,i){return!e||e.length<1?[]:Te(e,25).map(function(e){return t=o,r=e,n=i,Object.assign({},n,((e={})[t]=r,e.params=x(x({},n.params),((n={})[t]=r,n)),e));var t,r,n})}function xe(e){var t=e.filter(function(e){return e.notAdded}).reduce(function(e,t){return e.concat(t.notAdded)},[]),e=e.filter(function(e){return e.errors}).reduce(function(e,t){return e.concat(t.errors)},[]),t={notAdded:t};return 0<e.length&&(t.errors=e),t}function Ee(t){var e=t.id,r=t.users,n=fe(t)+"/community/groups/"+e+"/removeUsers",r=Te(r,25).map(function(e){e=x(x({},t),{users:e,params:{users:e}});return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(r).then(function(e){var t=function(r){return e.filter(function(e){return e[r]}).reduce(function(e,t){return e.concat(t[r])},[])},r=t("errors"),t={notRemoved:t("notRemoved")};return r.length?x(x({},t),{errors:r}):t})}function Oe(e){var t,r=e.id,n=fe(e)+"/community/groups/"+r+"/invite",e=Te((t=e).users,25).map(function(e){return function(e,t){t=Object.assign({},t);return t.params=x(x({},t.params),{users:e,role:t.role,expiration:t.expiration}),t}(e,t)}).map(function(e){return X(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(De)}function De(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function _e(e){return X(fe(e)+"/community/groups/"+e.id+"/unprotect",e)}function Ue(e){return X(fe(e)+"/community/groups/"+e.id+"/delete",x({},e))}function Ne(e){var t=fe(e)+"/community/groups/"+e.id+"/updateUsers",r={authentication:e.authentication,params:{}};return"admin"===e.newMemberType?r.params.admins=e.users:r.params.users=e.users,X(t,r)}function Re(e){var n,t=fe(e)+"/portals/self/createNotification",e=Te((n=e).users,n.batchSize||25).map(function(e){return t=e,r=n,(e=Object.assign({},r)).params=x(x({},e.params),{users:t,subject:r.subject,message:r.message,notificationChannelType:e.notificationChannelType}),e;var t,r}).map(function(e){return X(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(je)}function je(e){var t=e.every(function(e){return e.success}),e=e.reduce(function(e,t){return e.concat(t.errors||[])},[]),t={success:t};return 0<e.length&&(t.errors=e),t}function Me(e){var t,r,n={httpMethod:"GET"};return"string"==typeof e?r="https://www.arcgis.com/sharing/rest/community/users/"+e:(t=e.username||e.authentication.username,r=fe(e)+"/community/users/"+encodeURIComponent(t),n=x(x({},e),n)),X(r,n)}function Le(t){return Ae({q:"id: "+t.id+" AND group: "+t.groupId,start:1,num:10,sortField:"title",authentication:t.authentication,httpMethod:"POST"}).then(function(e){if(0<e.total)return e.results.some(function(e){return e.id===t.id})})}function Fe(a){return Le(a).then(function(e){if(e)return{itemId:a.id,shortcut:!0,notSharedWith:[]};var t=a.authentication.username,e=a.owner,n=a.confirmItemControl,e=e||t;if(e===t)return Ge(a);var o=!1,i=!1;return Promise.all([Me({username:t,authentication:a.authentication}),Me({username:e,authentication:a.authentication}),be(a)]).then(function(e){var t=e[0],r=e[1],e=e[2];return o="org_admin"===t.role&&!t.roleId,i=t.orgId!==r.orgId,function(e,t,r,n,o,i){var a=[];if(i.groupId!==e.favGroupId)if(t){if(!n)throw Error("This item can not be shared to shared editing group "+i.groupId+" by "+e.username+" as they not the item owner or org admin.");a.push(qe(e,e,!1,"Error adding "+e.username+" as member to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i),qe(e,o,!0,"none"===r?"Error adding user "+o.username+" to edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.":"Error promoting user "+o.username+" to admin in edit group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i))}else if(n)a.push(qe(e,e,!1,"Error adding "+e.username+" as member to view group "+i.groupId+". Consequently item "+i.id+" was not shared to the group.",i));else if("none"===r)throw new Error("This item can not be shared by "+e.username+" as they are not a member of the specified group "+i.groupId+".");return a}(t,!!n,e,o,r,a)}).then(function(e){var t=e[0],r=(void 0===t?{promise:Promise.resolve({notAdded:[]}),revert:function(e){return Promise.resolve(e)}}:t).revert;return Promise.all(e.map(function(e){return e.promise})).then(function(){return Ge(a,o,i)}).then(function(e){return r(e)})})}).then(function(e){if(e.notSharedWith.length)throw Error("Item "+a.id+" could not be shared to group "+a.groupId+".");return e})}function Ge(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=fe(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=fe(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},X(i,e)}function qe(e,t,r,n,o){var i,a,s=t.groups||[],u=s.find(function(e){return e.id===o.groupId});if(e.orgId!==t.orgId)throw Error("User "+t.username+" is not a member of the same org as "+e.username+". Consequently they can not be added added to group "+o.groupId+" nor can item "+o.id+" be shared to the group.");if(!u&&511<s.length)throw Error("User "+t.username+" already has 512 groups, and can not be added to group "+o.groupId+". Consequently item "+o.id+" can not be shared to the group.");return a=u?r&&"member"===u.userMembership.memberType?(i=Ne({id:o.groupId,users:[t.username],newMemberType:"admin",authentication:o.authentication}).then(function(e){e=e.results.reduce(function(e,t){return t.success||e.push(t.username),e},[]);return Promise.resolve({notAdded:e})}).catch(function(){return{notAdded:[t.username]}}),function(e){return Ne({id:o.groupId,users:[t.username],newMemberType:"member",authentication:o.authentication}).then(function(){return e}).catch(function(){return e})}):(i=Promise.resolve({notAdded:[]}),function(e){return Promise.resolve(e)}):(i=Ie(((a={id:o.groupId})[r?"admins":"users"]=[t.username],a.authentication=o.authentication,a)).then(function(e){if(e.errors&&e.errors.length)throw e.errors[0];return e}).catch(function(){return{notAdded:[t.username]}}),function(e){return Ee({id:o.groupId,users:[t.username],authentication:o.authentication}).then(function(){return e})}),{promise:i.then(function(e){if(e.notAdded.length)throw new Error(n);return e}),revert:a}}function Be(o){return Le(o).then(function(e){if(!e)return Promise.resolve({itemId:o.id,shortcut:!0,notUnsharedFrom:[]});var r=o.authentication.username,n=o.owner;return Promise.all([be(o),Me({username:r,authentication:o.authentication})]).then(function(e){var t=e[0],e=e[1],e="org_admin"===e.role&&!e.roleId;if(!((n||r)===r)&&!e&&["admin","owner"].indexOf(t)<0)throw Error("This item can not be unshared from group "+o.groupId+" by "+r+" as they not the item owner, an org admin, group admin or group owner.");return function(e){var t=e.authentication.username,r=e.owner||t,n=fe(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=fe(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},X(n,e)}(o)}).then(function(e){if(e.notUnsharedFrom.length)throw Error("Item "+o.id+" could not be unshared to group "+o.groupId);return e})})}function Ye(e){return function(e,t){e=e||"self",e=fe(t)+"/portals/"+e,t=x({httpMethod:"GET"},t);return X(e,t)}(null,e)}function We(e){if("string"==typeof e)return e.replace(/\/sharing\/rest\/?$/,"");if("object"==typeof e){var t=e.portalSelf||e,r=t.portalHostname,n=t.urlKey,o=t.customBaseUrl;if(r||n&&o)return t.isPortal?"https://"+t.portalHostname:"https://"+t.urlKey+"."+t.customBaseUrl}return We(fe(e))}var He={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function ze(e){if(e.isPortal)return We(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(He[e]||He.www)+"/opendata-ui/assets"}function Ve(e){return We(e)+"/sharing/rest"}function Ke(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Je(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}function $e(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Je(e.portalHostname)}var Xe=function(e,t,r){var n=e.id,e=e.access,t=Ve(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()};var Qe=/\/(map|feature)server/i,Ze=function(e){e=e.match(Qe),e=e&&e[1];return e&&t(e)+" Service"};function et(e){var t=e&&e.hubApiUrl;return t||Je(Ve(e))}var tt={app:["Application","City Engine Web Scene","CityEngine Web Scene","Dashboard","Insights Page","Insights Workbook","Operation View","Web Mapping Application","StoryMap","Web Experience","Urban Model"],dataset:["CSV Collection","CSV","Feature Collection Template","Feature Collection","Feature Layer","Feature Service","File Geodatabase","GeoJSON","GeoJson","KML Collection","KML","Microsoft Excel","Raster Layer","Shapefile","Stream Service","Table"],document:["CAD Drawing","Document Link","Hub Page","Site Page","Image","iWork Keynote","iWork Numbers","iWork Pages","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","PDF","Pro Map","Report Template"],event:["Hub Event"],feedback:["Form","Quick Capture Project"],initiative:["Hub Initiative"],template:["Hub Initiative Template"],solution:["Solution"],map:["Image Collection","Image Service","Map Service Layer","Map Service","Scene Service","Scene Layer","Vector Tile Service","Web Map Service","Web Map Tile Service","Web Map","Web Scene","WFS","WMS","WMTS"],other:["360 VR Experience","AppBuilder Widget Package","Application Configuration","ArcPad Package","Code Attachment","Code Sample","Desktop Add In","Desktop Application Template","Desktop Application","Desktop Style","Explorer Add In","Explorer Layer","Geocoding Service","Geometry Service","Geoprocessing Package","Geoprocessing Sample","Geoprocessing Service","Layer File","Layer Package","Layer Template","Layer","Layout","Locator Package","Map Area","Map Document","Map Package","Map Service Definition","Map Template","Mobile Application","Mobile Map Package","Native Application","Network Analysis Service","Operations Dashboard Add In","Project Package","Project Template","Raster Function Template","Rule Package","Scene Package","Service Definition","SQLite Geodatabase","Style","Tile Package","Vector Tile Package","Workflow Manager Package"],site:["Hub Site Application","Site Application"]},rt=tt.app,nt=tt.dataset,ot=tt.document,it=tt.event,at=tt.feedback,st=tt.initiative,ut=tt.map,ct=tt.other,lt=tt.site,pt=["360 VR Experience","Application","CityEngine Web Scene","Code Sample","CSV Collection","CSV","CAD Drawing","Desktop Application","Desktop Application Template","Desktop Style","File Geodatabase","GeoJson","Geoprocessing Package","Geoprocessing Sample","Image","iWork Keynote","iWork Numbers","KML Collection","KML","Layer","Layer File","Layer Package","Layout","Locator Package","Map Package","Map Service Definition","Map Template","Microsoft Excel","Microsoft Powerpoint","Microsoft Visio","Microsoft Word","Notebook","Operations Dashboard Add In","PDF","Pro Map","Project Package","Project Template","Raster function template","Rule Package","Service Definition","Shapefile","Vector Tile Package","Workflow Manager Package"],ft=["Data"],dt={app:rt.concat(at),dataset:nt,document:ot,event:it,initiative:st,map:ut,other:ct,site:lt,downloadableTypes:pt,downloadableTypeKeywords:ft,apiTypes:["Feature Service","Map Service","Image Service"]};function ht(e){return-1!==pt.indexOf(e.type)||e.typeKeywords&&ft.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function mt(e){return[[e.xmin,e.ymin],[e.xmax,e.ymax]]}var gt={xmin:-180,ymin:-90,xmax:180,ymax:90,spatialReference:{wkid:4326}};function yt(e){var t=e.portalSelf,r=t.defaultExtent,t=f(t,"helperServices.geometry.url");if(!t)return Promise.resolve(gt);if(!r)return Promise.resolve(gt);t+="/project",r={httpMethod:"POST",params:{geometries:JSON.stringify({geometryType:"esriGeometryEnvelope",geometries:[r]}),transformForward:!1,transformation:"",inSR:r.spatialReference.wkid,outSR:4326,f:"json"}};return e.authentication&&(r.authentication=e.authentication),X(t,r).then(function(e){e=e.geometries[0];return{xmin:e.xmin,ymin:e.ymin,xmax:e.xmax,ymax:e.ymax,spatialReference:{wkid:4326}}}).catch(function(e){return gt})}var vt=function(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])};function bt(e){return console.warn("DEPRECATED: use isBBox() instead"),vt(e)}function wt(e){var t=(n=e[0])[0],r=n[1],e=(n=e[1])[0],n=n[1];return{rings:[[[t,r],[e,r],[e,n],[t,n],[t,r]]],spatialReference:{wkid:4326}}}var St=[{type:"CC0-1.0",abbr:"CC0",name:"Public Domain Dedication",url:"http://creativecommons.org/publicdomain/zero/1.0"},{type:"CC-BY-4.0",abbr:"CC BY",name:"Attribution 4.0 International",url:"http://creativecommons.org/licenses/by/4.0"},{type:"CC-BY-3.0",abbr:"CC BY 3.0",name:"Attribution 3.0 Unported",url:"http://creativecommons.org/licenses/by/3.0"},{type:"CC-BY-2.5",abbr:"CC BY 2.5",name:"Attribution 2.5 Generic",url:"http://creativecommons.org/licenses/by/2.5"},{type:"CC-BY-2.0",abbr:"CC BY 2.0",name:"Attribution 2.0 Generic",url:"http://creativecommons.org/licenses/by/2.0"},{type:"CC-BY-1.0",abbr:"CC BY 1.0",name:"Attribution 1.0 Generic",url:"http://creativecommons.org/licenses/by/1.0"},{type:"CC-BY-SA-4.0",abbr:"CC BY-SA",name:"Attribution-ShareAlike 4.0 International",url:"http://creativecommons.org/licenses/by-sa/4.0"},{type:"CC-BY-SA-3.0",abbr:"CC BY-SA 3.0",name:"Attribution-ShareAlike 3.0 Unported",url:"http://creativecommons.org/licenses/by-sa/3.0"},{type:"CC-BY-SA-2.5",abbr:"CC BY-SA 2.5",name:"Attribution-ShareAlike 2.5 Generic",url:"http://creativecommons.org/licenses/by-sa/2.5"},{type:"CC-BY-SA-2.0",abbr:"CC BY-SA 2.0",name:"Attribution-ShareAlike 2.0 Generic",url:"http://creativecommons.org/licenses/by-sa/2.0"},{type:"CC-BY-SA-1.0",abbr:"CC BY-SA 1.0",name:"Attribution-ShareAlike 1.0 Generic",url:"http://creativecommons.org/licenses/by-sa/1.0"},{type:"CC-BY-ND-4.0",abbr:"CC BY-ND",name:"Attribution-NoDerivatives 4.0 International",url:"http://creativecommons.org/licenses/by-nd/4.0"},{type:"CC-BY-ND-3.0",abbr:"CC BY-ND 3.0",name:"Attribution-NoDerivs 3.0 Unported",url:"http://creativecommons.org/licenses/by-nd/3.0"},{type:"CC-BY-ND-2.5",abbr:"CC BY-ND 2.5",name:"Attribution-NoDerivs 2.5 Generic",url:"http://creativecommons.org/licenses/by-nd/2.5"},{type:"CC-BY-ND-2.0",abbr:"CC BY-ND 2.0",name:"Attribution-NoDerivs 2.0 Generic",url:"http://creativecommons.org/licenses/by-nd/2.0"},{type:"CC-BY-ND-1.0",abbr:"CC BY-ND 1.0",name:"Attribution-NoDerivs 1.0 Generic",url:"http://creativecommons.org/licenses/by-nd/1.0"},{type:"CC-BY-NC-4.0",abbr:"CC BY-NC",name:"Attribution-NonCommercial 4.0 International",url:"https://creativecommons.org/licenses/by-nc/4.0"},{type:"CC-BY-NC-3.0",abbr:"CC BY-NC 3.0",name:"Attribution-NonCommercial 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc/3.0"},{type:"CC-BY-NC-2.5",abbr:"CC BY-NC 2.5",name:"Attribution-NonCommercial 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc/2.5"},{type:"CC-BY-NC-2.0",abbr:"CC BY-NC 2.0",name:"Attribution-NonCommercial 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc/2.0"},{type:"CC-BY-NC-1.0",abbr:"CC BY-NC 1.0",name:"Attribution-NonCommercial 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc/1.0"},{type:"CC-BY-NC-SA-4.0",abbr:"CC BY-NC-SA",name:"Attribution-NonCommercial-ShareAlike 4.0 International",url:"https://creativecommons.org/licenses/by-nc-sa/4.0"},{type:"CC-BY-NC-SA-3.0",abbr:"CC BY-NC-SA 3.0",name:"Attribution-NonCommercial-ShareAlike 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-sa/3.0"},{type:"CC-BY-NC-SA-2.5",abbr:"CC BY-NC-SA 2.5",name:"Attribution-NonCommercial-ShareAlike 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.5"},{type:"CC-BY-NC-SA-2.0",abbr:"CC BY-NC-SA 2.0",name:"Attribution-NonCommercial-ShareAlike 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/2.0"},{type:"CC-BY-NC-SA-1.0",abbr:"CC BY-NC-SA 1.0",name:"Attribution-NonCommercial-ShareAlike 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-sa/1.0"},{type:"CC-BY-NC-ND-4.0",abbr:"CC BY-NC-ND",name:"Attribution-NonCommercial-NoDerivatives 4.0 International",url:"https://creativecommons.org/licenses/by-nc-nd/4.0"},{type:"CC-BY-NC-ND-3.0",abbr:"CC BY-NC-ND 3.0",name:"Attribution-NonCommercial-NoDerivs 3.0 Unported",url:"https://creativecommons.org/licenses/by-nc-nd/3.0"},{type:"CC-BY-NC-ND-2.5",abbr:"CC BY-NC-ND 2.5",name:"Attribution-NonCommercial-NoDerivs 2.5 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.5"},{type:"CC-BY-NC-ND-2.0",abbr:"CC BY-NC-ND 2.0",name:"Attribution-NonCommercial-NoDerivs 2.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/2.0"},{type:"CC-BY-NC-ND-1.0",abbr:"CC BY-NC-ND 1.0",name:"Attribution-NonCommercial-NoDerivs 1.0 Generic",url:"https://creativecommons.org/licenses/by-nc-nd/1.0"},{type:"PDDL-1.0",abbr:"PDDL",name:"ODC Public Domain Dedication and License",url:"http://opendatacommons.org/licenses/pddl/summary"},{type:"ODbL-1.0",abbr:"ODbL",name:"ODC Open Database License",url:"http://opendatacommons.org/licenses/odbl/summary"},{type:"ODC-BY-1.0",abbr:"ODC BY",name:"ODC Attribution License",url:"http://opendatacommons.org/licenses/by/summary"}];function kt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=St.filter(function(e){return t=e,(e=(e=r).toLowerCase()).includes(t.name.toLowerCase())||e.includes(t.url.toLowerCase())||e.includes(t.abbr.toLowerCase());var t});return n.length&&(t=!0,e=n.pop()),t||(n=void 0,!function(e){try{return!!new URL(e).protocol}catch(e){return!1}}(r)?(t=r,new RegExp(/^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)>((?:.(?!\<\/a\>))*.)?<\/a>$|^<a[\s]+(href\s?=\s?["'].*?["'])+([^>]?)\/>/).test(t)&&(t=new RegExp(/href\s?=\s?["'](.*?)["']/),n=r.match(t)[1])):n=r,n&&(e.url=n,e.text="")),e.text||delete e.text,e}var Ct=function(e,t){var r=x(x({},e.item),{extent:t}),r=x(x({},e),{item:r,extent:t}),t=At(r);return x(x({},r),{boundary:t})},At=function(e){var t,e=e.item,r=e.extent,n=vt(r),e=(null===(e=e.properties)||void 0===e?void 0:e.boundary)||(n?"item":void 0);switch(e){case"item":t=n?wt(r):null;break;case"none":t=null}return{provenance:e,geometry:t}};var Tt={};function It(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=xt(e);return"feedback"===e?"app":e}function Pt(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&I(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&I(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&I(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&I(r,"hubSolutionTemplate")?"Solution":t}function xt(e){if(Tt[e=void 0===e?"":e])return Tt[e];for(var t=0,r=Object.keys(tt);t<r.length;t++)for(var n=r[t],o=0,i=tt[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Tt[e]=n}}function Et(e){return e&&"feature service"===e.toLowerCase()}function Ot(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function Dt(e){return Ot(e.url)||Et(e.type)&&I(e.typeKeywords,"Singlelayer")&&"0"}function _t(t,e){if(I(["template","feedback"],t.family))return t.id;if(Jt(t)){var r=(f(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=f(e,"domainInfo.orgKey");return f(e,"data.values.isUmbrella")?t.slug:Nt(t.slug,r)}return t.hubId||t.id}function Ut(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Nt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Rt(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return D(e,t)},[]).filter(function(e){return!I(t,e.toLowerCase())})}function jt(e){var t,r;switch((e||"").toLowerCase()){case"image service":t="dataset";break;case"feature service":case"raster layer":t="map";break;case"microsoft excel":t="document";break;case"cad drawing":case"feature collection template":case"report template":t="content";break;default:t={other:"content",solution:"template"}[r=xt(e)]||r}return t}function Mt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),xt(Pt(e="string"==typeof e?{type:e}:e))}function Lt(e){var t=new Date(e.created),r="item.created",n=e.properties,r=Object.assign({},e,{identifier:e.id,errors:[],item:e,name:e.title,hubType:Mt(e),categories:Rt(e.categories),itemCategories:e.categories,summary:e.snippet||e.description,publisher:{name:e.owner,username:e.owner},permissions:{visibility:e.access,control:e.itemControl||"view"},actionLinks:n&&n.links,hubActions:n&&n.actions,metrics:n&&n.metrics,isDownloadable:ht(e),license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:kt(e.licenseInfo)});return Ct(Bt(r,e.type),e.extent)}function Ft(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Ut(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,l=r.type,p=r.typeKeywords,f=r.description,d=r.snippet,h=r.tags,m=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,S=r.culture,k=r.url,C=r.access,A=r.proxyFilter,T=r.properties,I=r.appCategories,P=r.industries,x=r.languages,E=r.largeThumbnail,O=r.banner,D=r.screenshots,_=r.listed,U=r.ownerFolder,N=r.size,R=r.protected,j=r.commentsEnabled,M=r.numComments,L=r.numRatings,F=r.avgRating,G=r.numViews,q=r.itemControl,B=r.scoreCompleteness,Y=r.itemExtent,e=r.itemModified,t=r.modifiedProvenance,r=r.serviceSpatialReference;return{id:n,owner:o,orgId:i,created:a,modified:e||"item.modified"===t&&s,title:c||u,type:k&&Ze(k)||l,typeKeywords:p,description:f,tags:h,snippet:d,thumbnail:m,extent:Y||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:S,url:k,access:C,size:N,protected:R,proxyFilter:A,properties:T,appCategories:I,industries:P,languages:x,largeThumbnail:E,banner:O,screenshots:D,listed:_,ownerFolder:U,commentsEnabled:j,numComments:M,numRatings:L,avgRating:F,numViews:G,itemControl:q,scoreCompleteness:B}}}}function Gt(e,t){var r=e.id,r=e.slug||t||r,r=x(x({},e),{hubId:t,identifier:r});return zt(r,{relative:Vt(r)})}function qt(e,t){var r=_t(e,t);return{relative:r=Vt(e,r),absolute:""+f(t,"item.url").replace(/\/$/,"")+r}}var Bt=function(e,t){var r=Pt(x(x({},e.item),{type:t})),n=jt(r),o=Yt(r),i=Wt(r,e.isProxied),i=x(x({},e),{type:t,family:n,normalizedType:r,contentTypeIcon:o,contentTypeLabel:i});return zt(i,{relative:Vt(i)})},Yt=function(e){return null!==(e={appbuilderExtension:"file",appbuilderWidgetPackage:"widgets-source",application:"web",arcgisProMap:"desktop",cadDrawing:"file-cad",cityEngineWebScene:"urban-model",codeAttachment:"file-code",colorSet:"palette",contentCategorySet:"label",cSV:"file-csv",cSVCollection:"file-csv",dashboard:"dashboard",desktopApplication:"desktop",documentLink:"link",excaliburImageryProject:"file",explorerMap:"file",exportPackage:"file",featureCollection:"data",featureCollectionTemplate:"file",featureLayer:"data",featureService:"collection",fileGeodatabase:"data",form:"survey",geocodingService:"file",geodataService:"file",geometryService:"file",geopackage:"file",geoprocessingService:"file",globeLayer:"layers",globeService:"file",hubInitiative:"mountain-summit-nocap",hubInitiativeTemplate:"initiative-template-outlines-thick",hubPage:"browser",hubSiteApplication:"web",image:"file-image",imageService:"data",insightsModel:"file",insightsPage:"graph-moving-average",insightsTheme:"palette",insightsWorkbook:"graph-moving-average",iWorkPages:"file-text",iWorkKeynote:"presentation",iWorkNumbers:"file-report",kML:"data",kMLCollection:"data",layer:"layers",layerPackage:"layers",locatorPackage:"file",mapArea:"file",mapDocument:"map-contents",mapImageLayer:"collection",mapPackage:"file",mapService:"collection",microsoftExcel:"file-report",microsoftPowerpoint:"presentation",microsoftWord:"file-text",mission:"file",mobileMapPackage:"map-contents",nativeApplication:"mobile",nativeApplicationInstaller:"file",nativeApplicationTemplate:"file",mobileApplication:"mobile",networkAnalysisService:"file",notebook:"code",orientedImageryCatalog:"file",orthoMappingProject:"file",orthoMappingTemplate:"file",pDF:"file-pdf",quickCaptureProject:"mobile",rasterLayer:"map",realTimeAnalytic:"file",relationalDatabaseConnection:"file",reportTemplate:"file",sceneLayer:"data",sceneService:"urban-model",serviceDefinition:"file",shapefile:"data",solution:"solutions",sqliteGeodatabase:"file",statisticalDataCollection:"file",storyMap:"tour",symbolSet:"file",table:"table",urbanModel:"urban-model",vectorTileService:"map",visioDocument:"conditional-rules",webExperience:"apps",webMap:"map",webMappingApplication:"apps",webScene:"urban-model",wFS:"map",wMS:"map",wMTS:"map",workflowManagerService:"file",workforceProject:"list-check"}[m(e||"")])&&void 0!==e?e:"file"},Wt=function(e,t){return t?"CSV":m(e||"")},Ht=function(e,t){var r=qt(e,t),t=r.relative,r=r.absolute;return zt(e,{relative:t,site:r})},zt=function(e,t){t=x(x({},e.urls),t);return x(x({},e),{urls:t})},Vt=function(e,t){var r=e.family,n=t||e.identifier,o=Kt(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":Jt(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},Kt=function(e){var t,r=e.normalizedType,n=e.identifier;return"Solution"===r&&(0<(null===(e=e.typeKeywords)||void 0===e?void 0:e.indexOf("Deployed"))&&(t="/content/"+n),t="/templates/"+n+"/about"),t},Jt=function(e){return I(["Hub Page","Site Page"],e.type)};const $t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Xt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Qt={atob:function(t){if((t=(t=(t=`${t}`).replace(/[ \t\n\f\r]/g,"")).length%4==0?t.replace(/==?$/,""):t).length%4==1||/[^+/0-9A-Za-z]/.test(t))return null;let r="",n=0,o=0;for(let e=0;e<t.length;e++)n<<=6,n|=function(e){e=$t.indexOf(e);return e<0?void 0:e}(t[e]),o+=6,24===o&&(r+=String.fromCharCode((16711680&n)>>16),r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n),n=o=0);return 12===o?(n>>=4,r+=String.fromCharCode(n)):18===o&&(n>>=2,r+=String.fromCharCode((65280&n)>>8),r+=String.fromCharCode(255&n)),r},btoa:function(e){let t;for(e=`${e}`,t=0;t<e.length;t++)if(255<e.charCodeAt(t))return null;let r="";for(t=0;t<e.length;t+=3){const n=[void 0,void 0,void 0,void 0];n[0]=e.charCodeAt(t)>>2,n[1]=(3&e.charCodeAt(t))<<4,e.length>t+1&&(n[1]|=e.charCodeAt(t+1)>>4,n[2]=(15&e.charCodeAt(t+1))<<2),e.length>t+2&&(n[2]|=e.charCodeAt(t+2)>>6,n[3]=63&e.charCodeAt(t+2));for(let e=0;e<n.length;e++)void 0===n[e]?r+="=":r+=function(e){if(0<=e&&e<64)return Xt[e];return}(n[e])}return r}},Zt="4326",er={csv:{name:"CSV",itemTypes:["CSV","CSV Collection"],supportsProjection:!0},kml:{name:"KML",itemTypes:["KML","KML Collection"],supportsProjection:!1},shapefile:{name:"Shapefile",itemTypes:["Shapefile"],supportsProjection:!0},fileGeodatabase:{name:"File Geodatabase",itemTypes:["File Geodatabase"],supportsProjection:!0},geojson:{name:"GeoJson",itemTypes:["GeoJson"],supportsProjection:!1},excel:{name:"Excel",itemTypes:["Microsoft Excel"],supportsProjection:!0},featureCollection:{name:"Feature Collection",itemTypes:["Feature Collection"],supportsProjection:!0}};function tr(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Qt.btoa(e)}function rr(e){return"spatialRefId:"+tr(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function nr(e){return"exportItem:"+e}function or(e){return e?"exportLayer:0"+e:"exportLayer:null"}function ir(e){var t,r=e.autoAddResult,n=e.inviteResult,o=e.primaryEmailResult,e=e.secondaryEmailResult;return(o||e)&&(t={success:(e=[o,e].filter(function(e){return e})).every(function(e){return e.success})},(e=e.reduce(function(e,t){return e.concat(b(t,"errors",[]))},[])).length&&(t.errors=e)),{success:[r,n,t].filter(function(e){return e}).every(function(e){return e.success}),autoAdd:r,invite:n,email:t}}function ar(t,e){var r;return t&&(r=!f(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],f(t,"notAdded.length")&&r.push(new W("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return I(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function sr(e,t){return e.orgId===t.orgId}function ur(e){return"org_admin"===e.role&&!e.roleId}function cr(e,t,r,n){var o=Promise.resolve(null);return e.length&&(e={authentication:r,message:t.body,subject:t.subject,notificationChannelType:"email",users:e.map(function(e){return e.username})},n||(e.batchSize=1),o=Re(e)),o}function lr(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&f(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=cr(t.usersToInvite.filter(function(e){return sr(e,r)}),t.email,t.secondaryRO.authentication,ur(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function pr(e,t,r){var n=Promise.resolve(null);return n=t.length?Ie({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function fr(t){return pr(f(t,"groupId"),f(t,"usersToAutoAdd"),f(t,"primaryRO.authentication")).then(function(e){return ar(e,t)})}function dr(e,t,r,n,o){void 0===n&&(n=20160),void 0===o&&(o="group_member");var i=Promise.resolve(null);return i=t.length?Oe({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function hr(t){return dr(f(t,"groupId"),f(t,"usersToInvite"),f(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function mr(t){var e=Promise.resolve(t);return e=t.email&&f(t,"inviteResult.success")?cr(t.usersToEmail,t.email,t.primaryRO.authentication,ur(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function gr(e,t){var r,n=[];return-1!==t.privileges.indexOf("portal:admin:assignToGroups")&&(r=[t.orgId,t.cOrgId].filter(function(e){return e}),n=e.filter(function(e){return-1!==r.indexOf(e.orgId)})),n}function yr(e,t){var r=gr(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function vr(e,t,r){void 0===r&&(r=!1);e=yr(e,t).filter(function(e){return sr(e,t)});return r&&e.push(t),e}function br(e,t){if("object"==typeof e&&null!==e&&"string"==typeof t){for(var r=t.split("."),n=0;n<r.length-1;n++){if(!e.hasOwnProperty(r[n]))return;e=e[r[n]]}delete e[r[r.length-1]]}}function wr(e){var t=p(e.item);return t.text=JSON.stringify(e.data),t}function Sr(e,t){return Promise.all([me(e,t),(r=e,r=ge(e,t=t)+"/data",(t=x({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),X(r,t).catch(function(e){var t=RegExp(/The string did not match the expected pattern|(Unexpected end of (JSON input|data at line 1 column 1))/i);if(!t.test(e.message))throw e}))]).then(function(e){return{item:e[0],data:e[1]}});var r}var kr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function Cr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var Ar=function(e){return e instanceof Date},Tr=function(e){return"function"==typeof e},Ir=function(e){return"object"==typeof e},Pr=function(e){return e instanceof RegExp};var xr=function(e){return"object"==typeof e};function Er(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return _r(t)&&Dr(t)&&(e<(t=Or(t))&&(e=t)),e},-1);-1<e&&(t=0===e?[]:"{{delete:"+(e-1)+"}}");return t}(e.map(t).filter(function(e){return null!=e})):e&&xr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return _r(n)&&Dr(n)?(r=Or(n))>e.maxLevel&&(e.maxLevel=r):e.obj[t]=n,e},{obj:{},maxLevel:-1});e=0<e.maxLevel?1===e.maxLevel?void 0:"{{delete:"+(e.maxLevel-1)+"}}":e.obj;return e}(Cr(e,t)):function(e){var t=e;"string"==typeof e&&Dr(e)&&(t=function(e){var t=e,e=Or(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return Er(e)}}var Or=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Dr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var _r=function(e){return"string"==typeof e};function Ur(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var Nr=function(e){var t={};if(Array.isArray(e))t=e.map(Nr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=Nr(e[r]):t[r]=e[r];else t=e;return t},Rr=/{{\s*?[\w].*?}}/g,jr=function(e){return"string"==typeof e};function Mr(e){return e||""===e||0===e}function Lr(e,a,s){if((s=Nr(s=void 0===s?null:s)||{}).optional)throw new Error("Please do not pass in an `optional` transform; adlib provides that internally.");return s.optional=Ur,Er(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!Ir(e)||Ar(e)||Pr(e)||Tr(e)?n(e,o):Object.assign({},e,Cr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!jr(t))return t;var r,n=t.match(Rr);return n&&n.length?(n.map(function(e){var o,i=!1,t=e.replace(/{|}/g,"").trim();-1<t.indexOf("||")&&(r=t.split("||").map(function(e){return e.trim()}),o=r.length,t=r.find(function(e,t){var r,n;return(n=a,r=(r=e).split(":")[0],null!=(r=kr(n,r,null)))?e:t+1===o&&(i=!0,isNaN(e)?e:parseInt(e))}));var r={key:e,value:t};return i||(t=function(e,t,r){var n,o=e.split(":");if(1<o.length){var i,a=o[0],s=o[1];if(o[2]&&(i=o[2]),!r||!r[s]||"function"!=typeof r[s])throw new Error("Attempted to apply non-existant transform "+s+" on "+a+" with params "+e);n=kr(t,a),n=r[s](a,n,t,i)}else n=kr(t,e);return n}(t,a,s),r.value=Mr(t)?t:e),r}).forEach(function(e){t===e.key?("string"==typeof e.value&&(isNaN(e.value)||""===e.value||(-1<e.value.indexOf(".")?e.value=parseFloat(e.value):e.value=parseInt(e.value))),r=e.value):t=t.replace(e.key,e.value)}),Mr(r)?r:t):t}))}function Fr(e,t,r){return Lr(e,t,r)}var Gr=["id","isOrgItem","proxyFilter","ownerFolder","protected","owner","created","modified","guid","name","access","size","listed","numComments","numRatings","avgRating","numViews","scoreCompleteness","groupDesignations","listed","screenshots","banner","appCategories","industries","languages","largeThumbnail"];function qr(e,t,r){return Ae({q:'title:"'+e+'" AND '+Object.keys(t).map(function(e){return e+':"'+t[e]+'"'}).join(" AND "),authentication:r}).then(function(e){return 0<e.results.length}).catch(function(e){throw Error("Error in doesItemExistWithTitle "+e)})}function Br(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Yr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Wr(r){return Yr(r.url).then(function(e){return de(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=fe(t)+"/content/users/"+e+"/items/"+t.id+"/addResources";return t.params=x({file:t.resource,fileName:t.name,resourcesPrefix:t.prefix,text:t.content,access:t.private?"private":"inherit"},t.params),X(e,t)});var t})}function Hr(t){return Yr(t.url).then(function(e){return he({item:{id:t.id,owner:t.owner},params:{fileName:t.fileName,thumbnail:e},authentication:t.authentication}).catch(function(e){return Promise.resolve()})}).catch(function(e){return Promise.resolve()})}function zr(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Xe(e,t,o=!o&&"string"==typeof r?r:o).split("?"),o=r[0],r=r[1],r=new URLSearchParams(r);r.delete("f"),n&&r.append("w",n+"");r=r.toString(),e=o+"/info/"+e.thumbnail;return r?e+"?"+r:e}var Vr={arcgis:{label:"ArcGIS Online",url:"https://www.arcgis.com",type:"arcgis"},arcgisQA:{label:"ArcGIS Online QAEXT",url:"https://qaext.arcgis.com",type:"arcgis"},arcgisDEV:{label:"ArcGIS Online DEVEXT",url:"https://devext.arcgis.com",type:"arcgis"},hub:{label:"ArcGIS Hub",url:"https://hub.arcgis.com/api",type:"arcgis-hub"},hubDEV:{label:"ArcGIS Hub DEV",url:"https://hubdev.arcgis.com/api",type:"arcgis-hub"},hubQA:{label:"ArcGIS Hub QA",url:"https://hubqa.arcgis.com/api",type:"arcgis-hub"}};function Kr(e){return"string"==typeof e&&e in Vr?Vr[e]:e}function Jr(e,t){var r=p(e);return t.from<e.from&&(r.from=t.from),t.to>e.to&&(r.to=t.to),r}function $r(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=D(Xr(r,t),Xr(n,t));e.length&&(o[t]=e.filter(g))}),o}function Xr(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Qr(e){var t={};return Array.isArray(e)?t={any:e}:("string"==typeof e&&(t={any:[e]}),"object"==typeof e&&(t=e)),t}function Zr(e){var t=new Date,r={type:"date-range",from:t.getTime(),to:t.getTime()};switch(e.unit){case"hours":case"days":case"weeks":r.from=r.to-{min:6e4,hours:36e5,days:864e5,weeks:6048e5}[e.unit]*e.num;break;case"months":t.setMonth(t.getMonth()-e.num),r.from=t.getTime();break;case"years":t.setFullYear(t.getFullYear()-e.num),r.from=t.getTime()}return r}function en(e,t,r){var n=p(e),e=t.q,t=t.filter;return e&&(n.q=(n.q?" ("+n.q+" "+r+" "+e+")":e).trim()),t&&(n.filter=(n.filter?"("+n.filter+" "+r+" "+t+")":t).trim()),n}function tn(e,t){var r={q:"",filter:""};return t.exact&&(D(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=nn("AND",e,t.exact):("string"==typeof t.exact&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all.push(t.exact)),Array.isArray(t.exact)&&(t.all||(t.all=[]),"string"==typeof t.all&&(t.all=[t.all]),t.all=t.all.concat(t.exact)))),t.any&&(r.q=nn("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+nn("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+nn("OR","-"+e,t.not)),r}function rn(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function nn(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}function on(e,t,r,n){var o=p(e);return e.authentication&&(o.authentication=ae.deserialize(e.authentication.serialize())),o.start=-1<t?t:r+1,function(e){return e&&(o.authentication=e),n(o)}}function an(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/groups/"+t.id+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}function sn(e,t,r){var n=null;return t.thumbnail&&(n=e+"/community/users/"+t.username+"/info/"+t.thumbnail,r&&"public"!==t.access&&(n=n+"?token="+r)),n}var un={$apps:[{type:{any:["Code Sample","Web Mapping Application","Mobile Application","Application","Desktop Application Template","Desktop Application","Operation View","Dashboard","Operations Dashboard Extension","Workforce Project","Insights Workbook","Insights Page","Insights Model","Hub Page","Hub Initiative","Hub Site Application","StoryMap","Web Experience","Web Experience Template","Form"],not:["Code Attachment","Featured Items","Symbol Set","Color Set","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]},typekeywords:{not:["MapAreaPackage","SMX"]}}],$storymap:[{type:"StoryMap"},{type:"Web Mapping Application",typekeywords:["Story Map"]}],$dashboard:[{type:"Dashboard",typekeywords:{any:["Dashboard"],not:["ArcGIS Operation View","Add In","Extension"]}}],$dataset:[],$experience:[{type:{any:["Web Experience"],not:["Web Experience Template"]}}],$site:[{type:["Hub Site Application","Site Application"]},{type:["Web Mapping Application"],typekeywords:["hubSite"]}],$initiative:[{type:{any:"Hub Initiative",not:"Hub Initiative Template"}}],$document:[{typekeywords:{any:"Document",not:["MapAreaPackage","SMX"]},type:{any:["Image","Layout","Desktop Style","Project Template","Report Template","Pro Report","Statistical Data Collection","360 VR Experience","netCDF","PDF","CSV","Administrative Report","Raster function template"],not:["Image Service","Explorer Document","Explorer Map","Globe Document","Scene Document","Code Attachment","Featured Items","Symbol Set","ColorSet","Windows Viewer Add In","Windows Viewer Configuration","Map Area","Indoors Map Configuration"]}}]};function cn(e){var t,o=[];return null!==(t=e.aggregations)&&void 0!==t&&t.counts&&e.aggregations.counts.forEach(function(r){var e={label:r.fieldName,attribute:r.fieldName,type:"multi-select"},n=[];r.fieldValues.forEach(function(e){var t={filterType:"content"};t[r.fieldName]=e.value;t={label:e.value,value:e.value,count:e.count,selected:!1,filter:t};n.push(t)}),e.options=n,o.push(e)}),o}function ln(e){var t=pn(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?un[t]&&(e=e.concat(un[t])):e.push(t),e},[])),hn(t)}function pn(e){var r=p(e);return r.subFilters=r.subFilters||[],r.type&&(Array.isArray(r.type)?r.type=r.type.reduce(function(e,t){return fn(t)?r.subFilters=r.subFilters.concat(dn(t)):e.push(t),e},[]):fn(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(dn(e)),delete r.type)),r}function fn(e){var t=!1;return t="string"==typeof e?e in un:t}function dn(e){return un[e]}function hn(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Qr(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(hn)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=Zr(t[e]):r[e]=p(t[e]))}),r}function mn(e){var t,r=gn(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?en(e,gn(t),"OR"):e},{q:"",filter:""}),r=en(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function gn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),r}function yn(r){var n={},o=["created","modified"],i=D(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("searchUserAccess")&&(n.searchUserAccess=r.searchUserAccess),r.term&&(n.term=r.term),n}function vn(e){var r={q:"",filter:""},n=["created","modified"],o=D(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function bn(r){var n={},o=["created","modified","lastlogin"],i=D(["disabled","term"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Qr(e),n),o.includes(t)&&(e=p(f(r,t)),"relative-date"===f(r,t+".type")?k(t,Zr(e),n):k(t,e,n))}),r.hasOwnProperty("disabled")&&(n.disabled=r.disabled),r.term&&(n.term=r.term),n}function wn(e){var r={q:"",filter:""},n=["created","modified","lastlogin"],o=D(["term","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=en(r,tn(t,e),"AND")),n.includes(t)&&(r=en(r,rn(t,e),"AND"))}),e.hasOwnProperty("disabled")&&(r.disabled=e.disabled),e.term&&(r.q=("("+e.term+") "+r.q).trim()),r}function Sn(o){return Ae(o).then(function(e){var t=-1<e.nextStart,r=e.results.map(Lt);o.site&&(r=r.map(function(e){return Ht(e,o.site)}));var n=cn(e);return{total:e.total,results:r,facets:n,hasNext:t,next:on(o,e.nextStart,e.total,Sn)}})}function kn(o){function i(e){return e.siteTeamUrl=o.site.item.url+"/teams/"+e.id+"/about",e}var e,t,r=(null===(e=o.authentication)||void 0===e?void 0:e.portal)||"https://www.arcgis.com/sharing/rest";o.authentication&&(t=o.authentication.token);function a(e){return e.thumbnailUrl=an(r,e,t),e}return Ce(o,"group").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,kn)}})}function Cn(o){function i(e){return e.profileUrl=o.site.item.url+"/people/"+e.username+"/profile",e}function a(e){return e.thumbnail&&(e.thumbnailUrl=sn(t,e,r)),e}var t=o.authentication.portal,r=o.authentication.token;return Ce(o,"user").then(function(e){var t,r=-1<e.nextStart,n=e.results.map(a);return null!==(t=null===(t=o.site)||void 0===t?void 0:t.item)&&void 0!==t&&t.url&&(n=e.results.map(i)),{hasNext:r,total:e.total,results:n,next:on(o,e.nextStart,e.total,Cn)}})}function An(t){return E(this,void 0,void 0,function(){return O(this,function(e){return 200<=t.status&&t.status<300?[2,t.json()]:[2,t.json().then(function(e){if(e.error)throw new Error(e.error.title+" :: "+e.error.detail+" :: "+t.status);throw new Error("Got "+t.status+" "+t.statusText)})]})})}function Tn(e){var t={},e=f(e,"authentication.token");return e&&(t.Authorization=e),t}function In(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function Pn(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return Ae(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return I(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function xn(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Ke(e);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function En(e,t){return Pn(e,t).then(function(e){return!0}).catch(function(e){return!1})}function On(t,r,n,o){var i=t;return xn((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?On(t,r,n,o+1):i})}function Dn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return En(o,r).then(function(e){return e?Dn(t,r,n+1):o})}function _n(e,t){if(t.isPortal)return Pn(e,t);e=In(t.hubApiUrl)+"/"+e,t=Tn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An)}function Un(e,t){var r=p(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+j(5):r}function Nn(e,t){return Sr(e,t).then(Fn)}function Rn(e){if(1.4<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},br(t,"data.values.gacode"),k("item.properties.schemaVersion",1.4,t),t}var jn=1.5;function Mn(e){if(1.5<=f(e,"item.properties.schemaVersion"))return e;var r,t=p(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(Ln).forEach(function(e){var t=Ln[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Ln={"{{default.name}}":"{{name}}","{{default.description}}":"{{description}}","{{item.tags}}":"{{tags}}","{{item.created:toISO}}":"{{created:toISO}}","{{item.modified:toISO}}":"{{modified:toISO}}","{{default.source.source}}":"{{source}}","{{item.owner}}":"{{owner}}","{{org.portalProperties.links.contactUs.url}}":"{{orgContactEmail}}","{{org.name}}":"{{orgName}}","{{item.categories}}":"{{categories}}","{{item.licenseInfo}}":"{{licenseInfo}}","{{item.modified}}":"{{modified}}","{{enrichments.categories}}":"{{categories}}","{{default.id}}":"{{id}}","{{item.licenseInfo || No License}}":"{{licenseInfo || No License}}","{{org.portalProperties.links.contactUs.url || mailto:data@tempe.gov}}":"{{orgContactEmail || mailto:data@tempe.gov}}","{{default.description || No Description}}":"{{description || No Description}}","{{item.id}}":"{{id}}"};function Fn(e){return f(e,"item.properties.schemaVersion")===jn?e:e=Mn(e=Rn(e=function(e){if(1.3<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog.groups")||[];return t.data.catalog.groups=e.filter(M),t.item.properties.schemaVersion=1.3,t}(e=function(e){if(1.2<=f(e,"item.properties.schemaVersion"))return e;var t=p(e),e=f(t,"data.catalog")||{};return f(t,"data.values.groups")&&(e.groups=p(t.data.values.groups),delete t.data.values.groups),t.data.catalog=e,t.item.properties.schemaVersion=1.2,t}(e=function(e){if(1.1<=f(e,"item.properties.schemaVersion"))return e;var t=p(e);return["subdomain","defaultHostname","internalUrl","customHostname","externalUrl"].forEach(function(e){t.data.values[e]&&"string"==typeof t.data.values[e]&&(t.data.values[e]=t.data.values[e].toLowerCase())}),t.item.properties.schemaVersion=1.1,t}(e=function(e){if(1<=f(e,"item.properties.schemaVersion"))return e;var t=p(e);return["groupId","title"].forEach(function(e){delete t.data.values[e]}),t.item.properties||(t.item.properties={}),t.item.properties.schemaVersion=1,t.data.values.groups&&Array.isArray(t.data.values.groups)&&(e=t.data.values.groups.map(function(e){return"object"==typeof e?e.id:e}).filter(function(e){return!!e}),t.data.values.groups=e),t}(e))))))}var Gn=["ar","bs","ca","cs","da","de","en","es","et","el","fi","fr","hr","he","hu","it","id","ja","ko","lt","lv","nb","nl","pl","pt","pt-br","pt-pt","ro","ru","sl","sr","sv","th","tr","uk","vi","zh","zh-cn","zh-tw","zh-hk"];var qn,Bn=(e(Yn,qn=Error),Yn);function Yn(e,t,r){e=qn.call(this,e)||this;return e.status=r,e.url=t,e}function Wn(e,t){var r,n,o=x({httpMethod:"GET"},t),i=o.fetch||fetch,t=x({"Content-Type":"application/json"},o.headers);"GET"===o.httpMethod?r=o.params:n=JSON.stringify(o.params);var a=pe({host:et(o),path:("/api/v3/"+e).replace(/\/\//g,"/"),query:r});return i(a,{method:o.httpMethod,headers:t,body:n}).then(function(e){if(e.ok)return e.json();throw new Bn(e.statusText,a,e.status)})}function Hn(e,t){return ye(x({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function zn(e,t){return ye(x({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Vn(e,t){return ye(x({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Kn(t){function e(e){return-1<t.typeKeywords.indexOf(e)}var r=e("FieldworkerView");return r=r||["Survey123","Feature Service","View Service"].every(e)&&!e("StakeholderView")}var Jn="/api/v3/domains",$n="/api/v3/datasets",Xn="/api/discussions/v1",Qn=(Object.defineProperty(Zn.prototype,"session",{get:function(){return this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isAuthenticated",{get:function(){return!!this._authentication},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"userRequestOptions",{get:function(){if(this.isAuthenticated)return{authentication:this._authentication,portal:this.sharingApiUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"requestOptions",{get:function(){var e={portal:this.sharingApiUrl};return e=this.isAuthenticated?{authentication:this._authentication,portal:this.sharingApiUrl}:e},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubRequestOptions",{get:function(){return{authentication:this.session,isPortal:this.isPortal,portalSelf:this.portal,hubApiUrl:this.hubUrl}},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portalUrl",{get:function(){return this.isAuthenticated?this.isPortal?"https://"+this._portalSelf.portalHostname:"https://"+this._portalSelf.urlKey+"."+this._portalSelf.customBaseUrl:this._portalUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"sharingApiUrl",{get:function(){return this.portalUrl+"/sharing/rest"},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubUrl",{get:function(){return this._hubUrl},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"isPortal",{get:function(){return this._portalSelf?this._portalSelf.isPortal:-1===this._portalUrl.indexOf("arcgis.com")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"discussionsServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Xn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubSearchServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+$n},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"domainServiceUrl",{get:function(){if(this._hubUrl)return""+this._hubUrl+Jn},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"eventsConfig",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.events")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"hubEnabled",{get:function(){return b(this._portalSelf,"portalProperties.hub.enabled",!1)},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgId",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.orgId")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgHostname",{get:function(){if(this._portalSelf)return f(this._portalSelf,"portalProperties.hub.settings.communityOrg.portalHostname")},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"communityOrgUrl",{get:function(){if(this.communityOrgHostname)return"https://"+this.communityOrgHostname},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"helperServices",{get:function(){if(this._portalSelf)return this._portalSelf.helperServices},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"currentUser",{get:function(){return this._currentUser},enumerable:!1,configurable:!0}),Object.defineProperty(Zn.prototype,"portal",{get:function(){return this._portalSelf},enumerable:!1,configurable:!0}),Zn);function Zn(e){this._portalUrl="https://www.arcgis.com",this.id=e.id,this._portalUrl=e.portalUrl,this._hubUrl=e.hubUrl,e.authentication&&(this._authentication=e.authentication),e.portalSelf&&(this._portalSelf=e.portalSelf),e.currentUser&&(this._currentUser=e.currentUser)}eo.create=function(r){return void 0===r&&(r={}),E(this,void 0,void 0,function(){var t;return O(this,function(e){switch(e.label){case 0:return[4,(t=new eo(r)).initialize()];case 1:return e.sent(),[2,t]}})})},eo.prototype.setAuthentication=function(t){return E(this,void 0,void 0,function(){return O(this,function(e){switch(e.label){case 0:return this._authentication=t,this._portalUrl=t.portal.replace("/sharing/rest",""),[4,this.initialize()];case 1:return e.sent(),[2]}})})},eo.prototype.clearAuthentication=function(){this._state.isPortal||(this._portalUrl=function(e){var t;e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://qaext.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://devext.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://www.arcgis.com");return t}(this._portalUrl)),this._authentication=null,this._portalSelf=null,this._currentUser=null,this._state=new Qn({id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl})},Object.defineProperty(eo.prototype,"state",{get:function(){return this._state},enumerable:!1,configurable:!0}),eo.prototype.log=function(e){this._debug&&console.info(e)},eo.prototype.initialize=function(){return E(this,void 0,void 0,function(){var t,r,n;return O(this,function(e){switch(e.label){case 0:if(!this._authentication||this._portalSelf&&this._currentUser)return[3,4];this.log("ArcGISContext-"+this.id+": Initializing"),t=this._authentication.username,t=[Ye({authentication:this._authentication}),Me({username:t,authentication:this._authentication})],e.label=1;case 1:return e.trys.push([1,3,,4]),[4,Promise.all(t)];case 2:return n=e.sent(),r=n[0],n=n[1],this._portalSelf=r,this._currentUser=n,[3,4];case 3:throw r=e.sent(),n='ArcGISContext could not fetch portal & user for "'+this._authentication.username+'" using '+this._authentication.portal+".",console.error(n),r;case 4:return this._state=new Qn(this.stateOpts),[2]}})})},Object.defineProperty(eo.prototype,"stateOpts",{get:function(){var e={id:this.id,portalUrl:this._portalUrl,hubUrl:this._hubUrl};return this._authentication&&(e.authentication=this._authentication),this._portalSelf&&(e.portalSelf=this._portalSelf),this._currentUser&&(e.currentUser=this._currentUser),e},enumerable:!1,configurable:!0}),ct=eo;function eo(e){this._portalUrl="https://www.arcgis.com",this._debug=!1,this.id=(new Date).getTime(),e.debug&&(this._debug=e.debug),this.log("ArcGISContext:ctor: Creating "+this.id),e.authentication?(this._authentication=e.authentication,this._portalUrl=this._authentication.portal.replace("/sharing/rest","")):e.portalUrl&&(this._portalUrl=e.portalUrl),this._hubUrl=to(this._portalUrl),e.portal&&(this._portalSelf=p(e.portal)),e.currentUser&&(this._currentUser=p(e.currentUser))}function to(e){var t;return e.match(/(qaext|\.mapsqa)\.arcgis.com/)?t="https://hubqa.arcgis.com":e.match(/(devext|\.mapsdevext)\.arcgis.com/)?t="https://hubdev.arcgis.com":e.match(/(www|\.maps)\.arcgis.com/)&&(t="https://hub.arcgis.com"),t}ro.prototype.startOperation=function(e){e=p(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},ro.prototype.start=function(e,t){t={type:e,id:b(t,"id",r(e+"_")),inputs:b(t,"inputs",{}),cleanup:b(t,"cleanup","n/a"),startedAt:(new Date).getTime(),state:"working"};return this.operations.push(t),t.id},ro.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},ro.prototype.getOperations=function(){return this.operations},ro.prototype.finish=function(e,t){var r=this.getOperation(e);if(!r)throw new Error("No operation with id "+e+" present in stack");r.duration=(new Date).getTime()-r.startedAt,r.state="completed",t&&(r.output=p(t))},ro.prototype.merge=function(e){this.operations=D(this.operations,e.operations)},ro.prototype.getCompleted=function(){return p(this.operations.filter(function(e){return"completed"===e.state}))},ro.prototype.getWorking=function(){return p(this.operations.filter(function(e){return"working"===e.state}))},ro.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(no).join("\n")},ro.prototype.serialize=function(){return{operations:p(this.getOperations())}},lt=ro;function ro(){this.operations=[]}function no(e){var t=e.startedAt+" : Operation "+e.id+" started with inputs "+JSON.stringify(e.inputs)+" but was not completed";return t="completed"===e.state?e.startedAt+" : Operation "+e.id+" took "+e.duration+" ms with inputs "+JSON.stringify(e.inputs)+" and output "+(e.output?JSON.stringify(e.output):"n/a"):t}n.ArcGISContext=ct,n.GLOBAL_EXTENT=gt,n.HUB_CDN_URLMAP=He,n.HUB_LOCALES=Gn,n.Logger=L,n.OperationError=U,n.OperationStack=lt,n.PORTAL_EXPORT_TYPES=er,n.REQUIRED_PRIVS=le,n.RemoteServerError=Bn,n.SEARCH_APIS=Vr,n.SITE_SCHEMA_VERSION=jn,n.STANDARD_LICENSES=St,n.WGS84_WKID=Zt,n._addTokenToResourceUrl=Br,n._canEmailUser=sr,n._checkStatusAndParseJson=An,n._consolidateResults=ir,n._deepMapValues=i,n._ensureSafeDomainLength=Un,n._ensureTelemetry=Rn,n._formatAutoAddResponse=ar,n._getAuthHeader=Tn,n._getAutoAddUsers=gr,n._getDomainServiceUrl=In,n._getEmailUsers=vr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=yr,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=ur,n._isRegExp=l,n._isString=a,n._lookupPortal=Pn,n._mapValues=o,n._processAutoAdd=fr,n._processInvite=hr,n._processPrimaryEmail=mr,n._processSecondaryEmail=lr,n._searchContent=function(n,o){var i;return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){return r=ln(n),t=Kr(o.api||"arcgis"),[2,"arcgis"===t.type?(r=mn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",null!==(i=o.aggregations)&&void 0!==i&&i.length&&(r.countFields=o.aggregations.join(","),r.countSize=200),o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),o.site&&(r.site=p(o.site)),Sn(r)):Promise.resolve({total:0,results:[],facets:[],hasNext:!1,next:function(){}})]})})},n._searchGroups=function(n,o){var i;return E(this,void 0,void 0,function(){var t,r;return O(this,function(e){if(r=yn(n),"arcgis"===(t=Kr(o.api||"arcgis")).type)return r=vn(r),o.authentication?r.authentication=o.authentication:r.portal=t.url+"/sharing/rest",o.num&&(r.num=o.num),o.sortField&&(r.sortField=o.sortField),o.sortOrder&&(r.sortOrder=o.sortOrder),t.url,null!==(i=r.authentication)&&void 0!==i&&i.portal&&r.authentication.portal,o.site&&(r.site=p(o.site)),[2,kn(r)];throw new Error("_searchGroups is not implemented for non-arcgis apis")})})},n._searchUsers=function(r,n){return E(this,void 0,void 0,function(){var t;return O(this,function(e){if(!n.authentication)throw new Error("Authentication required to search for users.");if(t=bn(r),"arcgis"===Kr(n.api||"arcgis").type)return(t=wn(t)).authentication=n.authentication,n.num&&(t.num=n.num),n.sortField&&(t.sortField=n.sortField),n.sortOrder&&(t.sortOrder=n.sortOrder),n.site&&(t.site=p(n.site)),[2,Cn(t)];throw new Error("_searchUsers is not implemented for non-arcgis apis")})})},n._unprotectAndRemoveGroup=function(e){var t=R(_e,{success:!0}),r=R(Ue,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=R(ve,{success:!0}),r=R(we,{success:!0});return t(e).then(function(){return r(e)})},n.addContextToSlug=function(e,t){return/.+::.+/.test(e)?e:t+"::"+e},n.addDays=function(e,t){try{var r=new Date(e);return new Date(r.setDate(r.getDate()+t)).toISOString().split("T")[0]}catch(e){throw new Error("Invalid Date")}},n.addDomain=function(e,t){if(t.isPortal)throw new Error("addDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);r["Content-Type"]="application/json";var n=""+In(t.hubApiUrl);return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"POST",headers:r,mode:"cors",body:JSON.stringify(e)}).then(An)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Ve(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=o.map(function(e){return{name:e.name,type:e.type||"resource",url:r+"/resources/"+n+"-"+e.name}})),o},n.addUsersToGroup=function(e,t,r,n,o){var i=p(b(r,"portalSelf.user",{}));return i.cOrgId=f(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),fr({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:gr(t,i),usersToInvite:yr(t,i),usersToEmail:vr(t,i,f(n,"copyMe"))}).then(hr).then(mr).then(lr).then(ir)},n.applyPropertiesToItems=function(e,t){return e.map(function(e){return e.properties||(e.properties={}),Object.assign(e.properties,t),e})},n.arrayToObject=function(e,r){return e.reduce(function(e,t){return e[f(t,r)]=t,e},{})},n.atob=Qt.atob,n.autoAddUsers=pr,n.bBoxToPolygon=wt,n.batch=T,n.btoa=Qt.btoa,n.buildDraft=function(e,t){return S(e,{},t)},n.buildExistingExportsPortalQuery=function(e,t){var r,n,o,i,a=(c=function(e){if(e)return{onlyTypes:e.onlyTypes,layerId:e.layerId,spatialRefId:e.spatialRefId};return{}}(t)).onlyTypes,s=c.layerId,u=c.spatialRefId,t=Object.keys(er).map(function(e){return er[e]}),c=new Set(y(t.filter(function(e){return!e.supportsProjection}).map(function(e){return e.itemTypes}))),t=a||y(t.map(function(e){return e.itemTypes})),s=(new Se).startGroup().match(nr(e)).in("typekeywords").and().match(or(s)).in("typekeywords").endGroup().and().startGroup();function l(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(rr((r=e,t=Zt,t=(e=i)&&!o.has(r)?e:t))).in("typekeywords").endGroup()}return r=s,n=(c={types:t,spatialRefId:u,noProjectionItemTypes:c}).types,o=c.noProjectionItemTypes,i=c.spatialRefId,n.forEach(function(e,t){l(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=pe,n.camelize=m,n.canEditEvent=function(e,t){var r=!1;return ue(t)&&(e=f(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!d(void 0===t?[]:t,"id",e)),r},n.canEditItem=ce,n.canEditSite=function(e,t){var r=!1;return r=!f(e,"properties.isDefaultHubHome")&&ue(t)?ce(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=f(e,"properties.isDefaultHubHome"),i=ue(t);return!o&&i?n=ce(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=le.every(function(e){return I(r,e)}))),n},n.capitalize=t,n.categories=dt,n.chunkArray=function(e,t){for(var r=[],n=0;n<e.length;)r.push(e.slice(n,n+t)),n+=t;return r},n.clearSession=function(e,t){(t=void 0===t?window:t).localStorage&&t.localStorage.removeItem("__CONTEXT_"+e)},n.cloneObject=p,n.completeOAuth2=function(t,e){var r=(e=(e=void 0===e?window:e).location.href.match(/access_token=(.+)&expires_in=.+&username=([^&]+)/))[1],n="https://www.arcgis.com/sharing/rest/community/users/"+decodeURIComponent(e[2]);return X(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?X(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return ae.completeOAuth2(t)}):ae.completeOAuth2(t)})},n.compose=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return e.reduce(function(r,n){return function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return r(n.apply(void 0,e))}})},n.convertContentDefinitionToFilter=hn,n.convertContentFilterToSearchOptions=gn,n.convertPortalResponseToFacets=cn,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Ve(t.portalSelf)+"/content/items/"+e.bundleItemId,n=e.itemId,o=e.resources.map(function(e){return{name:e,type:"resource",url:r+"/resources/"+n+"-"+e}})),o},n.convertToWellKnownLocale=function(e){var t="en";return e=(e=void 0===e?"en":e).toLowerCase(),-1<Gn.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<Gn.indexOf(e[0])&&(t=e[0]),t},n.convertUrlsToAnchorTags=function(t){var e=t.match(/((((ftp|https?):\/\/)|(w{3}\.))[-\w@:%_+.~#?,&//=]+)/g);return e&&e.forEach(function(e){t=t.replace(e,'<a target="_blank" href="'+e+'">'+e+"</a>")}),t.replace("(","<br/>(")},n.createExtent=function(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}},n.createId=r,n.createOperationPipeline=function(e){return function(r){return e.reduce(function(e,t){return e.then(t).catch(function(e){if("OperationError"===e.name)return Promise.reject(e);e="IPipeableFn did not reject with an OperationError \n Operation Stack: \n "+r.stack.toString(),e=new U("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=Ft(e),r=Lt(t);delete r.itemCategories;var n=e.id,o=(S=e.attributes).errors,i=S.boundary,a=S.extent,s=S.metadata,u=S.modified,c=S.modifiedProvenance,l=S.slug,p=S.searchDescription,f=S.groupIds,d=S.server,h=S.layers,m=S.layer,g=S.recordCount,y=S.statistics,v=S.orgId,b=S.orgName,w=S.organization,e=S.orgExtent,S=S.type;return r.errors=o,r.boundary=i,!vt(t.extent)&&a&&vt(a.coordinates)&&(r.extent=a.coordinates),r.metadata=s||null,r.modified!==u&&(r.modified=u,r.updatedDate=new Date(u),r.updatedDateSource=c),r.slug=l,p&&(r.summary=p),r.groupIds=f,r.server=d,r.layers=h,r.layer=m,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),Bt(Gt(r,n),S)},n.datasetToItem=Ft,n.deepFind=C,n.deepFindById=function(e,t){return C(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=br,n.doesItemExistWithTitle=qr,n.domainExists=xn,n.domainExistsPortal=En,n.emailOrgUsers=cr,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?Dn(e,t):On(e,t.portalSelf.urlKey+"."+Ke(et(t)),t)).then(function(e){return Un(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)I(e,o)?o=t+"-"+ ++n:r=!0;return o},n.expandApi=Kr,n.expandApis=function(e){return e.map(Kr)},n.expandContentFilter=ln,n.expandGroupFilter=yn,n.expandTypeField=pn,n.expandUserFilter=bn,n.extend=function n(e,o,i){void 0===i&&(i=!0);e=p(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=p(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=mt,n.failSafe=R,n.failSafeUpdate=function(e,t){return R(he,{id:e.item.id,success:!0})(Object.assign({item:wr(e)},t))},n.fetchAllPages=function(n,o,r,i){var a=o.num||100,e=o.start||1;return(-1===(r=void 0===r?-1:r)?n(x(x({},o),{num:a,start:e})):Promise.resolve({nextStart:e,total:r,results:[],num:a})).then(function(t){if(-1===t.nextStart)return[t];for(var e=[],r=t.nextStart;r<=t.total;r+=a)e.push(r);return T(e,function(e){return n(x(x({},o),{start:e,num:a}))},i).then(function(e){return D([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return D(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Wr,n.fetchAndUploadThumbnail=Hr,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(ze(e)+"/locales/"+t+".json").toLocaleLowerCase();return fetch(n,{method:"GET",credentials:"same-origin",mode:r}).then(function(e){return e.json()}).catch(function(e){throw Error("Attempt to fetch locale "+t+" from "+n+" failed: "+JSON.stringify(e))})},n.fetchImageAsBlob=Yr,n.fetchSite=function(e,t){return M(e)?Nn(e,t):_n(Ke(e).split("/")[0],t).then(function(e){return Nn(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return f(e,t)===r})},n.findBy=d,n.flattenArray=y,n.generateRandomString=j,n.getCategory=It,n.getCollection=xt,n.getContentIdentifier=_t,n.getContentSiteUrls=qt,n.getContentTypeIcon=Yt,n.getContentTypeLabel=Wt,n.getCulture=function(e){return f(e,"portalSelf.user.culture")||f(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=In(t.hubApiUrl)+"?siteId="+e,t=Tn(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(An).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=nr,n.getExportLayerTypeKeyword=or,n.getFamily=jt,n.getGeographicOrgExtent=yt,n.getGroupThumbnailUrl=an,n.getHubApiUrl=et,n.getHubApiUrlFromPortal=function(e){return $e(e)+"/api/v3"},n.getHubLocaleAssetUrl=ze,n.getHubProduct=function(e){var t=f(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=$e,n.getInputFeatureServiceModel=Hn,n.getItemApiUrl=Xe,n.getItemAssets=function(e,t){var r=Ve(t.portalSelf)+"/content/items/"+e.id,n=zr(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=ge(e,t=t)+"/resources",(t=x({},t)).params=x({num:1e3},t.params),X(e,t).then(function(e){e=e.resources.map(function(e){return{name:e.resource,type:"resource",url:r+"/resources/"+e.resource}});return o.concat(e)})},n.getItemDataUrl=function(e,t,r){t=Xe(e,t,r),r="\\/"+e.id+"\\?f=json",r=new RegExp(r);return t&&t.replace(r,"/"+e.id+"/data").replace(/\&token/,"?token")},n.getItemHomeUrl=function(e,t){return We(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=Dt(e);return e?t+"_"+e:t}},n.getItemHubType=Mt,n.getItemLayerId=Dt,n.getItemThumbnailUrl=zr,n.getLayerIdFromUrl=Ot,n.getModel=Sr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return R(Sr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getNextFunction=on,n.getOrgExtentAsBBox=function(e){return yt(e).then(mt)},n.getPortalApiUrl=Ve,n.getPortalUrl=We,n.getProp=f,n.getProps=function(r,e){return e.reduce(function(e,t){t=f(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=Ze,n.getSession=function(e,t){var r=null;return!(t=void 0===t?window:t).localStorage||(e=t.localStorage.getItem("__CONTEXT_"+e))&&(r=ae.deserialize(e)),r},n.getSiteById=Nn,n.getSourceFeatureServiceModelFromFieldworker=zn,n.getSpatialRefTypeKeyword=rr,n.getStakeholderModel=Vn,n.getStructuredLicense=kt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?me(e,r):Promise.resolve(e)).then(function(t){var e=[Hn(t.id,r),Vn(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&Kn(t.item)?zn((n=t).item.id,r):t}).then(function(e){return{form:{item:t},featureService:e,fieldworker:n,stakeholder:o}})})},n.getTypeCategories=function(e){if(e=It(Pt(e=void 0===e?{}:e))){e=Array.from(e);return e[0]=e[0].toUpperCase(),[e.join("")]}return["Other"]},n.getTypes=function(e){return dt[(e=void 0===e?"":e).toLowerCase()]},n.getUniqueDomainName=On,n.getUniqueDomainNamePortal=Dn,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return qr(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getUserThumbnailUrl=sn,n.getWithDefault=b,n.hasBasePriv=ue,n.hubApiRequest=Wn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Wn("/search",x(x({},{headers:t,httpMethod:"POST"}),e))},n.includes=I,n.incrementString=function(e){var t=e.match(/-\s(\d+$)/);return t?(t=parseInt(t[1],10),e=e.replace("- "+t,"- "+(t+1))):e+=" - 1",e},n.interpolate=Fr,n.interpolateItemId=function(e){return Fr(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=dr,n.isBBox=vt,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return _n(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ht,n.isExtentCoordinateArray=bt,n.isFeatureService=Et,n.isFieldworkerView=Kn,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return Qe.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Ut(e).itemId)||M(e))},n.isUpdateGroup=G,n.isValidDomain=function(t,e){if(e.isPortal)throw new Error("isValidDomain is not available in ArcGIS Enterprise.");var r=In(e.hubApiUrl)+"/validate?hostname="+t,e=Tn(e);return fetch(r,{method:"GET",headers:e,mode:"cors"}).then(function(e){return e.json()}).catch(function(e){return{success:!1,input:t,error:{code:400,detail:e,message:"lookupFailed"}}})},n.isValidExtent=function(t){return!!t&&[bt,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=Gr,n.itemToContent=Lt,n.last=function(e){return e[e.length-1]},n.lookupDomain=_n,n.mapBy=function(t,e){return(e=void 0===e?[]:e).map(function(e){return e[t]})},n.maybeAdd=function(e,t,r){return null!=t&&((r=p(r))[e]=t),r},n.maybePush=h,n.mergeContentFilter=function(e){var e=e.map(ln),n=["created","modified"],o=D(["filterType","subFilters","term"],n);return(e=e.reduce(function(r,e){return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];r.hasOwnProperty(t)?o.includes(t)?n.includes(t)?r[t]=Jr(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=D(r[t],e)):r[t]=$r(r[t],e):r[t]=p(e)}),r},{})).filterType="content",e},n.mergeDateRange=Jr,n.mergeGroupFilters=function(e){var e=e.map(yn),o=["created","modified"],i=D(["filterType","term"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=$r,n.mergeObjects=S,n.mergeSearchOptions=en,n.mergeUserFilters=function(e){var e=e.map(bn),o=["created","modified","lastlogin"],i=D(["disabled","term","filterType"],o);return e.reduce(function(n,e){return Object.entries(e).forEach(function(e){var t=e[0],r=e[1];n.hasOwnProperty(t)?(e=f(n,t),i.includes(t)?o.includes(t)?k(t,Jr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,$r(e,r),n)):k(t,p(r),n)}),n},{filterType:"user"})},n.normalizeItemType=Pt,n.normalizeSolutionTemplateItem=function(e){var t=p(e);return Gr.forEach(function(e){delete t[e]}),t.extent="{{organization.defaultExtentBBox}}",t},n.objectToArray=function(r,n){return void 0===n&&(n="id"),Object.keys(r).reduce(function(e,t){return r[t][n]=t,e.push(p(r[t])),e},[])},n.objectToJsonBlob=function(e){if("undefined"!=typeof Blob)return new Blob([JSON.stringify(e)],{type:"application/json"});throw new Error("objectToJsonBlob is not currently supported on Node")},n.parseDatasetId=Ut,n.parseItemCategories=Rt,n.processRevertableTasks=function(e){return Promise.all(e).then(function(e){function t(e){return"fullfilled"===e.status}var r=e.filter(t),n=e.filter(function(e){return!t(e)});if(n.length){e=r.map(function(e){return e.revert()});throw Promise.all(e).catch(function(){}),n[0].error}return r.map(function(e){return e.results})})},n.propifyString=function(e){return m(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=Zr,n.removeContextFromSlug=Nt,n.removeDomain=function(e,t){if(t.isPortal)throw new Error("removeDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);return r["Content-Type"]="application/json",e=In(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(An)},n.removeEmptyProps=function t(r){return Object.keys(r).forEach(function(e){r[e]&&"object"==typeof r[e]?t(r[e]):null==r[e]&&delete r[e]}),r},n.replaceItemId=function(e,t,r){return void 0===r&&(r="{{appid}}"),w(p(e),new RegExp(t,"g"),r)},n.runRevertableTask=function(e,t){return e().then(function(e){return{status:"fullfilled",results:e,revert:t}}).catch(function(e){return{status:"rejected",error:e}})},n.saveSession=function(e,t,r){(r=void 0===r?window:r).localStorage&&r.localStorage.setItem("__CONTEXT_"+e,t.serialize())},n.serializeContentFilterForPortal=mn,n.serializeDateRange=rn,n.serializeGroupFilterForPortal=vn,n.serializeMatchOptions=tn,n.serializeModel=wr,n.serializeSpatialReference=tr,n.serializeStringOrArray=nn,n.serializeUserFilterForPortal=wn,n.setContentHubId=Gt,n.setContentSiteUrls=Ht,n.setContentType=Bt,n.setProp=k,n.shareItemToGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Fe(e)}))},n.slugify=function(e){return"string"==typeof e?e.trim().toLowerCase().replace(/ +/g,"-").replace(/[^\w-]/g,"").replace(/-+/g,"-"):e},n.stringToBlob=function(e,t){if(void 0===t&&(t="application/octet-stream"),"undefined"==typeof Blob)throw new Error("stringToBlob is not currently supported on Node");for(var r=[],n=0;n<e.length;n++)r[n]=e.charCodeAt(n);var o=new Uint8Array(r);return new Blob([o],{type:t})},n.stripProtocol=Ke,n.unique=g,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return h(e.find(function(e){return f(e,r)===f(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?ve(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r,n){return Promise.all(e.map(function(e){e=Object.assign({},{id:t,groupId:e},r);return n&&(e.owner=n),Be(e)}))},n.updateDomain=function(e,t){if(t.isPortal)throw new Error("updateDomain is not available in ArcGIS Enterprise. Instead, edit the hubdomain typekeyword on the item");var r=Tn(t);r["Content-Type"]="application/json";var n=In(t.hubApiUrl)+"/"+e.id;return"number"==typeof(t=e.siteTitle)&&(e.siteTitle=t.toString()),fetch(n,{method:"PUT",headers:r,mode:"cors",body:JSON.stringify(e)}).then(An)},n.upgradeProtocol=function(e){return-1===e.indexOf("http")?"https://"+e:-1!==e.indexOf("http://")?e.replace(/^http:/i,"https:"):e},n.upgradeSiteSchema=Fn,n.uploadResourcesFromUrl=function(n,e,o){if(Array.isArray(e)){e=e.reduce(function(e,t){var r;return t.url&&(r={id:n.item.id,owner:n.item.owner,fileName:t.name,url:Br(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Hr(r)):e.push(Wr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Qr,n.without=function(e,t){return e.filter(function(e){return e!==t})},n.withoutByProp=function(t,r,e){return e.filter(function(e){return e[t]!==r})},Object.defineProperty(n,"__esModule",{value:!0})});
2
2
  //# sourceMappingURL=common.umd.min.js.map