@esri/solutions-components 5.1.0-next.135 → 5.1.0-next.137

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 (63) hide show
  1. package/dist/cdn/{JSQHZGE3.js → 33UAZ7BX.js} +42 -42
  2. package/dist/cdn/3CSMIYZV.js +2 -0
  3. package/dist/cdn/{PYXXT5H5.js → 3RSUBJQ5.js} +1 -1
  4. package/dist/cdn/{SAWMNQJD.js → 4753O4WX.js} +1 -1
  5. package/dist/cdn/{FOTFZKKU.js → 52QHFDTC.js} +1 -1
  6. package/dist/cdn/{YZVDT3ZT.js → 6RHH635X.js} +1 -1
  7. package/dist/cdn/{S5F6KJQM.js → 7J2F4TFI.js} +1 -1
  8. package/dist/cdn/{K4XOBDPS.js → 7MFLK6JZ.js} +1 -1
  9. package/dist/cdn/{6SSQ6MIC.js → 7NAC32PQ.js} +1 -1
  10. package/dist/cdn/{WQVOA4KV.js → AYQT4HC4.js} +1 -1
  11. package/dist/cdn/BNRFT546.js +2 -0
  12. package/dist/cdn/{ZF5NIURZ.js → BQE2XAKC.js} +1 -1
  13. package/dist/cdn/{75WQ7UGJ.js → D4MZYBH7.js} +1 -1
  14. package/dist/cdn/DGNAMFJN.js +9 -0
  15. package/dist/cdn/{ADNSBINK.js → DNZ5U52C.js} +1 -1
  16. package/dist/cdn/{ZTO4S3BZ.js → E5EU4SVV.js} +1 -1
  17. package/dist/cdn/F3NG6RFP.js +117 -0
  18. package/dist/cdn/GLQZHYJP.js +4 -0
  19. package/dist/cdn/GWWU6HWB.js +48 -0
  20. package/dist/cdn/{DW44YGCV.js → JMCZPJDW.js} +1 -1
  21. package/dist/cdn/{TWJSFINX.js → KGSB4I6Y.js} +1 -1
  22. package/dist/cdn/{PX4CIW7K.js → NPYWZIAM.js} +1 -1
  23. package/dist/cdn/{VFBFI3KQ.js → NWCKV677.js} +1 -1
  24. package/dist/cdn/{P6ANTPJW.js → OYBEDO63.js} +1 -1
  25. package/dist/cdn/{SNK53NIO.js → P2TNN5UL.js} +1 -1
  26. package/dist/cdn/{JW3GYKLH.js → RDAHPMNW.js} +1 -1
  27. package/dist/cdn/{TV3ZHJ7B.js → SAJPXZDW.js} +1 -1
  28. package/dist/cdn/SEHNIZKR.js +2 -0
  29. package/dist/cdn/WGOI2WQZ.js +2 -0
  30. package/dist/cdn/{Z4BCFJUQ.js → XVRJTKAB.js} +25 -25
  31. package/dist/cdn/{L3CMOE2U.js → Z6UCVV4K.js} +1 -1
  32. package/dist/cdn/{PPRV6EZZ.js → ZIX74MNU.js} +1 -1
  33. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.en.json +1 -1
  34. package/dist/cdn/assets/arcgis-solutions-assistant/t9n/messages.json +1 -1
  35. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.en.json +1 -1
  36. package/dist/cdn/assets/solution-builder-assistant/t9n/messages.json +1 -1
  37. package/dist/cdn/index.js +1 -1
  38. package/dist/chunks/assistantResponse.js +51 -0
  39. package/dist/chunks/classifyIntent.js +120 -0
  40. package/dist/chunks/description.js +7 -31
  41. package/dist/chunks/description2.js +36 -0
  42. package/dist/chunks/solution-builder-assistant.js +935 -0
  43. package/dist/chunks/validators.js +1 -1
  44. package/dist/components/arcgis-solutions-assistant/customElement.js +599 -560
  45. package/dist/components/crowdsource-manager/customElement.js +7 -6
  46. package/dist/components/solution-builder-assistant/customElement.d.ts +62 -2
  47. package/dist/components/solution-builder-assistant/customElement.js +14 -872
  48. package/dist/components/solutions-deploy-app/customElement.js +21 -20
  49. package/dist/docs/api.json +1 -1
  50. package/dist/docs/docs.json +1 -1
  51. package/dist/docs/web-types.json +1 -1
  52. package/dist/solutions-components_commit.txt +6 -6
  53. package/package.json +5 -4
  54. package/dist/cdn/6SJB46SK.js +0 -2
  55. package/dist/cdn/BTVZM7QH.js +0 -2
  56. package/dist/cdn/DJMULVG5.js +0 -2
  57. package/dist/cdn/JMO7ZFWL.js +0 -26
  58. package/dist/cdn/JQLLXM7G.js +0 -11
  59. package/dist/cdn/LQPPEXL2.js +0 -4
  60. package/dist/cdn/ZS3UOY5Q.js +0 -2
  61. package/dist/chunks/solutions_assistant_description.js +0 -14
  62. package/dist/chunks/solutions_assistant_prompts.js +0 -29
  63. /package/dist/cdn/{GYL4W6ZG.js → JDCZUOU6.js} +0 -0
@@ -1,10 +1,10 @@
1
- Built 05/26/2026 19:47:25.06
1
+ Built 05/28/2026 18:02:01.22
2
2
  develop
3
- commit fd0effeb758f8f850b1d9bfae9fa713060676232
4
- Merge: 187530590 833092350
3
+ commit 63261a4fe69504710cc3e26b5576d792e3c14344
4
+ Merge: a983782f4 08cfc4bc0
5
5
  Author: John Hauck <jhauck@esri.com>
6
- Date: Tue May 26 18:30:12 2026 -0600
6
+ Date: Thu May 28 18:54:09 2026 -0600
7
7
 
8
- Merge pull request #2446 from Esri/remove-unused-import
8
+ Merge pull request #2462 from Esri/view-focus
9
9
 
10
- remove unused
10
+ View focus
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esri/solutions-components",
3
- "version": "5.1.0-next.135",
3
+ "version": "5.1.0-next.137",
4
4
  "description": "Web Components for Esri's Solutions Applications",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -70,7 +70,7 @@
70
70
  "rimraf": "^6.0.1",
71
71
  "sass-embedded": "^1.79.3",
72
72
  "tailwindcss": "3.4.17",
73
- "templates-common-library": ">=0.0.708",
73
+ "templates-common-library": ">=0.0.724",
74
74
  "tsx": "^4.19.2",
75
75
  "typescript": "~6.0.2",
76
76
  "vite": "^7.2.2",
@@ -109,7 +109,7 @@
109
109
  "@arcgis/instant-apps-components": "~5.0.0",
110
110
  "@arcgis/map-components": "~5.1.0-next",
111
111
  "@esri/calcite-components": "~5.1.0-next",
112
- "templates-common-library": ">=0.0.708"
112
+ "templates-common-library": ">=0.0.724"
113
113
  },
114
114
  "repository": {
115
115
  "type": "git",
@@ -161,7 +161,8 @@
161
161
  "@esri/calcite-components/@arcgis/components-utils": ">=5.1.0-next <5.2",
162
162
  "@arcgis/common-components/@arcgis/lumina": "~5.1.0-next",
163
163
  "@arcgis/map-components/@arcgis/lumina": "~5.1.0-next",
164
- "@arcgis/instant-apps-components/@arcgis/lumina": "~5.1.0-next"
164
+ "@arcgis/instant-apps-components/@arcgis/lumina": "~5.1.0-next",
165
+ "templates-common-library/@arcgis/core": "~5.1.0-next"
165
166
  },
166
167
  "packageManager": "yarn@4.5.1",
