{"version":3,"file":"CodeBlockGenerator.uGT3DVuh.mjs","names":["useRef","useCallback","currentTheme","useMemo"],"sources":["https:/framerusercontent.com/modules/lju35FQe3Dfcw683UwRS/RnWwkPWlr8YydhJJm5vV/CodeBlockGenerator.js"],"sourcesContent":["// Modern code block image generator component similar to ray.so\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useRef,useCallback,useMemo}from\"react\";import{addPropertyControls,ControlType,useIsStaticRenderer}from\"framer\";const gradients={sunset:\"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\",ocean:\"linear-gradient(135deg, #667db6 0%, #0082c8 0%, #0082c8 0%, #667db6 100%)\",forest:\"linear-gradient(135deg, #134e5e 0%, #71b280 100%)\",fire:\"linear-gradient(135deg, #ff9a9e 0%, #fecfef 50%, #fecfef 100%)\",cosmic:\"linear-gradient(135deg, #667eea 0%, #764ba2 100%)\",minimal:\"linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%)\"};const themes={dark:{background:\"#1e1e1e\",text:\"#d4d4d4\",lineNumber:\"#858585\",keyword:\"#569cd6\",string:\"#ce9178\",comment:\"#6a9955\",number:\"#b5cea8\",function:\"#dcdcaa\",operator:\"#d4d4d4\"},light:{background:\"#ffffff\",text:\"#24292e\",lineNumber:\"#959da5\",keyword:\"#d73a49\",string:\"#032f62\",comment:\"#6a737d\",number:\"#005cc5\",function:\"#6f42c1\",operator:\"#24292e\"},oceanic:{background:\"#263238\",text:\"#eeffff\",lineNumber:\"#546e7a\",keyword:\"#89ddff\",string:\"#c3e88d\",comment:\"#546e7a\",number:\"#f78c6c\",function:\"#82aaff\",operator:\"#89ddff\"},monokai:{background:\"#272822\",text:\"#f8f8f2\",lineNumber:\"#75715e\",keyword:\"#f92672\",string:\"#e6db74\",comment:\"#75715e\",number:\"#ae81ff\",function:\"#a6e22e\",operator:\"#f92672\"}};const languages=[\"javascript\",\"typescript\",\"python\",\"java\",\"cpp\",\"c\",\"csharp\",\"php\",\"ruby\",\"go\",\"rust\",\"swift\",\"kotlin\",\"html\",\"css\",\"scss\",\"json\",\"xml\",\"yaml\",\"markdown\",\"sql\",\"bash\",\"powershell\"];// Simple syntax highlighting patterns\nconst syntaxPatterns={javascript:{keywords:/\\b(function|const|let|var|if|else|for|while|return|class|extends|import|export|from|default|async|await|try|catch|finally|throw|new|this|super|static|public|private|protected)\\b/g,strings:/([\"'`])(?:(?=(\\\\?))\\2.)*?\\1/g,comments:/(\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/)/gm,numbers:/\\b\\d+\\.?\\d*\\b/g,functions:/\\b([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*(?=\\()/g},typescript:{keywords:/\\b(function|const|let|var|if|else|for|while|return|class|extends|import|export|from|default|async|await|try|catch|finally|throw|new|this|super|static|public|private|protected|interface|type|enum|namespace|declare|readonly)\\b/g,strings:/([\"'`])(?:(?=(\\\\?))\\2.)*?\\1/g,comments:/(\\/\\/.*$|\\/\\*[\\s\\S]*?\\*\\/)/gm,numbers:/\\b\\d+\\.?\\d*\\b/g,functions:/\\b([a-zA-Z_$][a-zA-Z0-9_$]*)\\s*(?=\\()/g},python:{keywords:/\\b(def|class|if|elif|else|for|while|return|import|from|as|try|except|finally|raise|with|lambda|and|or|not|in|is|None|True|False|pass|break|continue|global|nonlocal)\\b/g,strings:/([\"'])(?:(?=(\\\\?))\\2.)*?\\1/g,comments:/#.*$/gm,numbers:/\\b\\d+\\.?\\d*\\b/g,functions:/\\b([a-zA-Z_][a-zA-Z0-9_]*)\\s*(?=\\()/g},html:{keywords:/(<\\/?[a-zA-Z][a-zA-Z0-9]*\\b[^>]*>)/g,strings:/([\"'])(?:(?=(\\\\?))\\2.)*?\\1/g,comments:/(<!--[\\s\\S]*?-->)/g,numbers:/\\b\\d+\\.?\\d*\\b/g,functions:/\\b([a-zA-Z-]+)(?==)/g},css:{keywords:/\\b(color|background|margin|padding|border|width|height|font|display|position|top|left|right|bottom|z-index|opacity|transform|transition|animation)\\b/g,strings:/([\"'])(?:(?=(\\\\?))\\2.)*?\\1/g,comments:/(\\/\\*[\\s\\S]*?\\*\\/)/g,numbers:/\\b\\d+\\.?\\d*(px|em|rem|%|vh|vw|pt|pc|in|cm|mm|ex|ch|vmin|vmax|deg|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?\\b/g,functions:/([.#]?[a-zA-Z][a-zA-Z0-9_-]*)\\s*(?={)/g}};/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-auto\n * @framerIntrinsicWidth 800\n * @framerIntrinsicHeight auto\n */export default function CodeBlockGenerator(props){const{code=`function generateImage() {\n    const canvas = document.createElement('canvas');\n    const ctx = canvas.getContext('2d');\n    \n    // Set canvas dimensions\n    canvas.width = 800;\n    canvas.height = 600;\n    \n    // Draw background\n    ctx.fillStyle = '#1e1e1e';\n    ctx.fillRect(0, 0, canvas.width, canvas.height);\n    \n    return canvas.toDataURL();\n}`,language=\"javascript\",theme=\"light\",backgroundType=\"gradient\",gradientBackground=\"fire\",solidBackground=\"#667eea\",customBackground={src:\"https://framerusercontent.com/images/GfGkADagM4KEibNcIiRUWlfrR0.jpg\",alt:\"Custom background\"},showWindowControls=true,showLineNumbers=true,title=\"index.js\",showTitle=true,padding=32,borderRadius=12,shadowIntensity=20,font,codeFont}=props;const containerRef=useRef(null);const isStatic=useIsStaticRenderer();// Simple language detection based on keywords and syntax\nconst detectLanguage=useCallback(codeText=>{const lowerCode=codeText.toLowerCase();const trimmedCode=codeText.trim();// HTML detection\nif(trimmedCode.includes(\"<!DOCTYPE\")||trimmedCode.includes(\"<html\")||trimmedCode.includes(\"<head>\")||trimmedCode.includes(\"<body>\")||/<[a-z][\\s\\S]*>/i.test(trimmedCode))return\"html\";// CSS detection\nif(trimmedCode.includes(\"{\")&&trimmedCode.includes(\"}\")&&trimmedCode.includes(\":\")&&trimmedCode.includes(\";\")||/\\.[a-zA-Z-]+\\s*{/.test(trimmedCode)||/#[a-zA-Z-]+\\s*{/.test(trimmedCode))return\"css\";// JSON detection\nif(trimmedCode.startsWith(\"{\")&&trimmedCode.endsWith(\"}\")||trimmedCode.startsWith(\"[\")&&trimmedCode.endsWith(\"]\")){try{JSON.parse(trimmedCode);return\"json\";}catch(e){// Continue with other checks\n}}// Python detection\nif(lowerCode.includes(\"def \")||lowerCode.includes(\"import \")||lowerCode.includes(\"from \")||lowerCode.includes(\"print(\")||/^\\s*def\\s+\\w+\\s*\\(/m.test(trimmedCode)||/^\\s*class\\s+\\w+.*:/m.test(trimmedCode))return\"python\";// JavaScript/TypeScript detection\nif(lowerCode.includes(\"function\")||lowerCode.includes(\"const \")||lowerCode.includes(\"let \")||lowerCode.includes(\"var \")||lowerCode.includes(\"=>\")||lowerCode.includes(\"console.log\")||/function\\s+\\w+\\s*\\(/i.test(trimmedCode)||/const\\s+\\w+\\s*=/i.test(trimmedCode)){// Check for TypeScript specific syntax\nif(lowerCode.includes(\"interface \")||lowerCode.includes(\"type \")||lowerCode.includes(\": string\")||lowerCode.includes(\": number\")||lowerCode.includes(\": boolean\"))return\"typescript\";return\"javascript\";}// Java detection\nif(lowerCode.includes(\"public class\")||lowerCode.includes(\"private \")||lowerCode.includes(\"public static void main\")||/public\\s+class\\s+\\w+/i.test(trimmedCode)||lowerCode.includes(\"system.out.println\"))return\"java\";// C++ detection\nif(lowerCode.includes(\"#include\")||lowerCode.includes(\"int main\")||lowerCode.includes(\"std::\")||lowerCode.includes(\"cout <<\")||lowerCode.includes(\"cin >>\")||lowerCode.includes(\"using namespace\"))return\"cpp\";// C detection\nif(lowerCode.includes(\"#include <stdio.h>\")||lowerCode.includes(\"printf(\")||lowerCode.includes(\"scanf(\")||/int\\s+main\\s*\\(\\s*(void)?\\s*\\)/i.test(trimmedCode)&&!lowerCode.includes(\"std::\"))return\"c\";// C# detection\nif(lowerCode.includes(\"using system\")||lowerCode.includes(\"namespace \")||lowerCode.includes(\"console.writeline\")||lowerCode.includes(\"public static void main\")||/using\\s+System/i.test(trimmedCode))return\"csharp\";// PHP detection\nif(trimmedCode.startsWith(\"<?php\")||lowerCode.includes(\"<?php\")||lowerCode.includes(\"echo \")||lowerCode.includes(\"$_\")||/\\$\\w+/i.test(trimmedCode))return\"php\";// Ruby detection\nif(lowerCode.includes(\"def \")||lowerCode.includes(\"end\")||lowerCode.includes(\"puts \")||lowerCode.includes(\"require \")||/def\\s+\\w+/i.test(trimmedCode)||lowerCode.includes(\"class \")&&lowerCode.includes(\"end\"))return\"ruby\";// Go detection\nif(lowerCode.includes(\"package main\")||lowerCode.includes(\"func main\")||lowerCode.includes(\"import (\")||lowerCode.includes(\"fmt.print\")||/func\\s+\\w+\\s*\\(/i.test(trimmedCode))return\"go\";// Rust detection\nif(lowerCode.includes(\"fn main\")||lowerCode.includes(\"println!\")||lowerCode.includes(\"let mut\")||lowerCode.includes(\"use std::\")||/fn\\s+\\w+\\s*\\(/i.test(trimmedCode))return\"rust\";// Swift detection\nif(lowerCode.includes(\"import foundation\")||lowerCode.includes(\"var \")||lowerCode.includes(\"let \")||lowerCode.includes(\"func \")||lowerCode.includes(\"print(\")&&lowerCode.includes(\"swift\"))return\"swift\";// Kotlin detection\nif(lowerCode.includes(\"fun main\")||lowerCode.includes(\"fun \")||lowerCode.includes(\"val \")||lowerCode.includes(\"var \")&&lowerCode.includes(\"kotlin\")||/fun\\s+\\w+\\s*\\(/i.test(trimmedCode))return\"kotlin\";// SQL detection\nif(lowerCode.includes(\"select \")||lowerCode.includes(\"from \")||lowerCode.includes(\"where \")||lowerCode.includes(\"insert into\")||lowerCode.includes(\"update \")||lowerCode.includes(\"delete from\")||lowerCode.includes(\"create table\"))return\"sql\";// Bash/Shell detection\nif(trimmedCode.startsWith(\"#!/bin/bash\")||trimmedCode.startsWith(\"#!/bin/sh\")||lowerCode.includes(\"echo \")||lowerCode.includes(\"chmod \")||lowerCode.includes(\"grep \")||lowerCode.includes(\"awk \"))return\"bash\";// PowerShell detection\nif(lowerCode.includes(\"get-\")||lowerCode.includes(\"set-\")||lowerCode.includes(\"write-host\")||lowerCode.includes(\"$_\")||/Get-\\w+/i.test(trimmedCode))return\"powershell\";// YAML detection\nif(/^\\s*\\w+:\\s*$/m.test(trimmedCode)||/^\\s*-\\s+\\w+/m.test(trimmedCode)||trimmedCode.includes(\"---\"))return\"yaml\";// XML detection\nif(trimmedCode.includes(\"<?xml\")||/<\\w+[^>]*>[\\s\\S]*<\\/\\w+>/i.test(trimmedCode))return\"xml\";// Markdown detection\nif(trimmedCode.includes(\"# \")||trimmedCode.includes(\"## \")||trimmedCode.includes(\"```\")||trimmedCode.includes(\"**\")||/^\\s*#\\s+/m.test(trimmedCode))return\"markdown\";// SCSS detection\nif(lowerCode.includes(\"$\")&&lowerCode.includes(\":\")&&lowerCode.includes(\";\")||lowerCode.includes(\"@mixin\")||lowerCode.includes(\"@include\")||lowerCode.includes(\"&:\"))return\"scss\";// Default fallback\nreturn\"javascript\";},[]);const highlightCode=useCallback((text,lang)=>{const currentTheme=themes[theme]||themes.dark;const patterns=syntaxPatterns[lang]||syntaxPatterns.javascript;// First, escape HTML entities to prevent browser interpretation\nlet escapedText=text.replace(/&/g,\"&amp;\").replace(/</g,\"&lt;\").replace(/>/g,\"&gt;\").replace(/\"/g,\"&quot;\").replace(/'/g,\"&#39;\");let highlightedText=escapedText;// Apply syntax highlighting - comments first to avoid conflicts\nif(patterns.comments){highlightedText=highlightedText.replace(patterns.comments,match=>`<span style=\"color: ${currentTheme.comment}\">${match}</span>`);}// Only apply other highlighting to non-comment parts\nconst parts=highlightedText.split(/(<span style=\"color: [^\"]*\">[^<]*<\\/span>)/);highlightedText=parts.map(part=>{// Skip already highlighted comment parts\nif(part.includes(`color: ${currentTheme.comment}`)){return part;}let processedPart=part;if(patterns.strings){processedPart=processedPart.replace(patterns.strings,match=>`<span style=\"color: ${currentTheme.string}\">${match}</span>`);}if(patterns.keywords){processedPart=processedPart.replace(patterns.keywords,match=>`<span style=\"color: ${currentTheme.keyword}\">${match}</span>`);}if(patterns.numbers){processedPart=processedPart.replace(patterns.numbers,match=>`<span style=\"color: ${currentTheme.number}\">${match}</span>`);}if(patterns.functions){processedPart=processedPart.replace(patterns.functions,(match,funcName)=>`<span style=\"color: ${currentTheme.function}\">${funcName}</span>(`);}return processedPart;}).join(\"\");return highlightedText;},[theme]);const codeLines=useMemo(()=>{return code.split(\"\\n\").map((line,index)=>({number:index+1,content:line,highlighted:highlightCode(line,language)}));},[code,language,highlightCode]);const backgroundStyle=useMemo(()=>{switch(backgroundType){case\"gradient\":return{background:gradients[gradientBackground]};case\"solid\":return{backgroundColor:solidBackground};case\"custom\":return{backgroundImage:`url(${customBackground.src})`,backgroundSize:\"cover\",backgroundPosition:\"center\"};case\"none\":return{background:\"none\"};default:return{background:gradients.sunset};}},[backgroundType,gradientBackground,solidBackground,customBackground]);const currentTheme=themes[theme]||themes.dark;return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",minHeight:\"fit-content\",display:\"flex\",flexDirection:\"column\",alignItems:\"center\",justifyContent:\"center\",...props.style},children:/*#__PURE__*/_jsx(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",minHeight:\"fit-content\",padding:padding,borderRadius:borderRadius,boxShadow:`0 ${shadowIntensity}px ${shadowIntensity*2}px rgba(0, 0, 0, 0.1)`,...backgroundStyle,transition:\"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\",display:\"flex\",alignItems:\"center\",justifyContent:\"center\"},children:/*#__PURE__*/_jsxs(\"div\",{style:{backgroundColor:currentTheme.background,borderRadius:16,overflow:\"hidden\",boxShadow:\"0 8px 32px rgba(0, 0, 0, 0.2)\",transition:\"all 0.3s cubic-bezier(0.4, 0, 0.2, 1)\",width:\"100%\",height:\"auto\",minHeight:\"fit-content\",display:\"flex\",flexDirection:\"column\"},children:[/*#__PURE__*/_jsx(\"div\",{style:{display:\"flex\",alignItems:\"center\",justifyContent:\"space-between\",padding:\"12px 16px\",backgroundColor:theme===\"light\"?\"#f6f8fa\":\"#2d2d2d\",borderBottom:`1px solid ${theme===\"light\"?\"#e1e4e8\":\"#404040\"}`},children:/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"center\",gap:8},children:[showWindowControls&&/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",gap:6},children:[/*#__PURE__*/_jsx(\"div\",{style:{width:12,height:12,borderRadius:\"50%\",backgroundColor:\"#ff5f57\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:12,height:12,borderRadius:\"50%\",backgroundColor:\"#ffbd2e\"}}),/*#__PURE__*/_jsx(\"div\",{style:{width:12,height:12,borderRadius:\"50%\",backgroundColor:\"#28ca42\"}})]}),showTitle&&/*#__PURE__*/_jsx(\"span\",{style:{fontSize:14,color:currentTheme.text,marginLeft:showWindowControls?12:0,...font},children:title})]})}),/*#__PURE__*/_jsx(\"div\",{style:{padding:20,backgroundColor:currentTheme.background,overflow:\"auto\",width:\"100%\",height:\"auto\",minHeight:\"fit-content\"},children:/*#__PURE__*/_jsx(\"pre\",{style:{margin:0,color:currentTheme.text,width:\"100%\",...codeFont},children:codeLines.map((line,index)=>/*#__PURE__*/_jsxs(\"div\",{style:{display:\"flex\",alignItems:\"flex-start\",minHeight:21},children:[showLineNumbers&&/*#__PURE__*/_jsx(\"span\",{style:{color:currentTheme.lineNumber,marginRight:16,minWidth:24,textAlign:\"right\",userSelect:\"none\",...codeFont},children:line.number}),/*#__PURE__*/_jsx(\"code\",{style:{flex:1,whiteSpace:\"pre-wrap\",wordBreak:\"break-word\",...codeFont},dangerouslySetInnerHTML:{__html:line.highlighted||line.content||\" \"}})]},index))})})]})})});}addPropertyControls(CodeBlockGenerator,{code:{type:ControlType.String,title:\"Code\",displayTextArea:true,defaultValue:`function generateImage() {\n    const canvas = document.createElement('canvas');\n    const ctx = canvas.getContext('2d');\n    \n    // Set canvas dimensions\n    canvas.width = 800;\n    canvas.height = 600;\n    \n    // Draw background\n    ctx.fillStyle = '#1e1e1e';\n    ctx.fillRect(0, 0, canvas.width, canvas.height);\n    \n    return canvas.toDataURL();\n}`},language:{type:ControlType.Enum,title:\"Language\",options:languages,defaultValue:\"javascript\"},theme:{type:ControlType.Enum,title:\"Theme\",options:Object.keys(themes),optionTitles:[\"Dark\",\"Light\",\"Oceanic\",\"Monokai\"],defaultValue:\"light\"},backgroundType:{type:ControlType.Enum,title:\"Background Type\",options:[\"gradient\",\"solid\",\"custom\",\"none\"],optionTitles:[\"Gradient\",\"Solid\",\"Custom\",\"None\"],defaultValue:\"gradient\"},gradientBackground:{type:ControlType.Enum,title:\"Gradient\",options:Object.keys(gradients),optionTitles:[\"Sunset\",\"Ocean\",\"Forest\",\"Fire\",\"Cosmic\",\"Minimal\"],defaultValue:\"fire\",hidden:({backgroundType})=>backgroundType!==\"gradient\"},solidBackground:{type:ControlType.Color,title:\"Background Color\",defaultValue:\"#667eea\",hidden:({backgroundType})=>backgroundType!==\"solid\"},customBackground:{type:ControlType.ResponsiveImage,title:\"Background Image\",hidden:({backgroundType})=>backgroundType!==\"custom\"},showWindowControls:{type:ControlType.Boolean,title:\"Window Controls\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},showTitle:{type:ControlType.Boolean,title:\"Show Title\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},title:{type:ControlType.String,title:\"Title\",defaultValue:\"index.js\",hidden:({showTitle})=>!showTitle},showLineNumbers:{type:ControlType.Boolean,title:\"Line Numbers\",defaultValue:true,enabledTitle:\"Show\",disabledTitle:\"Hide\"},padding:{type:ControlType.Number,title:\"Padding\",defaultValue:32,min:16,max:64,step:4,unit:\"px\"},borderRadius:{type:ControlType.Number,title:\"Border Radius\",defaultValue:12,min:0,max:32,step:2,unit:\"px\"},shadowIntensity:{type:ControlType.Number,title:\"Shadow Intensity\",defaultValue:20,min:0,max:40,step:2,unit:\"px\"},font:{type:ControlType.Font,title:\"Title Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.5em\"},controls:\"extended\",defaultFontType:\"sans-serif\"},codeFont:{type:ControlType.Font,title:\"Code Font\",defaultValue:{fontSize:\"14px\",variant:\"Regular\",letterSpacing:\"0em\",lineHeight:\"1.5em\"},controls:\"extended\",defaultFontType:\"monospace\"}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"CodeBlockGenerator\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"800\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutHeight\":\"any-prefer-auto\",\"framerIntrinsicHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./CodeBlockGenerator.map"],"mappings":"uMAOG,SAAwB,EAAmB,EAAM,CAAC,GAAK,CAAC,OAAK;;;;;;;;;;;;;GAa7D,WAAS,aAAa,QAAM,QAAQ,iBAAe,WAAW,qBAAmB,OAAO,kBAAgB,UAAU,mBAAiB,CAAC,IAAI,sEAAsE,IAAI,oBAAoB,CAAC,qBAAmB,GAAK,kBAAgB,GAAK,QAAM,WAAW,YAAU,GAAK,UAAQ,GAAG,eAAa,GAAG,kBAAgB,GAAG,OAAK,YAAU,EAAY,EAAaA,EAAO,KAAK,CAAgB,GAAqB,CACza,EAAY,GAAU,CAAC,IAAM,EAAU,EAAS,aAAa,CAAO,EAAY,EAAS,MAAM,CACpH,GAAG,EAAY,SAAS,YAAY,EAAE,EAAY,SAAS,QAAQ,EAAE,EAAY,SAAS,SAAS,EAAE,EAAY,SAAS,SAAS,EAAE,kBAAkB,KAAK,EAAY,CAAC,MAAM,OAC/K,GAAG,EAAY,SAAS,IAAI,EAAE,EAAY,SAAS,IAAI,EAAE,EAAY,SAAS,IAAI,EAAE,EAAY,SAAS,IAAI,EAAE,mBAAmB,KAAK,EAAY,EAAE,kBAAkB,KAAK,EAAY,CAAC,MAAM,MAC/L,GAAG,EAAY,WAAW,IAAI,EAAE,EAAY,SAAS,IAAI,EAAE,EAAY,WAAW,IAAI,EAAE,EAAY,SAAS,IAAI,CAAE,GAAG,CAAyB,OAAxB,KAAK,MAAM,EAAY,CAAO,YAAgB,EAsBrK,OApBG,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,SAAS,EAAE,sBAAsB,KAAK,EAAY,EAAE,sBAAsB,KAAK,EAAY,CAAO,SAC7M,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,KAAK,EAAE,EAAU,SAAS,cAAc,EAAE,uBAAuB,KAAK,EAAY,EAAE,mBAAmB,KAAK,EAAY,CACjQ,EAAU,SAAS,aAAa,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,YAAY,CAAO,aAAmB,aACxL,EAAU,SAAS,eAAe,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,0BAA0B,EAAE,wBAAwB,KAAK,EAAY,EAAE,EAAU,SAAS,qBAAqB,CAAO,OAC7M,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,kBAAkB,CAAO,MACtM,EAAU,SAAS,qBAAqB,EAAE,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,SAAS,EAAE,kCAAkC,KAAK,EAAY,EAAE,CAAC,EAAU,SAAS,QAAQ,CAAO,IAC/L,EAAU,SAAS,eAAe,EAAE,EAAU,SAAS,aAAa,EAAE,EAAU,SAAS,oBAAoB,EAAE,EAAU,SAAS,0BAA0B,EAAE,kBAAkB,KAAK,EAAY,CAAO,SACxM,EAAY,WAAW,QAAQ,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,KAAK,EAAE,SAAS,KAAK,EAAY,CAAO,MACtJ,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,MAAM,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,WAAW,EAAE,aAAa,KAAK,EAAY,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,MAAM,CAAO,OAClN,EAAU,SAAS,eAAe,EAAE,EAAU,SAAS,YAAY,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,YAAY,EAAE,mBAAmB,KAAK,EAAY,CAAO,KACjL,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,YAAY,EAAE,iBAAiB,KAAK,EAAY,CAAO,OACxK,EAAU,SAAS,oBAAoB,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,QAAQ,CAAO,QAC9L,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,SAAS,EAAE,kBAAkB,KAAK,EAAY,CAAO,SAC5L,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,cAAc,EAAE,EAAU,SAAS,UAAU,EAAE,EAAU,SAAS,cAAc,EAAE,EAAU,SAAS,eAAe,CAAO,MACxO,EAAY,WAAW,cAAc,EAAE,EAAY,WAAW,YAAY,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,QAAQ,EAAE,EAAU,SAAS,OAAO,CAAO,OACrM,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,OAAO,EAAE,EAAU,SAAS,aAAa,EAAE,EAAU,SAAS,KAAK,EAAE,WAAW,KAAK,EAAY,CAAO,aACvJ,gBAAgB,KAAK,EAAY,EAAE,eAAe,KAAK,EAAY,EAAE,EAAY,SAAS,MAAM,CAAO,OACvG,EAAY,SAAS,QAAQ,EAAE,4BAA4B,KAAK,EAAY,CAAO,MACnF,EAAY,SAAS,KAAK,EAAE,EAAY,SAAS,MAAM,EAAE,EAAY,SAAS,MAAM,EAAE,EAAY,SAAS,KAAK,EAAE,YAAY,KAAK,EAAY,CAAO,WACtJ,EAAU,SAAS,IAAI,EAAE,EAAU,SAAS,IAAI,EAAE,EAAU,SAAS,IAAI,EAAE,EAAU,SAAS,SAAS,EAAE,EAAU,SAAS,WAAW,EAAE,EAAU,SAAS,KAAK,CAAO,OACrK,cAAe,EAAE,CAAC,CAAC,IAAM,EAAcC,GAAa,EAAK,IAAO,CAAC,IAAMC,EAAa,EAAO,IAAQ,EAAO,KAAW,EAAS,EAAe,IAAO,EAAe,WACnC,EAAtH,EAAK,QAAQ,KAAK,QAAQ,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,KAAK,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAGolB,OAFltB,EAAS,WAAU,EAAgB,EAAgB,QAAQ,EAAS,SAAS,GAAO,uBAAuBA,EAAa,QAAQ,IAAI,EAAM,SAAS,EACtE,EAApE,EAAgB,MAAM,6CAA6C,CAAuB,IAAI,GAAM,CAChH,GAAG,EAAK,SAAS,UAAUA,EAAa,UAAU,CAAE,OAAO,EAAM,IAAI,EAAc,EAAimB,OAAzlB,EAAS,UAAS,EAAc,EAAc,QAAQ,EAAS,QAAQ,GAAO,uBAAuBA,EAAa,OAAO,IAAI,EAAM,SAAS,EAAK,EAAS,WAAU,EAAc,EAAc,QAAQ,EAAS,SAAS,GAAO,uBAAuBA,EAAa,QAAQ,IAAI,EAAM,SAAS,EAAK,EAAS,UAAS,EAAc,EAAc,QAAQ,EAAS,QAAQ,GAAO,uBAAuBA,EAAa,OAAO,IAAI,EAAM,SAAS,EAAK,EAAS,YAAW,EAAc,EAAc,QAAQ,EAAS,WAAW,EAAM,IAAW,uBAAuBA,EAAa,SAAS,IAAI,EAAS,UAAU,EAAS,GAAgB,CAAC,KAAK,GAAG,CAAQ,GAAkB,CAAC,EAAM,CAAC,CAAO,EAAUC,MAAoB,EAAK,MAAM;EAAK,CAAC,KAAK,EAAK,KAAS,CAAC,OAAO,EAAM,EAAE,QAAQ,EAAK,YAAY,EAAc,EAAK,EAAS,CAAC,EAAE,CAAG,CAAC,EAAK,EAAS,EAAc,CAAC,CAAO,EAAgBA,MAAY,CAAC,OAAO,EAAP,CAAuB,IAAI,WAAW,MAAM,CAAC,WAAW,EAAU,GAAoB,CAAC,IAAI,QAAQ,MAAM,CAAC,gBAAgB,EAAgB,CAAC,IAAI,SAAS,MAAM,CAAC,gBAAgB,OAAO,EAAiB,IAAI,GAAG,eAAe,QAAQ,mBAAmB,SAAS,CAAC,IAAI,OAAO,MAAM,CAAC,WAAW,OAAO,CAAC,QAAQ,MAAM,CAAC,WAAW,EAAU,OAAO,GAAI,CAAC,EAAe,EAAmB,EAAgB,EAAiB,CAAC,CAAO,EAAa,EAAO,IAAQ,EAAO,KAAK,OAAoB,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,cAAc,QAAQ,OAAO,cAAc,SAAS,WAAW,SAAS,eAAe,SAAS,GAAG,EAAM,MAAM,CAAC,SAAsB,EAAK,MAAM,CAAC,IAAI,EAAa,MAAM,CAAC,MAAM,OAAO,OAAO,OAAO,UAAU,cAAsB,UAAqB,eAAa,UAAU,KAAK,EAAgB,KAAK,EAAgB,EAAE,uBAAuB,GAAG,EAAgB,WAAW,wCAAwC,QAAQ,OAAO,WAAW,SAAS,eAAe,SAAS,CAAC,SAAsB,EAAM,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAa,WAAW,aAAa,GAAG,SAAS,SAAS,UAAU,gCAAgC,WAAW,wCAAwC,MAAM,OAAO,OAAO,OAAO,UAAU,cAAc,QAAQ,OAAO,cAAc,SAAS,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,eAAe,gBAAgB,QAAQ,YAAY,gBAAgB,IAAQ,QAAQ,UAAU,UAAU,aAAa,aAAa,IAAQ,QAAQ,UAAU,YAAY,CAAC,SAAsB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,SAAS,IAAI,EAAE,CAAC,SAAS,CAAC,GAAiC,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,IAAI,EAAE,CAAC,SAAS,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,MAAM,gBAAgB,UAAU,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,MAAM,gBAAgB,UAAU,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,OAAO,GAAG,aAAa,MAAM,gBAAgB,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAwB,EAAK,OAAO,CAAC,MAAM,CAAC,SAAS,GAAG,MAAM,EAAa,KAAK,WAAW,EAAmB,GAAG,EAAE,GAAG,EAAK,CAAC,SAAS,EAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAc,EAAK,MAAM,CAAC,MAAM,CAAC,QAAQ,GAAG,gBAAgB,EAAa,WAAW,SAAS,OAAO,MAAM,OAAO,OAAO,OAAO,UAAU,cAAc,CAAC,SAAsB,EAAK,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,EAAa,KAAK,MAAM,OAAO,GAAG,EAAS,CAAC,SAAS,EAAU,KAAK,EAAK,IAAqB,EAAM,MAAM,CAAC,MAAM,CAAC,QAAQ,OAAO,WAAW,aAAa,UAAU,GAAG,CAAC,SAAS,CAAC,GAA8B,EAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAa,WAAW,YAAY,GAAG,SAAS,GAAG,UAAU,QAAQ,WAAW,OAAO,GAAG,EAAS,CAAC,SAAS,EAAK,OAAO,CAAC,CAAc,EAAK,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,WAAW,UAAU,aAAa,GAAG,EAAS,CAAC,wBAAwB,CAAC,OAAO,EAAK,aAAa,EAAK,SAAS,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,0BAjDhwH,IAA8C,IAAwE,CAAM,EAAU,CAAC,OAAO,oDAAoD,MAAM,4EAA4E,OAAO,oDAAoD,KAAK,iEAAiE,OAAO,oDAAoD,QAAQ,oDAAoD,CAAO,EAAO,CAAC,KAAK,CAAC,WAAW,UAAU,KAAK,UAAU,WAAW,UAAU,QAAQ,UAAU,OAAO,UAAU,QAAQ,UAAU,OAAO,UAAU,SAAS,UAAU,SAAS,UAAU,CAAC,MAAM,CAAC,WAAW,UAAU,KAAK,UAAU,WAAW,UAAU,QAAQ,UAAU,OAAO,UAAU,QAAQ,UAAU,OAAO,UAAU,SAAS,UAAU,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,UAAU,KAAK,UAAU,WAAW,UAAU,QAAQ,UAAU,OAAO,UAAU,QAAQ,UAAU,OAAO,UAAU,SAAS,UAAU,SAAS,UAAU,CAAC,QAAQ,CAAC,WAAW,UAAU,KAAK,UAAU,WAAW,UAAU,QAAQ,UAAU,OAAO,UAAU,QAAQ,UAAU,OAAO,UAAU,SAAS,UAAU,SAAS,UAAU,CAAC,CAAO,EAAU,CAAC,aAAa,aAAa,SAAS,OAAO,MAAM,IAAI,SAAS,MAAM,OAAO,KAAK,OAAO,QAAQ,SAAS,OAAO,MAAM,OAAO,OAAO,MAAM,OAAO,WAAW,MAAM,OAAO,aAAa,CAC38C,EAAe,CAAC,WAAW,CAAC,SAAS,qLAAqL,QAAQ,+BAA+B,SAAS,+BAA+B,QAAQ,iBAAiB,UAAU,yCAAyC,CAAC,WAAW,CAAC,SAAS,oOAAoO,QAAQ,+BAA+B,SAAS,+BAA+B,QAAQ,iBAAiB,UAAU,yCAAyC,CAAC,OAAO,CAAC,SAAS,0KAA0K,QAAQ,8BAA8B,SAAS,SAAS,QAAQ,iBAAiB,UAAU,uCAAuC,CAAC,KAAK,CAAC,SAAS,sCAAsC,QAAQ,8BAA8B,SAAS,qBAAqB,QAAQ,iBAAiB,UAAU,uBAAuB,CAAC,IAAI,CAAC,SAAS,wJAAwJ,QAAQ,8BAA8B,SAAS,sBAAsB,QAAQ,2GAA2G,UAAU,yCAAyC,CAAC,CAgDsqE,EAAoB,EAAmB,CAAC,KAAK,CAAC,KAAK,EAAY,OAAO,MAAM,OAAO,gBAAgB,GAAK,aAAa;;;;;;;;;;;;;GAa76H,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,EAAU,aAAa,aAAa,CAAC,MAAM,CAAC,KAAK,EAAY,KAAK,MAAM,QAAQ,QAAQ,OAAO,KAAK,EAAO,CAAC,aAAa,CAAC,OAAO,QAAQ,UAAU,UAAU,CAAC,aAAa,QAAQ,CAAC,eAAe,CAAC,KAAK,EAAY,KAAK,MAAM,kBAAkB,QAAQ,CAAC,WAAW,QAAQ,SAAS,OAAO,CAAC,aAAa,CAAC,WAAW,QAAQ,SAAS,OAAO,CAAC,aAAa,WAAW,CAAC,mBAAmB,CAAC,KAAK,EAAY,KAAK,MAAM,WAAW,QAAQ,OAAO,KAAK,EAAU,CAAC,aAAa,CAAC,SAAS,QAAQ,SAAS,OAAO,SAAS,UAAU,CAAC,aAAa,OAAO,QAAQ,CAAC,oBAAkB,IAAiB,WAAW,CAAC,gBAAgB,CAAC,KAAK,EAAY,MAAM,MAAM,mBAAmB,aAAa,UAAU,QAAQ,CAAC,oBAAkB,IAAiB,QAAQ,CAAC,iBAAiB,CAAC,KAAK,EAAY,gBAAgB,MAAM,mBAAmB,QAAQ,CAAC,oBAAkB,IAAiB,SAAS,CAAC,mBAAmB,CAAC,KAAK,EAAY,QAAQ,MAAM,kBAAkB,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,CAAC,UAAU,CAAC,KAAK,EAAY,QAAQ,MAAM,aAAa,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,CAAC,MAAM,CAAC,KAAK,EAAY,OAAO,MAAM,QAAQ,aAAa,WAAW,QAAQ,CAAC,eAAa,CAAC,EAAU,CAAC,gBAAgB,CAAC,KAAK,EAAY,QAAQ,MAAM,eAAe,aAAa,GAAK,aAAa,OAAO,cAAc,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAY,OAAO,MAAM,UAAU,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,aAAa,CAAC,KAAK,EAAY,OAAO,MAAM,gBAAgB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,gBAAgB,CAAC,KAAK,EAAY,OAAO,MAAM,mBAAmB,aAAa,GAAG,IAAI,EAAE,IAAI,GAAG,KAAK,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,KAAK,EAAY,KAAK,MAAM,aAAa,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,cAAc,MAAM,WAAW,QAAQ,CAAC,SAAS,WAAW,gBAAgB,aAAa,CAAC,SAAS,CAAC,KAAK,EAAY,KAAK,MAAM,YAAY,aAAa,CAAC,SAAS,OAAO,QAAQ,UAAU,cAAc,MAAM,WAAW,QAAQ,CAAC,SAAS,WAAW,gBAAgB,YAAY,CAAC,CAAC"}