@esri/hub-common 9.7.0 → 9.8.0

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.
Files changed (76) hide show
  1. package/dist/es2017/content.js +17 -6
  2. package/dist/es2017/content.js.map +1 -1
  3. package/dist/es2017/search/_searchContent.js +66 -53
  4. package/dist/es2017/search/_searchContent.js.map +1 -1
  5. package/dist/es2017/search/_searchGroups.js +71 -36
  6. package/dist/es2017/search/_searchGroups.js.map +1 -1
  7. package/dist/es2017/search/_searchUsers.js +83 -0
  8. package/dist/es2017/search/_searchUsers.js.map +1 -0
  9. package/dist/es2017/search/index.js +2 -0
  10. package/dist/es2017/search/index.js.map +1 -1
  11. package/dist/es2017/search/user-utils.js +132 -0
  12. package/dist/es2017/search/user-utils.js.map +1 -0
  13. package/dist/es2017/search/utils.js +76 -37
  14. package/dist/es2017/search/utils.js.map +1 -1
  15. package/dist/es2017/sites/upgrade-site-schema.js +3 -0
  16. package/dist/es2017/sites/upgrade-site-schema.js.map +1 -1
  17. package/dist/es2017/urls/index.js +1 -0
  18. package/dist/es2017/urls/index.js.map +1 -1
  19. package/dist/es2017/urls/upgrade-protocol.js +14 -0
  20. package/dist/es2017/urls/upgrade-protocol.js.map +1 -0
  21. package/dist/esm/content.js +17 -6
  22. package/dist/esm/content.js.map +1 -1
  23. package/dist/esm/search/_searchContent.js +71 -62
  24. package/dist/esm/search/_searchContent.js.map +1 -1
  25. package/dist/esm/search/_searchGroups.js +75 -40
  26. package/dist/esm/search/_searchGroups.js.map +1 -1
  27. package/dist/esm/search/_searchUsers.js +88 -0
  28. package/dist/esm/search/_searchUsers.js.map +1 -0
  29. package/dist/esm/search/index.js +2 -0
  30. package/dist/esm/search/index.js.map +1 -1
  31. package/dist/esm/search/user-utils.js +136 -0
  32. package/dist/esm/search/user-utils.js.map +1 -0
  33. package/dist/esm/search/utils.js +76 -37
  34. package/dist/esm/search/utils.js.map +1 -1
  35. package/dist/esm/sites/upgrade-site-schema.js +3 -0
  36. package/dist/esm/sites/upgrade-site-schema.js.map +1 -1
  37. package/dist/esm/urls/index.js +1 -0
  38. package/dist/esm/urls/index.js.map +1 -1
  39. package/dist/esm/urls/upgrade-protocol.js +14 -0
  40. package/dist/esm/urls/upgrade-protocol.js.map +1 -0
  41. package/dist/node/content.js +18 -7
  42. package/dist/node/content.js.map +1 -1
  43. package/dist/node/search/_searchContent.js +65 -52
  44. package/dist/node/search/_searchContent.js.map +1 -1
  45. package/dist/node/search/_searchGroups.js +71 -36
  46. package/dist/node/search/_searchGroups.js.map +1 -1
  47. package/dist/node/search/_searchUsers.js +87 -0
  48. package/dist/node/search/_searchUsers.js.map +1 -0
  49. package/dist/node/search/index.js +2 -0
  50. package/dist/node/search/index.js.map +1 -1
  51. package/dist/node/search/user-utils.js +138 -0
  52. package/dist/node/search/user-utils.js.map +1 -0
  53. package/dist/node/search/utils.js +81 -39
  54. package/dist/node/search/utils.js.map +1 -1
  55. package/dist/node/sites/upgrade-site-schema.js +3 -0
  56. package/dist/node/sites/upgrade-site-schema.js.map +1 -1
  57. package/dist/node/urls/index.js +1 -0
  58. package/dist/node/urls/index.js.map +1 -1
  59. package/dist/node/urls/upgrade-protocol.js +18 -0
  60. package/dist/node/urls/upgrade-protocol.js.map +1 -0
  61. package/dist/types/content.d.ts +11 -0
  62. package/dist/types/search/_searchContent.d.ts +3 -2
  63. package/dist/types/search/_searchGroups.d.ts +3 -2
  64. package/dist/types/search/_searchUsers.d.ts +28 -0
  65. package/dist/types/search/index.d.ts +2 -0
  66. package/dist/types/search/types.d.ts +20 -2
  67. package/dist/types/search/user-utils.d.ts +35 -0
  68. package/dist/types/search/utils.d.ts +39 -8
  69. package/dist/types/types.d.ts +17 -0
  70. package/dist/types/urls/index.d.ts +1 -0
  71. package/dist/types/urls/upgrade-protocol.d.ts +5 -0
  72. package/dist/umd/common.umd.js +489 -142
  73. package/dist/umd/common.umd.js.map +1 -1
  74. package/dist/umd/common.umd.min.js +1 -1
  75. package/dist/umd/common.umd.min.js.map +1 -1
  76. package/package.json +2 -2