167
168
  "engines": {
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import x from"./TFTW5B3R.js";import t from"./H7J2FXMS.js";import s from"./KEOBSFBN.js";import r from"./HT2HC33W.js";import q from"./23LRX7AS.js";import n from"./3UJAJDSF.js";import m from"./P6ANTPJW.js";import l from"./B33EUN4X.js";import k from"./BTVZM7QH.js";import"./FILMKUOU.js";import j from"./S5F6KJQM.js";import"./ZS3UOY5Q.js";import i from"./SFFLZSAY.js";import g from"./GPL6FNKN.js";import e from"./GSD6O5J7.js";import{a as L}from"./7VD3Y4IF.js";import"./ONARC6AZ.js";import"./54AE7WD2.js";import"./WPGT2HLS.js";import c from"./XC3IZAIH.js";import b from"./EXC566PM.js";import{a as S,b as D,c as A}from"./2B4SGB3I.js";import{a as u}from"./I2NTSKBD.js";import"./3UKDJZ2D.js";import{a as C}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import"./TEHBW75B.js";import"./IHG7KTNC.js";import"./ZCU2WWVN.js";import"./WGO4EVOV.js";import"./YKB6256M.js";import"./N22MFQSQ.js";import"./N7BXCDA3.js";import"./ZX3UHK6P.js";import"./Z4F2NZOT.js";import"./KOIDWEP3.js";import"./3KXMYZCU.js";import"./LP2JYX4X.js";import"./GF4QELNV.js";import"./AYSQIO6L.js";import"./YQHYMLC7.js";import"./DKD2EGQP.js";import"./5O53T3SW.js";import"./AJZDBHB6.js";import"./FES7B3SJ.js";import{b as w}from"./2I5LGZNX.js";import{E as o,F as a,G as f,I as p,K as T,h as v,i as h,q as d}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([,,,,,{c:x,j:I,n:O,o:F,r:c},,{g:P,h:M},,{b:$},,,,m,B,{a:y}])=>{var k=v`.back-color-override{background-color:var(--calcite-color-surface-3);--calcite-tab-border-color: var(--calcite-color-surface-4)}:host{--panel-edge-adjustment: 2vw;--assistant-panel-min-width: 420px;--assistant-panel-width: max(var(--assistant-panel-min-width), calc((96vw - 1440px) / 2 + var(--panel-edge-adjustment) - 15px))}.display-none{display:none!important}.height-100{height:100%}calcite-tab-nav{padding-bottom:6px;padding-top:6px}calcite-tab{--calcite-color-focus: transparent}calcite-tab>*{--calcite-color-focus: initial}calcite-tabs{--calcite-tab-border-color: var(--calcite-color-border-2);flex:1;min-height:0}.tab-space-0{--calcite-tab-content-space-y: var(--calcite-spacing-none)}.tab-space-md{--calcite-tab-content-space-y: var(--calcite-spacing-md)}solutions-searchsort-toolbar,solutions-deploy-app-nav,solution-details-panel,solutions-deployed-shell,solutions-all-shell,calcite-tab-nav,solution-deployed-card-panel{width:1440px;display:block;max-width:96vw;padding-right:var(--calcite-spacing-none);padding-left:var(--calcite-spacing-none);margin-left:auto;margin-right:auto;box-sizing:border-box}.border{height:var(--calcite-spacing-px);border-bottom-color:var(--calcite-color-border-2);border-bottom-style:solid;border-bottom-width:var(--calcite-border-width-sm);box-sizing:border-box}.overflow-auto{overflow:auto}solution-details-panel{scroll-margin-top:3rem}.main-content{container-type:inline-size;display:flex;flex-direction:column;height:100%;overflow:hidden}.main-content.assistant-open{margin-right:var(--assistant-panel-width)}.assistant-open solutions-searchsort-toolbar,.assistant-open solution-details-panel,.assistant-open solutions-deployed-shell,.assistant-open solutions-all-shell,.assistant-open calcite-tab-nav,.assistant-open solution-deployed-card-panel{margin-left:max(var(--panel-edge-adjustment),calc((96vw - 1440px) / 2 + var(--panel-edge-adjustment)));margin-right:0;width:auto;max-width:1440px}.builder-panel{position:fixed;top:65px;left:max(var(--panel-edge-adjustment),calc((96vw - 1440px) / 2 + var(--panel-edge-adjustment)));right:var(--assistant-panel-width);bottom:0;z-index:400;display:flex;flex-direction:column;transition:transform .3s cubic-bezier(.4,0,.2,1);transform:translate(0);pointer-events:auto}.builder-panel.display-none{display:flex!important;transform:translate(100%);pointer-events:none}.builder-panel.display-none:has(~.assistant-panel.display-none){display:none!important;transition:none}.assistant-panel{position:fixed;top:65px;right:0;bottom:0;width:var(--assistant-panel-width);min-width:var(--assistant-panel-min-width);z-index:400;display:flex;flex-direction:column}@media(max-width:800px){.builder-panel{display:none!important}.assistant-panel{width:100%;box-shadow:none}.main-content.assistant-open{margin-right:0}}.assistant-fab{position:fixed;bottom:var(--calcite-spacing-xxl);right:var(--calcite-spacing-xxl);z-index:500}calcite-tooltip{--calcite-tooltip-max-size-x: 16rem}`,V={solution:{title:"Bus Stop ADA Compliance Inspections",description:"Bus Stop ADA Compliance Inspections can be used to perform routine inspections of bus stops for ADA compliance and monitor inspection progress.",tags:["Bus Stop","ADA Compliance","Inspection","Field","Monitor","ArcGIS Solutions"],strings:[{key:"inspectionsByMonth",value:"Inspections by Month",description:"Descriptive title of dashboard chart displaying the number of inspections completed by month."},{key:"inspectionsCompleted",value:"Inspections Completed",description:"Descriptive title of dashboard indicator displaying the total number of inspections completed."},{key:"assetInventory",value:"Bus Stop Inventory",description:"Descriptive title of dashboard indicator displaying the total number of bus stops."}]},items:[{id:"b21885d38b3c4924922ce36c90112737",title:"Bus Stop ADA Inspection Dashboard",description:"An ArcGIS Dashboards app used to monitor bus stop ADA compliance inspections.",type:"Dashboard"},{id:"54f69b6af00b4f06b1c1eef05e80dc93",title:"Bus Stop ADA Inspection Map",description:"A map used by the Bus Stop ADA Inspection Dashboard app to monitor inspections.",type:"Web Map"},{id:"2fc93fa4e07e42508669d02acb837a75",title:"Bus Stop ADA Inspection Field Map",description:"A map used in ArcGIS Field Maps to inspect bus stops in the field for ADA compliance.",type:"Web Map"},{id:"0bd4ecf9c95e4dcd8ff1744adc12f323",title:"BusStops_field",description:"A hosted feature layer view used to inspect bus stops for ADA compliance.",type:"Feature Layer (hosted, view)"},{id:"0bd4ecf9c95e4dcd8ff1744adc12f324",title:"BusStops_dashboard",description:"A hosted feature layer view used to monitor bus stop ADA inspections.",type:"Feature Layer (hosted, view)"},{id:"36d0bdce3a74436f8314c88c9667003e",title:"BusStops",description:"A hosted feature layer used to store bus stop and ADA inspection details.",type:"Feature Layer (hosted)"}],featureLayer:{itemId:"36d0bdce3a74436f8314c88c9667003e",addLayers:!0,layers:[{id:"0",type:"Point",name:"BusStops",description:"Point layer containing bus stop locations and ADA compliance information.",customFields:[{name:"stop_id",type:"string",alias:"Stop ID",description:"Identifier for the bus stop.",choiceList:null,length:255},{name:"location_description",type:"string",alias:"Location Description",description:"Description of the bus stop location.",choiceList:null,length:255},{name:"shelter_present",type:"string",alias:"Shelter Present",description:"Indicates if a waiting shelter is present at the bus stop.",choiceList:["Yes","No"],length:5},{name:"bench_present",type:"string",alias:"Bench Present",description:"Indicates if a bench is present at the bus stop.",choiceList:["Yes","No"],length:5},{name:"ada_compliant",type:"string",alias:"ADA Compliant",description:"Indicates if the bus stop meets ADA compliance requirements.",choiceList:["Yes","No"],length:5},{name:"capacity",type:"integer",alias:"Seating Capacity",description:"Number of people that can be seated at the bus stop."},{name:"distance_from_curb",type:"double",alias:"Distance from Curb (ft)",description:"Distance in feet from the curb to the shelter."},{name:"last_inspection_date",type:"date",alias:"Last Inspection Date",description:"Date of the most recent inspection."},{name:"installation_date",type:"date",alias:"Installation Date",description:"Date when the bus stop was installed."}],requiredFields:[{name:"route_number",type:"string",alias:"Route Number",description:"Number of the bus route that uses this stop.",choiceList:null,length:50},{name:"average_daily_riders",type:"integer",alias:"Average Daily Riders",description:"Average number of riders using this stop per day."},{name:"inspection_priority",type:"string",alias:"Inspection Priority",description:"Priority level for scheduling inspections.",choiceList:["High","Medium","Low"],length:10}],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record."},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record."}]},{id:"1",type:"Polyline",name:"Routes",description:"Polyline layer containing bus route paths.",customFields:[{name:"route_name",type:"string",alias:"Route Name",description:"Name of the bus route.",choiceList:null,length:100},{name:"route_type",type:"string",alias:"Route Type",description:"Type of bus route service.",choiceList:["Express","Local","Rapid"],length:20},{name:"frequency_minutes",type:"integer",alias:"Frequency (minutes)",description:"How often buses run on this route in minutes."},{name:"route_length_miles",type:"double",alias:"Route Length (miles)",description:"Total length of the route in miles."}],requiredFields:[{name:"route_id",type:"string",alias:"Route ID",description:"Unique identifier for the route.",choiceList:null,length:50},{name:"active",type:"string",alias:"Active Status",description:"Whether the route is currently active.",choiceList:["Yes","No"],length:3}],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record."},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record."}]},{id:"2",type:"Polygon",name:"ServiceAreas",description:"Polygon layer defining bus service coverage areas.",customFields:[{name:"area_name",type:"string",alias:"Area Name",description:"Name of the service area.",choiceList:null,length:100},{name:"service_level",type:"string",alias:"Service Level",description:"Level of service provided in this area.",choiceList:["High Frequency","Standard","Limited"],length:20},{name:"population",type:"integer",alias:"Population",description:"Estimated population within the service area."},{name:"area_sq_miles",type:"double",alias:"Area (sq miles)",description:"Size of the service area in square miles."}],requiredFields:[{name:"district_id",type:"string",alias:"District ID",description:"Unique identifier for the service district.",choiceList:null,length:50}],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record."},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record."}]},{id:"3",type:"Table",name:"Inspections",description:"Table containing inspection records and findings.",customFields:[{name:"inspection_id",type:"string",alias:"Inspection ID",description:"Unique identifier for the inspection.",choiceList:null,length:50},{name:"stop_id",type:"string",alias:"Bus Stop ID",description:"ID of the bus stop that was inspected.",choiceList:null,length:255},{name:"inspector_name",type:"string",alias:"Inspector Name",description:"Name of the person who performed the inspection.",choiceList:null,length:100},{name:"inspection_date",type:"date",alias:"Inspection Date",description:"Date when the inspection was performed."},{name:"overall_condition",type:"string",alias:"Overall Condition",description:"Overall condition assessment of the bus stop.",choiceList:["Excellent","Good","Fair","Poor","Critical"],length:20},{name:"issues_found",type:"integer",alias:"Issues Found",description:"Number of issues identified during inspection."},{name:"notes",type:"string",alias:"Inspection Notes",description:"Additional notes or comments about the inspection.",choiceList:null,length:1e3}],requiredFields:[{name:"inspection_status",type:"string",alias:"Inspection Status",description:"Current status of the inspection.",choiceList:["Scheduled","In Progress","Completed","Cancelled"],length:20}],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record."},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record."}]}]}},g=class extends f{constructor(){super(),this.initTitleOrId="",this.sortType="relevance",this.useLocalAppConfig=!1,this.loadExampleBuilderData=!1,this.authentication=void 0,this._isLoaded=!1,this.isMobile=!1,this._isViewportMobile=window.innerWidth<=800,this._isAssistantOpen=!1,this._builderVisible=!1,this._hasActiveBuilderDesign=!1,this._showFabTooltip=!0,this._activeTab="all-solutions",this._showDeployedCardFetchFailed=!1,this._globalAlerts=[],this._translations=C({name:"solutions-deploy-app",blocking:!0}),this._agoTerms=`${F}`,this._allCards=[],this._allShell=o(),this._allTab=o(),this._allTabTitle=o(),this._resourcesTab=o(),this._resourcesTabTitle=o(),this._categories=[],this._configContextProvider=u({context:D}),this._delay=!1,this._deployAppNav=o(),this._deployedCardPanel=o(),this._deployCardFetchFailedMessage="",this._deployedCardTab=o(),this._deployedCardTabTitle=o(),this._detailsShell=o(),this._detailsTab=o(),this._detailsTabTitle=o(),this._forceInit=!1,this._getSuggested=!1,this._tabpanelsFixed=!1,this._solutionBuilderPanel=o(),this._builderDesignContextProvider=u({context:A}),this._isMobileContextProvider=u({context:S}),this._handleWindowResize=()=>{let t=window.innerWidth<=800;this._isViewportMobile!==t&&(this._isViewportMobile=t,t&&(this._isAssistantOpen=!1,this._builderVisible=!1))},this._mainContentRef=o(),this._mySolutionsShell=o(),this._mySolutionsTab=o(),this._mySolutionsTabTitle=o(),this._sortField="relevance",this._sortOrder="desc",this._telemetryManager=new y,this.deployAppTabSelected=d(),this.deployedCardFetchFailed=d(),this.detailsCardSelected=d(),this.deployedCardSelected=d(),this.metaTagStringsReady=d(),this.sessionRefreshed=d(),this.tabChanged=d(),this.listenOn(window,"detailsCardSelected",this._detailsCardSelected),this.listenOn(window,"deployedCardSelected",this._deployedCardSelected),this.listenOn(window,"displayDeployedCard",this._handleDeployedCardDisplay),this.listenOn(window,"navTabSelected",this._setActiveTab),this.listenOn(window,"forceSelectTab",t=>this.selectTab(t.detail,{})),this.listenOn(window,"showGlobalAlert",this._handleShowGlobalAlert),this.listenOn(window,"openAssistant",()=>{this._openAssistant()}),this.listenOn(window,"closeAssistant",()=>{this._isAssistantOpen=!1,this._builderVisible=!1}),this.listenOn(window,"toggleSolutionBuilder",()=>{this._builderVisible=!this._builderVisible}),this.listenOn(window,"discardBuilder",t=>{this._hasActiveBuilderDesign=t.detail}),this.listenOn(window,"arcgis-solution-design-update",this._solutionBuilderSelected),window.addEventListener("resize",this._handleWindowResize),this._builderDesignContextProvider.value={design:this.loadExampleBuilderData?V:null,updateDesign:t=>{this._builderDesignContextProvider.value={...this._builderDesignContextProvider.value,design:t}},isBuilderVisible:!1,setBuilderVisible:t=>{this._builderVisible=t,this._builderDesignContextProvider.value={...this._builderDesignContextProvider.value,isBuilderVisible:t}}},this.loadExampleBuilderData&&(this._hasActiveBuilderDesign=!0)}static{this.properties={appConfig:1,initTab:1,initTitleOrId:1,sortType:1,useLocalAppConfig:5,loadExampleBuilderData:5,authentication:16,_isLoaded:16,isMobile:16,_isViewportMobile:16,_isAssistantOpen:16,_builderVisible:16,_hasActiveBuilderDesign:16,_showFabTooltip:16,_activeTab:16,_showDeployedCardFetchFailed:16,_globalAlerts:16,_translations:16}}static{this.styles=k}get _telemetry(){return this._configContextProvider.value?.telemetrySession}get _isDisconnectedEnvironment(){return this._configContextProvider.value?.isEnterprise===!0&&this._configContextProvider.value?.authentication?.CanSearchArcGISOnline===!1}get _readOnlyNotice(){return this._configContextProvider.value?.isEnterprise?this._translations.writableEnterprise||"":(this._translations.writableOnline||"").replace("{{url}}","https://status.arcgis.com/")}_openAssistant(){this._telemetry?.logEvent({category:c.ASSISTANT,action:"Open"}),this._isAssistantOpen=!0}async selectTab(t,e){if(this._isLoaded||this._forceInit){let i=this._getDefaultSearchOptions(e);switch(this._searchSortToolbar&&(this._searchSortToolbar.scope=t.tabType),t.tabType){case"all-solutions":this._allTab.value.selected=!0,this._allTabTitle.value.selected=!0,i&&await this._allShell.value?.searchSolutions(i);break;case"resources":this._resourcesTab.value.selected=!0,this._resourcesTabTitle.value.selected=!0;break;case"deployed-card":if(this.authentication?.IsSignedIn){if(this._forceInit=!0,this._isLoaded=!1,this._cardFetcherDeployed&&await this._getDeployedSolution(t.tabTitleOrId),this._deployedSolutions?.cards?.length>0){let s;this._deployedSolutions.cards.some(l=>l.id===t.tabTitleOrId?(s=l,this.deployedCardSelected.emit({card:s}),!0):!1),this._isLoaded=!0,this._forceInit=!1}else return this._isLoaded=!0,this._forceInit=!1,this.selectTab({tabTitleOrId:"",tabType:"deployments"},e);break}else await this.authentication?.signIn();case"details":if(this._allCards){let s=P(this._allCards,t.tabTitleOrId);s=s||M(this._allCards,t.tabTitleOrId),s?(this._detailsTab.value.selected=!0,this._detailsTabTitle.value.selected=!0,this.detailsCardSelected.emit(s)):(t.tabType="all-solutions",this._allTab.value.selected=!0,this._allTabTitle.value.selected=!0)}break;case"deployments":this._mySolutionsTab.value.selected=!0,this._mySolutionsTabTitle.value.selected=!0,this._searchSortToolbar&&i?.filter&&this._searchSortToolbar.changeOwnerFilter(i.filter!=="Organization"),i&&await this._mySolutionsShell.value?.searchSolutions(i);break}return this._builderVisible=!1,this._setActiveTab(new CustomEvent("setActiveTab",{detail:t})),this._blurTabs(),this._showDeployedCardFetchFailed&&(this.deployedCardFetchFailed.emit({message:this._deployCardFetchFailedMessage,title:this._translations.failedToOpen}),this._showDeployedCardFetchFailed=!1),!0}else return this._initTab=t,this._initFilters=e,!1}updated(t){this._fixTabpanelFocus(),t.has("_isAssistantOpen")&&this._setScrollbarGutters(this._isAssistantOpen?"stable":"stable both-edges"),!this._resizeObserver&&this._mainContentRef.value&&(this._resizeObserver=new ResizeObserver(e=>{for(let i of e){let s=i.contentRect.width<=800;this.isMobile!==s&&(this.isMobile=s,this._isMobileContextProvider.setValue(s))}}),this._resizeObserver.observe(this._mainContentRef.value))}_fixTabpanelFocus(){if(!this._tabpanelsFixed&&this._allTab.value){let t=[this._allTab,this._mySolutionsTab,this._resourcesTab,this._detailsTab,this._deployedCardTab];Promise.all(t.map(async e=>{let i=e.value;if(i&&(await i.componentOnReady?.(),i.shadowRoot)){let s=i.shadowRoot.querySelector('[role="tabpanel"]');s&&(s.tabIndex=-1)}})).then(()=>{this._tabpanelsFixed=!0,this._setupTabpanelObserver()}).catch(()=>{this._tabpanelsFixed=!0})}}_setupTabpanelObserver(){this._tabpanelObserver||(this._tabpanelObserver=new MutationObserver(t=>{t.forEach(e=>{if(e.type==="attributes"&&e.attributeName==="tabindex"){let i=e.target;i.getAttribute("role")==="tabpanel"&&i.tabIndex===0&&(i.tabIndex=-1)}})}),[this._allTab,this._mySolutionsTab,this._resourcesTab,this._detailsTab,this._deployedCardTab].forEach(t=>{let e=t.value;if(e?.shadowRoot){let i=e.shadowRoot.querySelector('[role="tabpanel"]');i&&this._tabpanelObserver.observe(i,{attributes:!0,attributeFilter:["tabindex"]})}}))}async load(){this.useLocalAppConfig&&(this.appConfig=$)}render(){let t=this._isLoaded?"display-none":"",e=this._isLoaded?"":"display-none";return h`<calcite-shell><solutions-deploy-app-nav .appConfig=${this.appConfig} .assistantOpen=${this._isAssistantOpen} .initTab=${this.initTab} @authInit=${this._handleAuthInit} slot=header ${a(this._deployAppNav)}></solutions-deploy-app-nav><div class=${`main-content${this._isAssistantOpen?" assistant-open":""}`} ${a(this._mainContentRef)}>${this._isSearchToolbarShowing()&&h`<div class="border"></div>`||""}<solutions-searchsort-toolbar ${a(async i=>{i&&(await this._deployAppNav.value?.componentOnReady(),this._searchSortToolbar=i)})}></solutions-searchsort-toolbar><calcite-loader class=${p(t)} id=solutions-loader .label=${this._translations.fetchingAllSolutions}></calcite-loader>${this._renderGlobalAlerts()}<calcite-tabs class=${p(e)} scale=l><calcite-tab-nav class="display-none" @calciteTabChange=${this._handleCalciteTabChanged} slot=title-group><calcite-tab-title ${a(this._allTabTitle)}>${this._translations.allSolutions}</calcite-tab-title><calcite-tab-title ${a(this._mySolutionsTabTitle)}>${this._translations.mySolutions}</calcite-tab-title><calcite-tab-title ${a(this._resourcesTabTitle)}>${this._translations.solutionResources}</calcite-tab-title><calcite-tab-title class="display-none" ${a(this._detailsTabTitle)}></calcite-tab-title><calcite-tab-title class="display-none" ${a(this._deployedCardTabTitle)}></calcite-tab-title></calcite-tab-nav><calcite-tab class="back-color-override tab-space-0" selected ${a(this._allTab)}><solutions-all-shell class="height-100" ${a(this._allShell)}></solutions-all-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._mySolutionsTab)}><solutions-deployed-shell class="height-100" ${a(this._mySolutionsShell)}></solutions-deployed-shell></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._resourcesTab)}><solutions-resources-shell .assistantOpen=${this._isAssistantOpen} class="height-100"></solutions-resources-shell></calcite-tab><calcite-tab class="back-color-override" ${a(this._detailsTab)}><solution-details-panel class="height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._detailsShell)}></solution-details-panel></calcite-tab><calcite-tab class="back-color-override tab-space-0" ${a(this._deployedCardTab)}><solution-deployed-card-panel class="shell-container height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._deployedCardPanel)}></solution-deployed-card-panel></calcite-tab></calcite-tabs></div>${!this._configContextProvider.value?.isEnterprise&&h`<div class=${`builder-panel${this._builderVisible&&!this._isViewportMobile?"":" display-none"}`}><solution-builder-assistant class="height-100" .readOnlyNotice=${this._readOnlyNotice} ${a(this._solutionBuilderPanel)}></solution-builder-assistant></div><div class=${`assistant-panel${this._isAssistantOpen&&!this._isViewportMobile?"":" display-none"}`}><arcgis-solutions-assistant class="height-100" .builderVisible=${this._builderVisible} .hasActiveBuilderDesign=${this._hasActiveBuilderDesign}></arcgis-solutions-assistant></div><calcite-fab aria-label=${this._translations.assistantFabTooltip??T} class=${`assistant-fab${this._isAssistantOpen||this._isViewportMobile?" display-none":""}`} icon=effects id=assistant-fab-button @click=${()=>{this._openAssistant(),this._showFabTooltip=!1}} scale=l></calcite-fab><calcite-tooltip class=${p(this._isAssistantOpen||this._isViewportMobile?"display-none":"")} .open=${this._showFabTooltip&&!this._isAssistantOpen&&!this._isViewportMobile} placement=leading reference-element=assistant-fab-button><span>${this._translations.assistantFabTooltip}</span></calcite-tooltip>`||""}</calcite-shell>`}loaded(){this._setScrollbarGutters()}disconnectedCallback(){super.disconnectedCallback(),window.removeEventListener("resize",this._handleWindowResize),this._resizeObserver?.disconnect(),this._tabpanelObserver?.disconnect()}_renderGlobalAlerts(){return L(this._globalAlerts,t=>t.id,t=>h`<calcite-alert .autoClose=${t.autoClose} .autoCloseDuration=${t.autoCloseDuration} .icon=${t.icon} .kind=${t.kind} .label=${t.title||""} @calciteAlertClose=${()=>this._removeGlobalAlert(t.id)} open>${t.title&&h`<div slot=title>${t.title}</div>`||""}<div slot=message>${t.message}</div></calcite-alert>`)}async _handleAuthInit(t){let e=t.detail;e.telemetrySession||(e.telemetrySession=y.getDisabledSession()),this._configContextProvider.setValue(e),e.authentication&&(this.authentication=e.authentication),this._cardFetcherDeployed=new m(e.locale,e.orgUrl,e.portalURL),this._cardsFetcher=new m(e.locale,e.orgUrl,e.portalURL),this._isDisconnectedEnvironment||await this._getSolutions(e.primarySolutionsGroupId,e.agoBasedEnterpriseSolutionsGroupId),this._configContextProvider.value.allCards=this._allCards,this._configContextProvider.value.anonAgolSession=this._cardsFetcher.anonAgolSession,this._configContextProvider.value.agolPortalUrl=this._cardsFetcher.agolPortalUrl,await this._initializeTelemetry(),this._isLoaded=!0,this._setRefreshInterval(),this._initTab?(this.selectTab(this._initTab,this._initFilters),this._logTabViewTelemetry(this._initTab.tabType),this._initTab=void 0,this._initFilters=void 0):this.authentication?.IsSignedIn&&(this.initTab==="details"||this.initTab==="deployed-card"||(this._logTabViewTelemetry(this._activeTab),this._emitMetaTagStrings(this._activeTab)))}_setActiveTab(t){let e=t.detail.tabType,i=this._activeTab!==e;switch(this._activeTab=e,i&&this._logTabViewTelemetry(e),e){case"all-solutions":this._allTabTitle.value?.click();break;case"deployments":this._mySolutionsTabTitle.value?.click();break;case"resources":this._resourcesTabTitle.value?.click();break;case"deployed-card":this._deployedCardTabTitle.value?.click();break;case"details":this._detailsTabTitle.value?.click();break}this._builderVisible=!1,e!=="details"&&e!=="deployed-card"&&(this._deployAppNav.value.activateMenuItem(e),this.deployAppTabSelected.emit(e),this._emitMetaTagStrings(e))}_logTabViewTelemetry(t,e){let i;switch(t){case"all-solutions":i=c.ALL_SOLUTIONS;break;case"deployments":i=c.DEPLOYMENTS;break;case"resources":i=c.RESOURCES;break;case"details":i=c.SOLUTION_DETAILS;break;case"deployed-card":i=c.DEPLOYMENTS;break}if(!((t==="details"||t==="deployed-card")&&!e)&&i){let s=[];if((t==="details"||t==="deployed-card")&&e){let n=e;s.push(n.title||""),s.push(n.deployCommonId||""),s.push(n.deployVersion||"")}let l=t==="deployed-card"?"Open":"View";this._telemetry?.logEvent({category:i,action:l,dimensions:s.length>0?s:void 0})}}_emitMetaTagStrings(t,e){let i="",s="";switch(t){case"all-solutions":i=this._translations.metaAllSolutionsTitle,s=this._translations.metaAllSolutionsDescription;break;case"deployments":case"deployed-card":i=this._translations.metaDeploymentsTitle,s=this._translations.metaDeploymentsDescription;break;case"resources":i=this._translations.metaResourcesTitle,s=this._translations.metaResourcesDescription;break;case"details":e&&(i=this._translations.metaDetailsTitle.replace("{title}",e.title),s=e.snippet);break}this.metaTagStringsReady.emit({pageType:t,title:i,description:s,detailTemplate:e})}_handleCalciteTabChanged(){this.tabChanged.emit(this._activeTab)}_detailsCardSelected(t){this._activeTab="details",this._detailsTabTitle.value.selected=!0,this._detailsTab.value.selected=!0,this._deployAppNav.value.clearMenuItems(),t?.detail&&(this._selectedDetailsCard=t.detail),this._logTabViewTelemetry("details",this._selectedDetailsCard),this._emitMetaTagStrings("details",this._selectedDetailsCard)}_deployedCardSelected(t){this._activeTab="deployed-card",this._deployedCardTabTitle.value.selected=!0,this._deployedCardTab.value.selected=!0,this._deployAppNav.value.clearMenuItems(),t?.detail?.card&&(this._selectedDeployedCard=t.detail.card),this._logTabViewTelemetry("deployed-card",this._selectedDeployedCard),this._emitMetaTagStrings("deployed-card")}_solutionBuilderSelected(t){t?.detail&&(this._builderVisible=!0,this._hasActiveBuilderDesign=!0,this._builderDesignContextProvider.value={design:t.detail,updateDesign:e=>{this._builderDesignContextProvider.value={...this._builderDesignContextProvider.value,design:e}},isBuilderVisible:!0,setBuilderVisible:e=>{this._builderVisible=e,this._builderDesignContextProvider.value={...this._builderDesignContextProvider.value,isBuilderVisible:e}}})}_handleDeployedCardDisplay(t){let{card:e,cardRef:i}=t.detail;this.deployedCardSelected.emit({card:e,cardRef:i})}_handleShowGlobalAlert(t){let e=t.detail,i=e.id||`alert-${Date.now()}-${Math.random().toString(36).substr(2,9)}`;this._globalAlerts=[...this._globalAlerts,{...e,id:i}]}_removeGlobalAlert(t){this._globalAlerts=this._globalAlerts.filter(e=>e.id!==t)}async _initializeTelemetry(){let t=this._configContextProvider.value;if(!this.authentication||!t)return;let e=await this._telemetryManager.initializeTelemetry(this.authentication,t);this._configContextProvider.value.telemetrySession=e}async _getSolutions(t,e){if(this._isDisconnectedEnvironment)return[];this._abortController?(this._abortController.abort(),this._abortController=new AbortController):this._abortController=new AbortController;let i=await this._cardsFetcher?.requestAvailableSolutionCards({q:this._agoTerms,filter:"type:Solution",sortField:this._sortField,sortOrder:this._sortOrder,nextStart:-1,categories:this._categories,delay:this._delay,getSuggested:this._getSuggested,num:100},t,e,this._configContextProvider.value.userSession,this._configContextProvider.value.isEnterprise,this._abortController.signal,{num:1e3});return this._abortController=void 0,this._allCards.length===0&&i?.cards&&(this._allCards=i?.cards),this._allCards}async _getDeployedSolution(t){let e=this._configContextProvider.value.authentication,i=this._configContextProvider.value.userSession;if(e&&i&&e.IsSignedIn){this._abortControllerDeployed?(this._abortControllerDeployed.abort(),this._abortControllerDeployed=new AbortController):this._abortControllerDeployed=new AbortController;let s=x(e);try{let l=await B(e,i,this._cardsFetcher,this._cardFetcherDeployed,O,"created","desc",!1,[],[],this._abortControllerDeployed.signal,s?"My organization's solutions":"My solutions",t);l.cards.length===0||l.cards[0].typeKeywords.indexOf("Deployed")<0?(this._deployCardFetchFailedMessage=this._translations.failedToFetchNotSolution.replace("{{ITEMID}}",t),this._showDeployedCardFetchFailed=!0):this._deployedSolutions=l}catch(l){let n=l.message;n.indexOf("CONT_0001")>-1||n.indexOf("Item does not exist or is inaccessible.")>-1?(this._deployCardFetchFailedMessage=this._translations.failedToFetchWrongId.replace("{{ITEMID}}",t),this._showDeployedCardFetchFailed=!0):n.indexOf("GWM_0003")>-1||n.indexOf("You do not have permissions to access this resource or perform this operation.")>-1?(this._deployCardFetchFailedMessage=this._translations.failedToFetchWrongPermissions.replace("{{ITEMID}}",t),this._showDeployedCardFetchFailed=!0):(this._showDeployedCardFetchFailed=!0,this._deployCardFetchFailedMessage=""),console.warn(l)}}}_blurTabs(){this._allTabTitle.value?.blur(),this._resourcesTabTitle.value?.blur(),this._detailsTabTitle.value?.blur(),this._mySolutionsTabTitle.value?.blur()}_isSearchToolbarShowing(){return this._activeTab==="all-solutions"||this._activeTab==="deployments"&&this.authentication?.IsSignedIn===!0}_getDefaultSearchOptions(t){let e;if(t){let i=t.domain,s=t.industry==="AEC"?I.AEC:t.industry,l=t.offerType,n=t.searchTerm,E="",r=t.sortField,b=t.owner,_=t.filter;r==="suggested"&&!this.authentication?.IsSignedIn&&(r=this.sortType),e=i||s?{type:i?"domain":s?"industry":""}:void 0,i&&(e=e?{...e,domain:i}:{domain:i}),s&&(e=e?{...e,industry:s}:{industry:s}),n&&(e=e?{...e,searchTerm:n}:{searchTerm:n}),e&&(e={...e,displayValue:E}),r&&(e=e?{...e,sortType:r}:{sortType:r}),l&&(r=l.toLowerCase(),e=e?{...e,sortType:r}:{sortType:r}),b&&(e=e?{...e,owner:b}:{owner:b}),_&&(e=e?{...e,filter:_}:{filter:_})}return e}_setScrollbarGutters(t="stable both-edges"){[this._allTab,this._mySolutionsTab,this._resourcesTab,this._detailsTab,this._deployedCardTab].forEach(e=>{let i=e.value?.shadowRoot?.firstElementChild;i?.style&&(i.style.scrollbarGutter=t)})}_setRefreshInterval(){let{userSession:t,authentication:e}=this._configContextProvider.value;if(t&&t.tokenDuration&&e?.IsSignedIn){let i=Date.now(),s=(e.Credential?.expires-i)*.95;setInterval(async()=>{if(e.Credential&&e.Credential.expires){await e.Credential?.refreshToken();let l=new Date(e.Credential.expires);t.updateToken(e.Credential.token,l),this.sessionRefreshed.emit(t.token)}},s)}}};w("solutions-deploy-app",g);return g},"identity/IdentityManager","identity/OAuthInfo","portal/Portal","intl",b,c,e,g,i,j,k,l,m,n,q,r,s,t,x)
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{b as I,c as b,d as m,e as T,f as B,g as Y,h as X}from"./ZS3UOY5Q.js";import{a as F}from"./ONARC6AZ.js";import{a as N,b as q}from"./54AE7WD2.js";import a from"./XC3IZAIH.js";import{c as W}from"./2B4SGB3I.js";import{b as E}from"./I2NTSKBD.js";import{a as V}from"./MGEDATQ7.js";import{b as D}from"./2I5LGZNX.js";import{E as _,F as L,G as x,K as d,h as f,i as n,q as C}from"./FFF5HUPM.js";export default $arcgis.t(([{q:A}])=>{var z=f`:host{display:block;block-size:100%;min-block-size:0}calcite-panel.builder-panel{--calcite-panel-background-color: var(--calcite-color-foreground-1);--calcite-color-focus: var(--calcite-color-brand);--calcite-panel-border-color: var(--calcite-color-border-2);--calcite-internal-panel-header-vertical-padding: 0px;--calcite-panel-header-content-space: 0px;border-top:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);border-bottom:var(--calcite-border-width-sm) solid var(--calcite-color-border-2);block-size:100%}calcite-panel.builder-panel::part(content){display:flex;flex-direction:column;overflow:hidden;min-height:0}.header-content-wrapper{display:flex;align-items:center;gap:var(--calcite-space-xs);height:65px;box-sizing:border-box;padding-inline-start:var(--calcite-space-3xl)}.header-title{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-1)}.section-header{font-size:var(--calcite-font-size-1);font-weight:var(--calcite-font-weight-bold);color:var(--calcite-color-text-1);display:block}.section-title{font-weight:500;color:var(--calcite-color-text-1)}calcite-input-text,calcite-input-number,calcite-text-area,calcite-combobox{font-weight:500}.textarea-wrapper{display:flex;flex-direction:column;align-items:stretch;flex-shrink:1;min-height:0}.textarea-wrapper calcite-text-area{flex-shrink:1;min-height:0;--calcite-text-area-min-height: auto;--calcite-text-area-max-height: fit-content;align-self:flex-start;width:100%}.draft-badge{display:inline-block;padding:2px 8px;background-color:var(--calcite-color-foreground-1);color:var(--calcite-color-text-1);border:1px solid var(--calcite-color-border-2);border-radius:12px;font-size:var(--calcite-font-size--2);font-weight:500}.builder-content{display:flex;flex-direction:column;flex:1 1 auto;min-block-size:0;overflow:auto}.builder-content-flow{display:flex;flex-direction:column;overflow:hidden;min-block-size:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--calcite-space-xxl);text-align:center;color:var(--calcite-color-text-3)}.empty-state calcite-icon{margin-bottom:var(--calcite-space-md);color:var(--calcite-color-text-3)}.empty-state p{margin:0;font-size:var(--calcite-font-size--1)}.header-divider{width:1px;height:2rem;background-color:var(--calcite-color-border-3);margin:0 var(--calcite-space-xxs);align-self:center}.content-container{display:flex;margin:var(--calcite-space-lg)}.solution-item-section{flex:1 1 auto;min-width:0;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg) var(--calcite-space-lg) 0 0}.solution-item-inputs{display:flex;flex-direction:column}.thumbnail-inputs-row{display:flex;align-items:flex-start}.thumbnail-container{flex-shrink:0;flex-grow:0;overflow:hidden;width:300px}.thumbnail-container img{display:block;width:100%;height:100%;object-fit:cover}.stacked-inputs{flex:1;display:flex;flex-direction:column;gap:var(--calcite-space-md);min-width:0}.stacked-inputs calcite-input-text,.stacked-inputs calcite-text-area{width:100%;max-width:100%;min-width:0;box-sizing:border-box}.actions-section{flex:0 2 300px;min-width:200px;background:var(--calcite-color-foreground-1);padding:var(--calcite-space-lg)}.action-buttons{display:flex;flex-direction:column;gap:var(--calcite-space-lg)}.action-buttons>calcite-button:first-child{margin-top:1.4rem}.action-buttons calcite-notice{margin:0;--calcite-notice-icon-color: var(--calcite-color-brand)}.solution-item-content-section{display:flex;flex-direction:column;margin:0 var(--calcite-space-lg);padding:var(--calcite-space-lg)}.section-header{font-size:var(--calcite-font-size-0);font-weight:500;color:var(--calcite-color-text-2);margin:0 0 var(--calcite-space-md) 0}calcite-list-item calcite-action[slot=actions-end]{padding-right:var(--calcite-space-sm)}.layer-form-content{padding:var(--calcite-space-3xl)}calcite-flow{--calcite-flow-background-color: var(--calcite-color-foreground-1);flex:1 1 auto;min-block-size:0;margin:0;padding:0}calcite-flow-item{--calcite-flow-item-content-padding: 0}.layer-selector-container{display:flex;flex-direction:column;align-items:stretch}.new-layer-button{padding-right:var(--calcite-space-2xl)}.layer-selector-row{display:flex;gap:var(--calcite-space-md);align-items:center}.layer-selector-label{color:var(--calcite-color-text-1);font-size:var(--calcite-font-size--1);white-space:nowrap}.layer-selector-row calcite-combobox{flex:1;min-width:0}.layer-selector-row>calcite-button{flex-shrink:0}.layer-selector-container calcite-combobox{width:100%}.layer-properties-container{display:flex;gap:var(--calcite-space-md);margin-top:var(--calcite-space-lg)}.layer-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg);margin-top:var(--calcite-space-lg)}.flow-details-container{background-color:var(--calcite-color-surface-1);padding:var(--calcite-space-lg);margin:var(--calcite-space-3xl)}.layer-properties-section{display:flex;flex-direction:column;gap:var(--calcite-space-md)}.layer-properties-row{display:flex;gap:var(--calcite-space-md);align-items:flex-start}.layer-properties-row>*{flex:1;min-width:0}.layer-type-control-row{display:flex;gap:var(--calcite-space-md);align-items:flex-end}.layer-type-control-row calcite-combobox{flex:1;min-width:0}.layer-type-control-row>calcite-button{flex-shrink:0}.layer-properties-container>*{flex:1;min-width:0}.layer-properties-container calcite-input-text,.layer-properties-container calcite-combobox{width:100%}.layer-description-container{margin-top:var(--calcite-space-lg)}.layer-description-container calcite-text-area{width:100%;display:block}.fields-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.fields-section>calcite-label{width:100%}.fields-section calcite-table{width:100%}.field-type-cell,.field-name-cell{display:flex;align-items:center;gap:var(--calcite-space-xs)}.lock-icon{--calcite-icon-color: var(--calcite-color-text-3);flex-shrink:0}.info-cell-content{display:flex;align-items:center;justify-content:space-between;width:100%;gap:var(--calcite-space-sm)}.info-cell-content calcite-icon{cursor:pointer;color:var(--calcite-color-text-3);flex-shrink:0}.info-cell-content calcite-icon:hover{color:var(--calcite-color-brand)}.choice-list-tooltip{margin:0;padding-left:var(--calcite-space-lg);list-style-type:disc}.choice-list-tooltip li{padding:var(--calcite-space-xxs) 0}.edit-cell-content{display:flex;justify-content:center;align-items:center}.edit-icon{cursor:pointer;color:var(--calcite-color-text-3)}.edit-icon:hover{color:var(--calcite-color-brand)}.add-field-button{align-self:flex-start}.add-layer-button{margin-top:var(--calcite-space-md);margin-bottom:var(--calcite-space-sm)}.info-icon-blue{--calcite-icon-color: var(--calcite-color-brand);flex-shrink:0;cursor:default}.domain-section{margin-top:var(--calcite-space-lg);display:flex;flex-direction:column;align-items:flex-start;width:100%}.domain-section .section-title{margin-bottom:var(--calcite-space-sm)}.domain-section>div{width:100%}.domain-actions-row{display:flex;justify-content:space-between;align-items:center;width:100%}.content-item-flow-heading{display:flex;align-items:center;gap:var(--calcite-space-sm);font-size:var(--calcite-font-size-0);font-weight:var(--calcite-font-weight-medium)}.popover-content{padding:var(--calcite-space-lg);min-width:420px}.popover-field{margin-top:var(--calcite-space-md)}.popover-actions{display:flex;justify-content:flex-end;gap:var(--calcite-space-sm);margin-top:var(--calcite-space-lg)}.padding-top-sm{padding-top:var(--calcite-space-sm)}.discard-changes-button{display:flex;flex-direction:row;gap:var(--calcite-space-md)}.display-none{display:none}`,P="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQVR4nO3dT6hcZ3on4O8ELwytwgoYooVBCtbCi4DUkEWgDZZX8WbGCskiO8swRRYTsLzqXmSwDFl0VpahZ5E5AcurCUNCy2TTs/IVdCCLhkjQCy8cWgIvHDDEnuMGLwxn+Cpf2eXrc6rOqTqn6vx5Hrio+9a9dctS3Vu/+77veb8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABgIrJTPwCGoSzLUz8EYMSyvLgYQrgeQrix8eczGx/yKIRwt1wu7oWRyjIvmTTn2cKKgAW0keXFZpCKf15u+KkPQgg3y+Xi8zAyAhZtPNXqowGYnSwvNoNUfLt2wN29FEK4n+4PJkscZ0UFC9gIU5tvMRD14fWxtQtVsGhDBQtgprK8uLIRpNYVqs25qT7dCiGMKmBBGwIWwAw0GELvyhchhIchhLP0Z/xab1V8XF+VMRgE9U5WtAhhkkPom3NTTYfQ23qQgtQqVJXLxeOax/Jhxee+XC4XMYiNghYhbahgAUznir4uhtC3ebRRmXpYLhfxz51iiMryoqeHBMMkYAGMr9W3WZ16qccw9XAjTI2m0gRDIGABjGdNwq2eqlNPNtt8KVCNbk8VDImABTDcUBUD1c2O56fOD6Gf9R2m0tWKVYQ4JkvAAhhW++9Wx5WqB+cqU98bQj+CGBK/p+kMF4yRgAUwjGrV7RDCax1e0dd4CP0I4n9b1WOFyRKwAE579d+dPQfVv0hVqbMhD6FneXG7psVpySiTJmABHFmWF7EFeHuPNuCjdI7f/QFVp3ZV5mKArAqH8b8DJkvAAhh2xepRqvbcP9H81F6yvLiZHnfVtvi7rlJk6qylZcUmd+i9knO3RbBaV3jujqFSde5qwZvpre6/9VG5XMS/j9GxyZ02VLAA+r0qMFas3mixj+pOqlZ9PpJAdWPj7XKD4BjbozB5AhbA8VtkVVfUxWrV/RFtkW+7nyuGqxtjqsjBIdQ7WdEihE6rOvcatgO/SK3DQV4BuOFmClWH7OZ6M62P2GWwW+S1CGnDs4UVAat1ZaLvc+CAb89DXK2jOPWQv4BFG54trAhYu2V5cSfNj3R5bAnQ3AeplXqSip+ARRueLawIWDuvAIuzMYIVDEOcWbt97HkuAYs2fqfVR8M8F0L+q3AFgxJb8/+aqsowSOI4KypYteHqvVM/DmCr91M1q/fBeBUs2vBsYUXAqty4/WGDH+xxFmQ1eDvUs+BghC35uA5icyXEtQbD8Df6DlkCFm14trAiYH1v18/jLfuL3o3LIId6KTlMNHTFsxtf2/Jh75fLRa9LTAUs2vBsYUXA+laWF3drNm/HnUU3VargpJXlu1sqWm+Xy0Vvc1kCFm14trAiYH1nSeRvam7+oS3UMIgKc1zk+uqxv08FLNpwFSF8160tvxkLV3BisTVfLhc3006sKrHCBScnYMHugPWkz7YDsPf3ahxuP++l1EqEkxKw4LuDtFX7roQrGJh0kUldxTkOxMNJCVjwrbrfeuMWd2BgUts+rks579U0qwUnI2DB9oD1wDoGGLS6CnOc04KTEbDgW1W/8VrJAANWLhePa2axzGFxUgIWfPd8s/NcOQjDV9XGjzOVcDICFmynPQjDV/WL0K7jdaBXAhZstzpnEBg0vwgxOAIW7J7vAIbN9ymDI2ABMGp+EWKIBCwAgI4JWAAAHROwAAA6JmABAHTsqa7vEACGIMuLptvcHxuUp2sCFgBT9WHTD8zyIqQjd+6Wy8W9Xh8Vs6BFCADfbn9/L8uLh1leOGqHgwhYAPD9oHUmZHEIAQsAvu+ZFLKunPqBME4CFgDUhyzzWOzFkDsAk1QuF1mTj0utwFshhDcqbn4py4tbBt9pSwULgFkrl4uH5XJxO4Twes2H3DnyQ2ICBCwA+M+gFatUH1TcdNnAO20JWADwrVjJqnLzyI+DkROwACBJG93jwtHzmm6FhxVD7jDuIz72Vi4XZ2HmsrwoT/0Y5jpYPnD30y6sTVqEtKKCBQDfdVazsgEaE7AAADomYAEAdEzAAoDvMm/FwQy5A3zXy2G6Hqer5Dox4YsEqgLWgxM8DkZMBQtgPi6c+gEMXZYXF2t2Xj08wcNhxAQsgPkQsJotGq26YnD2a01oR8ACmI+ns7wQsmpkeRErV29V3PSkXC7ibixozAwWwLxcCiF8HGag5cLeGzXhKnLYM60JWMBWWV78bRiwcrn4i1M/hpG5lOVFHHb/Okzfhx3cx6N0CDS0okUIML9frK+ECcny4lZPd/1FCKGv+2biBCyA+Xkuy4unwwRkeXE3hPBeT3cfK32uHmQvAhbAPL0QplG5eqPHL3EtBThoTcACmKeLaefTKKXHfozw80bLYXlYMeQObGWIfNLiLNZYW2B3a/ZVfZF2WZ212VqfQlS8z2s1VxEKWbSiggUwX6OsYqXH/FpNuLoSr/preyRQuVycpRD1qOLml7K8mNSFAfRPwAKYt7gXa2xu1r2/XC4+3/dO0+febvk1oZKABTBvz4bxuVGzr+rg42zSfVRVsbQIaUXAApi3p0bYJrxe8b4ul4Heb/g1oZYhdwBiwNq7tdbnqQE1F1lUDaJ3OaxfdV+XO7x/ZkAFC4DR66I9uOHkYZPxE7AAADomYAEAdEzAAuDLMHIdb1sf29A/A2TIHY47nHuKeRKY2szRo4pB93iVX1ffN1VXDD7p6L6ZCRUs4DuH52Z58XCEl+2zv8/K5eLrMC5VV/nFg5+7UrVUdKxHCnEiAhbwTbgKIbyXKgNnQtZsfBLGp6pSda2LNmG6j6o1EKrKtCJgAZvhak3ImofPDzla5oTup3MHv/f+Dp6zd7d8TWhMwIKZqwhXmyHLi8q0B9t/HUYohcKq5+YzIYTHqdXdKmhleXE9y4uzmurVg7aHR4Mhd5ixLeEqpApB3cG3jNunIYSPRzh7tel2mpWKoWrTM+k5/V6WF119rTtd3RHzIWDBTDUIVzfK5cJg7zR8FYfZ09WCn488WH1Txcry4vaW53BX3nVVL/sQsGCGhKtZWAeqeJVgDFiTUy4X97K8uBJCeKunL/GoXC5UcdmLgAUzI1xN2uep/TfG1Qt7KZeLO1lePO6pknUlzmb5fmAfAhbMiHA1SV+nVQufTrVS1bCS1UfAivNc92oWj8JWAhZ04JCt7Uc49mPtlRDCj2tuE67GJ4apx+VyEStWVCiXi6zJx8UqVRqYf6tmv9atGOK6f4RMmYAF8yBcTWu9wscj3V81SOm5/3BLqzFeRShg0Yo9WDB9wtV0KlYflcvFr4SrfqQq1fsVN11OVS5oTMCC8bnU4mOFq2mIlZUYrLQD+3enxfmEUEvAgnH5SQjh70IIVw8MV78VrkbTDozB6vFcrgo8tbSx/YOKm/qYi2TCzGBBB7K8+Nu+B99TuPrjjfPS4n6ej/cMV7eFq8GLVwV+dOoHMVPxe+PVc+/TIqQVFSwYh81wFf0ghayr+4SrLcGMYYizVsLV6VRtbj9/JA9sJWDB8F0/F662hSzhahrhyqwVjJyABeNoV/xNzW2bIUu4Gj/hCibCDBaMwy/Snz/eErLin1WEq3GIu62Eq2GI5xvCQQQsmE7I6iVcVQ3wH6KH4f8p+LxcLuJxNwxD1RWDD07wOBgxLUIYX8iqaxeep3I1HgbaByLLi4shhNcqbnLVLa0IWDDNkCVcjcdsD2keqLojce4f+XEwcgIWTC9kCVfjYu5qILK8uF2x/yp6Ui4XVasboJYZLJjWTJZwNTLOFexPlhdNt69fTN83L7U8PgdqCVgwnZDVS7gylM6IfdjBfTxIh0BDKwIWTCNkfZlaTSpX7bycZmts6abuQHSHPLMXAQum4ZdhBrK8uJJe8K5X7CqKMzJnbWZl4semNtLZqUJWlhfPlsvFZ6f42mz1JD7XtHDZl4AFDF4KQXe2zMiEdNtbWV58kRav3m3y4hgPvT5xyLoUQhCwhuWDEMIt4YpDuIoQGLQsL+6mWZpt4WpTDElvhRAeZ3lxq8knxJBVs1zyGJ6NVawTfW2+74flcqFyxcFUsIDByvLiXs3Sx6ZB670Usna+YKZK1pvhNF7I8uJhuVzEWTo6Ui4XWd1tWV7cr1nJEFvPlopyMBUsYJCyvLhzQLjaFCtfMTzFua2tyuUiVss+P9Evu9ezvLhwgq89V/GK2yqNqp6wi4AFDHWYPbb56jwKIbwbQng7vcWZmTh7VedynLFqErLSsTVfh9OFrLiTiZ6Vy8XjEML7FTe9mp5/cBABCxhTdSEGq5fL5eJ6uVzcLpeLO+ktXll4JYWtL7a0DO/tCjDp2Jr44htOGLLi4Dv9ixXLKqeax2NCBCxgiOoqTTfq1jDEGasYtlLQihWtKte2nDW3eV+fnKhVuDmT9cIJv/4spIsb4jqG8wQsDmbIHQbIuWeVAetBw7UL8WNubhmQjy2gOPR+v0Gr8A9P+HPyUprJ+rXDoHsVnwdvnHufFiEHU8EChujg6lG5XNyqmbEJI2gVrsWA9YeG33tV9W/cZFYPthKwgLG86F3ZM2Q9qJvHGkGrMKQKWgxZ5rL6UbWSwdFJHEzAAoaoqkV6ueni0HNu1Qy+r1qFA76qsGou67lTP4gJqgru265IhUYELGCI6qpLcYh9n8vx74y8Vbh21fB756ragRaNcjABCxjTjqK9qlhpgejYW4Wbw+8qWd2pumJwKP/WjJiABQzVna6qWBNrFa4rWWayDpQO+Y6rO86b+1W8dEDAAuZSxZpSq3Adsp4+9YMYubrnw64VHrCTgAXMpoo1sVZhvLrQPNae0p60eE5l1b61IQVpRsqiUWYtnTkW20MOeB2g+EKX5cX7FQtDV1WscrnYGYoq3EpDzM+MdAHppouxVVguF5+e+oEMuAV43sV0FFNVuDqkBQ3fMYQfEHDKUFU1f9FauVz8Rej/hWGu2+Lv1Gxkj++/t2doi5/7Tk2r8Mq2jfGxVZjlRaxwXA3DEJ/PAla1D1t+/Acj+r5g4LQImYUsL+IBunezvIiVi9+kF9dOwhXjmsWaYKvwaQPvnYgXQKhk0xkVLCYpDSzHKtWN9KfNzOPWaRVrgq3CZ1WxDg5X8SDxoYRmJmAIPxigy7baOlSpTk1IH7NYJ2gVxhUPn6XK15flcvHlll8O4tWBF1NwavJzOn4c+4mVzPgcMthOpwQsRt32S2Eqvr164N09iS/WHT00RlLFiq3CtAPrpZpW4c1drcIsL2K42bbiIQaqT8rl4rOGj2kd6lYVqdT+i3NWW1cyxAOh60IblRWrOGt118wVfRGwGNtw+o0O236P0r6b++Vy8TDLi7Kjh8p4rijss1UY92Z9dGjbKV0h+GkKWle3/Nz28/yccrnITv0YmC/fkMyt7fdB+s01hiotgfHpo4rVR6swVqw+3ufxbPk6MWR9lnZfaQnCwAlYTH04/ck6UMU/DbGOW19VrI5bhbFq1cvAeblcxDmuX6cDn105CAMmYDGkUHWzg1mq9WyFKtV09XFFYVetwqeOMQdVLhcfZXkRW5CxbR5/aXjslwcYFgGLk0kVg1sdhKoH61BlYHX6eqxiHdwqDEeUHu9npxxsjzNO6RekdcW5yaHZMAsCFqcYVL+dgtUzB7T9Vi0/bb/+ZXnxt31/jT024fdSxTq0VXhsQ7hqMH3/rS4WOfVjgSERsDhmC/D2AYPqhtM5xhWFXbQKm1y4Eb/G9Yrvh0cbz3PVWBgxAYvepErA+u2ZfYfTD31BY7L6qmId1CrcEazu7vgl41p6eyPLCwswYcScRUjn4gtQlhfxBejn6QXwmRah6t0Qwg/L5SK+iMUXF+GKo51R2NVZhedleXE7HTzcpoIb25RxP1usdAEjo4JF51IF4POGwSpe9RdD1D0tEQZ0RWFnrcIUrqqqYU3Er30Wq19xGe4erfn1aQdr8fvyoe816J8tt6yUZbdLzLO8iBWAN7Z8yIP0Anh/KEPqVZvcT7UJOrWTejWVF9ksL+7VhKzXD5zF2haO4i8GO1uFqU0eK7mHitXd602+V1L1bte84/oXm9tD+f4bw/dvlnnJpDktQvpyVvNDPbYAf79cLuJv5Pem8sOdk7rT8v1HaRWm1t62j4ntzZc33l6v+VohnZN5Z9fXy/IiVrnea9CKfCaF0lhtHtSVkTAV4ji9VLCi1CYMG+f9DXqeSgVrvHquYl2paRVGf1L1vE7tucc1nxN/0aht+aUKVAxJVV6u+ndLYe7sgNUnB/89nZoKFkNjBos+tZ4bgaHNYrW9qjCFq21hZ+v3RQw6KdS9VfP1vtMq7CBcRe/F8xRrwtv6gPWq0H+WZroG/csTnIIWIb0RrpjCFYV7tAq3rWJ4vcn3Rblc3Ek7sba2ClOYu78jXD1Kj72u/bh2P93f6n5jqExV6A9T2Hup4i2+/+fx42IVMQVDQMACJqS3WazkVmrvhaqrCuP/SJWuqkpa9HbLNlxdMIw7sm5sVMou1329EMLvlstFrHjdSG+xx/VmzX/HKiymQPo4haemVbH1TFdcKxEH7GH2BCxgEo5QxXq8JazdS8Giqq0XvZ+qUm2+3sMUkiq/XoNK2Z2qi0hSNa5uxu/VNP+1b7sxft47WV58Uw2DuRKwgCnptYq1o1X4zpYW3V5VnR2twrpK2bu7KmU7wlsXXk37u4QsZkvAAiaj7yrWjlZh2HLF4CHrSNo87lgpu31geKv77/gghbL12wc7/h5idS0GUpglAQuYmr6rWNtahV2HqzbVpn0qZbca/DfErx2vlLyZ2o7rt/j/L6b9XXVB6zUzWcyVpR70tgdrbIa0B4vh7sXa+Bpn6Uq6OpU7svb8WjHIPNwy0N5os3zNfd/ZMjv2wyZXPW4M3F/r8rG1YQ8WQ6OCBUxR31cU7moVvtvlbqgUTrZVm/Y+8mZHq7BRezJ97Rs19xPn01SxmB0BC5icY8xi7WgV3up6wDstAY1HTVU5NMBsXQnRMmRVhc7bdmQxNwIWMFW9V7EOOatwT3fSwc/nXUutvr3sWgnRNCymkHW35u+jy+ohDJ6ABUzSka4obLSA9EitwrfSsTn73nej7fEN7+dJzcC7KhazIWABU3aMKtauBaTHbBXeO3Wr8IgzcDBoAhYwWceqYmkVfu9+7m2pYrUJajBaAhYwdceqpmgVNhu8V8ViFgQsYM5VrM6Cz8Rahbe3tAobhbe0pqKqqveSKhZzIGABc1AXfDrdzzShVmFX4a3uMThCh8kTsIA5V7H6qKYMqVV45ZThLQW1BzX30eWVnDA4AhYwF0eZxdrSKoxzTfG2MIYFpB3OedXdh1ksJk3AAmbhmFWsilbh2+Vycb3JuX57unOuahb/95vlcnFQC7SLVuER95HBoAhYwJwccz/TrRSy4oHJvVZrzlWb4teMYe7ugOa8ao8UOuBxwaA5GpyVsvzeQfSzk+XF9/4SyuXC98jEZHkRKy+vVdz0cqrYjFasxPXx35AqfB/W3PzDJpW5LX/vjT5/CN+/WebHAc2pYAFzM9kt430FxC2twlgti9WzwVzJCUMhYAGzcuQrCqdks1W4nvGKFbNGg/vp4x7UbHfvdEcYDIGABczRZKtYR5jzOmTGq+5zVLGYHAELmB1VrP1bhW2qVjXb3asG5g27MzkCFjBXqlinUVXFsrKByRGwgFlSxTqZezWb7rUJmRQBC5gzVazTzHLFVmHVXq29gu2BRwJBLwQs2MIP7mlTxTqZrheP+j5lcAQs2M4P7ulTxTpNsP2gZmXDPt9z1jwwOAIWbOcH98SpYp3M3Q6rWDdqDteGkxGw4FtVSxCvn+BxcHyqWEeWtsNXrWy4vcfi0ZsV7+vrYG1oRMCCb1Ud+aGCMQOqWCdTFWCfqQlMldK/z+WKm0Z9riTjJ2DB9h/I8QVWm3AeVLGO737NyoY2f+d1H1t1pSIcjYAFu3/jbfzbNMcXA3CsYpx7ax2KVbFOtrIh7sWqWjy68+88fcxLFTd9kO4bTkbAgqRcLh7WzISoYAxQ3Pyd5UX8N/uPEMKH597+I96W5UXbeR5VrOM75HzCuoH4fc5JhE4JWPBddb9Ne4EdiCwvbmZ5EatN78XllFs+NN72TgjhcfycJvetinV8W/7OX22wsqEqSD1IA/RwUgIW7A5Y0VtZXrii8MSyvIgvqD+vGWquE4emf57lRd2/7XmqWMd3b58qVqo6n7/615mGDIKABd//bfrdmpvPVDFOJ7b7QghvHHAXrzUJWapYx5cqTlV7q241aPFu/pu+mf794OQELKiuVHxRUwn5MFZRXFl4XKlVFNt9h2oUslSxTuJuzffc1opUuVysD49+v1wuzF4xGNmpHwDDUJblqR/CoKRKRRyW3iZWOeJv3uvfmB+6cqnX6lVVwPptCOEfQgi/CCF8mt53KYTwSgjhz0IIP6i5y3fL5WJr+ykFsdcqbnrZjE8/srz4PIWqTU/K5eLKrgseUtDqVZZ5yaQ5zxZWBKzqH9ppkJp+xaHkra23LC/Oai7HX4YQPq75tBi0/jqE8HzN7a9ve1FOVbPf7PN42U+6mOStipv+pFwuTr7XSsCiDS1CqJFefF8/9eOg1r9vCVchVbRilerfam5/L4XoSmaxRn8+IZyUgAUVsrx4KsuLWAH5VaqSxBdzhuXLhh/z09RKbB2yzGIdV2qx161sMPfIqAhYsCHLi2ezvHghhPBiCCH++Wyqkvx5+sEvaHVv166juoN7n09zVrt8nCpZrUOWKtZJ1LVtnajAqGgoE+Y+g5XlxdMhhOdSmIr/e5cYvuJOrKs7Fl3SULlcbP1ZlHaQ/WvFTb9N4bdJNetqakHVDb5XDq+bxTq+tEj2csXxNycNWWawaMOzhdkGrFitSsFqCK2HeNXbX2558V/7IoWEu3O7YnHLVX3/HEL4q4Z3sy1kxb/bG2l5ZdOv7YrC/hbKvtE2iPdNwKINLUJmJ85WZXnxRyGEPxhAuIqVmb8LIfy4QbiKrarr5XJxZ27hKrlds5/sR+nvMbRoF1Z5Ji2Trbovs1gDaBM2PfIIhkDAYjbikGwKVi80bAX2ab1C4J0tawTWHqRKya05b6lOobIu0PykxV3FkPXf24Qss1iDOXjdcVWMhoDFLGas0gvm9QEEqwvpkvP/nSov2zxJu5pi20ob6j9feO9WnD0X/V7LS/n/z5YVHHWVLFWs46p6zguzjIaAxdSDVaxW/dEAWoHrYPX3NbM8m2Ib7O24vfoY26lHqK7F91qqDDZxYcees3XI+uZ5o4o1iIBVtWwWBknAYurBqukL7rGCVZM5qxisVEW2t4/ePrBV+FS6r1Yha0u1auuxO+ylsmpbMyMHgyNgMbUZq7EGq9j2+mGas5rjAHtbd2tmdK6lKzKb/PuEjZD1Zs3HXdsMWVuqWCpYHUt/11UXNZy6Gg2NCFhMZTnoesbq1MHqUqqi/FPDYPUknbNWuR6AaimE1s1c/eVmgKpxsWK2qyo4fS9k1Sw9PX9AMd2o+rsWZhkFAYsxH2Xz3MDWLfwkDa//cYOP35yzOvkhtmOUBv8/qLjpB00G3s8fvRKrhw1C1o2a+66qtNBPwDr19zo0n0OAscjy4sLG1vUhPH9fTMe1NN3oPttFoT2Js083KipIfxpC+GXNC/TmC/Xn50NWlheh5kKE+G/8Yc19ucqzH1XfI2awGIUhvEDBzmpVClTPNWj9HMOFNOfzZ2k9QBOCVU9zOlle3En7xKpahf9ty6fH59T39ortCFl1VCH7EYPrW6d+ELAPe/8Z7FE56SibZwcwV7V2KYWqVxrMVm3OWMXN69Yt9CjLi4c1VcTY8tv2d/8v5XLxVc19xtD0aoMv70zCnqSW7IdD+ft2VA5tqGAxxBbgpRYHLw+xDRgJVsd1q+Yw6Pjv9osQwqc1nxefZ59suc+zHf/uj0IIjm85LruwGAVxnJNXsOLeqhSqLg0oVF1KlapXWrQB1+sWYrAykzOQA4J3HAb9Vblc/MuO+72TwtblcwH6nn1l/cvyohzKoc8qWLTh2cJJAtZAK1XratUrDY6xqWpFxfkqqxZOJF0V+LhmZcL/SEPvVX5dLhefNbz/OGD90Bzd8QhYjJVnC0cJWGlQ/WIKVBcHFqrWs1UvtqxWGVwfmCwvYrvu5xU3/XsaeP+y4rbPBePhErAYK88WegtY6Tf+zbchubAxW/V8y899lEKV+aoByvLirGZO5x9DCD+r+TRVqYESsBgrQ+50WaG6MOBAdWgLMFar4lVl2oDDF+elHtbsxooD7x9XfM6VHTuzAFoRx2lVwdoIUk+nt3W7b0gtv6pQtX5rul5hc5j5bhpoVuEYiTSY/lZN9bHuYGZVrAFSwWKsPFv4JmBtDPF+XTGrcmFkFc+rG1cBtg1VqlUTkOXF43NX/q39zxDCP+xzRSHHJ2AxVmN6weR41gPpY/NiCohth9W/M1sVw5VKxmRahR/WvP8XFb9EPJ3lRTwb8nvb3QHaErAYu0Paf+sW4Lpa5YV1QuIusiwv3q848uYH6WDuqt1YV7K8+KxcLqquNgRoTMBibNZX/62rVfuEqnULMM5VWQg6bXHe6mbFwPuP1jutKj7nhRDCr470+ICJErAYyzzV9TRP1Xalwqb3U/vPwbwzEVu9WV7EkPVexc0/qdmNdSHLi6vlclF1tSFAIwIWQ61SrWepru85T7X2QapWmauaqbivLMuLWxW7sX4v7UGr2mf2XJYXX5bLRd0ZhgBbCVgMrUr1YstDlasIVZx3u+Yw6Ne2HAZ9NYUs81hAawIWpzye5vpGqNpnlur8TJX2H5Xiuo0sL96u2Y31k5rdWPHn4/UsL+J+LCELaEXAYtPTRxhOv95B22/z6r8zoYqG4gqOWxW7sa6l+b5Yyar6GflCCllxP8VY3pkAAAq4SURBVBxAI7amsbloNB4XEt+6cD21/dZvhwynb+6pupdClQWgtJblxY2a3Vi/DSH8ec1h0CG9X8gayKLREMLvnqL9b9Eobahg0UVlaj0/dTW1/roIU5utv7hKwTwVXe3GijN6r7bYjfXNhRcqWSfxRcWajfjzxooVBk3Aoo1LGxWp6+n/H9rqO+/BRqBSpaIPcd7qRs1urNjG/uWOkPWRmayjelhxBSgMnoBFnasVb4cMom9r+52t31Sp6Fvc2J8Og35ny26sTxtUsoSs04kBWQWLQROwWEnLGF9MQerQNQm7htM3A5XjaTi6crm4m+XFzYrKSPwl4q9TyKqzvrrwY3uyjuKs4t+pq1lR6I2AxVrVb/NdtfwepjeBiiG5lZ6X51uFz6dK1k+3fO766sKnPad7V1XVjiMKMGgCFptB6KUDB1FXISr9+dgMFSNoFdYdo/PH6Xlctbrh/OHQF0MIvzb83puqnyN9VtmhE6455T/9r/93L221btrm+6YqlcKU3+IZpSwvtj3336x5gT/v6xSyzBAeb1XDy8c+rN2aBtpQwWLtYc2LzKONMLV68yLCxNxOLaeqqshfp9t3Hfy8nsv6xCHRvXhU8e8TZ+gMujNYAhZrZ+fmpWJVyg8vJi/+wpAG3qvmsX6QNsA3CVnrQ6Jjy9Aqh26dVQSseCUhDJZ6J99scoc527LlPfq3FLLahKZP0i8qZrMOlALwzytu+v1jjidoEdLG77T6aICJShXb12tufj5VsuIerKaeCyH8YZYXz3b0EOesrpoegxcMkoAFkJTLxb002L4tZMVdcW0OUP+DLC/ifFabcMaGNPcZRxiqVm3AIAlYAOeWkIYQ3u8wZEUXUzVrtTurg4c5R/Fc0vOupUPqYXAELIBzyuXi1paQtR5832fZ5aUUtOL+LBcZHR6wonjsEQyOiT1WDLlD6x1Z0d80WEZa5+s0CB9XOxiEbyDLixiyXq1YcnzlGOtjDLnThgoWwH6VrOjH6VidfearYgUrtrf+SEXroCrWM+kKTxgUcZwVFSyol47U2XZe57+lswsPWTKqotVAlhdxLcPlc+9+Ui4Xvc9iqWDRhgoWQLPB97oVDpvD768c8GU2K1qG4evFtu15l7O8MIvFoIjjrKhgwW5x3ULayXR+4/umf07VrC42uX8a3xxP9a20Kf9xxb9B77NYKli0oYIF0FC5XMTjdK6ns/Hq/CiE8PchhBc7+JLxqsO4Qyu+xf89eylAxWrheTFwWTzKYIjjrKhgQTtZXsQX+Td2fFiX1azoqzSn9emc57S2VLF6ncVSwaINzxZWBCzY+4y8eztahr9NH/MPHX7pr1P7MA7Ex9A1O2nm6q2Km15PG/m7/5oCFi14trAiYMF+0ibx+IL+0o4PjVca/iyEENuMXVoHra6qZKNwiiqWgEUbni2sCFjQySqHOzuqWdH/TYEsBqMuxdmkx3MaiD92FUvAog3PFlYELDhqNSukBaaxbdh15Wk2QevYVSwBizY8W1gRsOAk1azfppAlaHV/sUHnVSwBizY8W1gRsKCX6srdHWcZbgatnx1wruE2MWB9PNUZrVQ1/E3FTZ1XsQQs2vBsYUXAgn5keXEjVbOatA3/PbUY+whan6aK1lczOpS70yqWgEUbni2sCFjQrywvbqWgdf4cvbqg9dMerjhcnXdYLhdxbmkyjlXFErBow7OFFQELBjefFdLG+Hs9BK0vU9twMvNZx6hiCVi04dnCioAFR5/Pup3emgatn/aw2uGT1DYc/Vb4Y1SxBCza8GxhRcCCkwWtOw2O3Olzh1asZn00hSH4vqtYAhZteLawImDByasvdxpecRj9YwpaXYWir1PLsOsK2VCqWI/K5eL6wfcvYNGCZwsrAhYMJiDE1Q6vNvjwPnZoxUOkPwrTrGK9XC4XZwfdt4BFC54trAhYMNrVDuug1dU6ghjWHo51LmtLFetBuVzcOOi+BSxa8GxhRcCCwQatWNG6duQdWmMPWb1UsQQs2vBsYUXAgknt0Ipb4X954Jf9OoWs0Q2/91XFErBow7OFFQELJhe0utihFUPWv4yxktVHFUvAoo3fafXRAJxMWjUQr4Z7O4TwxY4Pj23Fd1KLcd8r6J6Kn5vlRfxzbO60fD90ShxnRQULJr+s9B9T63AfX5bLxa/CyGR5cVZzocBeVSwVLNpQwQIYoXjMTblc3EnVqfcbfMqfhhAu7fnlLmR58UIYH1UsTkbAAhixeHBzuVzE2azfbxC0XjzgS13K8mLfgHYSqUr1oOKml9IVmtAbAQtgWkHr5ZpQEb1y4Je5muXF02FcVLE4CQELYEJi1SatIoiD8Oc9f0CbMIrD7qNqFapicSoCFsA03e+hTRhdzPLiuTAuqlgcnYAFMEHlchH3Xz3pIWBFV8a0umFHFevgQ6ChioAFMK8qVtyPdeHA+43hKm5LH5O6alVccwGdE7AApqvuAOguqljPjWngfUsV67V0tA50SsACmKie24TR2IKJWSyORsACmF+b8EcdtAnXu7FUsaCCgAUwbX22CSNXFEIFAQtgwo7QJrw0gSsK499P67MJYRsBC2D6+mwTxnB1aaRVvRisXi+XiyvlclFX6YO9CFgA06dNuCGFKcGKXmX93j1jUZblqR8C0KMsLz4PITxz7t3/HEL4q46+xK/K5eLLMGFZ5iWT5lSwAObdJgxzrGJB3wQsgHno62zCtWc7uh+YBAELYAbK5SIGrC96DFhPZXkhZEEiYAHMu4rVVcAKI7yaEHojYAHMO2D9oMs24Zh2YkGfBCyAmThCmzC62OF9wWgJWADz0neb0BwWCFgAs9N7m7Cj+4FRE7AAZsTVhHAcAhbA/FQdbKxNCB0SsADmp65NeL2j+zfozuwJWADz0/dW96ezvLjQ0X3BKAlYADNTLhfx4OcPKm6ydBQ6ImABzFNVFev3QghXO7p/c1jMmoAFME91bcJXOmwTPt3RfcHoCFgAM3SkNqEqFrMlYAHMV99tQnNYzJaABTBffbcJL2gTMlcCFsBMaRNCfwQsgHk767lN+FxH9wOjImABzJulo9ADAQtgxsrl4nEI4VHPbUJVLGZHwALgXsX7nu/wKsBns7x4qqP7glEQsADou00Yw5Vhd2ZFwAKYuS1twq7WNURXOrwvGDwBC4BjtAnjsLsqFrMhYAFwjDZhZNid2RCwADhWm/BilhcXO7w/GCwBC4BjtQmjFzq8LxgsAQuAbVvdu24TBucTMgfZqR8Aw1CW5akfAjAAWV7EVuHlc++OrcPbe97l1yGEz9dv5XLxZRipLPOSSXMWvwFwftj9jXPvuxZCiMfd7ApH8fav0p+rt3K5iP8fZkfAAuD8HNb5gLVuE/4iBah1iFpXp74SpOC71DtZ0SIEdrQJ/6lcLv5rmDEtQtow5A5Ak51Y/8WKBWhOwAKgybqG6OaRHweMloAFwHeUy8XDEMKTipsELGhIwAKgaZvwVW1CaEbAAqCKNiEcQMACoK5N+MXGu2LL8P0QQnw/sIM9WADUuRsPaI7VrBS4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgHAc/x97PbQLfmBOBwAAAABJRU5ErkJggg==",S="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQVR4nO3dT4ic17nn8fNevPGfQgq64DDYSMZG3lxQe2k7oDaaIV7YI925wZlZqQ23FvENuIMWNsFBEjFGWXjchowN8w64tTUZIiMvnOEaSZBYy7SW0dhYRubiwBWR5vWfZQ2P9Lzyq1fnvH+q3j/nPef7gcZWV3d1qatU9avnPOc5xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEAlY98A9GuxWIx9E4KWpNk+Y8yafuzTD3Gw4tsu6H+v6MeOfCzmM/l/ABFKEl6OQ8M9GjgCVveSNDtijJGPdWPM3g6v+gtjzHljzJnFfHamw+sF4DkCVni4RwNHwOq0UnVCg9WuAX7kDQla8jOpbAHhI2CFh3s0cASszoLV0RFvxmmCFhA2AlZ4/m7sGwD4KkkzCVafjxyujP78z/X2AAAmgMgcOCpY7SVptlt7oQ60+LbPjDFfGWM+NcZ8rf91ecwY84D+94fGmEdb/JxL0vu1mM+ut/geAJ6jghUe7tHAEbDaSdJsTcNVXZ/VN8aYP+rHjoaqZUnYkp/7I/24v0F/loQs+bkAAkDACg/3aOAIWJ2HK6kgfaQffXlWP6oqaIQsICAErPBwjwaOgNWqmX2nIlz91RjzW61YDUWqWT83xjxYEbLWaH4Hpo+AFR6a3IFbzlSEqz8YY/554HBl9Of9s/58G7m9zMsCAA8RsBC9JM22KpbjfmOMObVij9UqvtafL7fD5oDefgCAR6hJBo4lwkZ9V392XPybnnut2pK+rFcclz1BPxYwXSwRhocKFmLnqv78b8/CldHbI7fLhioWAHiEyBw4KlhLVa8+094nX/0vx+wsqljARFHBCg8VLMRs0/F52S3oM+nJavP3AQAMjICFmMnBzWWyY8/3KtCnjp2Ftr8PAGAEBCxEKUmzI46xDL71XbnYbucu/XsBAEZGwEKs1h3DRH2vXuV29PY2+XsBAAZGwEKspMG9bOhBoqv6Y8O/FwBgYAQsxOqgo7dpSnYa/r0AAAO7Z+gfCHjsqw6va81RTdrpcBlyrOnyAIAaBCygu4D1Q2PMhh7SfL/ja44aY77R5b3tFX+m9XuTNNu9mM+ur3C9AIAVEbCA760Sdn6i4coVrIrka36sQUxC1u+6vL2EKwAYHwELWN2rGpjakqD1L8aYxyqGhwIAJogmd2CccFX0Y70eAEAgqGChlSTN5DiWt8yELOazvg75+klNuLpRamhfcww3NXo9n66wXFgpSbMQDqU8uZjPTox9IwCgCQIWGpPmaWMML3B3NrS7gtXmYj6T/qo7JGkm37PlCFob2vze5W7GkGwmabZFjxmAKWCJEG1sV1RgYuNqaL9kjNlnC1dCP79Pv67s/orQhluPPQ60BjAJBCw0omfcHR77dnhEdgDaKlfrdRUWvXxdv77J9eLOKpZUUgHAawQs1NIXNFnWwve9VLbq1WbT5Sv9Ols1Rq6X426qq1g8FgF4jx4sNCF9V3stn7+wmM9iPFzYFoBuuJYFXeTrpafIsuy61vWh0z02+vcd7Hcsj72j2os1lYO5AUSIChYqJWkmL/YvOy6mX+h7y77YExKqq3yuTRVUsQB4jYCFOtsVW+avDHxbYtqhiO83Bdg2BBzUHZkA4CUCFpySNJPqwQHLRZeYR9QrxjTcybVzcIuGdwC+ImDhLkma7dPqgOuFjcrB3ZZtTKehvcZiPjtvjPnAcpH0rrXqewOAodDkHnGI0nlMQhrVd+uLfdW0cfE2zcU3+6aOlj63S0Jpm0Z3DbG233Xsv1+bTX2cln9fh2WEyGI+OzPS7QIAq8ntLEJL//P/rRUagg+ueG1fSAALYZK24+iYZ1pcxYeWUQ03dMho7e9Hl7auWALDN8aY51rcjnMh7Bhc8Zimxr93wFdJEuQ/26ixRBi+3RqsVg1XQio0vIjdIkfalElYOl/XF6SXn3dUr2zXi1vBUd4oXLBcJL9HKlgAvELACl8XPT5SIXhRe2Fwy7ZWm8pkU8AV1w43/fwVx+YBuT56iqptOCbgy65CNl4A8AY9WOFbZZfVJa0MbDOSwbrTT8LQvzgqKu/pENFiP1Vdf5tcHzsIK8jjUIOUbanweJJmV9oOfAWAPhCwwtckYN3QIHBFP6RStcNyYK3fGWMeM8b82HH5rhZLs3/Q60ODpcIkzdYdZ2NKsM3nZwHAaAhYcS4RntZqCSFqdaf0v66Q1TRc5deD5kuFtmN08pAlO2TlOB0e3wBGQQ9WnGQZ5TwvPp2RcPQ/HD1ZVb7R7yNctaSP3SOOfixxXHvhTmjYAoBBUcGKE/1U3fud7gCUysqPLCMcysFKvpaeqxXIPDaZgWUbVVFYoj2uvVlfaD/hjlZumTUGoFcErPDZ3r0TsPrxVaEalQ9tLbv5Aj/w7QqWVGKTNHtRZ71VbSDYWzy0XPq0dBPH9ULvodH75npN9Zd/PwBqEbDCZ+tRQf8IUgORhvYkzXa0QtXm8Z6Pymg1I07DWaPNIow2AeJFDxaAyZMlv8V8JtXakxV9WX3Ld40e1aXJc0maXU/STAIgfWBAZAhYAIKxmM9kRpaEmRcdB0SPEbokcH2uc9EARIKABSC4HYaybLiYz6QB/gcatk5rz9WYXpZq1si3AcBA6MECEPo4Bwk1t4NNkmZrWuXKNyHI0NJ8KK/tCKMuHU3STHqzCFpA4AhYcaL5GtHSEQ15U3wrOkHe5r8YYx43xtyrVbN/qLgaWcYkYAGBI2DFSd6pM2QUaMm2KzBJs/uMMf+tNP7kE2PMHj1KqVwVY2cvEAF6sOLEjiagO7Z5Z+K/6+DZu7CrEAgfFSwAWM1+y+euLeazTyrmZknAYmApEDAqWADQfcC6XPM9VLCAwBGwAGBJSZpJn5V8VG0kuWC53NUsDyAQBCwAWN7Djs9frtm1S8ACAkfACt8lxy5CAP0ELOm/+rbwZ9t5hHt1HheAQBGwwmcbx8ATO9BfwPqy9GfXgc/WHYYAwkDACh/zroD+PGT53FXLNHnbuYgELCBgBKzw0f8B9EAHjO6pC1jKNjV+V5Jmcl4igAARsOKsYLFFHOinelUVsG5YPk8VCwgUASvOCpY02NLoDqxGzh4s+24xn10rf1KXCW1VrMNMdQfCRMCK8Ow0xTIh0P2AUVv1KrddcfgzgMAQsOId1UDvB7Ba/1WrCe76Zsf6b5GKMhAeziKMgyxNHLA9qevSBYB21losyRdtGWPeK31ul1axNk0AkjRb19/P7oaVcgme8jy0U1FxByaHgBVPwDpueVKXz7NUCLT3nGPAaNUSoVSxtpM0kzC1t3TRyzp4dGMxn03qEGitvm3oc8nhJa7iYOG6jI60kKC1zRtATBlLhBFYzGc7jvPQDuqTPYCGkjQ71OD8QbNEL5YEjZ0kzSZRyZLm/CTN5O/yN2PMW0uGK5vDen1/k+tnEwCmioAVD1eQOs4TGNBMkmYyuf15x8UfN7yaLcfIhryy/FaSZud9/XcpFSsNVp8bY472/OPk+j/XoEWfGiaFgBUJ7W047biYKhZQQ5fwjhlj7rVcfNE2nsFGl702K0KWt9Us7a+6MkCwKpOfd0V/PjAJydg3AP1aLBZ3/DlJsx1Lw7t4ZGq9H6tI0uzOX8wtfzDGnDLT8aox5sflTy7mM/5ddyhJM1kO/Knj3434zhjzy9IBz02uVypU28UeJIcLPvRmJWm2YWnQryI7Jr82xnxa8TWPGWMeqPjd2rwovWwmMEnCP9vQcI/GF7DkHeA5y5eeXMxnJyIPWFMKWdZwJQhYnYUqqVg9VTGxPfeu9jku+7OkSnVClwddpNp1YjGfyfKir+Hqr8aYP+rHMr8P+X3/SD8ejC1kEbDCwz0aWcAS0t9hedf8xWI+87Lnow9Jml2veEHzPWQ5w5W8EC/mM3pVlgtUj+tsq/2OJnab04v57JMOfr631ayKN2W5z/S2S7DqioQsCXWPVnzNMyGNdSBghYd7NM6A5Xo3+sQq78Qn2E9zfoIhqzJcyVb5WO7DDgaFri0RqIrLgu93Ea58rmZpY/kVx+35RoPV73q8CT/RoHW/4/ewL5RRDgSs8HCPRhiwKio4vxhrCWIMEwxZhKsVJWkmS35rLXt+bNPa36+beRVCNUt3Cx51hKvNmv6qrkif1pYjZEkFMYgDswlY4eEejTdgnbHMrbmwmM+i2qUzoZBFuFr9fn5hiUpVOVidXcxnzuNwRqhmrcrZGqBBT0YxjBmumoQs5wYdx/PcKOp6IwlY4WFMQ7zkiaes7h1zcDSUrFdsmf+xhpsxEa5WWArUJfGfLRmuvtT5VrJL8M2hwpXQavKaY0hwn88DOdeml1MDhyujP8/1Rqdqc05QjfCYFiJzvBUs17vToBpHA6hkEa5W67M61mAXYDlQydKfBKm/NJ1tNeFqlrXvUnuvZEJ72Z+MMa+Z8bxujHna8vkfuHqxKnYMD815GwUVrPBQwYqUltRvtDjENmieVrIIV6vZaBCurmmF6l3tQfy1bP+X5nVfwlWP1awvKh4/Rxyf/60Z129b3t78bMPRhdKMj+Y47DluO5ZlwSgDlpAXG92S7qpk5WFniEoW4Wr1imRVI/tFCVZ9Nar3+KZovcNqVtXj54hjHMNXZlxf6e141HJ7tyv+nl70YSEuBKy42eZhRTMLy+OQRbhanTS0u5YA3/GpOrVkNavv3b62N1pdzrlaxR8tAcv5xlAHKJ/waG4YIsESYdxsL9LRNbp7tlxIuOrmQGZbQ/uXugQ42XA1oL2Wz/nyuNtpeHuBUVHBipurKXRfTOcSelTJIlx1w1XNeGfg24HvRyys6ZmDOTmjcGeE3YhjPf6qDvZGoAhYEZPdgkma2S6SZcKoA9YIIYtw1R2pYJVdpnK1sraPv2d1o8GDNecXSu/URz3ejqHtnuBtRg9YIoTtnVXUfVgjLBcSrrp1r+Vzg82vws1KlYxTeKXBoc0P6te9XqpwTRnPn7iJgAXbCzdPEMOFLMIVQvKANuDbZlVVeVq/L4SQZXv+jG62IAhYsPdhEbCGCVmEq3GrWujeq5Ydfk096sGpCV2wbRRiBlaECFiggjVOyCJc9edaw74sdOvZmsrVhcKHy9N6PZOkJ2TY8G85QgQsoPuQ9fOaq5HLCVf9IWCNQxrabS7ogczr+Yf8uSJoua5nyjtY+fccIQIWmIXVfcj6p4p34c/q5TaEq278xfK5e5M0W+awZzQfxWBraL+goeqOXcnyZw1atpD1oF7fFMnfyXYkEUuEESJggX/4/YSsVywh61n9vA3hqjsyrd3m8YFvR0zWlqxGuS6f6pFdtiOGaHCPFAELGCZkEa4GspjPvnUsE9Yd/IzlPeCoXlXO09PLbVWsByZ6/qVtojwBK1IELFxp2ayJ9iFLGtoJV8Oyzb2iDwt9clXjCFiRImBFruIdJgGr28Z3G8JVf65aPkfAQi+SNNvtCFiXYj92LGYELGCYkFVGuBo+YDELqz9ytmDZwbpKuF5+sOH1+WzTcZyWDE9FpAhYwPAhi3A1EnYS9sb1WJZzBqu4Lp/Mv40kzaRyddzx7/zMCDcJniBgAcOGLMLVuDsJCVj9+FQPbrZVsc6XK1nyZ/m8o3r1V72+qTS2u6pUW4xniBsBC+KLgLZJ+xyyCFfDeahl8MLqXNUoCVGfa9C6+SF/rpi3V1f18smWY2lQZl+dGOH2wCMELAhbE6Y0baK7kEW4GtZ9FSMc0I+PjDF/qrj8YOHD5U96Pd5L0mzd8Xe54ZiHhcgQsID+Q5ZUCAlXw9pv+ZxtNha6dcoY89mS3/uZfv/UxzJs8m8d4h5+DUB/9ImWkRfDsy1xszzYv691R92rNQc/2ypXpya2e9B2LM7pxXw2pSVO9IiABSAoSZrtdzSz284oRPckJL2mpxdsOM4oLDa0b09lWbDENrWdXYO4jYAFIDTPOz7Pss2wPtKPx7Si+EAphO1MZbegY/egDUNFcRsBC0Aw9IVvv2OiNj1Y4/h0qkGqgnUTEL1XKKLJHUAQkjS7r6Lx+F8HvjkAIkfAAhBKuDrmOA7n8mI+sx3+DCzresulQ0SIgAXXkwVPFJjS8TfHHMNFv5vY4EpMQMVSIPMDcRs9WBDyZHG49DlGC8B7WjHYqDjI+Wxd71WSZg/rG4p89+GeUkCTg6Ov6X+lGmY7SBow+jiSSfUAAQvOnS8H5LywxXzGrhj43G91oOLLLi7ms48rruMpY8yhimN1jAa3vGn+Sf2+a/qm5GMa56N2wTLJnco/biNgwVS84zpScZApMAqtOP2s5uBmCVfbFXOyfloTrKrs0WB2KEmzy1olo8crPjuWgGUbPopI0YMFo1Uq24HPMpEZ8IZWnY7VhCtxVatcxe/dk6TZRkW/1jIkrB2T6y3/PATP1oe1Vyr/I9wWeIgKFnLybv+45clCztWiioXRJWn2glaOmpCvfUErTNIz9bBjPlZXZPlwLUmzN+nRigaVf1RKqi/G1C0Wi0Zfp++6PnecDL9GLxbGpJWnmz1QPbqkYax4pM7DWi17vEXVS86j+8RMWJJmtieOZ4w/zpU/sZjPBn89S9Jsx9IHKENtW/diJQkvx6HhHg1c04AlkjSTKtZRxwvP+mI+s85+AUYOV9caLBlWudhwt6EsAa41aIyffMgiYDUjFX5jzFuWi55oO9WdgBUeerBQtKkVqzJ5h0bJG76FKxmh8K4x5nVjzIf65za+NMbIkt52k92Ai/nsWwlNi/ns1/J9+v0uR7UZH2FzHe5M/yqoYIWuTQWr8IL2nuPiD2RrPJUseBCuJBC9W+x30grTIf2eqoqWfO+HXVSYkjSTg6Wfq/g5r0swMxNDBau5JM3OW3YTih+0ea6kghUe7tHAtQ1YNUuF+XLhEXqy0Kea4JJXnpzBRatH0tR+n/73qla4drpuQtexDy85hp3KrKz3zcQQsDp5U3pyMZ+daHw9BKzgcI8GbpmAVdG8mbuhlSxXeRxYdTq7zLlaKlx5eJt/ObWBpASsdpI0kzecey0XPdL0zSgBKzz0YMFlXatVNruMMb9P0uxMkmacvYWuzxWUisBkwpXQhmbpA7ORahzC5qpUcQ5mxAhYsNLegXU9DsJFzi+8ojtpgC64ltq+8zVc5Rbz2Vntuyrj+JTA6akBtmHNB3l+jBcBC5UhazGfScg6XfFlUs16S5YUkzTjmAisOkj0oSmGqwJbFeteXUJE2FxBSp4fXVVZBIyAhVqL+UyeHF50jHDISb/WOV025KgILNMo7prS/v5UpqPrzkTbuIgQRjY8Zvzgy+24g/akyk5rmy1CdnwIWGhTAl+rWTLMlw2lmtV49wzipuMVZGnQdWjz1AZ22g5+7vOYnqFseRBuHvN8Jt+G442oVPrpx4oMAQuNyW4YXTL8RU01S55Mjst8GJrg0SBcHXP0XUlT++RGHOhIiLIQDoK+f+SQlYcruR2+967aHKAfKy4ELLSmhz/vq+nNMjp8j1EOqApXVX1X2xPpuyornmWYa3qOoS9Oexay6sJV3XPR0DtKpaXC5gRvOuNBwMIqDfBSDn+iZtlQdtGwXAjbOIZjFZPaJ9N3FSL9t+1LyKoNV3p7fWupOOmo7h8Z4SZhBAQsrPxuTZcNq5rgZbmQxnfcrFrplPZfVVR1pth3VfT3JgCehKzJhauCLcdzIm84I0HAQpfv2PZVDCflSSXialWSZk/pVvW39AgcW8+V+FIfS1P2UMPGd++NHLKmHK7yfizb895eRtrEgdn8gVv2qJxlaX/BzqrHRsC7XqmmPUSP63/36MfDFWFqMpPa20jSzFadu7SYz94xE1VzPuk3OgPq0w5/5KTDVen58IouDVbefo7KCc89Y98AhEXetelOmd9bLpbPs4vGz36oNQ1H9440UuCi9l19G8Dv8qGGje+TIWEgSTPjCFl5JaurkBVEuCo8H56x/N7ow4oAS4Toa+Ce7dgInlT8W7qTRvM3dDffgRHClewWfFeWBacermrOHZSq7qQNtFwYTLgqsO2k3pWkGc+HgSNgoS+u3gOmGXsgSTNZuvvViAMwr+mxMr/Ube2hLKU+6egrs51RODk9h6wQw1X+htPW7E7AChxLhOiLPKm853hSCeIFdeI2WvRGdeWa3veXQwlVJa6REx+bgPS0XBhkuCqwLRPS6B44Ahb67D24oMNGi3hSGZmOSehr8KU0qn9b2Dkn/39VqzghLAE2afAvujbxkRNDhKzQw5UrYN2s6Af6ZgMELAzwpFIOWOU/Y3iHKvqhdjQQFYd8fsfQz0Zsy63Bvnh2FLJiCFfivOPz6yE/RmJHwEKfrE8cvGsbj8yjqjj3751QeoVG6r+y/V6DfpyvGLJiCVd5Rf+SbiQpByyfD6/GCmhyR28W85nrXRtT3f3qE5LKFeFqNa4l1+B/p0s2vkcTrgpsz4ds+gkYAQt9s01250llvBlNtmWsTwhX/Yjl99oyZMUYrlwBS/qwOPw5UCwRom9yXEQZTygFOrpCxiZIE/hOjy/KazHschtJEOcPDrBc+FtjzM8jDFdVy8Xy79JV7ceEEbAwxJNKubGdCtb3fTvHSstLLyRpJrvvtnsIWtJ/FeyMppFJdbAsut9rg5D1SsW3hxyu5HdzJUmzG5Zjc6QPi4AVIAIWxqhg4ZafOXp3ZBnvV0manV3MZx93OFjU9rO8HCGgh+Guaxjf3XD36QV9vEmoP1/RAziU6AJWg5AVZbiqecNJT2qgCFjACDTwVE1Rv1erWTJbqYtjZLw/wkWPDpEX2cNLXkX+wiXff1xf5D/Q35/tuBL4EbJiCVdCQj8BKxI0uQPjaLpMKtu630jSbOkjbfR7y9vDjU5UH73KkqSZvBhf0QPClw1XLnJ9v5frl59jhjXWMURTaHyPMVy5KvoErEARsIBxSAWrKalmHUvS7AXt22pbKXvJcfFZM/IyoAYrOVJpb88/Tq7/PQ1afZwm8JcerjP0kBVbuHJVjPt+7GMkBCxgHLahlJd1JlXVBHapZj3fJGhpuDrm+lmL+Ux+3iiSNJPDwM+N8OIiP++c/nyMF7JiDFeCntSI0IOFvjGSwc4WkCTwvKvN767lJQlLz8mHToaWysnVPCxp8NqvS5Cuw4clxG2bkSRptt2wN+cbnQAu7/q/0g+XH+rHms5Zco0ByEmP1r6+X+Ql5HLM0F09WbGGK/k97OjvwTaqxZt+SHSDgIUxeo14IrHv6LuqzexvJmkm1aoXaq7jQN5bZXvSrvD+WL1XDcKVhKo/Fj6W9aPChytsHZXfWxcv9hJwHfeBrXoYc8iS3Z2jhXuP8UY0QCwRYoyARZnc7vZOQR3P8LqeEdili4v5bJTRDEmabdaEK1lG+q/GmFMrhiuj339Kr6+q0fqo3i4feu2CR7hCTAhY6I2WvctD9cTY84kmQZaWFvPZr40xH9b0ZrWpXG2P+Fh4y3HxZ8aYuS5bft3xj/5ar3euP8fmLb19q7rccAApUMabzgARsNAna2XAgwGQk7KYz2S33y81aF1b8oX/za6Gli5Jjkmx+UwfJ9Jr1adP9ed81vL2tWG7b6hg4TZXkJferOFvDfpGDxZ6oTOHbMtBMvgxarq7rxXtzZKgdVbnWuXnF7qa4aXitaMHOY+2W7DwWDhYEa66rlq5fK0/T8LUo6XLDsrtXLHCd9WysSDqWVi4RTZUGGNOOJ4T5fgcBIiAhb7epbkqAvRgOKoaTYOQft3tr9Wdgw+VzhdcdfJ7l1xN5KcGDFe5r/Xnpo7bucrj03r/SSAeO+Ri9BMKth3tEoKKfqAIWOjDluPJ5BJHltxkG5+wdDO7hqnLHr9zt1WvTg+wLOjyqf78o5YqloxukOGnS/XMJWn2nWXn4Jqv9w8Gqd7KIN0qPCcGih4s9FG9Ougog0c5+6ZIl/f2RzQJXN692/xu4NvR9Oe7bm9TtiAl50kiMg3D1QV2VoaLgIWuuULUJo2clYcuXzRhsgWWP42wNFj2td6OrgOWLSg/lKQZuwkj0jBcne7g8QaPsUSIrtl2yXzAu7SbT7qHHNWrywFP+/Z50KzcjqdLn1vr4DptA2KfGvvsRwxDz7p0hSs5feHIssvQmBYqWOiabXkw+h4D3Tnomswe8guvrRdvrN6rJrfD1YjciE7It/XTuY4tQkC05/BMRbhaJ1zFg4CFrp9cjMcVi1EUDl02jsb/2Bqgl10elDMGf6LL0PnHT/Tzy/iq5eO4Kdu8sT1JmkkVC2E749rgo+GKgaIRYYkQXbK+MMXce1UIV/f6dujyiNpWsJ7VMPVgxdf8VX+XH60asDqoMOTLhOX7XA7pHuWYIvQvSbOt/GxQywYfWRYkXEWGChYwTrgS73g2r8o3D+h5jK/UhCujl7+iXy/fNxq9T21vKqhihd139bLjYnquIkXAAsYJV6cjXBpsQ0LSlqUJvc7T+n2jhqyKvrrndDAsApGk2e6KSvRJjgaLFwEL6Ji+gG7UhCuWiqq9ajnOpqlH9ftHo83uttEbe3SpEOGQI3D2Ovor5TJEioAFdB+ujpWOrin6kHDVqOeqqnJ1ofDh8rRej49VrEM6cBbhLg0yWBkELKBjL1SEq4uL+SzkkQxdcb0wSaB6ZDGfrecf8ueKoLXhQRXrQ8fFLy1z6De84zpz9UTMm3twCwEL6PaYoCcrwlWMOwbbeszR0C5Hitw1Q0j+rEHLFrIeXGGEQyc0UNvmYsny8TFC1nQlabbp2DUoS4Ou4IWIELAwVPCIgWuQKOGqubUlq1Guy3147CqwSxMAABVcSURBVLnue0LWtBvbXf1VLA3iJgIWuuQqicuTUdB0+73tvLkvCVetPOCoXlVuc9fLbVWssXcTGj0GSc6dc4Ws15I0c51RCT+dcAwUfZulQeQIWOhMxSC94ANWxc4wwhWMbmywTXgvjm94Q4I6Yxz8ppP+XY3t7BrEbUxyR9e+sGxZXgv5PEJd4tnj2DEY6iHOaGkxn72v4cnVpyePoaPykaSZzEiTD2mU/3fL117TJnoMzxWiNpnWjiICFrp2xRKwVj3bzXeuPh/GMXRzTuFBqRpULRNqVeFgh+ce9kKWi5M0u1rRr5eTMQ6VoxySNCseuZQHeQll3+qfZXmakwI6pI8zCcG2xnaq1bgDAQtd27G80IUesPY7nnCpMLTn6l+RFy/ZLejienHzrh9mMZ99rCFrw1H5bOvewmPwjsdikmbXNHTJ7+Eygau/6tXAtwMTQA8WumarMtgqCyGx7QJjaXD5g6Dl4GZbFeu8VhBukz/L5x2Psb8ucbD0IPSYpNdr+rK6sEeXJH9mjJEer40kzboIddGpqF7JJgyOw8FdqGCha9aKQd0Sz8TZjsT5ywi3IxTbenBzmYSoz5M0u9AwvHu9ZKPVJOnLkpD1lAahPT0/TuVnPKk/U3oEqWitXr2isR1WBCx0baeiTynUgIVufWSM+VHFcTlNKqJ/0uvxni4ly0DSs7phQv6tPFxa+uvaIWPM40mavUnIqkf1CssgYKFTsosmSbPodhKic6f0GJJlDnz+TL9/cnTXae3ycuksQwlj92n1a0+LUPaQLh2+ufwtjoZreCjVKzgRsFArSbMdx5EQbfznJM3+j1S4eMeMBr7WxuFXaw5+tlWuTvm2e7CnHq5c8f9v0j6rxzVsrTmWscV+mb3FAeS1bE3sVK9QiYCFSkmaneggXIknCjN+LskIAyYeo4aEpNeMMc9qBcF2RmGxoX17KsuCAy07Smj6pHDSwHOOHi/pyyJgOcjGAMfUdqpXqETAQl3fwfEOr/I/GGP+TQPbAd1CflHD1iRHGpSWaopsB/xiOR/px2NajXmgFMJ2fN0t6AutUH2SpNlLljdMffV5hbw8+AXVK9QhYMEMuAvr/tKf9+i7ajkmJA9ady13TBHLoL2QEEWQWs0nHVWko1AxwFb6A4FKBCxYJWl2pIf5VbLE838dl+XbxyVgXaQnBOiFLBWWTbJ6PBB5HpzcCBD4gYAFF9c7tGfalMZ12/mTurTTZMbPzSNCkjR7Tuf0fDLBIaNydAng43K2rXoVRNV4wOXB05w5iCYIWHA1dZbHLCy1a6aw7fx9fYJ/qmZX0x0H304gaMn2+DKmuMMruqtQ+q9sfP235cPyoC2QMm4GjRCwYFrsjnHNgmlE+6suJ2l2n4Ys166mKQUtW4MwSy7whv57e8nxpkbOJ6SCZec6+5LmdjRCwELT6pWUxa902ACe72qSgPIfGzTe+hq0bEuEBCz4FK6O6VBRm/cHvklTD1hSxWd5EI0QsND0VPheZr4UqloSoJ7Xfq1JBC29zZxDiMmGK13Ch51U2cuoXqGxv2v+pQhdkmZrjkpSZ9UrF5mDtZjPZGfOL40xHzdoFM+D1hs6RNGXJ2DBDCyMSjeXvFYRrmSnrvw7g5vtuZDhyGiMgIUm1avBZr5o0Hpfg9aHLYLWrzQgDukpR08LM7Awdrg6VtHfKOGKMQPLYXkQjbFEiLqZL9JzMPi7Ng0pZ5M0k3fZshx4qMnBtTodvvelQ+0ds1UHeIcLH8KVa5cu4ar5DkJgJVSwcJNWf2znbY36ZCxBq1DRkmnvxpOlQ+kXsyFgYRT6eJdlQcLVivpuiUAcqGChbmKxFzNf9KzC7STNzrZshn9Be7o6O+8wSbNDjvEM8gLGDkKMFa7kMHUXwhUwMAIWcmtT2JK8RNC6t8vzDvWFTEKbjS+jIxCRBuFKNqnw2AQGRsBCbt+UtiQvEbSK5x1e06W8i222qSdp9ryGNRu5LgY2YlCEK8BfBCxUbUn2NmCtGLRk+VCW+Q5p2JJglB/p82W+C1DnCD2k1b2qsxRlpyMDG+FTuLr5mCRcdW5tCs+L8AMBC0EoBa2nNEDVnXdoNDTdrGzln0jSrO2Pf5PRDPAsXMljkiGiq7lgjDlY+tzukW4LJoiAhSr7Jhq08vEOTc87XFZeJeCFDIPxOVzp6Qby8bDjIPT8pIPbleKJIWChMQIWcpcsy4SbSZqd8a3RfcnzDp9quHzYlAS5dwlXGGGcihfhSpfQ9+vHw46dtTY3+xiTNJPnnH/1uHfR9rw39DBjTBgBC7nzloAlf96uGOEwCYXzDt/XJ8gnW7wY2F7EpDr28UTfgfvgWWPMR57cjqkNEZXD2EcLVxrw5N/O4xXH8DQlzy8HpNqss+58IxthDpc+RwULjRGwkJMg9bLl84eTNFtfzGeTb+wsVbXavPuWF6/LurQhuwUJVqt5Rf/70cjhKr8d3tPH64ajr7C3cKVLfhKmXOeUdkE2m9w3kTldff0OEKBk7BuAfi0Wi8Zfm6TZliNkyTysdRO4wq7Boqn2inghSTMJBe85Lv7NSCGrKly96OMLvQ7MdR0X9XqX4UorZfmy+qpVqja8GikhbyyNMecsF/2gj7aJJOHlODTco4FrE7BEkmY7jndpj3B8BAIIWVMMV/v1fMFeQ4k2zx/qKFRJVS0PffmB7VJ9y5vgbeSgdzkSy/eA9UwfFX0CVnhYIkSZ9Ft9bvm8PNl49+ID/0lo0dEX7428XDi5cKVcfVcfdxGuCr1dywarfAn9apMdghoYf2r5eXvkMl+a3iVEOUa2TG53NcZBwMIdpEqlu3vKVSx2z2DKIWuS4UqrSraKz5ddNIYXjn5qMjPO1pN4ue3ypASoJM3eMca8YblY+r28CFjqhjFmV+lzBCw0QsCCjW2ZkICFqYasSYYr5eq72h7gmJ2i/HipnS4qTDKvLkmzy5bNJW2C3hB2LMNGg+9HRTcIWLCx9Vrxrg1dhaw1x2aKPkJWVbh62+dwpTv4bMt2rc7QrFgWrAtXX+quWwlVErC6dtUSsOR2+fZcWA5YPBeiEQIWXO/ayvaOcDsQoMV8JgNsdzte4LsMWVXhSprDN43fXGFD5rCtulv2ZxVfclFOQ+gpVNX9/fr+mV282eS5EI38XbMvQ2QmN7kd07KYz6Sp+rTj4lc6GAJaF65cjeM+sQaQDkYyuI6P+k5/N9sDhCuXaxN4s5nvMAQqEbAAhBayQghXvQQQXXZ09nUNPIdq/wQClms0DcuEqEXAQmO6rAP4HLJCDlemg4PLn3d8/sPFfGat1vRBlylt/t14pOJ3QsBCLQIW2rxrYychfA5ZoYUr21KgzIpaW6F69aRj2fGsGdZDFY31vpGxNWUsEaIWAQt3YWI7RrDpeCFrGrKqwpVcr+8N7TaucQgbuguwq+qVNwcte3osle35kDebqEXAAjA6PdttfcmQVReu5LDyyW3c0LAhO/qMZVbUsTYhq6Z6NdjSYMHfWz7n04DRItvvZxctE6hDwAIw5ZAVZLgqcC3dSch6LUmz5yv6mRr1Xplp9pINyXXuIFUsVCJgAZGSd+Cy3Vw/dk8wZIUerm5OPK/oT8tHLrymU9mrzv5zVa+G3DU4Va4KH31YqETAAuILVSeSNJO+kr8ZY87px9/kc0mayaT19QmErFdDD1c5DUG2pcJiNehokmZvJGn2QnHpUMPVS55Vr4yeY1i2v2E1blD6OPrCchEVLFRKqi/G1C0Wi6W+L0kz2zc+IyfMr3yjMArdfXam4SRqeUE5MeZRMlpV22k5OVtu91oo4aooSbNDejBzF+Sw6F+bkWgIfM2xi/Bj3yprSZrJv5vDpU9/sZjPOhvXkCS8HIeGezRwBCyIJM02HIcsex20NBTKY25Xgy+/oZWrMZq2B6EVqY0Oephe72Ai/EqSNNuyHO4sS53/YKbjB12FeQJWeFgiBCJYElwyXBmtHr2XpNn5MZYONSyta3iKOlyJxXwmO+1e1+U9OdpmGafHDlcVZypOKVwJlgnhRGQOHBWssGnoKQaf3aUn/YMd/8gPZKbU0LPSaipZUYSrimNvnrJUgqrClTfLb0ma/aowdFT+Pv9kpuXkYj6TNzAro4IVHu7RwBGwwqO9SZv60WTpzOWknD+nh3tLSDsizdINv/dtXTq8PnLIijJcFWlj+JruFLSd7yek8nVWK2C+3fbnNCg+Yoz5T2ZaLizms04quwSs8HCPBo6AFXWjepUXbX1VSZpJ0+6JhkFLwo300WwNFbRKISv6cFXRp1Uex+DbIcq2atw7HTbxD2Yxn3XyOkrACg/3aOBWCFjXLdWRXyzmM3lBxbQa1ctN60fqQskyQaurpZI6SZpJpe33xph/XMxnEjYRAOnzsyxpv72Yz6Z4zFFrBKzw0OQOF9sLsBfDKCPutVolXN3QJcG1JhUf6bHSw5GfkWWQmi+XIH48SbOdZQ8ibkND1SOEq+DY+gWpTmKy7hn7BsBbtiUfdsyMuyxYpRiCysu455dd2tXvW9eq0VbN0uQB+VlJmm32PdaBA8nDUhHMCViYLAIWTMUTW3mwHgFrnIb2qjlQJ4fogdJq0RkJT7p06Lo9u3Ssg1TA6NdDU9bnFvrrMGUsEcLF9sS2d+xjVGLSIFxJo/qgO/m0B2+fBruq2VQSxlhSxioBq25pGvAaAQsururDFi+cg9nSZbfGuwCHIIFOG9r36bgGGwmFUTQno7eARfUKk0bAgpVWRWSopKvPhkpWj+TQ5YodfCfHPCOwFLQ2tRHeVs2SJnmgCRrcERwCFqq4RjJIyDonIYCg1T3tczpaMYl7kHEITWmvle2xsuqsLkSABneEisEbgVt2DlbpQNaXG8xWkibo7Sk2peoOufxJ/sqY1SENV285Lr60mM+83GigQftcX0MYEd98t9geO8zBCg/3aOBWDVgiSbMzlh2FVWFLKhpndDzAYA3YHU5Fl+WujaHnLNUsC17SqeVe/j51MOnnlotelNCqwZXRCmj6Jq6zI2imgoAVHu7RwHURsFpUslzB4OYWf5+qWw2non+gQavXUKObBs5UHMx8QweEeh1QHMcruaqdW77/fTCM2Ce45whY4aEHC40Umpnbbp2Wfq3jxpg/y/E72rclS3KjSdLsRMOp6FK163U6uf4urtSEq/WJhBEJT3X2alCX36tXvWQYDQ3uCBKROXBdVbAs/TabLZYNXS/G2wMfFLyuP3OZ5msZR9DZzCm9LScqgpWZ2mHGGpgkTLfh9dIn+qVvXv5sueiJqTzuu0IFKzzco4HrI2CV+m6O6EdVUKg9KLivoKXLb3L7TjQIVjcqhnrml28v28xfuC2bFfOtisHjyEQqV3XLPXUmFSTRHRrcv0fACg/3aOD6DFiO8LCuH3uXqGgd6epFVpfe8o+q0JS/wEvoOa8B6mCLZn4JQFVHwsg79H36O6kLVYP2fvX8opk/Fup+9zlCVoRocP8eASs83KOBGypgOUr/edhqs5S41ITyFX7eXcFuyaWuLtzQZUjX/LHJ0vtnraaSSMiKDA3u3yNghYd7NHBjBSxLdWtdqxquMQTlCo7sNLvjwGC9nrzhXK4v//Oyy5POg5JX7NdaxgWtWk1qSbCHcRST2DGJXneejnYM1JgIWOHhHg2cDwGrSEOSLCFtjjjp+7RWiq40HPx5osVS1zLBSm5L1TJjcGrGZND4HgEa3O9EwAoP92jgfAtYRQMvxa20a1EDwcYK1bLybYl+FlRNyIqyDycmNLjfiYAVHu7RwPkcsApPsls9VYhuFIacnum4mX+t8FG383Cn0Ax/PuZQ1TJkRdmLEwsa3O9EwAoP92jgfA9YhaWCrY6qQ5fyo3piW3YLtCfrH4c+sgjDoMH9TgSs8HCPBm4KAasUtDZaNK5L/9J1rRDJk/UOfTvTVDE/i6b3QNHgficCVnjuGfsGADltbN207OYr4tDgMMmy645l44Msv0oFq7fjijC8iuOnomtuR7iIzIGbUgULcdMX3fOOnraTi/mMswsDQYP73ahghYfDngF4W8EsOG6pZmK6bBWstgfJA14jYAHwhvbfyKBZm23dxYkwAxbLgwgKAQuAbzZ0VliZ9GcFd4xQpGwbGghYCAoBC4BXdCeoNL3bHNWDvDFRNLgjFgQsAL72Y8lZkTYsFU6bNWDFeDwOwkbAAuAl3TUog2ONY3QDpokGd0SBgAXAZ0d02GjZQT2IG9NDgzuiQMAC4C0dKuuaf3UiSbN9A98krI4Gd0SBgAXAa4v5bMuxhMRS4cTQ4I6YELAATHmp8ECSZkx4nw4a3BENAhaAqYxukPlYNkx5nw4a3BENAhaASVjMZ7IceNpx8RlGN0wCDe6IBgELwJRsOqa80481DTS4IxoELAChTHmX0Q0cpeMpGtwRm2TsG4B+LRaLsW8C0DmdgfWW4+IX9dDo/Gtl6VB6tMov8Nf1xf06Tdb9S9JMeujeK39+MZ/xOiS/n4RfQ2juGfsGAMAyoxu0sf2w5eL3kjST/57Xw6FtX3MH/Xpptt7Rj/M6gwvdocEdUSFgAZiqDQ1RByyX3VUpadgfdLtHKEmzG3r9Nz+ocq2MBndEhZpk4FgiRAR9Pee1yb1veeCSZnoqXC0labaoW86NGUuE4eEeDRwBC6EbOGQVfaE/N19SpBpTfR/92XLRE/zebiFghYd7NHAELMSgYciSQFSsOq11HMpu5GEr7+WiynULDe71CFjhoQcLwORJFURD1rZl1pIEn03XUpQ2y68VPmw9XU3scvRxSdi6UvrIXYkkhNHgjugQmQNHBQux0cC0XhjFcKZNiCmMdcg/lg1cqPb2Yj6TcRugghUk7tHAEbCA1RC4ekODewEBKzzco4EjYAHdInB1hgb3AgJWeLhHA0fAAgZdlsz7uPaOfZt8R4P7nQhY4eEeDRwBCxitypWHrX36X/kc1a5bLizms7xPDgQsAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwATk/wOqa0OPcEcpJgAAAABJRU5ErkJggg==",O="data:image/png;base64,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",v=class extends x{constructor(){super(),this.design=null,this.readOnlyNotice="",this._design=null,this._translations=V({name:"solution-builder-assistant",blocking:!0}),this._isDirty=!1,this._titleValidationError=null,this._deployAlertMessage=null,this._layerNameAlertMessage=null,this._descriptionValidationError=null,this._undoStack=[],this._redoStack=[],this._isEditingContentItem=!1,this._editingContentItemId=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._originalItemTitle="",this._originalItemDescription="",this._layerNameValidationError=null,this._layerDescriptionValidationError=null,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null,this._selectedLayerIndex=0,this._isAddingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._isEditingField=!1,this._editingFieldIndex=-1,this._editingFieldType=null,this._editingFieldDisplayName="",this._editingFieldName="",this._editingFieldDescription="",this._editingFieldTypeValue="string",this._editingFieldLength=A,this._editingFieldChoiceList=null,this._isAddingNewField=!1,this._isCustomizingLayer=!1,this._selectedFieldCount=0,this._hasRequiredFieldSelected=!1,this._fieldTableKey=0,this._selectedFieldRows=[],this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=A,this._newFieldChoiceList=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._originalEditFieldDisplayName="",this._originalEditFieldName="",this._originalEditFieldDescription="",this._originalEditFieldTypeValue="string",this._originalEditFieldLength=A,this._originalEditFieldChoiceList=null,this._editingFieldChoiceListVersion=0,this._newFieldChoiceListVersion=0,this._userOptions=[],this._designContextValue=null,this._isProcessing=!1,this._isDiscarding=!1,this._isDiscardingFlowChanges=!1,this._pendingFlowDiscardAction=null,this._lastPushedDesign=null,this._deployDialogRef=_(),this._deployingDialogRef=_(),this._pendingDeployedSolutionId=null,this._isCancellingDeployment=!1,this._designContextConsumer=E({context:W,subscribe:!0,callback:e=>{this._designContextValue=e,e?.design&&e.design!==this._lastPushedDesign&&this._pushDesign(e.design,!1)}}),this.discardBuilder=C(),this._handleBeforeUnload=e=>{this._design&&e.preventDefault()},this._handleUndo=async()=>{if(this._undoStack.length===0||!this._design)return;let e=this._undoStack[this._undoStack.length-1];this._undoStack=this._undoStack.slice(0,-1),this._redoStack=[...this._redoStack,structuredClone(this._design)],this._design=e,this._lastPushedDesign=e,this._notifyDesignChanged(e),await this._revalidateForm()},this._handleRedo=async()=>{if(this._redoStack.length===0||!this._design)return;let e=this._redoStack[this._redoStack.length-1];this._redoStack=this._redoStack.slice(0,-1),this._undoStack=[...this._undoStack,structuredClone(this._design)],this._design=e,this._lastPushedDesign=e,this._notifyDesignChanged(e),await this._revalidateForm()},this._handleHideBuilder=()=>{window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"))},this._handleOpenCustomizeLayer=()=>{this._isCustomizingLayer=!0},this._handleCloseCustomizeLayer=()=>{if(this._layerNameValidationError){this._layerNameAlertMessage=this._layerNameValidationError;return}this._isCustomizingLayer=!1,this._isAddingLayer=!1,this._isEditingField=!1,this._isAddingNewField=!1},this._handleTitleChange=async e=>{if(!this._design)return;this._titleValidationError=await this._validateSolutionName(e);let i={...this._design,solution:{...this._design.solution,title:e}};this._pushDesign(i)},this._handleDescriptionChange=e=>{if(!this._design)return;this._descriptionValidationError=this._validateSolutionDescription(e);let i={...this._design,solution:{...this._design.solution,description:e}};this._pushDesign(i)},this._handleOpenContentItemFlow=e=>{this._editingContentItemId=e.id,this._editingItemTitle=e.title||"",this._editingItemDescription=e.description||"",this._originalItemTitle=e.title||"",this._originalItemDescription=e.description||"",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._isEditingContentItem=!0},this._handleCloseContentItemFlow=()=>{this._hasContentItemChanges()?(this._pendingFlowDiscardAction=this._doContentItemBack,this._isDiscardingFlowChanges=!0):this._doContentItemBack()},this._hasContentItemChanges=()=>this._editingItemTitle!==this._originalItemTitle||this._editingItemDescription!==this._originalItemDescription,this._doContentItemBack=()=>{this._isEditingContentItem=!1,this._editingContentItemId=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._originalItemTitle="",this._originalItemDescription=""},this._handleApplyContentItemChanges=()=>{this._editingContentItemId&&(this._handleApplyItemChanges(this._editingContentItemId),this._doContentItemBack())},this._handleApplyItemChanges=e=>{if(!this._design)return;let i=this._design.items.map(a=>a.id===e?{...a,title:this._editingItemTitle,description:this._editingItemDescription}:a),t={...this._design,items:i};this._pushDesign(t)},this._handleLayerSelect=e=>{let i=e.target.selectedItems[0];i&&(this._selectedLayerIndex=parseInt(i.value,10),this._layerNameValidationError=null,this._layerDescriptionValidationError=null,this._selectedFieldCount=0,this._hasRequiredFieldSelected=!1,this._selectedFieldRows=[])},this._handleAddLayer=()=>{this._isAddingLayer=!0,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleAddLayerFlowItemBack=e=>{if(e.preventDefault(),!this._hasAddLayerChanges()){(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doAddLayerBack());return}this._pendingFlowDiscardAction=this._doAddLayerBack,this._isDiscardingFlowChanges=!0},this._hasAddLayerChanges=()=>this._newLayerName.trim()!==""||this._newLayerDescription.trim()!=="",this._doAddLayerBack=()=>{this._isAddingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleAddLayerDone=()=>{if(!this._design||(this._newLayerNameValidationError=this._validateLayerName(this._newLayerName),this._newLayerDescriptionValidationError=this._validateLayerDescription(this._newLayerDescription),this._newLayerNameValidationError||this._newLayerDescriptionValidationError))return;let e=this._design.featureLayer?.layers||[],i={id:Date.now(),type:this._newLayerType,name:this._newLayerName,description:this._newLayerDescription,customFields:[],requiredFields:[],systemFields:[{name:"objectid",type:"oid",alias:"ObjectID",description:"Unique identifier for each record in the dataset."},{name:"globalid",type:"globalid",alias:"GlobalID",description:"Globally unique identifier for the record."},{name:"created_date",type:"date",alias:"Created On",description:"Date when the record was created."},{name:"created_user",type:"string",alias:"Created By",description:"User who created the record.",choiceList:null,length:A},{name:"last_edited_date",type:"date",alias:"Last Edited On",description:"Date when the record was last edited."},{name:"last_edited_user",type:"string",alias:"Last Edited By",description:"User who last edited the record.",choiceList:null,length:A}]};this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:[...e,i]}}),this._selectedLayerIndex=e.length,this._isAddingLayer=!1,this._newLayerName="",this._newLayerType="Point",this._newLayerDescription="",this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null},this._handleNewLayerNameChange=e=>{this._newLayerName=e;let i=(this._design?.featureLayer?.layers||[]).map(t=>t.name);this._newLayerNameValidationError=this._validateLayerName(e,i)},this._handleNewLayerTypeChange=e=>{let i=e.target.selectedItems[0];i&&(this._newLayerType=i.value)},this._handleNewLayerDescriptionChange=e=>{this._newLayerDescription=e,this._newLayerDescriptionValidationError=this._validateLayerDescription(e)},this._handleAddField=()=>{this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=A,this._newFieldChoiceList=null,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._isAddingNewField=!0,this._scrollCustomizeLayerFlowToTop()},this._handleAddFieldFlowItemBack=e=>{if(e.preventDefault(),!this._hasAddFieldChanges()){(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doAddFieldBack());return}this._pendingFlowDiscardAction=this._doAddFieldBack,this._isDiscardingFlowChanges=!0},this._hasAddFieldChanges=()=>this._newFieldDisplayName.trim()!==""||this._newFieldName.trim()!==""||this._newFieldDescription.trim()!==""||this._newFieldChoiceList!=null&&this._newFieldChoiceList.length>0,this._doAddFieldBack=()=>{this._isAddingNewField=!1,this._newFieldDisplayName="",this._newFieldName="",this._newFieldDescription="",this._newFieldType="string",this._newFieldLength=A,this._newFieldChoiceList=null,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map},this._handleAddFieldDone=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[],i=e[this._selectedLayerIndex];if(!i||!this._newFieldName.trim())return;let t={name:this._newFieldName,type:this._newFieldType,alias:this._newFieldDisplayName||this._newFieldName,description:this._newFieldDescription,choiceList:this._newFieldChoiceList&&this._newFieldChoiceList.length>0?this._newFieldChoiceList:null};this._newFieldType==="string"&&(t.length=this._newFieldLength);let a=[...i.customFields||[],t],s=e.map((r,o)=>o===this._selectedLayerIndex?{...r,customFields:a}:r);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}}),this._doAddFieldBack()},this._handleNewFieldTypeChange=e=>{let i=e.target.selectedItems[0];i&&(this._newFieldType=i.value)},this._handleNewFieldDisplayNameChange=e=>{this._newFieldDisplayName=e,this._newFieldDisplayNameError=this._validateFieldDisplayName(e)},this._handleNewFieldNameChange=e=>{this._newFieldName=e,this._newFieldNameError=this._validateFieldName(e,this._selectedLayerIndex,!1)},this._handleNewFieldDescriptionChange=e=>{this._newFieldDescription=e,this._newFieldDescriptionError=this._validateFieldDescription(e)},this._handleNewFieldLengthChange=e=>{if(this._newFieldLengthError=this._validateFieldLength(e),!(e===null||isNaN(e))&&(this._newFieldLength=e,this._newFieldChoiceList?.length)){let i=new Map(this._newFieldChoiceListErrors);this._newFieldChoiceList.forEach((t,a)=>{let s=this._validateDomainValue(t,e,!1,this._newFieldChoiceList,a);s?i.set(a,s):i.delete(a)}),this._newFieldChoiceListErrors=i}},this._handleEditField=(e,i)=>{let t=(this._design?.featureLayer?.layers||[])[this._selectedLayerIndex];if(!t)return;let a=t.customFields||[],s=t.requiredFields||[];if(e<a.length)this._editingFieldType="custom",this._editingFieldIndex=e;else{let r=e-a.length;if(r>=s.length)return;this._editingFieldType="required",this._editingFieldIndex=r}this._editingFieldDisplayName=i.alias||"",this._editingFieldName=i.name||"",this._editingFieldDescription=i.description||"",this._editingFieldTypeValue=i.type||"string",this._editingFieldLength=i.length||A,this._editingFieldChoiceList=i.choiceList?[...i.choiceList]:null,this._originalEditFieldDisplayName=this._editingFieldDisplayName,this._originalEditFieldName=this._editingFieldName,this._originalEditFieldDescription=this._editingFieldDescription,this._originalEditFieldTypeValue=this._editingFieldTypeValue,this._originalEditFieldLength=this._editingFieldLength,this._originalEditFieldChoiceList=this._editingFieldChoiceList?[...this._editingFieldChoiceList]:null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._isEditingField=!0,this._scrollCustomizeLayerFlowToTop()},this._handleEditFieldFlowItemBack=e=>{if(e.preventDefault(),!this._hasEditFieldChanges()){(e.currentTarget.closest("calcite-flow")?.back()??Promise.resolve()).then(()=>this._doEditFieldBack());return}this._pendingFlowDiscardAction=this._doEditFieldBack,this._isDiscardingFlowChanges=!0},this._hasEditFieldChanges=()=>this._editingFieldDisplayName!==this._originalEditFieldDisplayName||this._editingFieldName!==this._originalEditFieldName||this._editingFieldDescription!==this._originalEditFieldDescription||this._editingFieldTypeValue!==this._originalEditFieldTypeValue||this._editingFieldLength!==this._originalEditFieldLength||JSON.stringify(this._editingFieldChoiceList)!==JSON.stringify(this._originalEditFieldChoiceList),this._doEditFieldBack=()=>{this._isEditingField=!1,this._editingFieldIndex=-1,this._editingFieldType=null,this._editingFieldDisplayName="",this._editingFieldName="",this._editingFieldDescription="",this._editingFieldTypeValue="string",this._editingFieldLength=A,this._editingFieldChoiceList=null,this._originalEditFieldDisplayName="",this._originalEditFieldName="",this._originalEditFieldDescription="",this._originalEditFieldTypeValue="string",this._originalEditFieldLength=A,this._originalEditFieldChoiceList=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map},this._handleEditFieldTypeChange=e=>{let i=e.target.selectedItems[0];i&&(this._editingFieldTypeValue=i.value)},this._handleEditFieldDisplayNameChange=e=>{this._editingFieldDisplayName=e,this._editingFieldDisplayNameError=this._validateFieldDisplayName(e)},this._handleEditFieldNameChange=e=>{this._editingFieldName=e,this._editingFieldNameError=this._validateFieldName(e,this._selectedLayerIndex,!0,this._editingFieldIndex,this._editingFieldType)},this._handleEditFieldDescriptionChange=e=>{this._editingFieldDescription=e,this._editingFieldDescriptionError=this._validateFieldDescription(e)},this._handleEditFieldLengthChange=e=>{if(this._editingFieldLengthError=this._validateFieldLength(e),!(e===null||isNaN(e))&&(this._editingFieldLength=e,this._editingFieldChoiceList?.length)){let i=new Map(this._editingFieldChoiceListErrors);this._editingFieldChoiceList.forEach((t,a)=>{let s=this._validateDomainValue(t,e,!1,this._editingFieldChoiceList,a);s?i.set(a,s):i.delete(a)}),this._editingFieldChoiceListErrors=i}},this._handleClearEditFieldChoiceList=()=>{this._editingFieldChoiceList=null,this._editingFieldChoiceListErrors=new Map},this._handleAddEditFieldChoice=()=>{this._editingFieldChoiceList?this._editingFieldChoiceList=[...this._editingFieldChoiceList,""]:this._editingFieldChoiceList=[""];let e=this._editingFieldChoiceList.length-1;this._editingFieldChoiceListErrors.set(e,this._translations.domainValueErrorEmpty),this._editingFieldChoiceListErrors=new Map(this._editingFieldChoiceListErrors)},this._handleRemoveEditFieldChoice=e=>{if(!this._editingFieldChoiceList)return;this._editingFieldChoiceList=this._editingFieldChoiceList.filter((t,a)=>a!==e);let i=new Map;this._editingFieldChoiceListErrors.forEach((t,a)=>{a<e?i.set(a,t):a>e&&i.set(a-1,t)}),this._editingFieldChoiceListErrors=i,this._editingFieldChoiceList.length===0&&(this._editingFieldChoiceList=null,this._editingFieldChoiceListErrors=new Map),this._editingFieldChoiceListVersion++},this._handleUpdateEditFieldChoice=(e,i)=>{if(!this._editingFieldChoiceList)return;let t=[...this._editingFieldChoiceList];t[e]=i,this._editingFieldChoiceList=t;let a=this._validateDomainValue(i,this._editingFieldLength,!1,t,e);a?this._editingFieldChoiceListErrors.set(e,a):this._editingFieldChoiceListErrors.delete(e),this._editingFieldChoiceListErrors=new Map(this._editingFieldChoiceListErrors)},this._handleEditFieldChoiceOrderChange=e=>{if(!this._editingFieldChoiceList)return;let{oldIndex:i,newIndex:t}=e.detail;if(i===t)return;let a=[...this._editingFieldChoiceList],[s]=a.splice(i,1);a.splice(t,0,s),this._editingFieldChoiceList=a,this._editingFieldChoiceListVersion++},this._handleClearNewFieldChoiceList=()=>{this._newFieldChoiceList=null,this._newFieldChoiceListErrors=new Map},this._handleAddNewFieldChoice=()=>{this._newFieldChoiceList?this._newFieldChoiceList=[...this._newFieldChoiceList,""]:this._newFieldChoiceList=[""];let e=this._newFieldChoiceList.length-1;this._newFieldChoiceListErrors.set(e,this._translations.domainValueErrorEmpty),this._newFieldChoiceListErrors=new Map(this._newFieldChoiceListErrors)},this._handleRemoveNewFieldChoice=e=>{if(!this._newFieldChoiceList)return;this._newFieldChoiceList=this._newFieldChoiceList.filter((t,a)=>a!==e);let i=new Map;this._newFieldChoiceListErrors.forEach((t,a)=>{a<e?i.set(a,t):a>e&&i.set(a-1,t)}),this._newFieldChoiceListErrors=i,this._newFieldChoiceList.length===0&&(this._newFieldChoiceList=null,this._newFieldChoiceListErrors=new Map),this._newFieldChoiceListVersion++},this._handleUpdateNewFieldChoice=(e,i)=>{if(!this._newFieldChoiceList)return;let t=[...this._newFieldChoiceList];t[e]=i,this._newFieldChoiceList=t;let a=this._validateDomainValue(i,this._newFieldLength,!1,t,e);a?this._newFieldChoiceListErrors.set(e,a):this._newFieldChoiceListErrors.delete(e),this._newFieldChoiceListErrors=new Map(this._newFieldChoiceListErrors)},this._handleNewFieldChoiceOrderChange=e=>{if(!this._newFieldChoiceList)return;let{oldIndex:i,newIndex:t}=e.detail;if(i===t)return;let a=[...this._newFieldChoiceList],[s]=a.splice(i,1);a.splice(t,0,s),this._newFieldChoiceList=a,this._newFieldChoiceListVersion++},this._handleDeleteField=()=>{if(!this._design||this._editingFieldType!=="custom")return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=[...e[this._selectedLayerIndex].customFields||[]];i.splice(this._editingFieldIndex,1);let t=e.map((a,s)=>s===this._selectedLayerIndex?{...a,customFields:i}:a);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:t}}),this._doEditFieldBack()},this._handleFieldTableSelect=e=>{let i=e.target.selectedItems??[];this._selectedFieldRows=i,this._selectedFieldCount=i.length,this._hasRequiredFieldSelected=i.some(t=>!t.dataset.fieldIndex)},this._handleDeleteSelectedFields=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e[this._selectedLayerIndex],t=this._selectedFieldRows;if(!t?.length)return;let a=new Set(t.map(o=>parseInt(o.dataset.fieldIndex??"-1")).filter(o=>o>=0)),s=(i.customFields||[]).filter((o,l)=>!a.has(l)),r=e.map((o,l)=>l===this._selectedLayerIndex?{...o,customFields:s}:o);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:r}}),this._selectedFieldCount=0,this._hasRequiredFieldSelected=!1,this._selectedFieldRows=[],this._fieldTableKey+=1},this._handleApplyFieldChanges=()=>{if(!this._design||!this._editingFieldType)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e[this._selectedLayerIndex];if(this._editingFieldType==="custom"){let t=[...i.customFields||[]];t[this._editingFieldIndex]={...t[this._editingFieldIndex],alias:this._editingFieldDisplayName,name:this._editingFieldName,description:this._editingFieldDescription,type:this._editingFieldTypeValue,choiceList:this._editingFieldChoiceList&&this._editingFieldChoiceList.length>0?this._editingFieldChoiceList:null,length:this._editingFieldTypeValue==="string"?this._editingFieldLength:void 0};let a=e.map((s,r)=>r===this._selectedLayerIndex?{...s,customFields:t}:s);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:a}})}else if(this._editingFieldType==="required"){let t=[...i.requiredFields||[]];t[this._editingFieldIndex]={...t[this._editingFieldIndex],alias:this._editingFieldDisplayName,description:this._editingFieldDescription};let a=e.map((s,r)=>r===this._selectedLayerIndex?{...s,requiredFields:t}:s);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:a}})}this._doEditFieldBack()},this._handleLayerNameInput=e=>{this._layerNameValidationError=this._validateLayerName(e)},this._handleLayerNameBlur=e=>{let i=this._validateLayerName(e);if(this._layerNameValidationError=i,i||!this._design)return;let t=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=t.length)return;let a=t.map((s,r)=>r===this._selectedLayerIndex?{...s,name:e}:s);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:a}})},this._handleLayerTypeChange=e=>{if(!this._design)return;let i=e.target.selectedItems[0];if(!i)return;let t=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=t.length)return;let a=i.value,s=t.map((r,o)=>o===this._selectedLayerIndex?{...r,type:a}:r);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:s}})},this._handleLayerDescriptionChange=e=>{if(!this._design)return;let i=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=i.length)return;this._layerDescriptionValidationError=this._validateLayerDescription(e);let t=i.map((a,s)=>s===this._selectedLayerIndex?{...a,description:e}:a);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:t}})},this._revalidateForm=async()=>{if(!this._design)return;this._titleValidationError=await this._validateSolutionName(this._design.solution?.title||""),this._descriptionValidationError=this._validateSolutionDescription(this._design.solution?.description||"");let e=(this._design.featureLayer?.layers||[])[this._selectedLayerIndex];this._layerNameValidationError=this._validateLayerName(e.name),e.description&&(this._layerDescriptionValidationError=this._validateLayerDescription(e.description))},this._handleRemoveLayer=()=>{if(!this._design)return;let e=this._design.featureLayer?.layers||[];if(this._selectedLayerIndex>=e.length)return;let i=e.filter((t,a)=>a!==this._selectedLayerIndex);this._pushDesign({...this._design,featureLayer:{...this._design.featureLayer,layers:i}}),this._selectedLayerIndex>=i.length&&(this._selectedLayerIndex=Math.max(0,i.length-1)),this._scrollCustomizeLayerFlowToTop()},this._handleDeploy=async()=>{if(!this._design)return;if(this._titleValidationError){this._deployAlertMessage=this._titleValidationError;return}this._card={id:this._design.solution.itemId||"",title:this._design.solution.title||"",supportReuse:!1};let e=this._design.params?.wkid;if(e){let i=String(e.default??"3857");this._userOptions=[{id:"wkid",props:[{attributes:e.attributes??{required:"true"},autoSelect:!0,id:"wkid",prop:"wkid",default:i,label:e.label??"Spatial Reference",outType:"number",srSearchText:i,validation:{expression:"\\S{1,}",message:""},value:i,valueType:"spatialreference"}]}]}else this._userOptions=[];if(await this.updateComplete,!this._deployDialogRef.value){console.warn("solution-deploy-dialog not available in solution-builder-assistant");return}this._deployDialogRef.value.card=this._card,this._deployDialogRef.value.userOptions=this._userOptions,this._deployDialogRef.value.open=!0},this._handleDeployCancelled=()=>{this._pendingDeployedSolutionId=null,this._closeDeployDialogs()},this._handleDeployFailed=e=>{if(this._pendingDeployedSolutionId=null,this._isCancellingDeployment){this._isCancellingDeployment=!1,this._closeDeployDialogs();return}this._deployingDialogRef.value&&this._deployingDialogRef.value.close(),this._deployDialogRef.value&&(this._deployDialogRef.value.classList.remove("display-none"),this._deployDialogRef.value.open=!0)},this._handleDeploySuccess=e=>{this._pendingDeployedSolutionId=e.detail||null,this._deployingDialogRef.value&&(this._deployingDialogRef.value.isWaitingForCard=!0,this._deployingDialogRef.value.deploymentProgress=100)},this._deployProgressStart=e=>{this._deployingDialogRef.value&&(this._deployingDialogRef.value.card=this._card,this._deployingDialogRef.value.abortController=e.detail,this._deployingDialogRef.value.deploymentProgress=0,this._deployingDialogRef.value.isWaitingForCard=!1,this._deployingDialogRef.value.open=!0),this._deployDialogRef.value&&this._deployDialogRef.value.classList.add("display-none")},this._deployProgessUpdated=e=>{this._deployingDialogRef.value&&(this._deployingDialogRef.value.deploymentProgress=e.detail.progress)},this._handleDeploymentProcessCancelled=()=>{this._pendingDeployedSolutionId=null,this._isCancellingDeployment=!0,this._closeDeployDialogs()},this._handleDeployedCardReady=async e=>{!this._pendingDeployedSolutionId||e.detail?.card?.id!==this._pendingDeployedSolutionId||(this._closeDeployDialogs(),this._pendingDeployedSolutionId=null,this._handleDiscardChanges(),await new Promise(i=>requestAnimationFrame(()=>requestAnimationFrame(i))),window.dispatchEvent(new CustomEvent("displayDeployedCard",{detail:e.detail})))},this._handleDeploymentFallback=e=>{!this._pendingDeployedSolutionId||e.detail?.solutionId!==this._pendingDeployedSolutionId||(this._closeDeployDialogs(),this._pendingDeployedSolutionId=null,this._handleDiscardChanges(),window.dispatchEvent(new CustomEvent("navTabSelected",{detail:"deployments"})))},this._handleDiscardChanges=()=>{this._pendingDeployedSolutionId=null,this._undoStack=[],this._redoStack=[],this._design=null,this._lastPushedDesign=null,this._isDirty=!1,this._notifyDesignChanged(null),this._closeDeployDialogs(),this._clearDesignAndClose(),this.discardBuilder.emit(!1),this._isDiscarding=!1},this._handleAssistantProcessing=e=>{this._isProcessing=e.detail},this._clearValidationErrors=()=>{this._titleValidationError=null,this._descriptionValidationError=null,this._editingItemTitle="",this._editingItemDescription="",this._editingItemTitleError=null,this._editingItemDescriptionError=null,this._layerNameValidationError=null,this._layerDescriptionValidationError=null,this._newLayerNameValidationError=null,this._newLayerDescriptionValidationError=null,this._editingFieldDisplayNameError=null,this._editingFieldNameError=null,this._editingFieldDescriptionError=null,this._editingFieldLengthError=null,this._editingFieldChoiceListErrors=new Map,this._newFieldDisplayNameError=null,this._newFieldNameError=null,this._newFieldDescriptionError=null,this._newFieldLengthError=null,this._newFieldChoiceListErrors=new Map,this._deployAlertMessage=null,this._layerNameAlertMessage=null,this._hasRequiredFieldSelected=!1},this._designContextConsumer,window.addEventListener("arcgis-solution-undo",this._handleUndo),window.addEventListener("arcgis-solution-redo",this._handleRedo),window.addEventListener("beforeunload",this._handleBeforeUnload),this.listenOn(window,"deployedCardReady",this._handleDeployedCardReady),this.listenOn(window,"deploymentCompletedWithoutNav",this._handleDeploymentFallback),this.listenOn(window,"assistantProcessing",this._handleAssistantProcessing)}static{this.properties={design:[1,{type:Object}],readOnlyNotice:1,_design:16,_translations:16,_isDirty:16,_titleValidationError:16,_deployAlertMessage:16,_layerNameAlertMessage:16,_descriptionValidationError:16,_undoStack:16,_redoStack:16,_isEditingContentItem:16,_editingContentItemId:16,_editingItemTitle:16,_editingItemDescription:16,_editingItemTitleError:16,_editingItemDescriptionError:16,_originalItemTitle:16,_originalItemDescription:16,_layerNameValidationError:16,_layerDescriptionValidationError:16,_newLayerNameValidationError:16,_newLayerDescriptionValidationError:16,_selectedLayerIndex:16,_isAddingLayer:16,_newLayerName:16,_newLayerType:16,_newLayerDescription:16,_isEditingField:16,_editingFieldIndex:16,_editingFieldType:16,_editingFieldDisplayName:16,_editingFieldName:16,_editingFieldDescription:16,_editingFieldTypeValue:16,_editingFieldLength:16,_editingFieldChoiceList:16,_isAddingNewField:16,_isCustomizingLayer:16,_selectedFieldCount:16,_hasRequiredFieldSelected:16,_fieldTableKey:16,_newFieldDisplayName:16,_newFieldName:16,_newFieldDescription:16,_newFieldType:16,_newFieldLength:16,_newFieldChoiceList:16,_editingFieldDisplayNameError:16,_editingFieldNameError:16,_editingFieldDescriptionError:16,_editingFieldLengthError:16,_editingFieldChoiceListErrors:16,_newFieldDisplayNameError:16,_newFieldNameError:16,_newFieldDescriptionError:16,_newFieldLengthError:16,_newFieldChoiceListErrors:16,_originalEditFieldDisplayName:16,_originalEditFieldName:16,_originalEditFieldDescription:16,_originalEditFieldTypeValue:16,_originalEditFieldLength:16,_originalEditFieldChoiceList:16,_editingFieldChoiceListVersion:16,_newFieldChoiceListVersion:16,_card:16,_userOptions:16,_designContextValue:16,_isProcessing:16,_isDiscarding:16,_isDiscardingFlowChanges:16}}static{this.styles=z}disconnectedCallback(){window.removeEventListener("arcgis-solution-undo",this._handleUndo),window.removeEventListener("arcgis-solution-redo",this._handleRedo),window.removeEventListener("beforeunload",this._handleBeforeUnload),super.disconnectedCallback()}willUpdate(e){if(e.has("design")&&(this.design?this._pushDesign(this.design):this._design=null),e.has("_design")&&this._isEditingField&&this._design){let i=[...this._design.featureLayer?.layers?.[this._selectedLayerIndex]?.customFields||[],...this._design.featureLayer?.layers?.[this._selectedLayerIndex]?.requiredFields||[]][this._editingFieldIndex];i&&this._handleEditField(this._editingFieldIndex,i)}}render(){let e=this._translations;return e?this._design?n`${this._isProcessing&&n`<calcite-scrim><calcite-loader .label=${e.assistantLoading}></calcite-loader></calcite-scrim>`||""}<calcite-panel class="builder-panel"><div slot=header-content class="header-content-wrapper"><span class="header-title">${e.headerTitle}${this._design?.solution?.title?`: ${this._design.solution.title}`:""}</span><calcite-chip .label=${e.draft} kind=neutral appearance=outline scale=s>${e.draft}</calcite-chip></div><calcite-action slot=header-actions-end .text=${e.undo} text-enabled icon=undo .disabled=${this._undoStack.length===0} @click=${this._handleUndo}></calcite-action><calcite-action slot=header-actions-end .text=${e.redo} text-enabled icon=redo .disabled=${this._redoStack.length===0} @click=${this._handleRedo}></calcite-action><div slot=header-actions-end class="header-divider"></div><calcite-action slot=header-actions-end .text=${e.hideBuilder} text-enabled icon=chevrons-right @click=${this._handleHideBuilder}></calcite-action>${!this._isCustomizingLayer&&!this._isEditingContentItem&&n`<div class="builder-content">${this._renderMainContent()}${this._renderSolutionItemContent()}</div>`||""}${this._isCustomizingLayer&&n`<div class="builder-content builder-content-flow">${this._renderCustomizeLayerFlow()}</div>`||""}${this._isEditingContentItem&&n`<div class="builder-content builder-content-flow">${this._renderContentItemFlow()}</div>`||""}<solution-deploy-dialog .card=${this._card} .design=${this._design} @deployCancelled=${this._handleDeployCancelled} @deployFailed=${this._handleDeployFailed} @deployProgressEnd=${this._handleDeploySuccess} @deployProgressStart=${this._deployProgressStart} @deployProgressUpdated=${this._deployProgessUpdated} id=solutionDeployDialog .userOptions=${this._userOptions} ${L(this._deployDialogRef)}></solution-deploy-dialog><solution-deploying-dialog .card=${this._card} @deploymentProcessCancelled=${this._handleDeploymentProcessCancelled} ${L(this._deployingDialogRef)}></solution-deploying-dialog><calcite-alert .open=${!!this._deployAlertMessage} kind=danger icon=exclamation-mark-triangle label=deploy-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._deployAlertMessage=null}><div slot=title>${this._translations.invalidSolutionName}</div><div slot=message>${this._deployAlertMessage}</div></calcite-alert><calcite-alert .open=${!!this._layerNameAlertMessage} kind=danger icon=exclamation-mark-triangle label=layer-name-error auto-close auto-close-duration=medium @calciteAlertClose=${()=>this._layerNameAlertMessage=null}><div slot=title>${this._translations.invalidLayerName}</div><div slot=message>${this._layerNameAlertMessage}</div></calcite-alert>${this._isDiscarding&&n`<calcite-dialog close-disabled escape-disabled .heading=${this._design?.solution?.title??""} modal open>${e.discardMessage}<div class="discard-changes-button" slot=footer-end><calcite-button appearance=outline @click=${()=>{this._isDiscarding=!1}}>${e.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${()=>this._handleDiscardChanges()}>${e.discard}</calcite-button></div></calcite-dialog>`||""}${this._isDiscardingFlowChanges&&n`<calcite-dialog close-disabled escape-disabled .heading=${e.discard} modal open>${e.discardFlowChangesMessage}<div class="discard-changes-button" slot=footer-end><calcite-button appearance=outline @click=${()=>{this._isDiscardingFlowChanges=!1,this._pendingFlowDiscardAction=null}}>${e.cancel}</calcite-button><calcite-button appearance=solid kind=danger @click=${()=>{this._isDiscardingFlowChanges=!1,this._pendingFlowDiscardAction?.(),this._pendingFlowDiscardAction=null}}>${e.discard}</calcite-button></div></calcite-dialog>`||""}</calcite-panel>`:this._renderEmptyState():n`<div>Loading...</div>`}_getLayerTypeIcon(e){switch(e){case"Point":return"point";case"Polyline":return"line";case"Polygon":return"polygon";case"Table":return"table";default:return"layer"}}_getFieldTypeIcon(e){switch(e){case"string":return"string";case"integer":return"integer";case"double":return"number";case"date":return"date-time";case"oid":case"globalid":case"guid":return"key";default:return"key"}}_formatFieldType(e){let i=this._translations,t={string:i.stringType,integer:i.integerType,double:i.doubleType,date:i.dateType,guid:i.guidType,globalid:i.globalIdType,oid:i.objectIdType}[e.type]||e.type;return e.type==="string"&&e.length?i.fieldTypeWithLength.replace("{{type}}",t).replace("{{length}}",String(e.length)):t}_getSystemFieldsList(e){return(e.systemFields||[]).map(i=>i.name).join(", ")}_shouldShowRemoveLayerButton(e){return!!e&&(this._design?.featureLayer?.addLayers??!1)}_scrollCustomizeLayerFlowToTop(){requestAnimationFrame(()=>{let e=this.el.shadowRoot?.querySelector("calcite-flow-item[selected]");e?.shadowRoot&&e.shadowRoot.querySelector(".content-container")?.scrollTo({top:0,behavior:"smooth"})})}async _validateSolutionName(e){let i=this._translations,t=await I(e,void 0,!0);if(!t.isValid)switch(t.errorType){case"empty":return i.solutionNameErrorBlank;case"exceed-length":return i.solutionNameErrorLength;case"special-character":return i.solutionNameErrorSpecialCharacter;default:return null}return null}_validateSolutionDescription(e){let i=this._translations,t=m(e,2048,!1);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.descriptionErrorLength;case"special-character":return i.descriptionErrorSpecialCharacter;default:return null}return null}_validateItemName(e){let i=this._translations,t=b(e);if(!t.isValid)switch(t.errorType){case"empty":return i.itemTitleErrorBlank;case"exceed-length":return i.itemTitleErrorLength;case"special-character":return i.itemTitleErrorSpecialCharacter;default:return null}return null}_validateItemDescription(e){let i=this._translations,t=m(e,2048,!1);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.itemDescriptionErrorLength;case"special-character":return i.itemDescriptionErrorSpecialCharacter;default:return null}return null}_validateLayerName(e,i){let t=this._translations,a=b(e);if(!a.isValid)switch(a.errorType){case"empty":return t.layerNameErrorBlank;case"exceed-length":return t.layerNameErrorLength;case"special-character":return t.layerNameErrorSpecialCharacter;default:return null}return i&&i.some(s=>s.toLowerCase()===e.toLowerCase())?t.layerNameErrorDuplicate:null}_validateLayerDescription(e){let i=this._translations,t=m(e,2048,!1);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.layerDescriptionErrorLength;case"special-character":return i.layerDescriptionErrorSpecialCharacter;default:return null}return null}_validateFieldDisplayName(e){let i=this._translations,t=T(e);if(!t.isValid)switch(t.errorType){case"empty":return i.displayNameErrorBlank;case"exceed-length":return i.displayNameErrorLength;default:return null}return null}_validateFieldName(e,i,t=!1,a=-1,s=null){let r=this._translations,o=[],l=this._design?.featureLayer?.layers||[];if(i>=0&&i<l.length){let h=l[i],y=h.customFields||[],w=h.requiredFields||[],u=h.systemFields||[];y.forEach((g,p)=>{(!t||s!=="custom"||p!==a)&&o.push(g.name.toLowerCase())}),w.forEach((g,p)=>{(!t||s!=="required"||p!==a)&&o.push(g.name.toLowerCase())}),u.forEach(g=>{o.push(g.name.toLowerCase())})}let c=B(e,o);if(!c.isValid)switch(c.errorType){case"empty":return r.fieldNameErrorBlank;case"invalid-format":return r.fieldNameErrorInvalidChars;case"exceed-length":return r.fieldNameErrorLength;case"sql-keyword":return r.fieldNameErrorSQLKeyword;case"system-field":return r.fieldNameErrorSystemField;case"duplicate-field":return r.fieldNameErrorExists;default:return null}return null}_validateFieldDescription(e){let i=this._translations,t=m(e,500,!0);if(!t.isValid)switch(t.errorType){case"exceed-length":return i.fieldDescriptionErrorLength;case"special-character":return i.fieldDescriptionErrorSpecialCharacter;default:return null}return null}_validateFieldLength(e){let i=this._translations;if(e===null||isNaN(e))return i.lengthErrorOutOfRange;let t=Y(e);return t.isValid?null:t.errorType==="out-of-range"?i.lengthErrorOutOfRange:null}_validateDomainValue(e,i,t=!1,a,s){let r=this._translations,o=X(e,i,t);if(!o.isValid)switch(o.errorType){case"empty":return r.domainValueErrorEmpty;case"exceed-length":return r.domainValueErrorExceedsLength;default:return null}return a&&s!==void 0&&a.some((l,c)=>c!==s&&l===e)?r.domainValueErrorDuplicate:null}_renderFieldRows(e){let i=this._translations,t=[...e.customFields||[],...e.requiredFields||[]],a=e.customFields?.length||0,s=[];return t.forEach((r,o)=>{let l=this._getFieldTypeIcon(r.type),c=this._formatFieldType(r),h=`field-domain-info-${o}`,y=`field-description-info-${o}`,w=`field-lock-${o}`,u=o>=a,g,p=!1;r.choiceList&&Array.isArray(r.choiceList)?(p=!0,g=n`<div class="info-cell-content"><span>${i.domainList.replace("{{count}}",String(r.choiceList.length))}</span><calcite-icon aria-hidden=true id=${h??d} icon=information scale=s></calcite-icon></div>`):g=null;let M=u?n`<div class="field-name-cell"><calcite-icon aria-hidden=true id=${w??d} icon=lock scale=s class="lock-icon"></calcite-icon><span>${r.name}</span></div>`:r.name;s.push(n`<calcite-table-row data-field-index=${(u?void 0:String(o))??d}><calcite-table-cell>${r.description?n`<div class="info-cell-content"><span>${r.alias}</span><calcite-icon aria-hidden=true id=${y??d} icon=information scale=s></calcite-icon></div>`:r.alias}</calcite-table-cell><calcite-table-cell>${M}</calcite-table-cell><calcite-table-cell><div class="field-type-cell"><calcite-icon aria-hidden=true .icon=${l} scale=s></calcite-icon><span>${c}</span></div></calcite-table-cell><calcite-table-cell>${g}</calcite-table-cell><calcite-table-cell><div class="edit-cell-content"><calcite-button appearance=transparent aria-label=${i.editField??d} class="edit-icon" icon-start=pencil kind=neutral @click=${()=>this._handleEditField(o,r)} scale=s></calcite-button></div></calcite-table-cell></calcite-table-row>`),p&&s.push(n`<calcite-tooltip .referenceElement=${h} placement=left><ul class="choice-list-tooltip">${r.choiceList.map(k=>n`<li>${k}</li>`)}</ul></calcite-tooltip>`),r.description&&s.push(n`<calcite-tooltip .referenceElement=${y} placement=right>${r.description}</calcite-tooltip>`),u&&s.push(n`<calcite-tooltip .referenceElement=${w} placement=top>${i.requiredFieldTooltip}</calcite-tooltip>`)}),s}_renderEmptyState(){return n`<calcite-panel><div class="empty-state"><calcite-icon aria-hidden=true icon=layer scale=l></calcite-icon><p>No solution design loaded</p></div></calcite-panel>`}_renderMainContent(){return n`<div class="content-container"><div class="solution-item-section">${this._renderSolutionItemInputs()}</div><div class="actions-section">${this._renderActionButtons()}</div></div>`}_getTemplateThumbnail(){let e="?w=400",i=this._design?.templateId;return i===N?O+e:i===q?S+e:P+e}_renderSolutionItemInputs(){let e=this._translations,i=this._design?.sourceBuildSolution?.solution?.thumbnailUrl||"",t=this._design?.solution?.title||"",a=this._design?.solution?.description||"";return n`<div class="solution-item-inputs"><div class="thumbnail-inputs-row"><div class="thumbnail-container"><img src=${(i+"?w=400"||this._getTemplateThumbnail())??d} alt=${e.solutionThumbnail??d}></div><div class="stacked-inputs"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.namePlaceholder} .value=${t} max-length=250 .status=${this._titleValidationError?"invalid":"idle"} .validationMessage=${this._titleValidationError||""} .validationIcon=${!!this._titleValidationError} @input=${s=>this._handleTitleChange(s.target.value)}></calcite-input-text><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.solutionDescriptionPlaceholder} .value=${a} max-length=2048 resize=none rows=3 .status=${this._descriptionValidationError?"invalid":"idle"} .validationMessage=${this._descriptionValidationError||""} .validationIcon=${!!this._descriptionValidationError} limit-text @calciteTextAreaInput=${s=>this._handleDescriptionChange(s.target.value)}></calcite-text-area></div></div></div></div>`}_renderActionButtons(){let e=this._translations,i=!!this._titleValidationError||!!this._descriptionValidationError;return n`<div class="action-buttons"><calcite-button appearance=solid width=full .disabled=${i} @click=${this._handleDeploy}>${e.deploy}</calcite-button><calcite-button appearance=outline kind=neutral width=full @click=${()=>{this._isDiscarding=!0}}>${e.discard}</calcite-button><calcite-notice open appearance=transparent kind=brand icon=effects scale=s><div slot=message>${e.noticeMessage}</div></calcite-notice></div>`}_renderSolutionItemContent(){let e=this._translations,i=this._design?.items||[],t=this._design?.featureLayer?.itemId,a=[...i].reverse();return n`<div class="solution-item-content-section"><h3 class="section-header">${e.contents}</h3><calcite-list .label=${e.solutionContentItems} interaction-mode=static>${a.map(s=>{let r=`customize-action-${s.id}`,o=s.id===t;return n`<calcite-list-item .label=${s.title} .description=${s.description||""}><solution-item-icon slot=content-start .designType=${s.type}></solution-item-icon>${o&&n`<calcite-button slot=content-end appearance=outline-fill round id=${r??d} icon-start=gear .label=${e.customizeLayer} scale=m @click=${this._handleOpenCustomizeLayer}>${e.customizeLayer}</calcite-button>`||""}<calcite-action slot=actions-end icon=edit-attributes .text=${e.edit} scale=m @click=${()=>this._handleOpenContentItemFlow(s)}></calcite-action></calcite-list-item>`})}</calcite-list></div>`}_renderContentItemFlow(){let e=this._translations,i=this._design?.items?.find(t=>t.id===this._editingContentItemId);return n`<calcite-flow><calcite-flow-item selected><div slot=heading class="content-item-flow-heading"><solution-item-icon .designType=${i?.type}></solution-item-icon><span>${i?.title||""}</span></div><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseContentItemFlow}></calcite-action><div class="flow-details-container"><div class="layer-properties-section"><calcite-input-text label-text=${e.itemTitle??d} required .value=${this._editingItemTitle} .placeholder=${e.titlePlaceholder} max-length=250 .status=${this._editingItemTitleError?"invalid":"idle"} .validationMessage=${this._editingItemTitleError||""} .validationIcon=${!!this._editingItemTitleError} @input=${t=>{this._editingItemTitle=t.target.value,this._editingItemTitleError=this._validateItemName(t.target.value)}}></calcite-input-text><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.itemDescription} .value=${this._editingItemDescription} .placeholder=${e.descriptionPlaceholder} max-length=2048 resize=none rows=3 .status=${this._editingItemDescriptionError?"invalid":"idle"} .validationMessage=${this._editingItemDescriptionError||""} .validationIcon=${!!this._editingItemDescriptionError} @calciteTextAreaInput=${t=>{this._editingItemDescription=t.target.value,this._editingItemDescriptionError=this._validateItemDescription(t.target.value)}}></calcite-text-area></div></div></div></div><calcite-button slot=footer-end appearance=solid scale=m .disabled=${!!this._editingItemTitleError||!!this._editingItemDescriptionError||!this._hasContentItemChanges()} @click=${this._handleApplyContentItemChanges}>${e.apply}</calcite-button></calcite-flow-item></calcite-flow>`}_renderCustomizeLayerFlow(){let e=this._translations,i=this._design?.featureLayer?.layers||[],t=this._design?.featureLayer?.addLayers||!1,a=i[this._selectedLayerIndex],s=a?.name||"",r=a?.description||"",o=a?.type||"Point";return n`<calcite-flow><calcite-flow-item .heading=${e.customizeLayer} .selected=${!this._isAddingLayer&&!this._isEditingField&&!this._isAddingNewField}><calcite-action slot=header-actions-start icon=chevron-left .text=${e.close} scale=m @click=${this._handleCloseCustomizeLayer}></calcite-action>${t&&n`<calcite-button slot=header-actions-end icon-start=plus scale=m class="new-layer-button" @click=${this._handleAddLayer}>${e.addLayer}</calcite-button>`||""}<div class="layer-form-content"><div class="layer-selector-container"><div class="layer-selector-row"><calcite-combobox .label=${e.selectLayer} required selection-mode=single-persist clear-disabled @calciteComboboxBeforeOpen=${l=>{this._layerNameValidationError&&(l.target.open=!1,this._layerNameAlertMessage=this._layerNameValidationError)}} @calciteComboboxChange=${l=>this._handleLayerSelect(l)}>${i.map((l,c)=>{let h=this._getLayerTypeIcon(l.type);return n`<calcite-combobox-item .value=${c.toString()} .label=${l.name} .heading=${l.name} .icon=${h} .selected=${c===this._selectedLayerIndex}></calcite-combobox-item>`})}</calcite-combobox></div></div>${a&&n`<div class="layer-details-container"><div class="layer-properties-section"><div class="layer-properties-row"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.layerNamePlaceholder} .value=${s} max-length=250 .status=${this._layerNameValidationError?"invalid":"idle"} .validationMessage=${this._layerNameValidationError||""} .validationIcon=${!!this._layerNameValidationError} @input=${l=>this._handleLayerNameInput(l.target.value)} @blur=${l=>this._handleLayerNameBlur(l.target.value)}></calcite-input-text><div class="layer-type-control-row"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${l=>this._handleLayerTypeChange(l)}><calcite-combobox-item value=Point .label=${e.pointLayer} .heading=${e.pointLayer} icon=point .selected=${o==="Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline .label=${e.lineLayer} .heading=${e.lineLayer} icon=line .selected=${o==="Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon .label=${e.polygonLayer} .heading=${e.polygonLayer} icon=polygon .selected=${o==="Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table .label=${e.tableLayer} .heading=${e.tableLayer} icon=table .selected=${o==="Table"}></calcite-combobox-item></calcite-combobox>${this._shouldShowRemoveLayerButton(a)&&n`<calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleRemoveLayer}>${e.removeLayer}</calcite-button>`||""}</div></div></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.layerDescriptionPlaceholder} .value=${r} resize=none rows=3 max-length=2048 .status=${this._layerDescriptionValidationError?"invalid":"idle"} .validationMessage=${this._layerDescriptionValidationError||""} .validationIcon=${!!this._layerDescriptionValidationError} @calciteTextAreaInput=${l=>this._handleLayerDescriptionChange(l.target.value)}></calcite-text-area></div></div><div class="fields-section"><calcite-label class="section-title">${e.fields}${F(this._fieldTableKey,n`<calcite-table bordered .caption=${e.fields} selection-mode=multiple @calciteTableSelect=${this._handleFieldTableSelect}>${this._selectedFieldCount>0&&[n`<calcite-button id=delete-fields-btn slot=selection-actions appearance=transparent kind=danger icon-start=trash width=auto .disabled=${this._hasRequiredFieldSelected||void 0} @click=${this._handleDeleteSelectedFields}>${e.deleteFields}</calcite-button>`,this._hasRequiredFieldSelected?n`<calcite-tooltip reference-element=delete-fields-btn placement=bottom>${e.requiredFieldsCannotBeDeleted}</calcite-tooltip>`:null]||""}${this._selectedFieldCount===0&&n`<calcite-button slot=selection-actions icon-start=plus appearance=transparent width=auto scale=m @click=${this._handleAddField}>${e.addField}</calcite-button>`||""}<calcite-table-row slot=table-header><calcite-table-header .heading=${e.displayName}></calcite-table-header><calcite-table-header .heading=${e.fieldName}></calcite-table-header><calcite-table-header .heading=${e.type}></calcite-table-header><calcite-table-header .heading=${e.domain}></calcite-table-header><calcite-table-header heading></calcite-table-header></calcite-table-row>${this._renderFieldRows(a)}</calcite-table>`)}</calcite-label><calcite-notice open icon=information appearance=transparent width=full><div slot=message>${e.systemFieldsNote} ${this._getSystemFieldsList(a)}</div></calcite-notice></div></div>`||""}</div></calcite-flow-item>${this._isEditingField&&n`<calcite-flow-item .heading=${e.editField} selected @calciteFlowItemBack=${this._handleEditFieldFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName??d} required .placeholder=${e.displayNamePlaceholder} .value=${this._editingFieldDisplayName} max-length=250 .status=${this._editingFieldDisplayNameError?"invalid":"idle"} .validationMessage=${this._editingFieldDisplayNameError||""} .validationIcon=${!!this._editingFieldDisplayNameError} @input=${l=>this._handleEditFieldDisplayNameChange(l.target.value)}></calcite-input-text><calcite-input-text label-text=${e.fieldName??d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._editingFieldName} max-length=31 .disabled=${this._editingFieldType==="required"} .status=${this._editingFieldNameError?"invalid":"idle"} .validationMessage=${this._editingFieldNameError||""} .validationIcon=${!!this._editingFieldNameError} @input=${l=>this._handleEditFieldNameChange(l.target.value)}></calcite-input-text></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.fieldDescription} .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._editingFieldDescription} resize=none rows=3 max-length=500 .status=${this._editingFieldDescriptionError?"invalid":"idle"} .validationMessage=${this._editingFieldDescriptionError||""} .validationIcon=${!!this._editingFieldDescriptionError} @calciteTextAreaInput=${l=>this._handleEditFieldDescriptionChange(l.target.value)}></calcite-text-area></div></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled .disabled=${this._editingFieldType==="required"} @calciteComboboxChange=${l=>this._handleEditFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType??d} .heading=${e.stringType} icon=string .selected=${this._editingFieldTypeValue==="string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType??d} .heading=${e.integerType} icon=integer .selected=${this._editingFieldTypeValue==="integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType??d} .heading=${e.doubleType} icon=number .selected=${this._editingFieldTypeValue==="double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType??d} .heading=${e.dateType} icon=date-time .selected=${this._editingFieldTypeValue==="date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType??d} .heading=${e.guidType} icon=key .selected=${this._editingFieldTypeValue==="guid"}></calcite-combobox-item></calcite-combobox>${this._editingFieldTypeValue==="string"&&n`<calcite-input-number label-text=${e.length??d} required .value=${this._editingFieldLength.toString()} .disabled=${this._editingFieldType==="required"} min=1 max=4000 .status=${this._editingFieldLengthError?"invalid":"idle"} .validationMessage=${this._editingFieldLengthError||""} .validationIcon=${!!this._editingFieldLengthError} @input=${l=>{let c=l.target.value===""?null:parseInt(l.target.value);this._handleEditFieldLengthChange(c)}}></calcite-input-number>`||""}</div>${this._editingFieldType==="required"&&n`<calcite-notice open icon=lock appearance=transparent kind=info><div slot=message>${e.requiredFieldNote}</div></calcite-notice>`||""}${this._editingFieldTypeValue==="string"&&n`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._editingFieldChoiceList&&this._editingFieldChoiceList.length>0?n`<div>${F(this._editingFieldChoiceListVersion,n`<calcite-list class="domain-list" drag-enabled .label=${e.domainValues} @calciteListOrderChange=${this._handleEditFieldChoiceOrderChange}>${this._editingFieldChoiceList.map((l,c)=>n`<calcite-list-item closable label @calciteListItemClose=${()=>this._handleRemoveEditFieldChoice(c)}><calcite-input-text slot=content .placeholder=${e.domainValuePlaceholder} .value=${l} .maxLength=${this._editingFieldLength} .status=${this._editingFieldChoiceListErrors.get(c)?"invalid":"idle"} .validationMessage=${this._editingFieldChoiceListErrors.get(c)||""} .validationIcon=${!!this._editingFieldChoiceListErrors.get(c)} @input=${h=>this._handleUpdateEditFieldChoice(c,h.target.value)}></calcite-input-text></calcite-list-item>`)}</calcite-list>`)}<div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleClearEditFieldChoiceList}>${e.deleteList}</calcite-button></div></div>`:n`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddEditFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>`||""}</div><calcite-button slot=footer-end appearance=outline kind=neutral scale=m .disabled=${this._editingFieldType==="required"} @click=${this._handleDeleteField}>${e.delete}</calcite-button><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${!!this._editingFieldDisplayNameError||!!this._editingFieldNameError||!!this._editingFieldDescriptionError||!!this._editingFieldLengthError||this._editingFieldChoiceListErrors.size>0||(this._editingFieldChoiceList?.some(l=>!l.trim())??!1)||this._editingFieldDisplayName===this._originalEditFieldDisplayName&&this._editingFieldName===this._originalEditFieldName&&this._editingFieldDescription===this._originalEditFieldDescription&&this._editingFieldTypeValue===this._originalEditFieldTypeValue&&this._editingFieldLength===this._originalEditFieldLength&&JSON.stringify(this._editingFieldChoiceList)===JSON.stringify(this._originalEditFieldChoiceList)} @click=${this._handleApplyFieldChanges}>${e.apply}</calcite-button></calcite-flow-item>`||""}${this._isAddingLayer&&n`<calcite-flow-item .heading=${e.addLayer} selected @calciteFlowItemBack=${this._handleAddLayerFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.name??d} required .placeholder=${e.layerNamePlaceholder} .value=${this._newLayerName} max-length=250 .status=${this._newLayerNameValidationError?"invalid":"idle"} .validationMessage=${this._newLayerNameValidationError||""} .validationIcon=${!!this._newLayerNameValidationError} @input=${l=>this._handleNewLayerNameChange(l.target.value)}></calcite-input-text><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${l=>this._handleNewLayerTypeChange(l)}><calcite-combobox-item value=Point text-label=${e.pointLayer??d} .heading=${e.pointLayer} icon=point .selected=${this._newLayerType==="Point"}></calcite-combobox-item><calcite-combobox-item value=Polyline text-label=${e.lineLayer??d} .heading=${e.lineLayer} icon=line .selected=${this._newLayerType==="Polyline"}></calcite-combobox-item><calcite-combobox-item value=Polygon text-label=${e.polygonLayer??d} .heading=${e.polygonLayer} icon=polygon .selected=${this._newLayerType==="Polygon"}></calcite-combobox-item><calcite-combobox-item value=Table text-label=${e.tableLayer??d} .heading=${e.tableLayer} icon=table .selected=${this._newLayerType==="Table"}></calcite-combobox-item></calcite-combobox></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.description} .placeholder=${e.layerDescriptionPlaceholder} .value=${this._newLayerDescription} resize=none rows=3 max-length=2048 .status=${this._newLayerDescriptionValidationError?"invalid":"idle"} .validationMessage=${this._newLayerDescriptionValidationError||""} .validationIcon=${!!this._newLayerDescriptionValidationError} @calciteTextAreaInput=${l=>this._handleNewLayerDescriptionChange(l.target.value)}></calcite-text-area></div></div></div><calcite-button slot=footer-end appearance=solid kind=brand scale=m .disabled=${!this._newLayerName.trim()||!!this._newLayerNameValidationError||!!this._newLayerDescriptionValidationError} @click=${this._handleAddLayerDone}>${e.done}</calcite-button></calcite-flow-item>`||""}${this._isAddingNewField&&n`<calcite-flow-item .heading=${e.addField} selected @calciteFlowItemBack=${this._handleAddFieldFlowItemBack}><div class="flow-details-container"><div class="layer-properties-container"><calcite-input-text label-text=${e.displayName??d} required .placeholder=${e.displayNamePlaceholder} .value=${this._newFieldDisplayName} max-length=250 .status=${this._newFieldDisplayNameError?"invalid":"idle"} .validationMessage=${this._newFieldDisplayNameError||""} .validationIcon=${!!this._newFieldDisplayNameError} @input=${l=>this._handleNewFieldDisplayNameChange(l.target.value)}></calcite-input-text><calcite-input-text label-text=${e.fieldName??d} required .placeholder=${e.fieldNamePlaceholder} .value=${this._newFieldName} max-length=31 .status=${this._newFieldNameError?"invalid":"idle"} .validationMessage=${this._newFieldNameError||""} .validationIcon=${!!this._newFieldNameError} @input=${l=>this._handleNewFieldNameChange(l.target.value)}></calcite-input-text></div><div class="layer-description-container"><div class="textarea-wrapper"><calcite-text-area .labelText=${e.fieldDescription} .placeholder=${e.fieldDescriptionPlaceholder} .value=${this._newFieldDescription} resize=none rows=3 max-length=500 .status=${this._newFieldDescriptionError?"invalid":"idle"} .validationMessage=${this._newFieldDescriptionError||""} .validationIcon=${!!this._newFieldDescriptionError} @calciteTextAreaInput=${l=>this._handleNewFieldDescriptionChange(l.target.value)}></calcite-text-area></div></div><div class="layer-properties-container"><calcite-combobox .label=${e.type} label-text=${e.type??d} selection-mode=single-persist clear-disabled @calciteComboboxChange=${l=>this._handleNewFieldTypeChange(l)}><calcite-combobox-item value=string text-label=${e.stringType??d} .heading=${e.stringType} icon=string .selected=${this._newFieldType==="string"}></calcite-combobox-item><calcite-combobox-item value=integer text-label=${e.integerType??d} .heading=${e.integerType} icon=integer .selected=${this._newFieldType==="integer"}></calcite-combobox-item><calcite-combobox-item value=double text-label=${e.doubleType??d} .heading=${e.doubleType} icon=number .selected=${this._newFieldType==="double"}></calcite-combobox-item><calcite-combobox-item value=date text-label=${e.dateType??d} .heading=${e.dateType} icon=date-time .selected=${this._newFieldType==="date"}></calcite-combobox-item><calcite-combobox-item value=guid text-label=${e.guidType??d} .heading=${e.guidType} icon=key .selected=${this._newFieldType==="guid"}></calcite-combobox-item></calcite-combobox>${this._newFieldType==="string"&&n`<calcite-input-number label-text=${e.length??d} required .value=${this._newFieldLength.toString()} min=1 max=4000 .status=${this._newFieldLengthError?"invalid":"idle"} .validationMessage=${this._newFieldLengthError||""} .validationIcon=${!!this._newFieldLengthError} @input=${l=>{let c=l.target.value===""?null:parseInt(l.target.value);this._handleNewFieldLengthChange(c)}}></calcite-input-number>`||""}</div>${this._newFieldType==="string"&&n`<div class="domain-section"><div class="section-title">${e.domainValues}</div>${this._newFieldChoiceList&&this._newFieldChoiceList.length>0?n`<div>${F(this._newFieldChoiceListVersion,n`<calcite-list class="domain-list" drag-enabled .label=${e.domainValues} @calciteListOrderChange=${this._handleNewFieldChoiceOrderChange}>${this._newFieldChoiceList.map((l,c)=>n`<calcite-list-item closable label @calciteListItemClose=${()=>this._handleRemoveNewFieldChoice(c)}><calcite-input-text slot=content .placeholder=${e.domainValuePlaceholder} .value=${l} .maxLength=${this._newFieldLength} .status=${this._newFieldChoiceListErrors.get(c)?"invalid":"idle"} .validationMessage=${this._newFieldChoiceListErrors.get(c)||""} .validationIcon=${!!this._newFieldChoiceListErrors.get(c)} @input=${h=>this._handleUpdateNewFieldChoice(c,h.target.value)}></calcite-input-text></calcite-list-item>`)}</calcite-list>`)}<div class="domain-actions-row"><calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button><calcite-button appearance=transparent kind=danger icon-start=trash width=auto @click=${this._handleClearNewFieldChoiceList}>${e.deleteList}</calcite-button></div></div>`:n`<calcite-button icon-start=plus appearance=transparent width=auto class="add-field-button padding-top-sm" @click=${this._handleAddNewFieldChoice}>${e.addDomainValue}</calcite-button>`}</div>`||""}</div><calcite-button slot=footer-end appearance=solid scale=m .disabled=${!this._newFieldDisplayName.trim()||!this._newFieldName.trim()||!!this._newFieldDisplayNameError||!!this._newFieldNameError||!!this._newFieldDescriptionError||!!this._newFieldLengthError||this._newFieldChoiceListErrors.size>0||(this._newFieldChoiceList?.some(l=>!l.trim())??!1)} @click=${this._handleAddFieldDone}>${e.done}</calcite-button></calcite-flow-item>`||""}</calcite-flow>`}_pushDesign(e,i=!0){this._design&&(this._undoStack=[...this._undoStack,structuredClone(this._design)]),this._redoStack=[],this._design=e,this._lastPushedDesign=e,this._isDirty=!0,i&&this._notifyDesignChanged(e)}_notifyDesignChanged(e){this._designContextValue?.updateDesign&&this._designContextValue.updateDesign(e),window.dispatchEvent(new CustomEvent("arcgis-solution-design-update",{detail:e}))}_clearDesignAndClose(){this._design=null,this._resetLayerFieldIndexes(),this._clearValidationErrors(),this._designContextValue?.updateDesign&&this._designContextValue.updateDesign(null),window.dispatchEvent(new CustomEvent("toggleSolutionBuilder"))}_closeDeployDialogs(){this._deployingDialogRef.value&&this._deployingDialogRef.value.close(),this._deployDialogRef.value&&(this._deployDialogRef.value.classList.remove("display-none"),this._deployDialogRef.value.open=!1)}_resetLayerFieldIndexes(){this._selectedLayerIndex=0,this._selectedFieldCount=0,this._fieldTableKey=0}};D("solution-builder-assistant",v);return v},a)
@@ -1,2 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import{a as M}from"./6SSQ6MIC.js";import"./CVHXDPJO.js";import b from"./2C4DK6YC.js";import a from"./WV7QX3ED.js";import{a as I}from"./MGEDATQ7.js";import"./RMEDO4JC.js";import"./ISFTCFSJ.js";import{b as C}from"./2I5LGZNX.js";import{E as h,F as r,G as $,I as d,J as v,h as g,i as s,l as y,q as _,t as w}from"./FFF5HUPM.js";import"./QPIMTXPL.js";export default $arcgis.t(([,{d:L}])=>{var F=g`@layer{:host{display:block;--calcite-label-margin-bottom: 0px;--solutions-theme-foreground-color: var(--calcite-color-surface-2)}.padding-1-2{padding:.5rem}.display-flex{display:flex}.width-full{width:100%}.width-1-2{position:relative;width:50%}.width-1-3{position:relative;width:33.33%}.width-2-3{position:relative;width:66.66%}.width-0{width:0}.z-index-2{z-index:2!important}.height-full{height:100%}.height-1-2{position:relative;height:50%}.height-0{height:0}.toggle-node{width:51px;height:51px}.overflow-hidden{overflow:hidden}.flex-column{flex-direction:column}.border{border:1px solid var(--calcite-color-border-3)}.border-top{border-top:1px solid var(--calcite-color-border-3)}.border-bottom{border-bottom:1px solid var(--calcite-color-border-3)}.border-sides{border-left:1px solid var(--calcite-color-border-3);border-right:1px solid var(--calcite-color-border-3)}.position-relative{position:relative}.position-absolute{position:absolute}.position-sticky{position:sticky}.height-50{height:50%}.top-51{top:51px}.adjusted-height-50{height:calc(50% - 25px)}.adjusted-height-100{height:calc(100% - 50px)}.adjusted-height-100-51{height:calc(100% - 51px)}.display-none{display:none!important}.adjusted-height-50_25{height:calc(50% + 25px)}.display-grid{display:grid}.padding-inline-start-75{padding-inline-start:.75rem}.align-items-center{align-items:center}.esri-floor-filter__close-levels-button,.esri-floor-filter__level-button,.esri-floor-filter__browse-button{width:40px!important;height:40px!important}.position-absolute-0{position:absolute;inset:0}.visibility-hidden{visibility:hidden;height:0px}.border-width-0{border-width:0px}.floating-container{position:fixed;width:100px;height:10px;bottom:0;margin:100px 0;z-index:1}.left-0{left:0}.right-0{right:0}.floating-container .floating-button{box-shadow:0 10px 25px #5c5d5e99;-webkit-transform:translatey(5px);transform:translatey(5px);-webkit-transition:all .3s;transition:all .3s}.z-index-0{z-index:0!important}.z-index-1{z-index:1!important}.filter-content-space{--calcite-dialog-content-space: 0px}.background-dark{background:var(--calcite-color-surface-1)}.filter-extent-container{display:flex;justify-content:space-between;align-items:center;padding:10px 0}.filter-modal-buttons{display:flex;padding:12px;gap:10px}.filter-extent-message{align-items:center;display:flex;gap:5px}calcite-action-bar{--calcite-internal-action-bar-gap: 0px;--calcite-internal-action-bar-padding: 0px}}`,m=class extends ${constructor(){super(),this.coverPageEnabled=!1,this.customInfoText="",this.defaultCenter="",this.defaultGlobalId="",this.defaultLayer="",this.defaultLevel="",this.defaultOid="",this.defaultWebmap="",this.honorMapFieldSettings=!1,this.introductionWindowEnabled=!1,this.enableAutoRefresh=!1,this.enableBasemap=!0,this.enableColumnReorder=!0,this.enableCSV=!0,this.enableFloorFilter=!0,this.enableFullscreen=!0,this.enableHome=!0,this.enableLegend=!0,this.enableLayerList=!0,this.enableMapList=!0,this.visibilityIcon="eyeball",this.enableSearch=!0,this.enableShare=!1,this.enableSnapping=!0,this.enableZoom=!0,this.mapInfos=[],this.onlyShowUpdatableLayers=!1,this.popupHeaderColor="",this.popupHeaderHoverColor="",this.popupHeaderHoverTextColor="",this.popupHeaderTextColor="",this.shareIncludeEmbed=!1,this.shareIncludeSocial=!1,this.showNewestFirst=!0,this.theme="light",this.zoomAndScrollToSelected=!1,this.enableSelectionTool=!0,this.featureSelectionMode="multiple",this.enableCopyPaste=!0,this._deleteDialogOpen=!1,this._enableCreateFeatures=!0,this._hideFooter=!1,this._hideTable=!1,this._isMobile=!1,this._translations=I({name:"crowdsource-manager",blocking:!0}),this._layoutMode="GRID",this._panelOpen=!0,this._numSelected=0,this._filterOpen=!1,this._showInformationHeader=!0,this._layerExpressions=[],this._layerIds=[],this._isLoading=!0,this._mapExtentFilterChecked=!1,this._deleteIds=[],this._showInvalidMapAlert=!1,this._currentMapInfos=[],this._pasteEnabled=!1,this._showCopyPasteActions=!1,this._defaultAppLayoutHonored=!1,this._defaultCenterHonored=!1,this._defaultLevelHonored=!1,this._layerTable=h(),this._shouldSetMapView=!1,this._filterList=h(),this._mapCard=h(),this._isMapViewOnLoad=!1,this.showIntroductionWindow=_(),this.showCoverPage=_(),this.listenOn(window,"featureSelectionChange",this.featureSelectionChange),this.listenOn(window,"popupClosed",this.popupClosed),this.listenOn(window,"layoutChanged",this.layoutChanged),this.listenOn(window,"mapChanged",this.mapChanged),this.listenOn(window,"layerSelectionChange",this.layerSelectionChange),this.listenOn(window,"showDelete",this.showDelete),this.listenOn(window,"noLayersFound",this.noLayersFound),this.listenOn(window,"clearSelection",this.clearSelection),this.listenOn(window,"relatedRecordToggled",this.relatedRecordToggled),this.listenOn(window,"creatingFeature",this.creatingFeature),this.listenOn(window,"featuresCopied",this.featuresCopied),this.listenOn(window,"idsFound",this.idsFound),M(window)}static{this.properties={appLayout:1,appProxies:1,basemapConfig:0,coverPageEnabled:5,customInfoText:1,defaultAppLayout:1,defaultCenter:1,defaultGlobalId:1,defaultLayer:1,defaultLevel:1,defaultOid:1,defaultWebmap:1,honorMapFieldSettings:5,introductionWindowEnabled:5,enableAutoRefresh:5,enableBasemap:5,enableColumnReorder:5,enableCSV:5,enableFloorFilter:5,enableFullscreen:5,enableHome:5,enableLegend:5,enableLayerList:5,enableMapList:5,visibilityIcon:1,enableSearch:5,enableShare:5,enableSnapping:5,enableZoom:5,mapInfos:0,onlyShowUpdatableLayers:5,popupHeaderColor:1,popupHeaderHoverColor:1,popupHeaderHoverTextColor:1,popupHeaderTextColor:1,searchConfiguration:0,shareIncludeEmbed:5,shareIncludeSocial:5,showNewestFirst:5,theme:1,zoomAndScrollToSelected:5,zoomToScale:9,enableSelectionTool:5,featureSelectionMode:1,enableCopyPaste:5,_deleteDialogOpen:16,_enableCreateFeatures:16,_hideFooter:16,_hideTable:16,_isMobile:16,_translations:16,_layer:16,_layoutMode:16,_mapInfo:16,_mapView:16,_panelOpen:16,_numSelected:16,_filterOpen:16,_showInformationHeader:16,_layerExpressions:16,_layerIds:16,_isLoading:16,_mapExtentFilterChecked:16,_deleteIds:16,_showInvalidMapAlert:16,_currentMapInfos:16,_pasteEnabled:16,_showCopyPasteActions:16}}static{this.styles=F}static{this.shadowRootOptions=w}willUpdate(e){e.has("appLayout")&&this.appLayout&&this.appLayoutWatchHandler(this.appLayout,e.get("appLayout")),e.has("enableZoom")&&(this.hasUpdated||this.enableZoom!==!0)&&this.enableZoomWatchHandler(),e.has("mapInfos")&&this.hasUpdated&&this.mapInfosWatchHandler(),e.has("_isMobile")&&this.hasUpdated&&this._handleCopyPasteActions(),e.has("enableCopyPaste")&&this.hasUpdated&&this._handleCopyPasteActions()}appLayoutWatchHandler(e,t){e!==t&&(this._layerTable.value?.validateTableUpdate(e==="splitView"),this._setActiveLayout(e),this.appLayout==="mapView"&&this._layer?.isTable&&this._mapCard.value&&this._mapCard.value.updateLayer(),this._isMapViewOnLoad&&this._layerTable.value&&this._layerTable.value.refresh())}enableZoomWatchHandler(){this._initMapZoom()}mapInfosWatchHandler(){this.updateCurrentMapInfos()}async featureSelectionChange(e){this._numSelected=e.detail?.length}async popupClosed(){this._isMobile&&this.showHideMapPopupAndTable(!1)}async layoutChanged(e){this._layoutMode=e.detail}async mapChanged(e){this._isMapViewOnLoad&&(this._showMapInFullView(),this._isMapViewOnLoad=!1),this._mapChange=e.detail,this.showHideMapPopupAndTable(!1),this._pasteEnabled=!1,this._mapChange?.isValid?await this._mapChange.mapView?.when(async()=>{await this._setMapView()}):(this._mapInfo=this._mapChange&&this._getMapInfo(this._mapChange.id),this._showInvalidMapAlert=!0)}async layerSelectionChange(e){let t=e.detail[0],i=this._mapView&&await L(this._mapView,t);i&&await i.when(()=>{i.isTable&&!this._isMobile&&(this.appLayout="tableView"),this._layer=i,this._pasteEnabled=!1,this._handleCopyPasteActions(),this._initLayerExpressions(),this._handleFilterListReset(),this._isLoading=!1})}async showDelete(e){this._deleteIds=e.detail.ids,this._deleteDialogOpen=!0}async noLayersFound(){this._layer=void 0,this._isLoading=!1}async clearSelection(){this.showHideMapPopupAndTable(!1)}async relatedRecordToggled(e){let t=e.detail;this._relatedTableLayer=t}async creatingFeature(){this.appLayout="splitView"}featuresCopied(){this._pasteEnabled=!0}idsFound(e){this._layerIds=e.detail}load(){this.updateCurrentMapInfos(),this._resizeObserver=new ResizeObserver(()=>this._onResize())}render(){let e=this.popupHeaderColor&&this.popupHeaderColor!=="#FFFFFF"?"border-width-0":"",t=this.theme==="dark"?"calcite-mode-dark":"calcite-mode-light",i=this._translations.invalidWebMapMsg?.replace("{{web_map}}",this._mapInfo?.name||"");return s`${this._showInvalidMapAlert&&s`<calcite-alert auto-close class=${d(t)} icon=check-circle kind=danger label @calciteAlertClose=${()=>{this._showInvalidMapAlert=!1}} open placement=top><div slot=message>${i}</div></calcite-alert>`||""}<calcite-shell class="position-relative"><calcite-panel class=${`width-full height-full ${e}`} .loading=${this._isLoading}>${this._getBody(this._layoutMode,this._panelOpen,this._hideTable)}</calcite-panel>${this._getFooter()}</calcite-shell>${this._filterModal()}${!this._isMobile&&this._deleteModal()||""}`}async updated(){this._shouldSetMapView&&(this._shouldSetMapView=!1,this._mapChange&&await this._setMapView())}loaded(){this._resizeObserver?.observe(this.el),!this._defaultAppLayoutHonored&&this.defaultAppLayout?(this._defaultAppLayoutHonored=!0,this.appLayout=this.defaultAppLayout):this.appLayout||(this.appLayout="splitView"),this._isMapViewOnLoad=this.appLayout==="mapView",this._setActiveLayout(this.appLayout)}_getFooter(){let e=this._numSelected>0,t=this._layerTable.value&&this._layerTable.value.selectedRelatedIds?.length>0?this._relatedTableLayer:this._layer,i=this._layer?.editingEnabled&&this._layer.capabilities?.operations.supportsDelete;return this._isMobile&&e&&!this._hideFooter?s`<div class=${"width-100"} slot=footer><div class="display-flex padding-1-2"><calcite-button appearance=solid id=solutions-show @click=${()=>this.showHideMapPopupAndTable(!0)} width=full>${this._translations.view.replace("{{n}}",this._numSelected.toString())}</calcite-button>${i?s`<delete-button class="padding-inline-start-1 width-full" id=solutions-delete .ids=${this.updateIdsToBeDeleted()} @deleteClicked=${this.updateIdsToBeDeleted} .layer=${t}></delete-button>`:void 0}</div></div>`:void 0}updateIdsToBeDeleted(){return this._deleteIds=this._layerTable.value&&this._layerTable.value.selectedRelatedIds?.length>0?this._layerTable.value.selectedRelatedIds:this._layerTable.value?.selectedIds,this._deleteIds}_setActiveLayout(e){e==="splitView"&&!this._panelOpen&&this._toggleLayout(),e==="mapView"?this._showMapInFullView():this._showMapInCardView()}_getDividerIcon(e,t){return e==="HORIZONTAL"?t?"chevrons-up":"chevrons-down":e==="VERTICAL"||e==="GRID"?t?"chevrons-left":"chevrons-right":void 0}_getMapSizeClass(e,t,i){let a="";switch(e){case"HORIZONTAL":a=`${t&&!i?"height-1-2 display-grid":t&&i?"height-full":"height-0"} width-full position-relative`;break;case"GRID":a=`height-full position-relative ${t?"width-1-3":"width-0"}`;break;case"VERTICAL":a=`height-full position-relative ${t?"width-1-2":"width-0"}`;break}return a}_getTableSizeClass(e,t){let i="";switch(e){case"HORIZONTAL":i=`${t?"height-1-2":"height-full"} width-full display-flex flex-column`;break;case"GRID":i=`${t?"width-2-3":"width-full"} height-full display-flex`;break;case"VERTICAL":i=`${t?"width-1-2":"width-full"} height-full display-flex`;break}return i}_getBody(e,t,i){let a=e==="HORIZONTAL"?"":"display-flex",l=this.theme==="dark"?"calcite-mode-dark":"calcite-mode-light",o=document.dir==="rtl"?"left-0":"right-0";return s`<calcite-panel class="width-full height-full position-absolute"><div class=${`width-full height-full overflow-hidden ${a}`}>${this._getMapAndCard(e,t,i)}${this._getTable(e,t,i)}</div>${this.coverPageEnabled&&s`<div class=${`floating-container ${o}`} @click=${this.coverPageButtonClick}><calcite-button appearance=solid class=${`floating-button ${l}`} icon-start=content-minimal kind=neutral .label=${this._translations.coverPage} round scale=l split-child=primary width=auto></calcite-button></div>`||""}${this.introductionWindowEnabled&&s`<div class=${`floating-container ${o}`} @click=${this.infoButtonClick}><calcite-button appearance=solid class=${`floating-button ${l}`} icon-start=information-letter kind=neutral .label=${this._translations.information} round scale=l split-child=primary width=auto></calcite-button></div>`||""}</calcite-panel>`}infoButtonClick(){this.showIntroductionWindow.emit()}coverPageButtonClick(){this.showCoverPage.emit()}_getMapAndCard(e,t,i){let a=this._getMapSizeClass(e,t,i);return s`<div class=${`${a} overflow-hidden z-index-2`}>${this._getMapNode(t)}${this._getPopupExpandNode()}</div>`}_getMapNode(e){let t=this.appLayout==="mapView",i=this.appLayout==="tableView",a=this._isMobile?"height-full":t||i?"position-absolute-0":this._layoutMode==="HORIZONTAL"&&(!this._isMobile||e)?"":"adjusted-height-50",l=this.defaultWebmap&&this.defaultLayer,o=this.enableSelectionTool&&this.featureSelectionMode==="multiple"&&!this._layer?.isTable,p=["home","legend","search","fullscreen","basemap","floorfilter","layers-list","selectiontool"],c=["map-picker","map-layer-picker"],n=document.dir||"ltr";return s`<div class=${`${a} overflow-hidden`} id=card-mapView><map-card .appLayout=${this.appLayout} .appProxies=${this.appProxies} .basemapConfig=${this.basemapConfig} class="width-full" .defaultLayerId=${l?this.defaultLayer:""} .defaultWebmapId=${this.defaultWebmap} .enableBasemap=${this.enableBasemap} .enableFloorFilter=${this.enableFloorFilter} .enableFullscreen=${this.enableFullscreen} .enableHome=${this.enableHome} .enableLegend=${this.enableLegend} .enableLayerList=${this.enableLayerList} .enableSearch=${this.enableSearch} .enableSelectionTool=${o} .enableShare=${this.enableShare} enable-single-expand enable-map-layer-picker enable-map-picker .featureSelectionMode=${this.featureSelectionMode} .hide=${!this._isMobile&&i} zoom-tools-size=s .isMapLayout=${t} .isMobile=${this._isMobile} .mapInfo=${this._mapInfo} .mapInfos=${this._currentMapInfos.filter(u=>u.visible!==!1)} map-widgets-index=0 .mapWidgetsPosition=${n==="rtl"?"top-right":"top-left"} .mobileMapWidgetsPosition=${n==="rtl"?"top-left":"top-right"} map-component-id=arcgis-map map-widgets-size=s .showOnlyUpdatableLayers=${this.onlyShowUpdatableLayers} .pasteEnabled=${this._pasteEnabled} @toggleFilter=${this._toggleFilter} .selectedFeaturesIds=${this._layerTable.value?.selectedIds??[]} .selectedLayer=${this._layer} .shareIncludeEmbed=${this.shareIncludeEmbed} .shareIncludeSocial=${this.shareIncludeSocial} .showCopyPasteActions=${this._showCopyPasteActions} stack-tools .theme=${this.theme} .visibilityIcon=${this.visibilityIcon} .mapToolsOrder=${p} .mobileToolsOrder=${c} .zoomToScale=${this.zoomToScale} ${r(this._mapCard)}></map-card></div>`}_getPopupExpandNode(){let e=this._isMobile?"height-full":"height-full position-relative",t=this._isMobile&&this._showInformationHeader?"display-none height-0":"",i=this.popupHeaderColor?"":this._isMobile?"calcite-mode-light":"calcite-mode-dark",a=this._isMobile&&this._hideTable?"position-absolute-0 width-full height-full":this._isMobile?"display-none height-0":"",l=this._currentMapInfos?.length>1&&this.appLayout==="tableView"?"position-relative top-51":"",o=this.appLayout!=="tableView"?"position-sticky":"";return s`<div class=${`${i} ${e} ${a} ${l} ${o}`} style=${v({"--calcite-color-surface-2":this.popupHeaderColor,"--calcite-color-surface-3":this.popupHeaderHoverColor,"--calcite-color-text-3":this.popupHeaderTextColor,"--calcite-color-text-2":this.popupHeaderTextColor})}><calcite-panel>${!this._isMobile&&this._showInformationHeader||this._numSelected>0&&!this._isMobile?s`<div class=${`display-flex align-items-center ${t}`} slot=header-content><calcite-icon aria-hidden=true icon=information scale=s></calcite-icon><div class="padding-inline-start-75">${this._translations.information}</div></div>`:s`<div></div>`}${this._getCardNode()}</calcite-panel></div>`}_getCardNode(){let e=this.appLayout==="mapView",t=this.appLayout==="tableView",i=this._isMobile?"height-full":t&&this._currentMapInfos?.length>1?"adjusted-height-100-51":e||t?"height-full":this._numSelected>0&&!this._isMobile?"height-50":this._showInformationHeader?this._isMobile?"height-full":"height-50":"adjusted-height-50_25",a=this.theme==="dark"?"calcite-mode-dark":"calcite-mode-light",l=this._layerTable.value&&this._layerTable.value.selectedRelatedIds?.length>0?this._relatedTableLayer:this._layer;return s`<div class=${`width-50 height-full ${a}`}><card-manager class=${`${i} width-full`} .allowedPasteLayerIds=${this._layerIds} .customInfoText=${this.customInfoText} .enableCreateFeatures=${this._enableCreateFeatures&&!this._isMobile} .createBtnLabel=${this._mapInfo?.createFeatureButtonLabel} .enableEditGeometry=${this._mapInfo?.enableEditGeometry} .enableSnapping=${this.enableSnapping} .isMobile=${this._isMobile} .layerOrTable=${l} .mapView=${this?._mapView} map-component-id=arcgis-map @backFromCreateWorkFlow=${()=>{this._showInformationHeader=!0}} @createWorkFlowStarted=${()=>{this.appLayout=l?.isTable?"tableView":"mapView",this._showInformationHeader=!1}} @featureOrRecordSubmitted=${()=>this._layerTable.value&&void this._layerTable.value.refresh()} .pasteEnabled=${this._pasteEnabled} .selectedFeaturesIds=${this._layerTable.value?.selectedIds} .selectingFeatureFromMap=${this.appLayout==="mapView"} .showCopyPasteActions=${this._showCopyPasteActions} .showSketchWidgets=${l?.geometryType!=="point"} .zoomAndScrollToSelected=${this.zoomAndScrollToSelected}></card-manager></div>`}_getTable(e,t,i){let a=this.appLayout==="mapView",l=this.appLayout==="tableView",o=i&&this._isMobile?"visibility-hidden":a?"display-none":"",p=a?"height-full width-full z-index-0":"display-none",c=this._getTableSizeClass(e,t),n=e==="HORIZONTAL"?"horizontal":"vertical",u=e==="HORIZONTAL"?"header":"panel-start",b=this.defaultWebmap&&this.defaultLayer,x=this._isMobile?"border-top":"",f=this.defaultGlobalId?this.defaultGlobalId?.indexOf(",")>-1?this.defaultGlobalId.split(","):[this.defaultGlobalId]:void 0,T=this.defaultOid?this.defaultOid?.indexOf(",")>-1?this.defaultOid.split(",").map(S=>Number.parseInt(S,10)):[Number.parseInt(this.defaultOid,10)]:void 0;return s`<calcite-shell class=${`${c} ${x} border-bottom z-index-1`}>${this._isMobile?void 0:s`<calcite-action-bar class="border-sides" expand-disabled .layout=${n} slot=${u??y}>${this.getActions(e,t)}</calcite-action-bar>`}<div class=${`width-full height-full position-relative z-index-0 ${o}`}><layer-table .appLayout=${this.appLayout} .defaultGlobalId=${b?f:void 0} .defaultLayerId=${b?this.defaultLayer:""} .defaultOid=${b&&!f?T:void 0} .enableAutoRefresh=${this.enableAutoRefresh} .enableCSV=${this.enableCSV} .enableColumnReorder=${this.enableColumnReorder} .enableInlineEdit=${this?._mapInfo?.enableInlineEdit} .enableTableAutosave=${this._mapInfo?.enableTableAutosave!==void 0?this._mapInfo?.enableTableAutosave:!0} .enableShare=${this.enableShare} .featureSelectionMode=${this.featureSelectionMode} .honorMapFieldSettings=${this.honorMapFieldSettings} .isMobile=${this._isMobile} .mapHidden=${l} .mapInfo=${this._mapInfo} .mapView=${this?._mapView} .pasteEnabled=${this._pasteEnabled} .showOnlyUpdatableLayers=${this.onlyShowUpdatableLayers} @toggleFilter=${this._toggleFilter} .shareIncludeEmbed=${this.shareIncludeEmbed} .shareIncludeSocial=${this.shareIncludeSocial} .showNewestFirst=${this.showNewestFirst} .zoomAndScrollToSelected=${this.zoomAndScrollToSelected} .zoomToScale=${this.zoomToScale} .showCopyPasteActions=${this._showCopyPasteActions} .layerIds=${this._layerIds} ${r(this._layerTable)}></layer-table></div><div class=${d(p)} id=full-map-view></div></calcite-shell>`}getActions(e,t){let i=this._getDividerIcon(e,t),a=t?this._translations.close:this._translations.open,l="toggle-layout";return s`<calcite-action .active=${this.appLayout==="splitView"} alignment=center class="toggle-node" icon=browser id=browser-action @click=${()=>{this.appLayout="splitView"}} .text=${this._translations.splitView}></calcite-action><calcite-tooltip placement=right reference-element=browser-action><span>${this._translations.splitView}</span></calcite-tooltip><calcite-action .active=${this.appLayout==="tableView"} alignment=center class="toggle-node" icon=dock-left id=dock-left-action @click=${()=>{this.appLayout="tableView"}} .text=${this._translations.tableView}></calcite-action><calcite-tooltip placement=right reference-element=dock-left-action><span>${this._translations.tableView}</span></calcite-tooltip><calcite-action .active=${this.appLayout==="mapView"} alignment=center class="toggle-node" .disabled=${this._layer?.isTable} icon=browser-map id=browser-map-action @click=${()=>{this.appLayout="mapView"}} .text=${this._translations.mapView}></calcite-action><calcite-tooltip placement=right reference-element=browser-map-action><span>${this._translations.mapView}</span></calcite-tooltip><calcite-action alignment=center class="toggle-node" .icon=${i} id=${l} @click=${()=>this._toggleLayout()} slot=actions-end .text=${a}></calcite-action><calcite-tooltip placement=bottom .referenceElement=${l}><span>${a}</span></calcite-tooltip>`}_deleteModal(){let e=(this._layerTable.value?.selectedRelatedIds?.length??0)>0?this._relatedTableLayer:this._layer;return s`<delete-dialog id=deleteDialogId .ids=${this._deleteIds} .layer=${e} @deleteDialogClose=${()=>this._deleteDialogOpen=!1} .open=${this._deleteDialogOpen}></delete-dialog>`}_mapExtentFilter(){let e=this._layerExpressions?.length===0;return s`<calcite-panel><div><calcite-block class=${d(this.theme==="dark"?"background-dark":"")} heading menu-placement=bottom-end open><div class="filter-extent-container"><div class="filter-extent-message"><span>${this._translations.filterByExtentMsg}</span><calcite-icon icon=information id=filter-message-info scale=s></calcite-icon><calcite-tooltip overlay-positioning=fixed placement=top reference-element=filter-message-info>${this._translations.filterByExtentTooltipMsg}</calcite-tooltip></div><calcite-switch .checked=${this._mapExtentFilterChecked} @calciteSwitchChange=${t=>{let i=!!(t.target.checked||this._filterList.value?.filterCount&&this._filterList.value?.filterCount>0);this._layerTable.value&&this._layerTable.value?.filterUpdate(i,t.target.checked),this._mapCard.value&&this._mapCard.value?.updateFilterState(i),this._mapExtentFilterChecked=t.target.checked}} scale=m></calcite-switch></div></calcite-block>${e&&s`<div class="filter-modal-buttons" slot=footer><calcite-button appearance=outline @click=${this._handleFilterListReset} width=full>${this._translations.Resetfilter}</calcite-button><calcite-button @click=${this._closeFilter} width=full>${this._translations.close}</calcite-button></div>`||""}</div></calcite-panel>`}_filterModal(){let e=this._layerExpressions?.length>0,t=this.theme==="dark"?"calcite-mode-dark":"calcite-mode-light";return s`<calcite-dialog class=${`filter-content-space ${t}`} .heading=${this._translations.filter.replace("{{title}}",this._layer?.title||"")} id=solutions-filter-dialog-manager kind=brand modal @calciteDialogClose=${()=>{this._closeFilter()}} .open=${this._filterOpen} width=s>${!this._layer?.isTable&&this._mapExtentFilter()||""}${e&&this._mapView&&s`<instant-apps-filter-list close-btn .closeBtnOnClick=${()=>{this._closeFilter()}} combobox-overlay-positioning=fixed .layerExpressions=${this._layerExpressions} @filterListReset=${this._handleFilterListReset} @filterUpdate=${()=>{this._updateFilter()}} .view=${this._mapView} ${r(this._filterList)}></instant-apps-filter-list>`||""}</calcite-dialog>`}_updateFilter(){let e=this._filterList?.value?.filterCount&&this._filterList.value.filterCount>0||this._mapExtentFilterChecked;this._layerTable.value&&this._layerTable.value?.filterUpdate(e),this._mapCard.value&&this._mapCard.value.updateFilterState(e)}_initLayerExpressions(){let e=this._mapInfo?.filterConfig?.layerExpressions;this._layerExpressions=e?e.filter(t=>t.id===this._layer?.id):[]}_toggleFilter(){this._filterOpen=!this._filterOpen}_handleFilterListReset(){this._mapExtentFilterChecked=!1,this._mapCard.value&&this._mapCard.value.resetFilter(),this._layerTable.value&&this._layerTable.value.filterReset()}async _closeFilter(){this._filterOpen&&(this._filterOpen=!1,this._layerTable.value&&this._layerTable.value.closeFilter())}_onResize(){let e=this.el.offsetWidth<=1024,t=!this._isMobile&&e;this._isMobile=e,t&&(this._panelOpen=!0),this._isMobile?(this.showHideMapPopupAndTable(!this._isMobile),this.appLayout="splitView"):(this._layer?.isTable&&(this.appLayout="tableView"),this._isMobile=!1),this._layoutMode=this._isMobile?"HORIZONTAL":"GRID"}updateCurrentMapInfos(){this._currentMapInfos=this.mapInfos,!this.enableMapList&&this.defaultWebmap&&(this._currentMapInfos=this.mapInfos.filter(e=>e.id===this.defaultWebmap))}_handleCopyPasteActions(){this._layer&&(this._showCopyPasteActions=this.enableCopyPaste&&this._layer.capabilities.operations.supportsAdd&&!this._isMobile)}_toggleLayout(){this._panelOpen=!this._panelOpen}_showMapInCardView(){if(this.appLayout!=="mapView"){let e=document.getElementById("full-map-view")?.childNodes[0],t=document.getElementById("card-mapView");e&&t&&t.appendChild(e)}}_showMapInFullView(){let e=document.getElementById("card-mapView")?.childNodes,t;e?.forEach(a=>{!t&&a.mapView&&(t=a)});let i=document.getElementById("full-map-view");t&&i&&i.appendChild(t)}showHideMapPopupAndTable(e){this._hideTable=e,this._hideFooter=e}_getMapInfo(e){let t;return this._currentMapInfos.some(i=>i.id===e?(t={...i},!0):!1),t}async _setMapView(){let e=this._mapChange&&this._getMapInfo(this._mapChange.id);if(e&&this._mapChange){this._mapInfo=e,this._initLayerExpressions(),this._enableCreateFeatures=this._mapInfo.enableCreateFeatures,this._mapView=this._mapChange.mapView,this._initMapZoom(),this._mapView&&(this._mapView.popupEnabled=!1);let t=!this.defaultCenter||this._defaultCenterHonored?void 0:this.defaultCenter?.split(";").map(a=>Number.parseFloat(a)),i=!this.defaultLevel||this._defaultLevelHonored?void 0:Number.parseInt(this.defaultLevel,10);t&&i&&(await this._mapView?.goTo({center:t,zoom:i}),this._defaultCenterHonored=!0,this._defaultLevelHonored=!0)}}_initMapZoom(){this.enableZoom?this.enableZoom&&this._mapView?.ui.add({component:"zoom",position:"top-left",index:0}):this._mapView?.ui.remove("zoom")}};C("crowdsource-manager",m);return m},a,b)
@@ -1,26 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./QPIMTXPL.js";var e=`You are the **ArcGIS Solutions assistant**, a helpful guide inside the ArcGIS Solutions app.\r
3
- \r
4
- # What You Can Help With\r
5
- \r
6
- 1. **Explore existing solutions** \u2014 Ask me about ArcGIS Solutions and I can help you:\r
7
- - Discover solutions that fit your needs\r
8
- - Understand what a solution does, what it requires, and how to deploy, use and configure it\r
9
- - Search official ArcGIS Solutions documentation for answers\r
10
- \r
11
- 2. **Build your own solution** \u2014 Tell me what you kind of solution you want to build and I can help you:\r
12
- - Build a new solution for your described use case or workflow\r
13
- - Design the feature layers with your own fields and choice lists\r
14
- - Update item titles and descriptions\r
15
- \r
16
- # Response Rules\r
17
- \r
18
- - Be polite, professional, and direct.\r
19
- - Use plain, user-focused language.\r
20
- - Only describe capabilities listed under "What You Can Help With" \u2014 do not invent, imply, or elaborate on features beyond what is listed.\r
21
- - End each reply with a **short, natural invitation** to continue.\r
22
- \r
23
- # Off-Topic Requests\r
24
- \r
25
- If the user asks something outside the scope above (e.g., jokes, trivia, personal opinions), respond politely in one sentence, acknowledge the request, and redirect to what you can help with.\r
26
- `;export{e as default};
@@ -1,11 +0,0 @@
1
- /* COPYRIGHT Esri - https://js.arcgis.com/5.1/LICENSE.txt */
2
- import"./QPIMTXPL.js";var t=`The Solution Assistant Agent explains **what the AI Assistant is and how to use it**.\r
3
- \r
4
- It is the **fallback agent** when a request does not relate to ArcGIS Solutions.\r
5
- \r
6
- **Use this agent when the user:**\r
7
- - Asks questions about the assistant itself\r
8
- - Makes unsupported, unclear, or off-topic requests\r
9
- \r
10
- **Important behavior**\r
11
- - When selecting this agent **'requiresFollowUp' should always be false**`;export{t as default};