// All material copyright Esri, All Rights Reserved, unless otherwise specified. // See https://js.arcgis.com/4.30/esri/copyright.txt for details. //>>built define("exports ../../Color ../../core/colorUtils ../../core/lang ../../support/arcadeOnDemand ./utils ../../views/2d/arcade/callExpressionWithFeature".split(" "),function(q,t,u,r,v,m,w){class f{static findApplicableOverrides(a,b,c){if(a&&b){if(a.primitiveName){let e=!1;for(const d of c)if(d.primitiveName===a.primitiveName){e=!0;break}if(!e)for(const d of b)d.primitiveName===a.primitiveName&&c.push(d)}switch(a.type){case "CIMPointSymbol":case "CIMLineSymbol":case "CIMPolygonSymbol":if(a.effects)for(const e of a.effects)f.findApplicableOverrides(e, b,c);if(a.symbolLayers)for(const e of a.symbolLayers)f.findApplicableOverrides(e,b,c);break;case "CIMSolidStroke":case "CIMPictureStroke":case "CIMGradientStroke":case "CIMSolidFill":case "CIMPictureFill":case "CIMHatchFill":case "CIMGradientFill":case "CIMVectorMarker":case "CIMCharacterMarker":case "CIMPictureMarker":if(a.effects)for(const e of a.effects)f.findApplicableOverrides(e,b,c);a.markerPlacement&&f.findApplicableOverrides(a.markerPlacement,b,c);if("CIMVectorMarker"===a.type){if(a.markerGraphics)for(const e of a.markerGraphics)f.findApplicableOverrides(e, b,c),f.findApplicableOverrides(e.symbol,b,c)}else"CIMCharacterMarker"===a.type?f.findApplicableOverrides(a.symbol,b,c):"CIMHatchFill"===a.type?f.findApplicableOverrides(a.lineSymbol,b,c):"CIMPictureMarker"===a.type&&f.findApplicableOverrides(a.animatedSymbolProperties,b,c)}}}static findEffectOverrides(a,b){if(!a)return null;"CIMGeometricEffectDashes"===a.type&&m.normalizeDashTemplate(a);if(!b||!a.primitiveName)return{type:"cim-effect-param",effect:a,overrides:[]};const c=m.toLowerCaseProps(a);a=a.primitiveName; const e=[];for(const d of b)d.primitiveName===a&&e.push(m.toLowerCaseProps(d));return{type:"cim-effect-param",effect:c,overrides:m.normalizePrimitiveOverrideProps(e)}}static async resolveSymbolOverrides(a,b,c,e,d,g,h){if(!a?.symbol)return null;let {symbol:l,primitiveOverrides:k}=a;a=!!k;if(!a&&!e)return l;l=r.clone(l);k=r.clone(k);let n=!0;b||(b={attributes:{}},n=!1);a&&(n||(k=k.filter(p=>!p.valueExpressionInfo?.expression.includes("$feature"))),h||(k=k.filter(p=>!p.valueExpressionInfo?.expression.includes("$view"))), 0 f._expressionToRenderExpression.set(d.expression,g)))}0Number(c)):"Color"===a?(a=(new t(b)).toRgba(),a[3]*=255,a):b}}f._expressionToRenderExpression=new Map;q.OverrideHelper=f;Object.defineProperty(q,Symbol.toStringTag,{value:"Module"})});