static constexpr char SKSL_MINIFIED_sksl_shared[] = "$pure $genType radians($genType);$pure $genHType radians($genHType);$pure $genType" " degrees($genType);$pure $genHType degrees($genHType);$pure $genType sin($genType" ");$pure $genHType sin($genHType);$pure $genType cos($genType);$pure $genHType" " cos($genHType);$pure $genType tan($genType);$pure $genHType tan($genHType)" ";$pure $genType asin($genType);$pure $genHType asin($genHType);$pure $genType" " acos($genType);$pure $genHType acos($genHType);$pure $genType atan($genType" ",$genType);$pure $genHType atan($genHType,$genHType);$pure $genType atan($genType" ");$pure $genHType atan($genHType);$es3 $pure $genType sinh($genType);$es3 $pure" " $genHType sinh($genHType);$es3 $pure $genType cosh($genType);$es3 $pure $genHType" " cosh($genHType);$es3 $pure $genType tanh($genType);$es3 $pure $genHType tanh" "($genHType);$es3 $pure $genType asinh($genType);$es3 $pure $genHType asinh(" "$genHType);$es3 $pure $genType acosh($genType);$es3 $pure $genHType acosh($genHType" ");$es3 $pure $genType atanh($genType);$es3 $pure $genHType atanh($genHType)" ";$pure $genType pow($genType,$genType);$pure $genHType pow($genHType,$genHType" ");$pure $genType exp($genType);$pure $genHType exp($genHType);$pure $genType" " log($genType);$pure $genHType log($genHType);$pure $genType exp2($genType)" ";$pure $genHType exp2($genHType);$pure $genType log2($genType);$pure $genHType" " log2($genHType);$pure $genType sqrt($genType);$pure $genHType sqrt($genHType" ");$pure $genType inversesqrt($genType);$pure $genHType inversesqrt($genHType" ");$pure $genType abs($genType);$pure $genHType abs($genHType);$pure $genType" " sign($genType);$pure $genHType sign($genHType);$pure $genType floor($genType" ");$pure $genHType floor($genHType);$pure $genType ceil($genType);$pure $genHType" " ceil($genHType);$pure $genType fract($genType);$pure $genHType fract($genHType" ");$pure $genType mod($genType,float);$pure $genType mod($genType,$genType);" "$pure $genHType mod($genHType,half);$pure $genHType mod($genHType,$genHType" ");$pure $genType min($genType,$genType);$pure $genType min($genType,float);" "$pure $genHType min($genHType,$genHType);$pure $genHType min($genHType,half" ");$pure $genType max($genType,$genType);$pure $genType max($genType,float);" "$pure $genHType max($genHType,$genHType);$pure $genHType max($genHType,half" ");$pure $genType clamp($genType,$genType,$genType);$pure $genType clamp($genType" ",float,float);$pure $genHType clamp($genHType,$genHType,$genHType);$pure $genHType" " clamp($genHType,half,half);$pure $genType saturate($genType);$pure $genHType" " saturate($genHType);$pure $genType mix($genType,$genType,$genType);$pure $genType" " mix($genType,$genType,float);$pure $genHType mix($genHType,$genHType,$genHType" ");$pure $genHType mix($genHType,$genHType,half);$pure $genType step($genType" ",$genType);$pure $genType step(float,$genType);$pure $genHType step($genHType" ",$genHType);$pure $genHType step(half,$genHType);$pure $genType smoothstep(" "$genType,$genType,$genType);$pure $genType smoothstep(float,float,$genType)" ";$pure $genHType smoothstep($genHType,$genHType,$genHType);$pure $genHType smoothstep" "(half,half,$genHType);$es3 $pure $genIType abs($genIType);$es3 $pure $genIType" " sign($genIType);$es3 $pure $genIType floatBitsToInt($genType);$es3 $pure $genUType" " floatBitsToUint($genType);$es3 $pure $genType intBitsToFloat($genIType);$es3" " $pure $genType uintBitsToFloat($genUType);$es3 $pure $genType trunc($genType" ");$es3 $pure $genHType trunc($genHType);$es3 $pure $genType round($genType)" ";$es3 $pure $genHType round($genHType);$es3 $pure $genType roundEven($genType" ");$es3 $pure $genHType roundEven($genHType);$es3 $pure $genIType min($genIType" ",$genIType);$es3 $pure $genIType min($genIType,int);$es3 $pure $genUType min" "($genUType,$genUType);$es3 $pure $genUType min($genUType,uint);$es3 $pure $genIType" " max($genIType,$genIType);$es3 $pure $genIType max($genIType,int);$es3 $pure" " $genUType max($genUType,$genUType);$es3 $pure $genUType max($genUType,uint" ");$es3 $pure $genIType clamp($genIType,$genIType,$genIType);$es3 $pure $genIType" " clamp($genIType,int,int);$es3 $pure $genUType clamp($genUType,$genUType,$genUType" ");$es3 $pure $genUType clamp($genUType,uint,uint);$es3 $pure $genType mix($genType" ",$genType,$genBType);$es3 $pure $genHType mix($genHType,$genHType,$genBType" ");$es3 $pure $genBType isnan($genType);$es3 $pure $genBType isnan($genHType" ");$es3 $pure $genBType isinf($genType);$es3 $pure $genBType isinf($genHType" ");$es3 $genType modf($genType,out $genType);$es3 $genHType modf($genHType,out" " $genHType);$es3 $pure uint packUnorm2x16(float2);$es3 $pure float2 unpackUnorm2x16" "(uint);$pure float length($genType);$pure half length($genHType);$pure float" " distance($genType,$genType);$pure half distance($genHType,$genHType);$pure" " float dot($genType,$genType);$pure half dot($genHType,$genHType);$pure float3" " cross(float3,float3);$pure half3 cross(half3,half3);$pure $genType normalize" "($genType);$pure $genHType normalize($genHType);$pure $genType faceforward(" "$genType,$genType,$genType);$pure $genHType faceforward($genHType,$genHType" ",$genHType);$pure $genType reflect($genType,$genType);$pure $genHType reflect" "($genHType,$genHType);$pure $genType refract($genType,$genType,float);$pure" " $genHType refract($genHType,$genHType,half);$pure $squareMat matrixCompMult" "($squareMat,$squareMat);$pure $squareHMat matrixCompMult($squareHMat,$squareHMat" ");$es3 $pure $mat matrixCompMult($mat,$mat);$es3 $pure $hmat matrixCompMult" "($hmat,$hmat);$pure $squareMat inverse($squareMat);$pure $squareHMat inverse" "($squareHMat);$es3 $pure float determinant($squareMat);$es3 $pure half determinant" "($squareHMat);$es3 $pure $squareMat transpose($squareMat);$es3 $pure $squareHMat" " transpose($squareHMat);$es3 $pure float2x3 transpose(float3x2);$es3 $pure half2x3" " transpose(half3x2);$es3 $pure float2x4 transpose(float4x2);$es3 $pure half2x4" " transpose(half4x2);$es3 $pure float3x2 transpose(float2x3);$es3 $pure half3x2" " transpose(half2x3);$es3 $pure float3x4 transpose(float4x3);$es3 $pure half3x4" " transpose(half4x3);$es3 $pure float4x2 transpose(float2x4);$es3 $pure half4x2" " transpose(half2x4);$es3 $pure float4x3 transpose(float3x4);$es3 $pure half4x3" " transpose(half3x4);$es3 $pure $squareMat outerProduct($vec,$vec);$es3 $pure" " $squareHMat outerProduct($hvec,$hvec);$es3 $pure float2x3 outerProduct(float3" ",float2);$es3 $pure half2x3 outerProduct(half3,half2);$es3 $pure float3x2 outerProduct" "(float2,float3);$es3 $pure half3x2 outerProduct(half2,half3);$es3 $pure float2x4" " outerProduct(float4,float2);$es3 $pure half2x4 outerProduct(half4,half2);$es3" " $pure float4x2 outerProduct(float2,float4);$es3 $pure half4x2 outerProduct" "(half2,half4);$es3 $pure float3x4 outerProduct(float4,float3);$es3 $pure half3x4" " outerProduct(half4,half3);$es3 $pure float4x3 outerProduct(float3,float4);" "$es3 $pure half4x3 outerProduct(half3,half4);$pure $bvec lessThan($vec,$vec" ");$pure $bvec lessThan($hvec,$hvec);$pure $bvec lessThan($ivec,$ivec);$pure" " $bvec lessThan($svec,$svec);$pure $bvec lessThanEqual($vec,$vec);$pure $bvec" " lessThanEqual($hvec,$hvec);$pure $bvec lessThanEqual($ivec,$ivec);$pure $bvec" " lessThanEqual($svec,$svec);$pure $bvec greaterThan($vec,$vec);$pure $bvec greaterThan" "($hvec,$hvec);$pure $bvec greaterThan($ivec,$ivec);$pure $bvec greaterThan(" "$svec,$svec);$pure $bvec greaterThanEqual($vec,$vec);$pure $bvec greaterThanEqual" "($hvec,$hvec);$pure $bvec greaterThanEqual($ivec,$ivec);$pure $bvec greaterThanEqual" "($svec,$svec);$pure $bvec equal($vec,$vec);$pure $bvec equal($hvec,$hvec);$pure" " $bvec equal($ivec,$ivec);$pure $bvec equal($svec,$svec);$pure $bvec equal(" "$bvec,$bvec);$pure $bvec notEqual($vec,$vec);$pure $bvec notEqual($hvec,$hvec" ");$pure $bvec notEqual($ivec,$ivec);$pure $bvec notEqual($svec,$svec);$pure" " $bvec notEqual($bvec,$bvec);$es3 $pure $bvec lessThan($usvec,$usvec);$es3 $pure" " $bvec lessThan($uvec,$uvec);$es3 $pure $bvec lessThanEqual($uvec,$uvec);$es3" " $pure $bvec lessThanEqual($usvec,$usvec);$es3 $pure $bvec greaterThan($uvec" ",$uvec);$es3 $pure $bvec greaterThan($usvec,$usvec);$es3 $pure $bvec greaterThanEqual" "($uvec,$uvec);$es3 $pure $bvec greaterThanEqual($usvec,$usvec);$es3 $pure $bvec" " equal($uvec,$uvec);$es3 $pure $bvec equal($usvec,$usvec);$es3 $pure $bvec notEqual" "($uvec,$uvec);$es3 $pure $bvec notEqual($usvec,$usvec);$pure bool any($bvec" ");$pure bool all($bvec);$pure $bvec not($bvec);$es3 $pure $genType dFdx($genType" ");$es3 $pure $genType dFdy($genType);$es3 $pure $genHType dFdx($genHType);$es3" " $pure $genHType dFdy($genHType);$es3 $pure $genType fwidth($genType);$es3 $pure" " $genHType fwidth($genHType);$pure half4 unpremul(half4 a){return half4(a.xyz" "/max(a.w,.0001),a.w);}$pure float4 unpremul(float4 a){return float4(a.xyz/max" "(a.w,.0001),a.w);}$pure half4 $unpremul_polar(half4 a){return half4(a.x,a.yz" "/max(a.w,.0001),a.w);}$pure half4 $rgb_to_hsl(half3 b,half d){half4 e=b.y.008856452?g.x:(116.*d.x-16.)*.00110705639" ",a.x>8.000001?g.y:a.x*.00110705639,g.z>.008856452?g.z:(116.*d.z-16.)*.00110705639" ");return h*half3(.9642956,1.,.825104535);}$pure half3 $a(half3 a){return half3" "(a.z,a.y*cos(radians(a.x)),a.y*sin(radians(a.x)));}$pure half3 $css_hcl_to_xyz" "(half3 a){return $css_lab_to_xyz($a(a));}$pure half3 $css_oklab_to_linear_srgb" "(half3 a){half b=(a.x+.396337777*a.y)+.215803757*a.z;half c=(a.x-.105561346" "*a.y)-.06385417*a.z;half d=(a.x-.08948418*a.y)-1.29148555*a.z;half e=(b*b)*" "b;half f=(c*c)*c;half g=(d*d)*d;return half3((4.0767417*e-3.3077116*f)+.230969936" "*g,(-1.268438*e+2.60975742*f)-.341319382*g,(-.00419608643*e-.7034186*f)+1.70761466" "*g);}$pure half3 $css_okhcl_to_linear_srgb(half3 a){return $css_oklab_to_linear_srgb" "($a(a));}$pure half3 $css_oklab_gamut_map_to_linear_srgb(half3 a){const half2" " r=half2(-.014804,-.162608);const half2 s=half2(-.276786,.004193);half2 z=a" ".yz;half A;half2 B;half2 C;if(dot(z,half2(.409702,-.912219))<0.)if(dot(z,half2" "(.460276,.887776))<0.)if(dot(z,half2(-.171122,.98525))<0.){A=.102047;B=r;C=" "s;}else{A=.092029;B=half2(-.038533,-.00165);C=half2(-.232572,-.094331);}else" " if(dot(z,half2(.947925,.318495))<0.){A=.081709;B=half2(-.034601,-.002215);" "C=half2(.012185,.338031);}else{A=.091132;B=half2(.07037,.034139);C=half2(.01817" ",.37855);}else if(dot(z,half2(-.9068,.421562))<0.)if(dot(z,half2(-.397919,-" ".917421))<0.){A=.113902;B=half2(.090836,.036251);C=half2(.226781,.018764);}" "else{A=.161739;B=half2(-.008202,-.264819);C=half2(.187156,-.284304);}else{A" "=.102047;B=r;C=s;}half D=1.;half E=dot(B,z);if(E>0.){half F=1.-a.x;half G=A" "*F;if(G0.){half G=a.x;half H=A*G;if(H" "=1.){half b=a.y/(a.y+a.z);return half3(b);}half3 b=$css_hsl_to_srgb" "(half3(a.x,100.,50.));b*=(1.-a.y)-a.z;b+=a.y;return b;}$pure half4 interpolated_to_rgb_unpremul" "(half4 a,int b,int c){if(bool(c))switch(b){case 2:;case 3:;case 4:a=unpremul" "(a);break;case 5:;case 6:;case 7:;case 9:;case 10:a=$unpremul_polar(a);break" ";}switch(b){case 2:a.xyz=$css_lab_to_xyz(a.xyz);break;case 3:a.xyz=$css_oklab_to_linear_srgb" "(a.xyz);break;case 4:a.xyz=$css_oklab_gamut_map_to_linear_srgb(a.xyz);break" ";case 5:a.xyz=$css_hcl_to_xyz(a.xyz);break;case 6:a.xyz=$css_okhcl_to_linear_srgb" "(a.xyz);break;case 7:a.xyz=$css_okhcl_gamut_map_to_linear_srgb(a.xyz);break" ";case 9:a.xyz=$css_hsl_to_srgb(a.xyz);break;case 10:a.xyz=$css_hwb_to_srgb(" "a.xyz);break;}return a;}";