@@ -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)||p(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 p(e){return e instanceof RegExp}function d(e,t){return t.split(".").reduce(function(e,t){return e?e[t]:void 0},e)}function l(e){var t,r={};if(Array.isArray(e))r=e.map(l);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]=l(t):r[n]=t);else r=e;return r}function f(e,r,n){return e?e.reduce(function(e,t){return e=d(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 m(e,t){return null!=e&&(t=l(t)).push(e),t}function t(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 h(e,t,r){return r.indexOf(e)===t}function g(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],l(r))):n[e]=t===o?r:{},n=n[e]})}function b(e,t,r){t=d(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=p(r)?r:new RegExp(r,"g");return e.replace(t,n)})}function C(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==d(t,e)&&v(r,e,d(t,e))}),r):t}function k(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function A(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!S(t)||(t=A(t,n))&&(e=t),e},void 0):S(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!S(r[t])||(t=A(r[t],n))&&(e=t),e},void 0):void 0}function S(e){var t=!1;return t=e&&c(e)&&!s(e)&&!p(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 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 D(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 P(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 O(){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 R,N=(e(_,R=Error),_);function _(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=R.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,_.prototype),n.stack=b(r,"stack",(new Error).stack),n}function U(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,(ct=n.Level||(n.Level={}))[ct.all=0]="all",ct[ct.debug=1]="debug",ct[ct.info=2]="info",ct[ct.warn=3]="warn",ct[ct.error=4]="error",ct[ct.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,O([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,O([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,O([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,O([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,O([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(e){e=e.privileges;return I(void 0===e?[]:e,"portal:user:createItem")}function B(e,t){var r,n=!1,o=e.itemControl,i=e.owner,a=e.orgId,s=t.roleId,u=t.role,c=t.username,p=t.groups,l=t.orgId,u=I(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===l)&&!s&&"org_admin"===u,t=q(t);return t&&u?n=!0:t&&(r=O(d(e,"groupIds")||[],[d(e,"properties.collaborationGroupId")]),n=p.some(function(e){return G(e)&&I(r,e.id)})),n}var Y=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function W(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 H(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 V(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 z(e){var t=V(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 J=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 K(e){console&&console.warn&&console.warn.apply(console,[e])}J.prototype=Object.create(Error.prototype),J.prototype.constructor=J;var $,Q="@esri/arcgis-rest-js",X={httpMethod:"POST",params:{f:"json"}},Z=(e(ee,$=J),ee.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,te(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)})},ee);function ee(e,t,r,n,o){o=$.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 te(n,e){void 0===e&&(e={params:{f:"json"}});var o=x(x(x({httpMethod:"POST"},X),e),{params:x(x({},X.params),e.params),headers:x(x({},X.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=""===z(s)?n:n+"?"+z(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=H(e)||t,r=V(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 z(e)}(s,r)),u.headers=x(x({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=Q),H(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 J(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 J(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 Z(o,a,t,e,r);throw new J(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 J(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 re(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function ne(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 oe(e){return(e=void 0===e?{}:e).portal?re(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function ie(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 ae(n){return ie(n).then(function(e){var t,r=n.folderId?oe(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":oe(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)),te(r,n)})}function se(e,t){return te(ue(e,t),x({httpMethod:"GET"},t))}var ue=function(e,t){return("string"==typeof t?t:oe(t))+"/content/items/"+e};function ce(e){var t=ue(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,te(t,r)}function pe(t){return ie(t).then(function(e){return te(oe(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function le(e){return t=e.groupId,te(oe(e=e)+"/community/groups/"+t,x({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function de(t){return ie(t).then(function(e){return te(oe(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var fe=(me.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},me.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(K("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},me.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},me.prototype.endGroup=function(){return this.openGroups<=0?K("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},me.prototype.and=function(){return this.addModifier("and")},me.prototype.or=function(){return this.addModifier("or")},me.prototype.not=function(){return this.addModifier("not")},me.prototype.from=function(e){return this.hasTerms?K('`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},me.prototype.to=function(e){return this.hasTerms?K('`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},me.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},me.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},me.prototype.clone=function(){return this.commit(),this.cleanup(),new me(this.q+"")},me.prototype.addModifier=function(e){return this.currentModifer?(K("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?K("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)},me.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},me.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},me.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(me.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(me.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),me.prototype.cleanup=function(){if(0<this.openGroups)for(K("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&&K("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},me);function me(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function he(r,n){var o,i,e,t="string"==typeof r||r instanceof fe?{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 fe||!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 te(oe(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof fe?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,he(e,n)}),t})}function ge(e){return he(e,"item")}function ye(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 ve(e){var t=e.id,r=oe(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=O(be("users",e.users,t),be("admins",e.admins,t)).map(function(e){return te(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(we)}function be(o,e,i){return!e||e.length<1?[]:ye(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 we(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 Ce(t){var e=t.id,r=t.users,n=oe(t)+"/community/groups/"+e+"/removeUsers",r=ye(r,25).map(function(e){e=x(x({},t),{users:e,params:{users:e}});return te(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 ke(e){var t,r=e.id,n=oe(e)+"/community/groups/"+r+"/invite",e=ye((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 te(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Ae)}function Ae(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 Se(e){return te(oe(e)+"/community/groups/"+e.id+"/unprotect",e)}function Te(e){return te(oe(e)+"/community/groups/"+e.id+"/delete",x({},e))}function Ie(e){var t=oe(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,te(t,r)}function Ee(e){var n,t=oe(e)+"/portals/self/createNotification",e=ye((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 te(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(xe)}function xe(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 De(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=oe(e)+"/community/users/"+encodeURIComponent(t),n=x(x({},e),n)),te(r,n)}function Pe(t){return ge({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 Oe(a){return Pe(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 Re(a);var o=!1,i=!1;return Promise.all([De({username:t,authentication:a.authentication}),De({username:e,authentication:a.authentication}),le(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(Ne(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),Ne(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(Ne(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 Re(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 Re(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=oe(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=oe(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},te(i,e)}function Ne(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=Ie({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 Ie({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=ve(((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 Ce({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 _e(o){return Pe(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([le(o),De({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=oe(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=oe(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},te(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 Ue(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 Ue(oe(e))}var je={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function Me(e){if(e.isPortal)return Ue(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(je[e]||je.www)+"/opendata-ui/assets"}function Le(e){return Ue(e)+"/sharing/rest"}function Fe(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Ge(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 qe(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Ge(e.portalHostname)}var Be=function(e,t,r){var n=e.id,e=e.access,t=Le(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()},Ye=/\/(map|feature)server/i,We=function(e){e=e.match(Ye),e=e&&e[1];return e&&g(e)+" Service"};function He(e){var t=e&&e.hubApiUrl;return t||Ge(Le(e))}function Ve(e,t){return t.rawResponse=!1,te(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 ze(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=Q,te(e,t)}var Je=/^https?:\/\/(\S+)\.arcgis\.com.+/;function Ke(e){return Je.test(e)}function $e(e){if(!Je.test(e))return null;e=e.match(Je)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function Qe(e,t){t=re(function(e){if(!Je.test(e))return e;switch($e(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=re(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var Xe=(Object.defineProperty(Ze.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),Ze.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,p=r.state,l=r.locale,r=r.params,l="arcgis"===o?n+"/oauth2/authorize?client_id="+i+"&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l:n+"/oauth2/social/authorize?client_id="+i+"&socialLoginProviderName="+o+"&autoAccountCreateForSocial=true&response_type=token&expiration="+(e.duration||a)+"&redirect_uri="+encodeURIComponent(s)+"&state="+p+"&locale="+l;if(r&&(l=l+"&"+z(r)),u){var d,f=((d={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){d.resolve=e,d.reject=t}),d);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),f.reject(new Z(e.errorMessage,e.error))):t&&(t=JSON.parse(t),f.resolve(new Ze({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(l,"oauth-window",c),f.promise}t.location.href=l},Ze.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 Z('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 Z(e.errorMessage,e.error);return new Ze({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=ne(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})},Ze.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(Ze.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})},Ze.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()},Ze.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 Ve(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new Ze({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})})},Ze.deserialize=function(e){e=JSON.parse(e);return new Ze({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})},Ze.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new Ze({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},Ze.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return Ze.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},Ze.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},Ze.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=te(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},Ze.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=te(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},Ze.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})},Ze.prototype.getToken=function(e,t){return r=this.portal,n=e,o=Ke(r),i=Ke(n),r=$e(r),n=$e(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},Ze.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return te((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})},Ze.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}},Ze.prototype.serialize=function(){return JSON.stringify(this)},Ze.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},Ze.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},Ze.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new Z("Unable to refresh token."))},Ze.prototype.getServerRootUrl=function(e){var t=re(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("/")},Ze.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},Ze.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))}},Ze.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 te(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(Qe(e.owningSystemUrl,n.portal))return te(e.owningSystemUrl+"/sharing/rest/info",r);throw new Z(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 Z(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()?ze(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):ze(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])},Ze.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])},Ze.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=x({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return ze(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},Ze.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 Ve(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},Ze.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 Ve(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})},Ze.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})},Ze);function Ze(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?re(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={}}var et={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"]},tt=et.app,rt=et.dataset,nt=et.document,ot=et.event,it=et.feedback,at=et.initiative,st=et.map,ut=et.other,ct=et.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"],lt=["Data"],dt={app:tt.concat(it),dataset:rt,document:nt,event:ot,initiative:at,map:st,other:ut,site:ct,downloadableTypes:pt,downloadableTypeKeywords:lt,apiTypes:["Feature Service","Map Service","Image Service"]};function ft(e){return-1!==pt.indexOf(e.type)||e.typeKeywords&&lt.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function mt(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}}function ht(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=d(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),te(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})}function vt(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])}var bt=[{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 wt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=bt.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 kt(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=St(e);return"feedback"===e?"app":e}function At(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 St(e){if(Ct[e=void 0===e?"":e])return Ct[e];for(var t=0,r=Object.keys(et);t<r.length;t++)for(var n=r[t],o=0,i=et[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Ct[e]=n}}function Tt(e){return e&&"feature service"===e.toLowerCase()}function It(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function Et(e){return It(e.url)||Tt(e.type)&&I(e.typeKeywords,"Singlelayer")&&"0"}function xt(t,e){if(I(["template","feedback"],t.family))return t.id;if(Bt(t)){var r=(d(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=d(e,"domainInfo.orgKey");return d(e,"data.values.isUmbrella")?t.slug:Pt(t.slug,r)}return t.hubId||t.id}function Dt(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Pt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Ot(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return O(e,t)},[]).filter(function(e){return!I(t,e.toLowerCase())})}function Rt(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=St(e)]||r}return t}function Nt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),St(At(e="string"==typeof e?{type:e}:e))}function _t(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:Nt(e),categories:Ot(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:ft(e),boundary:(n=e.extent)&&n.length&&{geometry:mt(n[0][0],n[0][1],n[1][0],n[1][1])},license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:wt(e.licenseInfo)});return Mt(r,e.type)}function Ut(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Dt(t).itemId,o=r.owner,i=r.orgId,a=r.created,s=r.modified,u=r.name,c=r.title,p=r.type,l=r.typeKeywords,d=r.description,f=r.snippet,m=r.tags,h=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,C=r.culture,k=r.url,A=r.access,S=r.proxyFilter,T=r.properties,I=r.appCategories,E=r.industries,x=r.languages,D=r.largeThumbnail,P=r.banner,O=r.screenshots,R=r.listed,N=r.ownerFolder,_=r.size,U=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&&We(k)||p,typeKeywords:l,description:d,tags:m,snippet:f,thumbnail:h,extent:Y||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:C,url:k,access:A,size:_,protected:U,proxyFilter:S,properties:T,appCategories:I,industries:E,languages:x,largeThumbnail:D,banner:P,screenshots:O,listed:R,ownerFolder:N,commentsEnabled:j,numComments:M,numRatings:L,avgRating:F,numViews:G,itemControl:q,scoreCompleteness:B}}}}function jt(e,t){var r=e.id,r=e.slug||t||r,r=x(x({},e),{hubId:t,identifier:r});return Ft(r,{relative:Gt(r)})}var Mt=function(e,t){var r=Rt(t),n=At(x(x({},e.item),{type:t})),n=x(x({},e),{type:t,family:r,normalizedType:n});return Ft(n,{relative:Gt(n)})},Lt=function(e,t){var r=xt(e,t),r=Gt(e,r),t=d(t,"item.url").replace(/\/$/,"");return Ft(e,{relative:r,site:""+t+r})},Ft=function(e,t){t=x(x({},e.urls),t);return x(x({},e),{urls:t})},Gt=function(e,t){var r=e.family,n=t||e.identifier,o=qt(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":Bt(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},qt=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},Bt=function(e){return I(["Hub Page","Site Page"],e.type)};const Yt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Wt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Ht={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=Yt.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 Wt[e];return}(n[e])}return r}},Vt="4326",zt={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 Jt(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Ht.btoa(e)}function Kt(e){return"spatialRefId:"+Jt(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function $t(e){return"exportItem:"+e}function Qt(e){return e?"exportLayer:0"+e:"exportLayer:null"}function Xt(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 Zt(t,e){var r;return t&&(r=!d(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],d(t,"notAdded.length")&&r.push(new J("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 er(e,t){return e.orgId===t.orgId}function tr(e){return"org_admin"===e.role&&!e.roleId}function rr(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=Ee(e)),o}function nr(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&d(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=rr(t.usersToInvite.filter(function(e){return er(e,r)}),t.email,t.secondaryRO.authentication,tr(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function or(e,t,r){var n=Promise.resolve(null);return n=t.length?ve({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function ir(t){return or(d(t,"groupId"),d(t,"usersToAutoAdd"),d(t,"primaryRO.authentication")).then(function(e){return Zt(e,t)})}function ar(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?ke({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function sr(t){return ar(d(t,"groupId"),d(t,"usersToInvite"),d(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function ur(t){var e=Promise.resolve(t);return e=t.email&&d(t,"inviteResult.success")?rr(t.usersToEmail,t.email,t.primaryRO.authentication,tr(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function cr(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 pr(e,t){var r=cr(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function lr(e,t,r){void 0===r&&(r=!1);e=pr(e,t).filter(function(e){return er(e,t)});return r&&e.push(t),e}function dr(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 fr(e){var t=l(e.item);return t.text=JSON.stringify(e.data),t}function mr(e,t){return Promise.all([se(e,t),(r=e,r=ue(e,t=t)+"/data",(t=x({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),te(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 hr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function gr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var yr=function(e){return e instanceof Date},vr=function(e){return"function"==typeof e},br=function(e){return"object"==typeof e},wr=function(e){return e instanceof RegExp};var Cr=function(e){return"object"==typeof e};function kr(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return Tr(t)&&Sr(t)&&(e<(t=Ar(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&&Cr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return Tr(n)&&Sr(n)?(r=Ar(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}(gr(e,t)):function(e){var t=e;"string"==typeof e&&Sr(e)&&(t=function(e){var t=e,e=Ar(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return kr(e)}}var Ar=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Sr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var Tr=function(e){return"string"==typeof e};function Ir(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var Er=function(e){var t={};if(Array.isArray(e))t=e.map(Er);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=Er(e[r]):t[r]=e[r];else t=e;return t},xr=/{{\s*?[\w].*?}}/g,Dr=function(e){return"string"==typeof e};function Pr(e){return e||""===e||0===e}function Or(e,a,s){if((s=Er(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=Ir,kr(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!br(e)||yr(e)||wr(e)||vr(e)?n(e,o):Object.assign({},e,gr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!Dr(t))return t;var r,n=t.match(xr);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=hr(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=hr(t,a),n=r[s](a,n,t,i)}else n=hr(t,e);return n}(t,a,s),r.value=Pr(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)}),Pr(r)?r:t):t}))}function Rr(e,t,r){return Or(e,t,r)}var Nr=["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 _r(e,t,r){return ge({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 Ur(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function jr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Mr(r){return jr(r.url).then(function(e){return ie(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=oe(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),te(e,t)});var t})}function Lr(t){return jr(t.url).then(function(e){return ae({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 Fr(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Be(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 Gr={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 qr(e){return e.map(function(e){return"string"==typeof e&&e in Gr?Gr[e]:e})}function Br(e){var t=e.reduce(function(e,t){return e=t.results?e.concat(t.results):e},[]),r=e.reduce(function(e,t){return e=t.facets?e.concat(t.facets):e},[]);return{total:e.reduce(function(e,t){return t.total&&(e+=t.total),e},0),results:t,facets:r}}function Yr(e,t){var r=l(e);return t.from<e.from&&(r.from=t.from),t.to>e.to&&(r.to=t.to),r}function Wr(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=O(Hr(r,t),Hr(n,t));e.length&&(o[t]=e.filter(h))}),o}function Hr(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Vr(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 Jr(e,t,r){var n=l(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 Kr(e,t){var r={q:"",filter:""};return t.exact&&(O(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=Qr("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=Qr("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+Qr("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+Qr("OR","-"+e,t.not)),r}function $r(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function Qr(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}var Xr={$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 Zr(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 en(e){var t=tn(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?Xr[t]&&(e=e.concat(Xr[t])):e.push(t),e},[])),on(t)}function tn(e){var r=l(e);return r.subFilters=r.subFilters||[],r.type&&(Array.isArray(r.type)?r.type=r.type.reduce(function(e,t){return rn(t)?r.subFilters=r.subFilters.concat(nn(t)):e.push(t),e},[]):rn(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(nn(e)),delete r.type)),r}function rn(e){var t=!1;return t="string"==typeof e?e in Xr:t}function nn(e){return Xr[e]}function on(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=O(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Vr(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(on)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=zr(t[e]):r[e]=l(t[e]))}),r}function an(e){var t,r=sn(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?Jr(e,sn(t),"OR"):e},{q:"",filter:""}),r=Jr(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function sn(e){var r={q:"",filter:""},n=["created","modified"],o=O(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Jr(r,Kr(t,e),"AND")),n.includes(t)&&(r=Jr(r,$r(t,e),"AND"))}),r}function un(r){var n={},o=["created","modified"],i=O(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Vr(e),n),o.includes(t)&&(e=l(d(r,t)),"relative-date"===d(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 cn(e){var r={q:"",filter:""},n=["created","modified"],o=O(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Jr(r,Kr(t,e),"AND")),n.includes(t)&&(r=Jr(r,$r(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function pn(t){return D(this,void 0,void 0,function(){return P(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 ln(e){var t={},e=d(e,"authentication.token");return e&&(t.Authorization=e),t}function dn(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function fn(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return ge(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 mn(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Fe(e);e=dn(t.hubApiUrl)+"/"+e,t=ln(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function hn(e,t){return fn(e,t).then(function(e){return!0}).catch(function(e){return!1})}function gn(t,r,n,o){var i=t;return mn((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?gn(t,r,n,o+1):i})}function yn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return hn(o,r).then(function(e){return e?yn(t,r,n+1):o})}function vn(e,t){if(t.isPortal)return fn(e,t);e=dn(t.hubApiUrl)+"/"+e,t=ln(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(pn)}function bn(e,t){var r=l(e),e=63;return t&&(e-=t.length+1),r=r.length>e?r.slice(0,e-6)+"-"+j(5):r}function wn(e,t){return mr(e,t).then(Tn)}function Cn(e){if(1.4<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},dr(t,"data.values.gacode"),k("item.properties.schemaVersion",1.4,t),t}var kn=1.5;function An(e){if(1.5<=d(e,"item.properties.schemaVersion"))return e;var r,t=l(e),e=t.data.values.dcatConfig;return t.data.feeds={},e&&(t.data.feeds.dcatUS11=(r=JSON.stringify(e),Object.keys(Sn).forEach(function(e){var t=Sn[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Sn={"{{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 Tn(e){return d(e,"item.properties.schemaVersion")===kn?e:e=An(e=Cn(e=function(e){if(1.3<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(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<=d(e,"item.properties.schemaVersion"))return e;var t=l(e),e=d(t,"data.catalog")||{};return d(t,"data.values.groups")&&(e.groups=l(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<=d(e,"item.properties.schemaVersion"))return e;var t=l(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<=d(e,"item.properties.schemaVersion"))return e;var t=l(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 In=["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 En,xn=(e(Dn,En=Error),Dn);function Dn(e,t,r){e=En.call(this,e)||this;return e.status=r,e.url=t,e}function Pn(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=W({host:He(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 xn(e.statusText,a,e.status)})}function On(e,t){return ce(x({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Rn(e,t){return ce(x({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Nn(e,t){return ce(x({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function _n(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")}Un.prototype.startOperation=function(e){e=l(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},Un.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},Un.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},Un.prototype.getOperations=function(){return this.operations},Un.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=l(t))},Un.prototype.merge=function(e){this.operations=O(this.operations,e.operations)},Un.prototype.getCompleted=function(){return l(this.operations.filter(function(e){return"completed"===e.state}))},Un.prototype.getWorking=function(){return l(this.operations.filter(function(e){return"working"===e.state}))},Un.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(jn).join("\n")},Un.prototype.serialize=function(){return{operations:l(this.getOperations())}},ct=Un;function Un(){this.operations=[]}function jn(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.GLOBAL_EXTENT=gt,n.HUB_CDN_URLMAP=je,n.HUB_LOCALES=In,n.Logger=L,n.OperationError=N,n.OperationStack=ct,n.PORTAL_EXPORT_TYPES=zt,n.REQUIRED_PRIVS=Y,n.RemoteServerError=xn,n.SEARCH_APIS=Gr,n.SITE_SCHEMA_VERSION=kn,n.STANDARD_LICENSES=bt,n.WGS84_WKID=Vt,n._addTokenToResourceUrl=Ur,n._canEmailUser=er,n._checkStatusAndParseJson=pn,n._consolidateResults=Xt,n._deepMapValues=i,n._ensureSafeDomainLength=bn,n._ensureTelemetry=Cn,n._formatAutoAddResponse=Zt,n._getAuthHeader=ln,n._getAutoAddUsers=cr,n._getDomainServiceUrl=dn,n._getEmailUsers=lr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=pr,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=tr,n._isRegExp=p,n._isString=a,n._lookupPortal=fn,n._mapValues=o,n._processAutoAdd=ir,n._processInvite=sr,n._processPrimaryEmail=ur,n._processSecondaryEmail=nr,n._searchContent=function(n,o){return D(this,void 0,void 0,function(){var r,t;return P(this,function(e){switch(e.label){case 0:return r=en(n),o.apis||(o.apis=["arcgis"]),t=qr(o.apis),t=t.map(function(e){if("arcgis"!==e.type)return Promise.resolve({total:0,results:[],facets:[]});var n,t=an(r);return o.authentication&&(t.authentication=o.authentication),null!==(e=o.aggregations)&&void 0!==e&&e.length&&(t.countFields=o.aggregations.join(","),t.countSize=200),o.num&&(t.num=o.num),o.sortField&&(t.sortField=o.sortField),o.sortOrder&&(t.sortOrder=o.sortOrder),n=o.site,ge(t).then(function(e){var t=e.results.map(_t);n&&(t=t.map(function(e){return Lt(e,n)}));var r=Zr(e);return{total:e.total,results:t,facets:r}})}),[4,Promise.all(t)];case 1:return[2,Br(e.sent())]}})})},n._searchGroups=function(s,u){var c;return D(this,void 0,void 0,function(){var t,r,n,o,i,a;return P(this,function(e){return o=un(s),u.apis||(u.apis=["arcgis"]),t=qr(u.apis),r=cn(o),n="",u.authentication?(r.authentication=u.authentication,o=u.authentication,n=o.token):r.portal=t[0].url+"/sharing/rest",u.num&&(r.num=u.num),i="https://www.arcgis.com/sharing/rest",null!==(c=r.authentication)&&void 0!==c&&c.portal&&(i=r.authentication.portal),a=function(e){return function(e,t,r){t.thumbnail&&(t.thumnailUrl=e+"/community/groups/"+t.id+"/info/"+t.thumbnail,r&&(t.thumbnailUrl=t.thumbnailUrl+"?token="+r));return t}(i,e,n)},[2,he(r,"group").then(function(e){return e.results=e.results.map(a),e})]})})},n._unprotectAndRemoveGroup=function(e){var t=U(Se,{success:!0}),r=U(Te,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=U(pe,{success:!0}),r=U(de,{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=ln(t);r["Content-Type"]="application/json";var n=""+dn(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(pn)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Le(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=l(b(r,"portalSelf.user",{}));return i.cOrgId=d(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),ir({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:cr(t,i),usersToInvite:pr(t,i),usersToEmail:lr(t,i,d(n,"copyMe"))}).then(sr).then(ur).then(nr).then(Xt)},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[d(t,r)]=t,e},{})},n.atob=Ht.atob,n.autoAddUsers=or,n.batch=T,n.btoa=Ht.btoa,n.buildDraft=function(e,t){return C(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(zt).map(function(e){return zt[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 fe).startGroup().match($t(e)).in("typekeywords").and().match(Qt(s)).in("typekeywords").endGroup().and().startGroup();function p(e,t){var r;t.startGroup().match(/\s/g.test(e)?e:'"'+e+'"').in("type").and().match(Kt((r=e,t=Vt,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){p(e,r),t<n.length-1&&r.or()}),s.endGroup(),s.toParam()},n.buildUrl=W,n.camelize=t,n.canEditEvent=function(e,t){var r=!1;return q(t)&&(e=d(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!f(void 0===t?[]:t,"id",e)),r},n.canEditItem=B,n.canEditSite=function(e,t){var r=!1;return r=!d(e,"properties.isDefaultHubHome")&&q(t)?B(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=d(e,"properties.isDefaultHubHome"),i=q(t);return!o&&i?n=B(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=Y.every(function(e){return I(r,e)}))),n},n.capitalize=g,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.cloneObject=l,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 te(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?te(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return Xe.completeOAuth2(t)}):Xe.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=on,n.convertContentFilterToSearchOptions=sn,n.convertPortalResponseToFacets=Zr,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Le(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<In.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<In.indexOf(e[0])&&(t=e[0]),t},n.createExtent=mt,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 N("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=Ut(e),r=_t(t);delete r.itemCategories;var n=e.id,o=(C=e.attributes).errors,i=C.boundary,a=C.extent,s=C.metadata,u=C.modified,c=C.modifiedProvenance,p=C.slug,l=C.searchDescription,d=C.groupIds,f=C.server,m=C.layers,h=C.layer,g=C.recordCount,y=C.statistics,v=C.orgId,b=C.orgName,w=C.organization,e=C.orgExtent,C=C.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=p,l&&(r.summary=l),r.groupIds=d,r.server=f,r.layers=m,r.layer=h,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),Mt(jt(r,n),C)},n.datasetToItem=Ut,n.deepFind=A,n.deepFindById=function(e,t){return A(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=dr,n.doesItemExistWithTitle=_r,n.domainExists=mn,n.domainExistsPortal=hn,n.emailOrgUsers=rr,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?yn(e,t):gn(e,t.portalSelf.urlKey+"."+Fe(He(t)),t)).then(function(e){return bn(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.expandApis=qr,n.expandContentFilter=en,n.expandGroupFilter=un,n.expandTypeField=tn,n.extend=function n(e,o,i){void 0===i&&(i=!0);e=l(e);return Object.keys(o).reduce(function(e,t){var r;return null!==o[t]&&void 0!==o[t]&&(r=l(o[t]),Array.isArray(r)?e[t]=r:e[t]=i&&"object"==typeof r?n(e[t]||{},r,i):r),e},e)},n.extentToBBox=ht,n.failSafe=U,n.failSafeUpdate=function(e,t){return U(ae,{id:e.item.id,success:!0})(Object.assign({item:fr(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 O([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return O(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Mr,n.fetchAndUploadThumbnail=Lr,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(Me(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=jr,n.fetchSite=function(e,t){return M(e)?wn(e,t):vn(Fe(e).split("/")[0],t).then(function(e){return wn(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return d(e,t)===r})},n.findBy=f,n.flattenArray=y,n.generateRandomString=j,n.getCategory=kt,n.getCollection=St,n.getContentIdentifier=xt,n.getCulture=function(e){return d(e,"portalSelf.user.culture")||d(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=dn(t.hubApiUrl)+"?siteId="+e,t=ln(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(pn).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=$t,n.getExportLayerTypeKeyword=Qt,n.getFamily=Rt,n.getGeographicOrgExtent=yt,n.getHubApiUrl=He,n.getHubApiUrlFromPortal=function(e){return qe(e)+"/api/v3"},n.getHubLocaleAssetUrl=Me,n.getHubProduct=function(e){var t=d(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=qe,n.getInputFeatureServiceModel=On,n.getItemApiUrl=Be,n.getItemAssets=function(e,t){var r=Le(t.portalSelf)+"/content/items/"+e.id,n=Fr(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=ue(e,t=t)+"/resources",(t=x({},t)).params=x({num:1e3},t.params),te(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=Be(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 Ue(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=Et(e);return e?t+"_"+e:t}},n.getItemHubType=Nt,n.getItemLayerId=Et,n.getItemThumbnailUrl=Fr,n.getLayerIdFromUrl=It,n.getModel=mr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return U(mr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getOrgExtentAsBBox=function(e){return yt(e).then(ht)},n.getPortalApiUrl=Le,n.getPortalUrl=Ue,n.getProp=d,n.getProps=function(r,e){return e.reduce(function(e,t){t=d(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=We,n.getSiteById=wn,n.getSourceFeatureServiceModelFromFieldworker=Rn,n.getSpatialRefTypeKeyword=Kt,n.getStakeholderModel=Nn,n.getStructuredLicense=wt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?se(e,r):Promise.resolve(e)).then(function(t){var e=[On(t.id,r),Nn(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&_n(t.item)?Rn((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=kt(At(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=gn,n.getUniqueDomainNamePortal=yn,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return _r(a,n,o).then(function(e){return e?t(r,n,o,++i):a}).catch(function(e){throw Error("Error in getUniqueItemTitle "+e)})},n.getWithDefault=b,n.hasBasePriv=q,n.hubApiRequest=Pn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Pn("/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=Rr,n.interpolateItemId=function(e){return Rr(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=ar,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return vn(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ft,n.isExtentCoordinateArray=vt,n.isFeatureService=Tt,n.isFieldworkerView=_n,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return Ye.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Dt(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=dn(e.hubApiUrl)+"/validate?hostname="+t,e=ln(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&&[vt,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=Nr,n.itemToContent=_t,n.last=function(e){return e[e.length-1]},n.lookupDomain=vn,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=l(r))[e]=t),r},n.maybePush=m,n.mergeContentFilter=function(e){var e=e.map(en),n=["created","modified"],o=O(["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]=Yr(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=O(r[t],e)):r[t]=Wr(r[t],e):r[t]=l(e)}),r},{})).filterType="content",e},n.mergeDateRange=Yr,n.mergeGroupFilters=function(e){var e=e.map(un),o=["created","modified"],i=O(["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=d(n,t),i.includes(t)?o.includes(t)?k(t,Yr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,Wr(e,r),n)):k(t,l(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=Wr,n.mergeObjects=C,n.mergeSearchOptions=Jr,n.mergeSearchResults=Br,n.normalizeItemType=At,n.normalizeSolutionTemplateItem=function(e){var t=l(e);return Nr.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(l(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=Dt,n.parseItemCategories=Ot,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 t(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=zr,n.removeContextFromSlug=Pt,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=ln(t);return r["Content-Type"]="application/json",e=dn(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(pn)},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(l(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.serializeContentFilterForPortal=an,n.serializeDateRange=$r,n.serializeGroupFilterForPortal=cn,n.serializeMatchOptions=Kr,n.serializeModel=fr,n.serializeSpatialReference=Jt,n.serializeStringOrArray=Qr,n.setContentHubId=jt,n.setContentSiteUrls=Lt,n.setContentType=Mt,n.setProp=k,n.shareItemToGroups=function(t,e,r){return Promise.all(e.map(function(e){return Oe(Object.assign({},{id:t,groupId:e},r))}))},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=Fe,n.unique=h,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return m(e.find(function(e){return d(e,r)===d(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?pe(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r){return Promise.all(e.map(function(e){return _e(Object.assign({},{id:t,groupId:e},r))}))},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=ln(t);r["Content-Type"]="application/json";var n=dn(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(pn)},n.upgradeSiteSchema=Tn,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:Ur(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Lr(r)):e.push(Mr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Vr,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 d(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 f(e,r,n){return e?e.reduce(function(e,t){return e=d(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 m(e,t){return null!=e&&(t=p(t)).push(e),t}function t(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 h(e,t,r){return r.indexOf(e)===t}function g(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=d(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 C(t,r,e){return Array.isArray(e)&&e.length?(e.forEach(function(e){void 0!==d(t,e)&&v(r,e,d(t,e))}),r):t}function k(e,t,r){v(r,e=Array.isArray(e)?e.join("."):e,t)}function A(r,n){return Array.isArray(r)?r.reduce(function(e,t){return n(t)?e=t:!S(t)||(t=A(t,n))&&(e=t),e},void 0):S(r)?n(r)?r:Object.keys(r).reduce(function(e,t){return!S(r[t])||(t=A(r[t],n))&&(e=t),e},void 0):void 0}function S(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 E(e,t){return-1!==e.indexOf(t)}var I=function(e,t){return(I=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}I(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 O(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 D(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 P(){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 N,R=(e(_,N=Error),_);function _(e,t,r){var n=this;return t=t||"UNKNOWN_ERROR",r=b(r,"rootCause",r),(n=N.call(this,t)||this).operation=e,n.name="OperationError",n.rootCause=r,Object.setPrototypeOf(n,_.prototype),n.stack=b(r,"stack",(new Error).stack),n}function U(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,(ct=n.Level||(n.Level={}))[ct.all=0]="all",ct[ct.debug=1]="debug",ct[ct.info=2]="info",ct[ct.warn=3]="warn",ct[ct.error=4]="error",ct[ct.off=5]="off";var F=(L.setLogLevel=function(e){this.logLevel=e},L.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,P([e],t))},L.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,P([e],t))},L.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,P([e],t))},L.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,P([e],t))},L.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,P([e],t))},L.isLevelPermitted=function(e){return this.logLevel<=e},L.logLevel=n.Level.off,L);function L(){}function G(e){return e.capabilities.includes("updateitemcontrol")}function q(e){e=e.privileges;return E(void 0===e?[]:e,"portal:user:createItem")}function B(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=E(["admin","update"],o)||!!i&&i===c||!!(!!a&&a===p)&&!s&&"org_admin"===u,t=q(t);return t&&u?n=!0:t&&(r=P(d(e,"groupIds")||[],[d(e,"properties.collaborationGroupId")]),n=l.some(function(e){return G(e)&&E(r,e.id)})),n}var Y=["portal:user:createGroup","portal:user:createItem","portal:user:shareToGroup","portal:user:viewOrgGroups","portal:user:viewOrgItems"];function W(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 H(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 V(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 z(e){var t=V(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 J=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 K(e){console&&console.warn&&console.warn.apply(console,[e])}J.prototype=Object.create(Error.prototype),J.prototype.constructor=J;var $,Q="@esri/arcgis-rest-js",X={httpMethod:"POST",params:{f:"json"}},Z=(e(ee,$=J),ee.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,te(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)})},ee);function ee(e,t,r,n,o){o=$.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 te(n,e){void 0===e&&(e={params:{f:"json"}});var o=x(x(x({httpMethod:"POST"},X),e),{params:x(x({},X.params),e.params),headers:x(x({},X.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=""===z(s)?n:n+"?"+z(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=H(e)||t,r=V(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 z(e)}(s,r)),u.headers=x(x({},t),o.headers),"undefined"!=typeof window||u.headers.referer||(u.headers.referer=Q),H(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 J(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 J(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 Z(o,a,t,e,r);throw new J(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 J(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 re(e){return"string"==typeof e&&"/"===(e=e.trim())[e.length-1]?e.slice(0,-1):e}function ne(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 oe(e){return(e=void 0===e?{}:e).portal?re(e.portal):e.authentication?e.authentication.portal:"https://www.arcgis.com/sharing/rest"}function ie(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 ae(n){return ie(n).then(function(e){var t,r=n.folderId?oe(n)+"/content/users/"+e+"/"+n.folderId+"/items/"+n.item.id+"/update":oe(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)),te(r,n)})}function se(e,t){return te(ue(e,t),x({httpMethod:"GET"},t))}var ue=function(e,t){return("string"==typeof t?t:oe(t))+"/content/items/"+e};function ce(e){var t=ue(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,te(t,r)}function le(t){return ie(t).then(function(e){return te(oe(t)+"/content/users/"+e+"/items/"+t.id+"/unprotect",t)})}function pe(e){return t=e.groupId,te(oe(e=e)+"/community/groups/"+t,x({httpMethod:"GET"},e)).then(function(e){return e.userMembership.memberType}).catch(function(){return"none"});var t}function de(t){return ie(t).then(function(e){return te(oe(t)+"/content/users/"+e+"/items/"+t.id+"/delete",t)})}var fe=(me.prototype.match=function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];return this.termStack=this.termStack.concat(e),this},me.prototype.in=function(e){return this.hasRange||this.hasTerms?(e&&"*"!==e&&(this.q+=e+":"),this.commit()):(K("`in("+(e?'"'+e+'"':"")+")`"+" was called with no call to `match(...)` or `from(...)`/`to(...)`. Your query was not modified."),this)},me.prototype.startGroup=function(){return this.commit(),0<this.openGroups&&(this.q+=" "),this.openGroups++,this.q+="(",this},me.prototype.endGroup=function(){return this.openGroups<=0?K("`endGroup(...)` was called without calling `startGroup(...)` first. Your query was not modified."):(this.commit(),this.openGroups--,this.q+=")"),this},me.prototype.and=function(){return this.addModifier("and")},me.prototype.or=function(){return this.addModifier("or")},me.prototype.not=function(){return this.addModifier("not")},me.prototype.from=function(e){return this.hasTerms?K('`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},me.prototype.to=function(e){return this.hasTerms?K('`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},me.prototype.boost=function(e){return this.commit(),this.q+="^"+e,this},me.prototype.toParam=function(){return this.commit(),this.cleanup(),this.q},me.prototype.clone=function(){return this.commit(),this.cleanup(),new me(this.q+"")},me.prototype.addModifier=function(e){return this.currentModifer?(K("You have called `"+this.currentModifer+"()` after `"+e+"()`. Your current query was not modified."),this):(this.commit(),""===this.q&&"not"!==e?K("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)},me.prototype.needsQuotes=function(e){return/\s|:/g.test(e)},me.prototype.formatTerm=function(e){return e instanceof Date?e.getTime():"string"==typeof e&&this.needsQuotes(e)?'"'+e+'"':e},me.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(me.prototype,"hasTerms",{get:function(){return 0<this.termStack.length},enumerable:!1,configurable:!0}),Object.defineProperty(me.prototype,"hasRange",{get:function(){return this.rangeStack.length&&this.rangeStack[0]&&this.rangeStack[1]},enumerable:!1,configurable:!0}),me.prototype.cleanup=function(){if(0<this.openGroups)for(K("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&&K("`startGroup(...)` was called without calling `endGroup(...)` first. Your query was not modified."),this.q=this.q.replace(/(\(\))*/,"")},me);function me(e){void 0===e&&(e=""),this.termStack=[],this.rangeStack=[],this.openGroups=0,this.q=e}function he(r,n){var o,i,e,t="string"==typeof r||r instanceof fe?{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 fe||!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 te(oe(t)+e,t).then(function(t){return t.nextStart&&-1!==t.nextStart&&(t.nextPage=function(){var e;return"string"==typeof r||r instanceof fe?e={q:r,start:t.nextStart}:(e=r).start=t.nextStart,he(e,n)}),t})}function ge(e){return he(e,"item")}function ye(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 ve(e){var t=e.id,r=oe(e)+"/community/groups/"+t+"/addUsers",t=Object.assign({},e,{admins:void 0,users:void 0}),t=P(be("users",e.users,t),be("admins",e.admins,t)).map(function(e){return te(r,e).catch(function(e){return{errors:[e]}})});return Promise.all(t).then(we)}function be(o,e,i){return!e||e.length<1?[]:ye(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 we(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 Ce(t){var e=t.id,r=t.users,n=oe(t)+"/community/groups/"+e+"/removeUsers",r=ye(r,25).map(function(e){e=x(x({},t),{users:e,params:{users:e}});return te(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 ke(e){var t,r=e.id,n=oe(e)+"/community/groups/"+r+"/invite",e=ye((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 te(n,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(Ae)}function Ae(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 Se(e){return te(oe(e)+"/community/groups/"+e.id+"/unprotect",e)}function Te(e){return te(oe(e)+"/community/groups/"+e.id+"/delete",x({},e))}function Ee(e){var t=oe(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,te(t,r)}function Ie(e){var n,t=oe(e)+"/portals/self/createNotification",e=ye((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 te(t,e).catch(function(e){return{errors:[e]}})});return Promise.all(e).then(xe)}function xe(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 Oe(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=oe(e)+"/community/users/"+encodeURIComponent(t),n=x(x({},e),n)),te(r,n)}function De(t){return ge({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 Pe(a){return De(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 Ne(a);var o=!1,i=!1;return Promise.all([Oe({username:t,authentication:a.authentication}),Oe({username:e,authentication:a.authentication}),pe(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(Re(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),Re(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(Re(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 Ne(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 Ne(e,t,r){void 0===t&&(t=!1),void 0===r&&(r=!1);var n=e.authentication.username,o=e.owner||n,i=oe(e)+"/content/items/"+e.id+"/share";return(o===n||t&&!r)&&(i=oe(e)+"/content/users/"+o+"/items/"+e.id+"/share"),e.params={groups:e.groupId,confirmItemControl:e.confirmItemControl},te(i,e)}function Re(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=Ee({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 Ee({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=ve(((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 Ce({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 _e(o){return De(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([pe(o),Oe({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=oe(e)+"/content/items/"+e.id+"/unshare";r===t&&(n=oe(e)+"/content/users/"+r+"/items/"+e.id+"/unshare");return e.params={groups:e.groupId},te(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 Ue(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 Ue(oe(e))}var je={devext:"https://d1011m9qpnz5mw.cloudfront.net",qaext:"https://dyq9ux9ryu4qj.cloudfront.net",www:"https://d1iq7pbacwn5rb.cloudfront.net"};function Me(e){if(e.isPortal)return Ue(e)+"/apps/sites";e=e.portalHostname.split(".")[0];return(je[e]||je.www)+"/opendata-ui/assets"}function Fe(e){return Ue(e)+"/sharing/rest"}function Le(e){return e=(e=e.toLowerCase()).includes("//")?e.split("//")[1]:e}function Ge(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 qe(e){if(e.isPortal)throw new Error("Hub Url is not available in ArcGIS Enterprise");return Ge(e.portalHostname)}var Be=function(e,t,r){var n=e.id,e=e.access,t=Fe(t)+"/content/items/"+n,n=new URLSearchParams({f:"json"});return"public"!==e&&r&&n.append("token",r),t+"?"+n.toString()},Ye=/\/(map|feature)server/i,We=function(e){e=e.match(Ye),e=e&&e[1];return e&&g(e)+" Service"};function He(e){var t=e&&e.hubApiUrl;return t||Ge(Fe(e))}function Ve(e,t){return t.rawResponse=!1,te(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 ze(e,t){return"undefined"!=typeof window&&window.location&&window.location.host?t.params.referer=window.location.host:t.params.referer=Q,te(e,t)}var Je=/^https?:\/\/(\S+)\.arcgis\.com.+/;function Ke(e){return Je.test(e)}function $e(e){if(!Je.test(e))return null;e=e.match(Je)[1].split(".").pop();return e.includes("dev")?"dev":e.includes("qa")?"qa":"production"}function Qe(e,t){t=re(function(e){if(!Je.test(e))return e;switch($e(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=re(e).replace(/https?:\/\//,"");return new RegExp(e,"i").test(t)}var Xe=(Object.defineProperty(Ze.prototype,"token",{get:function(){return this._token},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"tokenExpires",{get:function(){return this._tokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"refreshToken",{get:function(){return this._refreshToken},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"refreshTokenExpires",{get:function(){return this._refreshTokenExpires},enumerable:!1,configurable:!0}),Object.defineProperty(Ze.prototype,"trustedServers",{get:function(){return console.log("DEPRECATED: use federatedServers instead"),this.federatedServers},enumerable:!1,configurable:!0}),Ze.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+"&"+z(r)),u){var d,f=((d={promise:null,resolve:null,reject:null}).promise=new Promise(function(e,t){d.resolve=e,d.reject=t}),d);return t["__ESRI_REST_AUTH_HANDLER_"+i]=function(e,t){e?(e=JSON.parse(e),f.reject(new Z(e.errorMessage,e.error))):t&&(t=JSON.parse(t),f.resolve(new Ze({clientId:i,portal:n,ssl:t.ssl,token:t.token,tokenExpires:new Date(t.expires),username:t.username})))},t.open(p,"oauth-window",c),f.promise}t.location.href=p},Ze.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 Z('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 Z(e.errorMessage,e.error);return new Ze({clientId:a,portal:i,ssl:t.ssl,token:t.token,tokenExpires:t.expires,username:t.username})}e=ne(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})},Ze.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(Ze.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})},Ze.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()},Ze.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 Ve(r+"/oauth2/token",{params:{grant_type:"authorization_code",client_id:n,redirect_uri:o,code:t}}).then(function(e){return new Ze({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})})},Ze.deserialize=function(e){e=JSON.parse(e);return new Ze({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})},Ze.fromCredential=function(e){var t=void 0===e.ssl||e.ssl,r=e.expires||Date.now()+72e5;return new Ze({portal:e.server.includes("sharing/rest")?e.server:e.server+"/sharing/rest",ssl:t,token:e.token,username:e.userId,tokenExpires:new Date(r)})},Ze.parentMessageHandler=function(e){if("arcgis:auth:credential"===e.data.type)return Ze.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},Ze.prototype.toCredential=function(){return{expires:this.tokenExpires.getTime(),server:this.portal,ssl:this.ssl,token:this.token,userId:this.username}},Ze.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=te(r,e).then(function(e){return t._user=e,t._pendingUserRequest=null,e}),this._pendingUserRequest},Ze.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=te(r,e).then(function(e){return t._portalInfo=e,t._pendingPortalRequest=null,e}),this._pendingPortalRequest},Ze.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})},Ze.prototype.getToken=function(e,t){return r=this.portal,n=e,o=Ke(r),i=Ke(n),r=$e(r),n=$e(n),o&&i&&r===n||new RegExp(this.portal,"i").test(e)?this.getFreshToken(t):this.getTokenForServer(e,t);var r,n,o,i},Ze.prototype.validateAppAccess=function(r){return this.getToken(this.portal).then(function(e){return te((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})},Ze.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}},Ze.prototype.serialize=function(){return JSON.stringify(this)},Ze.prototype.enablePostMessageAuth=function(e,t){!t&&window&&(t=window),this._hostHandler=this.createPostMessageHandler(e),t.addEventListener("message",this._hostHandler,!1)},Ze.prototype.disablePostMessageAuth=function(e){(e=!e&&window?window:e).removeEventListener("message",this._hostHandler,!1)},Ze.prototype.refreshSession=function(e){return this._user=null,this.username&&this.password?this.refreshWithUsernameAndPassword(e):this.clientId&&this.refreshToken?this.refreshWithRefreshToken():Promise.reject(new Z("Unable to refresh token."))},Ze.prototype.getServerRootUrl=function(e){var t=re(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("/")},Ze.prototype.getDomainCredentials=function(t){return this.trustedDomains&&this.trustedDomains.length&&this.trustedDomains.some(function(e){return t.startsWith(e)})?"include":"same-origin"},Ze.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))}},Ze.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 te(o+"/rest/info",{credentials:n.getDomainCredentials(t)}).then(function(e){if(e.owningSystemUrl){if(Qe(e.owningSystemUrl,n.portal))return te(e.owningSystemUrl+"/sharing/rest/info",r);throw new Z(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 Z(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()?ze(e,{params:{token:n.token,serverUrl:t,expiration:n.tokenDuration,client:"referer"}}):ze(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])},Ze.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])},Ze.prototype.refreshWithUsernameAndPassword=function(e){var t=this,e=x({params:{username:this.username,password:this.password,expiration:this.tokenDuration}},e);return ze(this.portal+"/generateToken",e).then(function(e){return t._token=e.token,t._tokenExpires=new Date(e.expires),t})},Ze.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 Ve(this.portal+"/oauth2/token",e).then(function(e){return t._token=e.token,t._tokenExpires=e.expires,t})},Ze.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 Ve(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})},Ze.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})},Ze);function Ze(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?re(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={}}var et={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"]},tt=et.app,rt=et.dataset,nt=et.document,ot=et.event,it=et.feedback,at=et.initiative,st=et.map,ut=et.other,ct=et.site,lt=["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"],pt=["Data"],dt={app:tt.concat(it),dataset:rt,document:nt,event:ot,initiative:at,map:st,other:ut,site:ct,downloadableTypes:lt,downloadableTypeKeywords:pt,apiTypes:["Feature Service","Map Service","Image Service"]};function ft(e){return-1!==lt.indexOf(e.type)||e.typeKeywords&&pt.some(function(t){return e.typeKeywords.some(function(e){return e===t})})}function mt(e,t,r,n,o){return{xmin:e,ymin:t,xmax:r,ymax:n,spatialReference:{wkid:o=void 0===o?4326:o}}}function ht(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=d(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),te(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})}function vt(e){return Array.isArray(e)&&Array.isArray(e[0])&&Array.isArray(e[1])}var bt=[{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 wt(r){var e={type:(r=r||"")?"custom":"none",text:r},t=!1,n=bt.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 kt(e){void 0===e&&(e=""),console.warn("DEPRECATED: Use getCollection() instead. getCategory will be removed at v10.0.0");e=St(e);return"feedback"===e?"app":e}function At(e){var t=(e=void 0===e?{}:e).type,r=e.typeKeywords||[];return("Site Application"===e.type||"Web Mapping Application"===e.type&&E(r,"hubSite"))&&(t="Hub Site Application"),("Site Page"===e.type||"Web Mapping Application"===e.type&&E(r,"hubPage"))&&(t="Hub Page"),"Hub Initiative"===e.type&&E(r,"hubInitiativeTemplate")&&(t="Hub Initiative Template"),t="Web Mapping Application"===e.type&&E(r,"hubSolutionTemplate")?"Solution":t}function St(e){if(Ct[e=void 0===e?"":e])return Ct[e];for(var t=0,r=Object.keys(et);t<r.length;t++)for(var n=r[t],o=0,i=et[n];o<i.length;o++){var a=i[o];if(e.toLowerCase()===a.toLowerCase())return Ct[e]=n}}function Tt(e){return e&&"feature service"===e.toLowerCase()}function Et(e){return(e=e&&e.match(/\/\d+$/))&&e[0].slice(1)}function It(e){return Et(e.url)||Tt(e.type)&&E(e.typeKeywords,"Singlelayer")&&"0"}function xt(t,e){if(E(["template","feedback"],t.family))return t.id;if(Yt(t)){var r=(d(e,"data.values.pages")||[]).find(function(e){return e.id===t.id});return r?r.slug:t.id}if(t.slug){r=d(e,"domainInfo.orgKey");return d(e,"data.values.isUmbrella")?t.slug:Dt(t.slug,r)}return t.hubId||t.id}function Ot(e){e=e?e.split("_"):[];return{itemId:e[0],layerId:e[1]}}function Dt(e,t){return t&&e.match(t+"::")?e.split(t+"::")[1]:e}function Pt(e){if(!e)return e;var t=["categories",""];return e.map(function(e){return e.split("/")}).reduce(function(e,t,r){return P(e,t)},[]).filter(function(e){return!E(t,e.toLowerCase())})}function Nt(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=St(e)]||r}return t}function Rt(e){return console.warn("DEPRECATED: Use getFamily() instead. getItemHubType() will be removed at v10.0.0"),St(At(e="string"==typeof e?{type:e}:e))}function _t(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:Rt(e),categories:Pt(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:ft(e),boundary:(n=e.extent)&&n.length&&{geometry:mt(n[0][0],n[0][1],n[1][0],n[1][1])},license:{name:"Custom License",description:e.accessInformation},createdDate:t,createdDateSource:r,publishedDate:t,publishedDateSource:r,updatedDate:new Date(e.modified),updatedDateSource:"item.modified",structuredLicense:wt(e.licenseInfo)});return Ft(r,e.type)}function Ut(e){if(e){var t=e.id,r=e.attributes;if(r){var n=Ot(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,d=r.description,f=r.snippet,m=r.tags,h=r.thumbnail,g=r.categories,y=r.contentStatus,v=r.spatialReference,b=r.accessInformation,w=r.licenseInfo,C=r.culture,k=r.url,A=r.access,S=r.proxyFilter,T=r.properties,E=r.appCategories,I=r.industries,x=r.languages,O=r.largeThumbnail,D=r.banner,P=r.screenshots,N=r.listed,R=r.ownerFolder,_=r.size,U=r.protected,j=r.commentsEnabled,M=r.numComments,F=r.numRatings,L=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&&We(k)||l,typeKeywords:p,description:d,tags:m,snippet:f,thumbnail:h,extent:Y||[],categories:g,contentStatus:y,spatialReference:v||r,accessInformation:b,licenseInfo:w,culture:C,url:k,access:A,size:_,protected:U,proxyFilter:S,properties:T,appCategories:E,industries:I,languages:x,largeThumbnail:O,banner:D,screenshots:P,listed:N,ownerFolder:R,commentsEnabled:j,numComments:M,numRatings:F,avgRating:L,numViews:G,itemControl:q,scoreCompleteness:B}}}}function jt(e,t){var r=e.id,r=e.slug||t||r,r=x(x({},e),{hubId:t,identifier:r});return Gt(r,{relative:qt(r)})}function Mt(e,t){var r=xt(e,t);return{relative:r=qt(e,r),absolute:""+d(t,"item.url").replace(/\/$/,"")+r}}var Ft=function(e,t){var r=Nt(t),n=At(x(x({},e.item),{type:t})),n=x(x({},e),{type:t,family:r,normalizedType:n});return Gt(n,{relative:qt(n)})},Lt=function(e,t){var r=Mt(e,t),t=r.relative,r=r.absolute;return Gt(e,{relative:t,site:r})},Gt=function(e,t){t=x(x({},e.urls),t);return x(x({},e),{urls:t})},qt=function(e,t){var r=e.family,n=t||e.identifier,o=Bt(e);return o||(t="/content","feedback"===e.family?t="/feedback/surveys":Yt(e)?t="/pages":-1<["app","dataset","document","map","template"].indexOf(r)&&(t="/"+r+"s"),o=t+"/"+n),o},Bt=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},Yt=function(e){return E(["Hub Page","Site Page"],e.type)};const Wt="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";const Ht="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";var Vt={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=Wt.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 Ht[e];return}(n[e])}return r}},zt="4326",Jt={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 Kt(e){if("object"!=typeof e)return e;var t=e.wkid,e=e.wkt;return t?t+"":Vt.btoa(e)}function $t(e){return"spatialRefId:"+Kt(function(t){var r;try{r=JSON.parse(t)}catch(e){r=t}return r}(e))}function Qt(e){return"exportItem:"+e}function Xt(e){return e?"exportLayer:0"+e:"exportLayer:null"}function Zt(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 er(t,e){var r;return t&&(r=!d(t,"notAdded.length")&&!t.errors,e.autoAddResult={success:r},r||(r=t.errors||[],d(t,"notAdded.length")&&r.push(new J("Users not auto-added: "+t.notAdded.join(", "))),e.autoAddResult.errors=r,r=e.usersToAutoAdd.filter(function(e){return E(t.notAdded,e.username)}),e.usersToInvite=e.usersToInvite.concat(r))),e}function tr(e,t){return e.orgId===t.orgId}function rr(e){return"org_admin"===e.role&&!e.roleId}function nr(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=Ie(e)),o}function or(t){var r,e=Promise.resolve(t);return t.email&&t.secondaryRO&&d(t,"inviteResult.success")&&(r=b(t,"secondaryRO.portalSelf.user",{}),e=nr(t.usersToInvite.filter(function(e){return tr(e,r)}),t.email,t.secondaryRO.authentication,rr(r)).then(function(e){return t.secondaryEmailResult=e,t})),e}function ir(e,t,r){var n=Promise.resolve(null);return n=t.length?ve({id:e,users:t.map(function(e){return e.username}),authentication:r}):n}function ar(t){return ir(d(t,"groupId"),d(t,"usersToAutoAdd"),d(t,"primaryRO.authentication")).then(function(e){return er(e,t)})}function sr(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?ke({id:e,users:t.map(function(e){return e.username}),authentication:r,role:o,expiration:n}):i}function ur(t){return sr(d(t,"groupId"),d(t,"usersToInvite"),d(t,"primaryRO.authentication")).then(function(e){return t.inviteResult=e,t})}function cr(t){var e=Promise.resolve(t);return e=t.email&&d(t,"inviteResult.success")?nr(t.usersToEmail,t.email,t.primaryRO.authentication,rr(t.requestingUser)).then(function(e){return t.primaryEmailResult=e,t}):e}function lr(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 pr(e,t){var r=lr(e,t);return e.filter(function(t){return!r.some(function(e){return e.username===t.username})})}function dr(e,t,r){void 0===r&&(r=!1);e=pr(e,t).filter(function(e){return tr(e,t)});return r&&e.push(t),e}function fr(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 mr(e){var t=p(e.item);return t.text=JSON.stringify(e.data),t}function hr(e,t){return Promise.all([se(e,t),(r=e,r=ue(e,t=t)+"/data",(t=x({httpMethod:"GET",params:{}},t)).file&&(t.params.f=null),te(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 gr=function(e,t,r){return void 0===r&&(r=void 0),t.split(".").reduce(function(e,t){return e?e[t]:r},e)};function yr(r,n){return Object.keys(r).reduce(function(e,t){return e[t]=n(r[t],t,r),e},{})}var vr=function(e){return e instanceof Date},br=function(e){return"function"==typeof e},wr=function(e){return"object"==typeof e},Cr=function(e){return e instanceof RegExp};var kr=function(e){return"object"==typeof e};function Ar(e){return Array.isArray(e)?function(e){var t=e,e=e.reduce(function(e,t){return Er(t)&&Tr(t)&&(e<(t=Sr(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&&kr(e)?function(o){var e=Object.keys(o).reduce(function(e,t){var r,n=o[t];return Er(n)&&Tr(n)?(r=Sr(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}(yr(e,t)):function(e){var t=e;"string"==typeof e&&Tr(e)&&(t=function(e){var t=e,e=Sr(e);t=0===e?void 0:"{{delete:"+e+"}}";return t}(e));return t}(e);function t(e,t){return Ar(e)}}var Sr=function(e){return parseInt(e.replace(/{|}/g,"").split(":")[1])};function Tr(e){return e&&"string"==typeof e&&-1<e.indexOf("{{delete")}var Er=function(e){return"string"==typeof e};function Ir(e,t,r,n){return void 0===n&&(n=0),t?t:"{{delete:"+n+"}}"}var xr=function(e){var t={};if(Array.isArray(e))t=e.map(xr);else if("object"==typeof e)for(var r in e)null!=e[r]&&"object"==typeof e[r]?t[r]=xr(e[r]):t[r]=e[r];else t=e;return t},Or=/{{\s*?[\w].*?}}/g,Dr=function(e){return"string"==typeof e};function Pr(e){return e||""===e||0===e}function Nr(e,a,s){if((s=xr(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=Ir,Ar(function r(e,n,o){return o=o||"",Array.isArray(e)?e.map(t):!e||!wr(e)||vr(e)||Cr(e)||br(e)?n(e,o):Object.assign({},e,yr(e,t));function t(e,t){return r(e,n,o?o+"."+t:t)}}(e,function(t,e){if(!Dr(t))return t;var r,n=t.match(Or);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=gr(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=gr(t,a),n=r[s](a,n,t,i)}else n=gr(t,e);return n}(t,a,s),r.value=Pr(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)}),Pr(r)?r:t):t}))}function Rr(e,t,r){return Nr(e,t,r)}var _r=["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 Ur(e,t,r){return ge({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 jr(e,t){var r=e;return r=-1===e.indexOf("token")&&-1<e.indexOf(t.authentication.portal)?e+"?token="+t.authentication.token:r}function Mr(e,t){return(t=void 0===t?{}:t).credentials||(t.credentials="same-origin"),fetch(e,t).then(function(e){return e.blob()})}function Fr(r){return Mr(r.url).then(function(e){return ie(t={id:r.id,owner:r.owner,name:r.fileName,resource:e,authentication:r.authentication}).then(function(e){e=oe(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),te(e,t)});var t})}function Lr(t){return Mr(t.url).then(function(e){return ae({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 Gr(e,t,r){if(!e||!e.thumbnail)return null;var n=r||{},o=n.token,n=n.width,r=Be(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 qr={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 Br(e){return"string"==typeof e&&e in qr?qr[e]:e}function Yr(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 Wr(r,n){var o={};return["any","all","not","exact"].forEach(function(e){var t=e,e=P(Hr(r,t),Hr(n,t));e.length&&(o[t]=e.filter(h))}),o}function Hr(e,t){var r=[];return e[t]&&(t=e[t],r=Array.isArray(t)?t:[t]),r}function Vr(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 Jr(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 Kr(e,t){var r={q:"",filter:""};return t.exact&&(P(["username","firstname","lastname","fullname","email"],["title","tags","typekeywords","type","name","owner"],["title","typekeywords","owner"]).includes(e)?r.filter=Qr("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=Qr("OR",e,t.any)),t.all&&(r.q=(r.q?r.q+" AND ":"")+Qr("AND",e,t.all)),t.not&&(r.q=(r.q?r.q+" AND ":"")+Qr("OR","-"+e,t.not)),r}function $r(e,t){return{q:e+":["+t.from+" TO "+t.to+"]",filter:""}}function Qr(e,t,r){return Array.isArray(r)?"("+t+':"'+r.join('" '+e+" "+t+':"')+'")':t+':"'+r+'"'}function Xr(e,t,r,n){var o=p(e);return e.authentication&&(o.authentication=Xe.deserialize(e.authentication.serialize())),o.start=-1<t?t:r+1,function(e){return e&&(o.authentication=e),n(o)}}function Zr(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 en(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 tn={$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 rn(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 nn(e){var t=on(e);return Array.isArray(e.subFilters)&&(t.subFilters=t.subFilters.reduce(function(e,t){return"string"==typeof t?tn[t]&&(e=e.concat(tn[t])):e.push(t),e},[])),un(t)}function on(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 an(t)?r.subFilters=r.subFilters.concat(sn(t)):e.push(t),e},[]):an(r.type)&&(e=r.type,r.subFilters=r.subFilters.concat(sn(e)),delete r.type)),r}function an(e){var t=!1;return t="string"==typeof e?e in tn:t}function sn(e){return tn[e]}function un(t){var r={};t.term&&(r.term=t.term);var e,n=["created","modified"],o=P(["filterType","subFilters","term"],n);return Object.entries(t).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r[t]=Vr(e))}),t.subFilters&&Array.isArray(t.subFilters)&&(e=t.subFilters,r.subFilters=e.map(un)),n.forEach(function(e){t[e]&&("relative-date"===t[e].type?r[e]=zr(t[e]):r[e]=p(t[e]))}),r}function cn(e){var t,r=ln(e);return e.subFilters&&(t=e.subFilters.reduce(function(e,t){return e="object"==typeof t?Jr(e,ln(t),"OR"):e},{q:"",filter:""}),r=Jr(r,t,"AND")),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function ln(e){var r={q:"",filter:""},n=["created","modified"],o=P(["filterType","subFilters","term"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Jr(r,Kr(t,e),"AND")),n.includes(t)&&(r=Jr(r,$r(t,e),"AND"))}),r}function pn(r){var n={},o=["created","modified"],i=P(["term","searchUserAccess"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Vr(e),n),o.includes(t)&&(e=p(d(r,t)),"relative-date"===d(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 dn(e){var r={q:"",filter:""},n=["created","modified"],o=P(["term","searchUserAccess","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Jr(r,Kr(t,e),"AND")),n.includes(t)&&(r=Jr(r,$r(t,e),"AND"))}),e.hasOwnProperty("searchUserAccess")&&(r.searchUserAccess=e.searchUserAccess),e.term&&(r.q=(e.term+" "+r.q).trim()),r}function fn(r){var n={},o=["created","modified","lastlogin"],i=P(["disabled","term"],o);return Object.entries(r).forEach(function(e){var t=e[0],e=e[1];i.includes(t)||k(t,Vr(e),n),o.includes(t)&&(e=p(d(r,t)),"relative-date"===d(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 mn(e){var r={q:"",filter:""},n=["created","modified","lastlogin"],o=P(["term","filterType"],n);return Object.entries(e).forEach(function(e){var t=e[0],e=e[1];o.includes(t)||(r=Jr(r,Kr(t,e),"AND")),n.includes(t)&&(r=Jr(r,$r(t,e),"AND"))}),e.hasOwnProperty("disabled")&&(r.disabled=e.disabled),e.term&&(r.q=("("+e.term+") "+r.q).trim()),r}function hn(o){return ge(o).then(function(e){var t=-1<e.nextStart,r=e.results.map(_t);o.site&&(r=r.map(function(e){return Lt(e,o.site)}));var n=rn(e);return{total:e.total,results:r,facets:n,hasNext:t,next:Xr(o,e.nextStart,e.total,hn)}})}function gn(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=Zr(r,e,t),e}return he(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:Xr(o,e.nextStart,e.total,gn)}})}function yn(o){function i(e){return e.profileUrl=o.site.item.url+"/people/"+e.username+"/profile",e}function a(e){return e.thumbnail&&(e.thumbnailUrl=en(t,e,r)),e}var t=o.authentication.portal,r=o.authentication.token;return he(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:Xr(o,e.nextStart,e.total,yn)}})}function vn(t){return O(this,void 0,void 0,function(){return D(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 bn(e){var t={},e=d(e,"authentication.token");return e&&(t.Authorization=e),t}function wn(e){return(e||"https://hub.arcgis.com")+"/api/v3/domains"}function Cn(e,t){var r=e,n="hubsubdomain|"+(r=-1<e.indexOf("#/")?e.split("#/")[1]:r);return ge(Object.assign({q:"typekeywords: "+n},t)).then(function(e){return e.results.filter(function(e){return E(e.typeKeywords,n)})[0]}).then(function(e){if(!e)throw new Error("site not found");return{hostname:e.url,siteId:e.id}})}function kn(e,t){if(t.isPortal)throw new Error("domainExists is not available in ArcGIS Enterprise.");e=Le(e);e=wn(t.hubApiUrl)+"/"+e,t=bn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(function(e){return 404!==e.status})}function An(e,t){return Cn(e,t).then(function(e){return!0}).catch(function(e){return!1})}function Sn(t,r,n,o){var i=t;return kn((i=(o=void 0===o?0:o)?t+"-"+o:t)+"-"+r,n).then(function(e){return e?Sn(t,r,n,o+1):i})}function Tn(t,r,n){var o=(n=void 0===n?0:n)?t+"-"+n:t;return An(o,r).then(function(e){return e?Tn(t,r,n+1):o})}function En(e,t){if(t.isPortal)return Cn(e,t);e=wn(t.hubApiUrl)+"/"+e,t=bn(t);return fetch(e,{method:"GET",headers:t,mode:"cors"}).then(vn)}function In(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 xn(e,t){return hr(e,t).then(Rn)}function On(e){if(1.4<=d(e,"item.properties.schemaVersion"))return e;var t=p(e),e=d(t,"data.values.gacode");return t.data.values.telemetry={consentNotice:{isTheme:!0,consentText:"",policyURL:""},customAnalytics:{ga:{customerTracker:{enabled:Boolean(e),id:e}}}},fr(t,"data.values.gacode"),k("item.properties.schemaVersion",1.4,t),t}var Dn=1.5;function Pn(e){if(1.5<=d(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(Nn).forEach(function(e){var t=Nn[e];r=r.split(e).join(t)}),JSON.parse(r))),t.item.properties.schemaVersion=1.5,t}var Nn={"{{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 Rn(e){return d(e,"item.properties.schemaVersion")===Dn?e:e=Pn(e=On(e=function(e){if(1.3<=d(e,"item.properties.schemaVersion"))return e;var t=p(e),e=d(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<=d(e,"item.properties.schemaVersion"))return e;var t=p(e),e=d(t,"data.catalog")||{};return d(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<=d(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<=d(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 _n=["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 Un,jn=(e(Mn,Un=Error),Mn);function Mn(e,t,r){e=Un.call(this,e)||this;return e.status=r,e.url=t,e}function Fn(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=W({host:He(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 jn(e.statusText,a,e.status)})}function Ln(e,t){return ce(x({id:e,relationshipType:"Survey2Service",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Gn(e,t){return ce(x({id:e,relationshipType:"Service2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function qn(e,t){return ce(x({id:e,relationshipType:"Survey2Data",direction:"forward"},t)).then(function(e){var t,e=e.relatedItems[0];return t=e?{item:e}:t})}function Bn(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")}Yn.prototype.startOperation=function(e){e=p(e);e.startedAt=(new Date).getTime(),e.state="working",this.operations.push(e)},Yn.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},Yn.prototype.getOperation=function(t){return this.operations.find(function(e){return e.id===t})},Yn.prototype.getOperations=function(){return this.operations},Yn.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))},Yn.prototype.merge=function(e){this.operations=P(this.operations,e.operations)},Yn.prototype.getCompleted=function(){return p(this.operations.filter(function(e){return"completed"===e.state}))},Yn.prototype.getWorking=function(){return p(this.operations.filter(function(e){return"working"===e.state}))},Yn.prototype.toString=function(){return this.operations.sort(function(e,t){return e.startedAt<t.startedAt?-1:t.startedAt<e.startedAt?1:0}).map(Wn).join("\n")},Yn.prototype.serialize=function(){return{operations:p(this.getOperations())}},ct=Yn;function Yn(){this.operations=[]}function Wn(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.GLOBAL_EXTENT=gt,n.HUB_CDN_URLMAP=je,n.HUB_LOCALES=_n,n.Logger=F,n.OperationError=R,n.OperationStack=ct,n.PORTAL_EXPORT_TYPES=Jt,n.REQUIRED_PRIVS=Y,n.RemoteServerError=jn,n.SEARCH_APIS=qr,n.SITE_SCHEMA_VERSION=Dn,n.STANDARD_LICENSES=bt,n.WGS84_WKID=zt,n._addTokenToResourceUrl=jr,n._canEmailUser=tr,n._checkStatusAndParseJson=vn,n._consolidateResults=Zt,n._deepMapValues=i,n._ensureSafeDomainLength=In,n._ensureTelemetry=On,n._formatAutoAddResponse=er,n._getAuthHeader=bn,n._getAutoAddUsers=lr,n._getDomainServiceUrl=wn,n._getEmailUsers=dr,n._getHttpAndHttpsUris=function(e){return e?["http://"+(e=e.replace(/^http(s?):\/\//,"")),"https://"+e]:[]},n._getInviteUsers=pr,n._getLocation=function(){if(window)return window.location},n._isDate=s,n._isFunction=u,n._isObject=c,n._isOrgAdmin=rr,n._isRegExp=l,n._isString=a,n._lookupPortal=Cn,n._mapValues=o,n._processAutoAdd=ar,n._processInvite=ur,n._processPrimaryEmail=cr,n._processSecondaryEmail=or,n._searchContent=function(n,o){var i;return O(this,void 0,void 0,function(){var t,r;return D(this,function(e){return r=nn(n),t=Br(o.api||"arcgis"),[2,"arcgis"===t.type?(r=cn(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)),hn(r)):Promise.resolve({total:0,results:[],facets:[],hasNext:!1,next:function(){}})]})})},n._searchGroups=function(n,o){var i;return O(this,void 0,void 0,function(){var t,r;return D(this,function(e){if(r=pn(n),"arcgis"===(t=Br(o.api||"arcgis")).type)return r=dn(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,gn(r)];throw new Error("_searchGroups is not implemented for non-arcgis apis")})})},n._searchUsers=function(r,n){return O(this,void 0,void 0,function(){var t;return D(this,function(e){if(!n.authentication)throw new Error("Authentication required to search for users.");if(t=fn(r),"arcgis"===Br(n.api||"arcgis").type)return(t=mn(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,yn(t)];throw new Error("_searchUsers is not implemented for non-arcgis apis")})})},n._unprotectAndRemoveGroup=function(e){var t=U(Se,{success:!0}),r=U(Te,{success:!0});return t(e).then(function(){return r(e)})},n._unprotectAndRemoveItem=function(e){var t=U(le,{success:!0}),r=U(de,{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=bn(t);r["Content-Type"]="application/json";var n=""+wn(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(vn)},n.addSolutionResourceUrlToAssets=function(e,t){var r,n,o=e.assets||e.resources||[];return e.bundleItemId&&(r=Fe(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=d(r,"portalSelf.portalProperties.hub.settings.communityOrg.orgId"),ar({groupId:e,allUsers:t,primaryRO:r,email:n,secondaryRO:o,requestingUser:i,usersToAutoAdd:lr(t,i),usersToInvite:pr(t,i),usersToEmail:dr(t,i,d(n,"copyMe"))}).then(ur).then(cr).then(or).then(Zt)},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[d(t,r)]=t,e},{})},n.atob=Vt.atob,n.autoAddUsers=ir,n.batch=T,n.btoa=Vt.btoa,n.buildDraft=function(e,t){return C(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(Jt).map(function(e){return Jt[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 fe).startGroup().match(Qt(e)).in("typekeywords").and().match(Xt(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($t((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=W,n.camelize=t,n.canEditEvent=function(e,t){var r=!1;return q(t)&&(e=d(e,"initiative.item.properties.collaborationGroupId"),t=t.groups,r=!!e&&!!f(void 0===t?[]:t,"id",e)),r},n.canEditItem=B,n.canEditSite=function(e,t){var r=!1;return r=!d(e,"properties.isDefaultHubHome")&&q(t)?B(e,t):r},n.canEditSiteContent=function(e,t){var r,n=!1,o=d(e,"properties.isDefaultHubHome"),i=q(t);return!o&&i?n=B(e,t):i&&(i=t.orgId,e=e.orgId,i&&i===e&&(r=t.privileges||[],n=Y.every(function(e){return E(r,e)}))),n},n.capitalize=g,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.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 te(n,{params:{token:r},httpMethod:"GET"}).then(function(e){return Date.now()-e.created<5e3?te(n+"/update",{params:{token:r,tags:["hubRole:participant","org:"+e.orgId],access:"public"}}).then(function(){return Xe.completeOAuth2(t)}):Xe.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=un,n.convertContentFilterToSearchOptions=ln,n.convertPortalResponseToFacets=rn,n.convertSolutionTemplateResourcesToAssets=function(e,t){var r,n,o=[];return e.resources&&e.bundleItemId&&(r=Fe(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<_n.indexOf(e)?t=e:1<(e=e.split("-")).length&&-1<_n.indexOf(e[0])&&(t=e[0]),t},n.createExtent=mt,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 R("pipeline execution error",e);return e.operationStack=r.stack.serialize(),Promise.reject(e)})},Promise.resolve(r))}},n.datasetToContent=function(e){var t=Ut(e),r=_t(t);delete r.itemCategories;var n=e.id,o=(C=e.attributes).errors,i=C.boundary,a=C.extent,s=C.metadata,u=C.modified,c=C.modifiedProvenance,l=C.slug,p=C.searchDescription,d=C.groupIds,f=C.server,m=C.layers,h=C.layer,g=C.recordCount,y=C.statistics,v=C.orgId,b=C.orgName,w=C.organization,e=C.orgExtent,C=C.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=d,r.server=f,r.layers=m,r.layer=h,r.recordCount=g,r.statistics=y,v&&(r.org={id:v,name:b||w,extent:e}),Ft(jt(r,n),C)},n.datasetToItem=Ut,n.deepFind=A,n.deepFindById=function(e,t){return A(e,function(e){return e.id===t})},n.deepSet=v,n.deepStringReplace=w,n.deleteProp=fr,n.doesItemExistWithTitle=Ur,n.domainExists=kn,n.domainExistsPortal=An,n.emailOrgUsers=nr,n.ensureProp=function(e,t){return v(e,t)},n.ensureUniqueDomainName=function(e,t){return(t.isPortal?Tn(e,t):Sn(e,t.portalSelf.urlKey+"."+Le(He(t)),t)).then(function(e){return In(e,t.portalSelf.urlKey)})},n.ensureUniqueString=function(e,t){for(var r=!1,n=0,o=t;!r;)E(e,o)?o=t+"-"+ ++n:r=!0;return o},n.expandApi=Br,n.expandApis=function(e){return e.map(Br)},n.expandContentFilter=nn,n.expandGroupFilter=pn,n.expandTypeField=on,n.expandUserFilter=fn,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=ht,n.failSafe=U,n.failSafeUpdate=function(e,t){return U(ae,{id:e.item.id,success:!0})(Object.assign({item:mr(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 P([t],e)})}).then(function(e){var t=e.reduce(function(e,t){return P(e,t.results)},[]),e=-1===r?t.length:r;return t.slice(0,e)})},n.fetchAndUploadResource=Fr,n.fetchAndUploadThumbnail=Lr,n.fetchHubTranslation=function(t,e,r){void 0===r&&(r="cors");var n=(Me(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=Mr,n.fetchSite=function(e,t){return M(e)?xn(e,t):En(Le(e).split("/")[0],t).then(function(e){return xn(e.siteId,t)})},n.filterBy=function(e,t,r){return e.filter(function(e){return d(e,t)===r})},n.findBy=f,n.flattenArray=y,n.generateRandomString=j,n.getCategory=kt,n.getCollection=St,n.getContentIdentifier=xt,n.getContentSiteUrls=Mt,n.getCulture=function(e){return d(e,"portalSelf.user.culture")||d(e,"portalSelf.culture")||"en-us"},n.getDomainsForSite=function(e,t){return t.isPortal?Promise.resolve([]):(e=wn(t.hubApiUrl)+"?siteId="+e,t=bn(t),fetch(e,{method:"GET",headers:t,mode:"cors"}).then(vn).catch(function(e){throw Error("Error in getDomainsForSite "+e)}))},n.getExportItemTypeKeyword=Qt,n.getExportLayerTypeKeyword=Xt,n.getFamily=Nt,n.getGeographicOrgExtent=yt,n.getGroupThumbnailUrl=Zr,n.getHubApiUrl=He,n.getHubApiUrlFromPortal=function(e){return qe(e)+"/api/v3"},n.getHubLocaleAssetUrl=Me,n.getHubProduct=function(e){var t=d(e,"portalProperties.hub.enabled")||!1?"premium":"basic";return t=e.isPortal&&"singletenant"===e.portalMode?"portal":t},n.getHubUrlFromPortal=qe,n.getInputFeatureServiceModel=Ln,n.getItemApiUrl=Be,n.getItemAssets=function(e,t){var r=Fe(t.portalSelf)+"/content/items/"+e.id,n=Gr(e,t),o=[];return n&&o.push({name:e.thumbnail,url:n,type:"thumbnail"}),e=e.id,e=ue(e,t=t)+"/resources",(t=x({},t)).params=x({num:1e3},t.params),te(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=Be(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 Ue(t)+"/home/item.html?id="+e},n.getItemHubId=function(e){if("public"===e.access){var t=e.id,e=It(e);return e?t+"_"+e:t}},n.getItemHubType=Rt,n.getItemLayerId=It,n.getItemThumbnailUrl=Gr,n.getLayerIdFromUrl=Et,n.getModel=hr,n.getModelFromOptions=function(e,t){var r=e+"Model",e=e+"Id";if(t[r])return Promise.resolve(t[r]);if(t[e])return U(hr,{item:{id:t[e]},isMissing:!0})(t[e],t);throw new Error("getModelFromOptions requires either a ."+r+" or ."+e+" property.")},n.getNextFunction=Xr,n.getOrgExtentAsBBox=function(e){return yt(e).then(ht)},n.getPortalApiUrl=Fe,n.getPortalUrl=Ue,n.getProp=d,n.getProps=function(r,e){return e.reduce(function(e,t){t=d(r,t);return t&&e.push(t),e},[])},n.getServiceTypeFromUrl=We,n.getSiteById=xn,n.getSourceFeatureServiceModelFromFieldworker=Gn,n.getSpatialRefTypeKeyword=$t,n.getStakeholderModel=qn,n.getStructuredLicense=wt,n.getSubscriptionType=function(e){return b(e,"subscriptionInfo.type","Enterprise")},n.getSurveyModels=function(e,r){var n,o;return("string"==typeof e?se(e,r):Promise.resolve(e)).then(function(t){var e=[Ln(t.id,r),qn(t.id,r)];return Promise.all(e).then(function(e){var t=e[0],e=e[1];return o=e,t&&Bn(t.item)?Gn((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=kt(At(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=Sn,n.getUniqueDomainNamePortal=Tn,n.getUniqueItemTitle=function t(r,n,o,i){var a=(i=void 0===i?0:i)?r+" "+i:r;return Ur(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=en,n.getWithDefault=b,n.hasBasePriv=q,n.hubApiRequest=Fn,n.hubApiSearch=function(e){var t=(t=e.authentication)&&t.serialize&&{authentication:t.serialize()};return Fn("/search",x(x({},{headers:t,httpMethod:"POST"}),e))},n.includes=E,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=Rr,n.interpolateItemId=function(e){return Rr(e,{item:{id:e.item.id},appid:e.item.id},{toISO:function(e,t){return t}})},n.inviteUsers=sr,n.isDomainForLegacySite=function(e){return!M(e.siteId)},n.isDomainUsedElsewhere=function(e,t,r){return En(e,r).then(function(e){return e.siteId!==t}).catch(function(){return!1})},n.isDownloadable=ft,n.isExtentCoordinateArray=vt,n.isFeatureService=Tt,n.isFieldworkerView=Bn,n.isGuid=M,n.isMapOrFeatureServerUrl=function(e){return Ye.test(e)},n.isNil=function(e){return null==e},n.isSlug=function(e){return!(!(e=Ot(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=wn(e.hubApiUrl)+"/validate?hostname="+t,e=bn(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&&[vt,function(t){return["xmin","ymin","xmax","ymax"].every(function(e){return"number"==typeof t[e]})}].some(function(e){return e(t)})},n.itemPropsNotInTemplates=_r,n.itemToContent=_t,n.last=function(e){return e[e.length-1]},n.lookupDomain=En,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=m,n.mergeContentFilter=function(e){var e=e.map(nn),n=["created","modified"],o=P(["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]=Yr(r[t],e):"term"===t?r[t]=r[t]+" "+e:"subFilters"===t&&(r[t]=P(r[t],e)):r[t]=Wr(r[t],e):r[t]=p(e)}),r},{})).filterType="content",e},n.mergeDateRange=Yr,n.mergeGroupFilters=function(e){var e=e.map(pn),o=["created","modified"],i=P(["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=d(n,t),i.includes(t)?o.includes(t)?k(t,Yr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,Wr(e,r),n)):k(t,p(r),n)}),n},{filterType:"group"})},n.mergeMatchOptions=Wr,n.mergeObjects=C,n.mergeSearchOptions=Jr,n.mergeUserFilters=function(e){var e=e.map(fn),o=["created","modified","lastlogin"],i=P(["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=d(n,t),i.includes(t)?o.includes(t)?k(t,Yr(e,r),n):"term"===t&&(n[t]=n[t]+" "+r):k(t,Wr(e,r),n)):k(t,p(r),n)}),n},{filterType:"user"})},n.normalizeItemType=At,n.normalizeSolutionTemplateItem=function(e){var t=p(e);return _r.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=Ot,n.parseItemCategories=Pt,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 t(e.replace(/^[0-9]*/g,"").replace(/[^\w\s]/g,""))},n.relativeDateToDateRange=zr,n.removeContextFromSlug=Dt,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=bn(t);return r["Content-Type"]="application/json",e=wn(t.hubApiUrl)+"/"+e,fetch(e,{method:"DELETE",headers:r,mode:"cors"}).then(vn)},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.serializeContentFilterForPortal=cn,n.serializeDateRange=$r,n.serializeGroupFilterForPortal=dn,n.serializeMatchOptions=Kr,n.serializeModel=mr,n.serializeSpatialReference=Kt,n.serializeStringOrArray=Qr,n.serializeUserFilterForPortal=mn,n.setContentHubId=jt,n.setContentSiteUrls=Lt,n.setContentType=Ft,n.setProp=k,n.shareItemToGroups=function(t,e,r){return Promise.all(e.map(function(e){return Pe(Object.assign({},{id:t,groupId:e},r))}))},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=Le,n.unique=h,n.uniqueBy=function(e,r){return e.reduce(function(e,t){return m(e.find(function(e){return d(e,r)===d(t,r)})?null:t,e)},[])},n.unprotectModel=function(e,t){return e.item.protected?le(Object.assign({id:e.item.id},t)):Promise.resolve({success:!0})},n.unshareItemFromGroups=function(t,e,r){return Promise.all(e.map(function(e){return _e(Object.assign({},{id:t,groupId:e},r))}))},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=bn(t);r["Content-Type"]="application/json";var n=wn(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(vn)},n.upgradeProtocol=function(e){return-1===e.indexOf("http")?"https://"+e:-1!==e.indexOf("http://")?e.replace(/^http:/i,"https:"):e},n.upgradeSiteSchema=Rn,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:jr(t.url,o),authentication:o.authentication},"thumbnail"===t.type?e.push(Lr(r)):e.push(Fr(r))),e},[]);return Promise.all(e)}return Promise.resolve([])},n.valueToMatchOptions=Vr,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