{"version":3,"file":"ngx-bootstrap-expanded-features.mjs","sources":["../../../projects/ngx-bootstrap-expanded-features/src/lib/values/colors.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/values/cssNamesParsed.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/values/parts_sections.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/values/commonPropertiesValuesAbreviations.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/singletons/valuesSingleton.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/console_log.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/abreviation_traductors.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_cache.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/color_transform.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/css-camel.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/valueComboReplacer.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/values4ComboGetter.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/comboParser.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/getNewClasses2Create.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/convertPseudos.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/decryptCombo.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/look4BPNVals.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/utilities/combinators.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/shadowGradientCreator.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/propertyNValueCorrector.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/btnCreator.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/property2ValueJoiner.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/valueTraductor.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/parseClass.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/private/createMediaRule.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/private/createSimpleRule.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_CSSRules.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/private_utilities/send2CreateRules.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/main/doCssCreate.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_colors.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_sheet.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/private/doUseRecurrentStrategy.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/private/doUseTimer.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/cssCreate.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/debugg_options.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_abreviations.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_bps.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_classes.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_combos.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/manage_CSSNamesParsed.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/managePartsNSectionsToSeeOnLog.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/functions/utility_configurations.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/ngx-bootstrap-expanded-features.service.ts","../../../projects/ngx-bootstrap-expanded-features/src/lib/bef-init.directive.ts","../../../projects/ngx-bootstrap-expanded-features/src/public-api.ts","../../../projects/ngx-bootstrap-expanded-features/src/ngx-bootstrap-expanded-features.ts"],"sourcesContent":["export const allColors = {\r\n  /* colorsDefault */\r\n  primary: '#0d6efd',\r\n  secondary: '#6c757d',\r\n  success: '#198754',\r\n  info: '#0dcaf0',\r\n  warning: '#ffc107',\r\n  danger: '#dc3545',\r\n  light: '#f8f9fa',\r\n  dark: '#212529',\r\n  /* colorsBS */\r\n  indigoBS: '#6610f2',\r\n  purpleBS: '#6f42c1',\r\n  pinkBS: '#d63384',\r\n  orangeBS: '#fd7e14',\r\n  tealBS: '#20c997',\r\n  white: '#fff',\r\n  grayBS: '#6c757d',\r\n  /* colorsLP */\r\n  mystic: '#210020',\r\n  lavenderLP: '#D6BCFF',\r\n  fairy: '#D680FF',\r\n  summer: '#FF9A2E',\r\n  old: '#EEEDA0',\r\n  friend: '#3BBBB2',\r\n  tree: '#5A311D',\r\n  blood: '#8A0707',\r\n  beast: '#F5785D',\r\n  abyss: '#000',\r\n  /* Angora Colors */\r\n  ankcent: '#D01033', // Primary\r\n  secora: '#2D2824', // Secondary\r\n  succank: '#5D4339', // Success\r\n  bangrank: '#161B17', // Info\r\n  secbank: '#F0B566', // Warning\r\n  dank: '#000000', // Danger When combined to ankcent, it will be dark red\r\n  dankcent: 'linear-gradient(220deg, #D01033 35%,#000000 55%)',\r\n  revdankcent: 'linear-gradient(220deg, #000 35%,#D01033 55%)',\r\n  ligthora: '#F4EBEC', // Light\r\n  dagora: '#100809', // Dark\r\n  /* basicColorsCSS */ /* (\\s)(#[0-9A-Fa-f]+)\\s([0-9]*,?)*\\n*\\s*\\n*\\s* */ /* :$1'$2', */\r\n  black: '#000000',\r\n  silver: '#C0C0C0',\r\n  gray: '#808080',\r\n  maroon: '#800000',\r\n  red: '#FF0000',\r\n  purple: '#800080',\r\n  fuchsia: '#FF00FF',\r\n  green: '#008000',\r\n  lime: '#00FF00',\r\n  olive: '#808000',\r\n  yellow: '#FFFF00',\r\n  navy: '#000080',\r\n  blue: '#0000FF',\r\n  teal: '#008080',\r\n  aqua: '#00FFFF',\r\n  /* extendedColorsCSS */\r\n  aliceblue: '#f0f8ff',\r\n  antiquewhite: '#faebd7',\r\n  aquamarine: '#7fffd4',\r\n  azure: '#f0ffff',\r\n  beige: '#f5f5dc',\r\n  bisque: '#ffe4c4',\r\n  blanchedalmond: '#ffebcd',\r\n  blueviolet: '#8a2be2',\r\n  brown: '#a52a2a',\r\n  burlywood: '#deb887',\r\n  cadetblue: '#5f9ea0',\r\n  chartreuse: '#7fff00',\r\n  chocolate: '#d2691e',\r\n  coral: '#ff7f50',\r\n  cornflowerblue: '#6495ed',\r\n  cornsilk: '#fff8dc',\r\n  crimson: '#dc143c',\r\n  cyan: '#00ffff',\r\n  darkblue: '#00008b',\r\n  darkcyan: '#008b8b',\r\n  darkgoldenrod: '#b8860b',\r\n  darkgray: '#a9a9a9',\r\n  darkgreen: '#006400',\r\n  darkgrey: '#a9a9a9',\r\n  darkkhaki: '#bdb76b',\r\n  darkmagenta: '#8b008b',\r\n  darkolivegreen: '#556b2f',\r\n  darkorange: '#ff8c00',\r\n  darkorchid: '#9932cc',\r\n  darkred: '#8b0000',\r\n  darksalmon: '#e9967a',\r\n  darkseagreen: '#8fbc8f',\r\n  darkslateblue: '#483d8b',\r\n  darkslategray: '#2f4f4f',\r\n  darkslategrey: '#2f4f4f',\r\n  darkturquoise: '#00ced1',\r\n  darkviolet: '#9400d3',\r\n  deeppink: '#ff1493',\r\n  deepskyblue: '#00bfff',\r\n  dimgray: '#696969',\r\n  dimgrey: '#696969',\r\n  dodgerblue: '#1e90ff',\r\n  firebrick: '#b22222',\r\n  floralwhite: '#fffaf0',\r\n  forestgreen: '#228b22',\r\n  gainsboro: '#dcdcdc',\r\n  ghostwhite: '#f8f8ff',\r\n  gold: '#ffd700',\r\n  goldenrod: '#daa520',\r\n  greenyellow: '#adff2f',\r\n  grey: '#808080',\r\n  honeydew: '#f0fff0',\r\n  hotpink: '#ff69b4',\r\n  indianred: '#cd5c5c',\r\n  indigo: '#4b0082',\r\n  ivory: '#fffff0',\r\n  khaki: '#f0e68c',\r\n  lavender: '#e6e6fa',\r\n  lavenderblush: '#fff0f5',\r\n  lawngreen: '#7cfc00',\r\n  lemonchiffon: '#fffacd',\r\n  lightblue: '#add8e6',\r\n  lightcoral: '#f08080',\r\n  lightcyan: '#e0ffff',\r\n  lightgoldenrodyellow: '#fafad2',\r\n  lightgray: '#d3d3d3',\r\n  lightgreen: '#90ee90',\r\n  lightgrey: '#d3d3d3',\r\n  lightpink: '#ffb6c1',\r\n  lightsalmon: '#ffa07a',\r\n  lightseagreen: '#20b2aa',\r\n  lightskyblue: '#87cefa',\r\n  lightslategray: '#778899',\r\n  lightslategrey: '#778899',\r\n  lightsteelblue: '#b0c4de',\r\n  lightyellow: '#ffffe0',\r\n  limegreen: '#32cd32',\r\n  linen: '#faf0e6',\r\n  magenta: '#ff00ff',\r\n  mediumaquamarine: '#66cdaa',\r\n  mediumblue: '#0000cd',\r\n  mediumorchid: '#ba55d3',\r\n  mediumpurple: '#9370db',\r\n  mediumseagreen: '#3cb371',\r\n  mediumslateblue: '#7b68ee',\r\n  mediumspringgreen: '#00fa9a',\r\n  mediumturquoise: '#48d1cc',\r\n  mediumvioletred: '#c71585',\r\n  midnightblue: '#191970',\r\n  mintcream: '#f5fffa',\r\n  mistyrose: '#ffe4e1',\r\n  moccasin: '#ffe4b5',\r\n  navajowhite: '#ffdead',\r\n  oldlace: '#fdf5e6',\r\n  olivedrab: '#6b8e23',\r\n  orange: '#ffa500',\r\n  orangered: '#ff4500',\r\n  orchid: '#da70d6',\r\n  palegoldenrod: '#eee8aa',\r\n  palegreen: '#98fb98',\r\n  paleturquoise: '#afeeee',\r\n  palevioletred: '#db7093',\r\n  papayawhip: '#ffefd5',\r\n  peachpuff: '#ffdab9',\r\n  peru: '#cd853f',\r\n  pink: '#ffc0cb',\r\n  plum: '#dda0dd',\r\n  powderblue: '#b0e0e6',\r\n  rosybrown: '#bc8f8f',\r\n  royalblue: '#4169e1',\r\n  saddlebrown: '#8b4513',\r\n  salmon: '#fa8072',\r\n  sandybrown: '#f4a460',\r\n  seagreen: '#2e8b57',\r\n  seashell: '#fff5ee',\r\n  sienna: '#a0522d',\r\n  skyblue: '#87ceeb',\r\n  slateblue: '#6a5acd',\r\n  slategray: '#708090',\r\n  slategrey: '#708090',\r\n  snow: '#fffafa',\r\n  springgreen: '#00ff7f',\r\n  steelblue: '#4682b4',\r\n  tan: '#d2b48c',\r\n  thistle: '#d8bfd8',\r\n  tomato: '#ff6347',\r\n  turquoise: '#40e0d0',\r\n  violet: '#ee82ee',\r\n  wheat: '#f5deb3',\r\n  whitesmoke: '#f5f5f5',\r\n  yellowgreen: '#9acd32',\r\n};\r\n","export const cssNamesParsed = {\r\n  // Display and Layout\r\n  d: \"display\",\r\n  pos: \"position\",\r\n  t: \"top\",\r\n  bot: \"bottom\",\r\n  b: \"bottom\",\r\n  start: \"left\",\r\n  s: \"left\",\r\n  end: \"right\",\r\n  e: \"right\",\r\n  z: \"z-index\",\r\n  zi: \"z-index\",\r\n    // Flexbox\r\n  fb: \"flex-basis\",\r\n  fd: \"flex-direction\",\r\n  fwr: \"flex-wrap\",\r\n  fg: \"flex-grow\",\r\n  fsh: \"flex-shrink\",\r\n  flex: \"flex\",\r\n  jc: \"justify-content\",\r\n  ai: \"align-items\",\r\n  as: \"align-self\",\r\n  ac: \"align-content\",\r\n  \r\n  // Grid\r\n  gtc: \"grid-template-columns\",\r\n  gtr: \"grid-template-rows\",\r\n  gta: \"grid-template-areas\",\r\n  gt: \"grid-template\",\r\n  gg: \"grid-gap\",\r\n  gc: \"grid-column\",\r\n  gr: \"grid-row\",\r\n  gcs: \"grid-column-start\",\r\n  gce: \"grid-column-end\",\r\n  grs: \"grid-row-start\",\r\n  gre: \"grid-row-end\",\r\n  ga: \"grid-area\",\r\n  gac: \"grid-auto-columns\",\r\n  gar: \"grid-auto-rows\",\r\n  gaf: \"grid-auto-flow\",\r\n  \r\n  // Dimensions\r\n  w: \"width\",\r\n  h: \"height\",\r\n  wmn: \"min-width\",\r\n  hmn: \"min-height\",\r\n  wmx: \"max-width\",\r\n  hmx: \"max-height\",\r\n  minw: \"min-width\",\r\n  minh: \"min-height\",\r\n  maxw: \"max-width\",\r\n  maxh: \"max-height\",\r\n  \r\n  // Box Model\r\n  p: \"padding\",\r\n  pt: \"padding-top\",\r\n  pb: \"padding-bottom\",\r\n  ps: \"padding-left\",\r\n  pe: \"padding-right\",\r\n  py: [\"padding-top\", \"padding-bottom\"],\r\n  px: [\"padding-left\", \"padding-right\"],\r\n  m: \"margin\",\r\n  mt: \"margin-top\",\r\n  mb: \"margin-bottom\",\r\n  ms: \"margin-left\",\r\n  me: \"margin-right\",\r\n  my: [\"margin-top\", \"margin-bottom\"],\r\n  mx: [\"margin-left\", \"margin-right\"],\r\n\r\n    // Border\r\n  bw: \"border-width\",\r\n  bwt: \"border-top-width\",\r\n  bwb: \"border-bottom-width\",\r\n  bws: \"border-left-width\",\r\n  bwe: \"border-right-width\",\r\n  bwy: [\"border-top-width\", \"border-bottom-width\"],\r\n  bwx: [\"border-left-width\", \"border-right-width\"],\r\n  bst: \"border-style\",\r\n  bstt: \"border-top-style\",\r\n  bstb: \"border-bottom-style\",\r\n  bsts: \"border-left-style\",\r\n  bste: \"border-right-style\",\r\n  bsty: [\"border-top-style\", \"border-bottom-style\"],\r\n  bstx: [\"border-left-style\", \"border-right-style\"],\r\n  borderStylet: \"border-top-style\",\r\n  borderStyleb: \"border-bottom-style\",\r\n  borderStyles: \"border-left-style\",\r\n  borderStylee: \"border-right-style\",\r\n  borderStyley: [\"border-top-style\", \"border-bottom-style\"],\r\n  borderStylex: [\"border-left-style\", \"border-right-style\"],\r\n  bco: \"border-color\",\r\n  bcot: \"border-top-color\",\r\n  bcob: \"border-bottom-color\",\r\n  bcos: \"border-left-color\",\r\n  bcoe: \"border-right-color\",\r\n  bcoy: [\"border-top-color\", \"border-bottom-color\"],\r\n  bcox: [\"border-left-color\", \"border-right-color\"],\r\n  borderColort: \"border-top-color\",\r\n  borderColorb: \"border-bottom-color\",\r\n  borderColors: \"border-left-color\",\r\n  borderColore: \"border-right-color\",\r\n  borderColory: [\"border-top-color\", \"border-bottom-color\"],\r\n  borderColorx: [\"border-left-color\", \"border-right-color\"],\r\n  bo: \"border\",\r\n  bort: \"border-top\",\r\n  borb: \"border-bottom\",\r\n  bors: \"border-left\",\r\n  bore: \"border-right\",\r\n  \r\n  // Border Radius\r\n  rounded: \"border-radius\",\r\n  r: \"border-radius\",\r\n  rs: [\"border-top-left-radius\", \"border-bottom-left-radius\"],\r\n  re: [\"border-top-right-radius\", \"border-bottom-right-radius\"],\r\n  rt: [\"border-top-left-radius\", \"border-top-right-radius\"],\r\n  rb: [\"border-bottom-left-radius\", \"border-bottom-right-radius\"],\r\n  rst: \"border-top-left-radius\",\r\n  ret: \"border-top-right-radius\",\r\n  rsb: \"border-bottom-left-radius\",\r\n  reb: \"border-bottom-right-radius\",\r\n\r\n    // Typography\r\n  fs: \"font-size\",\r\n  fwg: \"font-weight\",\r\n  ff: \"font-family\",\r\n  fst: \"font-style\",\r\n  fv: \"font-variant\",\r\n  f: \"font\",\r\n  lh: \"line-height\",\r\n  lst: \"letter-spacing\",\r\n  ws: \"word-spacing\",\r\n  ta: \"text-align\",\r\n  tde: \"text-decoration\",\r\n  tt: \"text-transform\",\r\n  ti: \"text-indent\",\r\n  tsh: \"text-shadow\",\r\n  to: \"text-overflow\",\r\n  ww: \"word-wrap\",\r\n  wb: \"word-break\",\r\n  whs: \"white-space\",\r\n  \r\n  // Colors\r\n  text: \"color\",\r\n  c: \"color\",\r\n  bg: \"background-color\",\r\n  bgc: \"background-color\",\r\n  \r\n  // Background\r\n  BG: \"background\",\r\n  bgi: \"background-image\",\r\n  bgr: \"background-repeat\",\r\n  bga: \"background-attachment\",\r\n  bgp: \"background-position\",\r\n  bgs: \"background-size\",\r\n  bgo: \"background-origin\",\r\n  bgcl: \"background-clip\",\r\n  \r\n  // Visibility and Opacity\r\n  v: \"visibility\",\r\n  o: \"opacity\",\r\n  \r\n  // Overflow\r\n  ov: \"overflow\",\r\n  ovx: \"overflow-x\",\r\n  ovy: \"overflow-y\",\r\n  \r\n  // Cursor\r\n  cur: \"cursor\",\r\n  \r\n  // Transform\r\n  tr: \"transform\",\r\n  tro: \"transform-origin\",\r\n  trs: \"transform-style\",\r\n  \r\n  // Transition\r\n  transition: \"transition\",\r\n  td: \"transition-duration\",\r\n  tf: \"transition-timing-function\",\r\n  tp: \"transition-property\",\r\n  tdy: \"transition-delay\",\r\n  \r\n  // Animation\r\n  an: \"animation\",\r\n  and: \"animation-duration\",\r\n  anf: \"animation-fill-mode\",\r\n  andc: \"animation-direction\",\r\n  anic: \"animation-iteration-count\",\r\n  ann: \"animation-name\",\r\n  anps: \"animation-play-state\",\r\n  antf: \"animation-timing-function\",\r\n  andy: \"animation-delay\",\r\n  \r\n  // Shadow\r\n  bsh: \"box-shadow\",\r\n  \r\n  // Outline\r\n  ol: \"outline\",\r\n  olc: \"outline-color\",\r\n  ols: \"outline-style\",\r\n  olw: \"outline-width\",\r\n  olo: \"outline-offset\",\r\n    // List\r\n  lsty: \"list-style-type\",\r\n  lsp: \"list-style-position\",\r\n  lsi: \"list-style-image\",\r\n  lsst: \"list-style\",\r\n  \r\n  // Table\r\n  tl: \"table-layout\",\r\n  bc: \"border-collapse\",\r\n  bs: \"border-spacing\",\r\n  cs: \"caption-side\",\r\n  ec: \"empty-cells\",\r\n  \r\n  // Content\r\n  cnt: \"content\",\r\n  q: \"quotes\",\r\n  \r\n  // Counter\r\n  cr: \"counter-reset\",\r\n  ci: \"counter-increment\",\r\n    // Page\r\n  pbb: \"page-break-before\",\r\n  pba: \"page-break-after\",\r\n  pbi: \"page-break-inside\",\r\n    // Column\r\n  coc: \"column-count\",\r\n  cog: \"column-gap\",\r\n  cow: \"column-width\",\r\n  cor: \"column-rule\",\r\n  corc: \"column-rule-color\",\r\n  cors: \"column-rule-style\",\r\n  corw: \"column-rule-width\",\r\n  cosp: \"column-span\",\r\n  cof: \"column-fill\",\r\n  \r\n  // Filter\r\n  ft: \"filter\",\r\n  \r\n  // Resize\r\n  rz: \"resize\",\r\n  \r\n  // User Select\r\n  us: \"user-select\",\r\n    // Pointer Events\r\n  pev: \"pointer-events\",\r\n  \r\n  // Box Sizing\r\n  bxs: \"box-sizing\",\r\n  \r\n  // Vertical Align\r\n  va: \"vertical-align\",\r\n  \r\n  // Float\r\n  fl: \"float\",\r\n  cl: \"clear\",\r\n    // Gap\r\n  g: \"gap\",\r\n  rg: \"row-gap\",\r\n  cg: \"column-gap\",\r\n  \r\n  // Clip\r\n  clip: \"clip\",\r\n  cp: \"clip-path\",\r\n  \r\n  // Text Decoration\r\n  tdl: \"text-decoration-line\",\r\n  tdc: \"text-decoration-color\",\r\n  tds: \"text-decoration-style\",\r\n  tdt: \"text-decoration-thickness\",\r\n  \r\n  // Object\r\n  of: \"object-fit\",\r\n  op: \"object-position\",\r\n  \r\n  // Scroll\r\n  sb: \"scroll-behavior\",\r\n  ss: \"scroll-snap-type\",\r\n  ssa: \"scroll-snap-align\",\r\n    // Writing Mode\r\n  wm: \"writing-mode\",\r\n  tdir: \"text-direction\",\r\n  \r\n  // Mix Blend Mode\r\n  mbm: \"mix-blend-mode\",\r\n  \r\n  // Isolation\r\n  iso: \"isolation\",\r\n  \r\n  // Mask\r\n  mk: \"mask\",\r\n  mki: \"mask-image\",\r\n  mkp: \"mask-position\",\r\n  mks: \"mask-size\",\r\n  mkr: \"mask-repeat\",\r\n  mko: \"mask-origin\",\r\n  mkc: \"mask-clip\",\r\n  mkm: \"mask-mode\",\r\n  \r\n  // Aspect Ratio\r\n  ar: \"aspect-ratio\",\r\n  \r\n  // Contain\r\n  con: \"contain\",\r\n  \r\n  // Will Change\r\n  wc: \"will-change\",\r\n    // Touch Action\r\n  tac: \"touch-action\",\r\n  \r\n  // Appearance\r\n  app: \"appearance\",\r\n  \r\n  // Orphans and Widows\r\n  or: \"orphans\",\r\n  wd: \"widows\",\r\n  \r\n  // Hyphens\r\n  hy: \"hyphens\",\r\n  \r\n  // Tab Size\r\n  ts: \"tab-size\",\r\n  \r\n  // Scroll Margin\r\n  sm: \"scroll-margin\",\r\n  smt: \"scroll-margin-top\",\r\n  smr: \"scroll-margin-right\",\r\n  smb: \"scroll-margin-bottom\",\r\n  sml: \"scroll-margin-left\",\r\n  \r\n  // Scroll Padding\r\n  sp: \"scroll-padding\",\r\n  spt: \"scroll-padding-top\",\r\n  spr: \"scroll-padding-right\",\r\n  spb: \"scroll-padding-bottom\",\r\n  spl: \"scroll-padding-left\",\r\n  \r\n  // Place Items\r\n  pli: \"place-items\",\r\n  plc: \"place-content\",\r\n  pls: \"place-self\",\r\n  \r\n  // Overscroll Behavior\r\n  osb: \"overscroll-behavior\",\r\n  osbx: \"overscroll-behavior-x\",\r\n  osby: \"overscroll-behavior-y\",\r\n  \r\n  // Text Emphasis\r\n  te: \"text-emphasis\",\r\n  tec: \"text-emphasis-color\",\r\n  tes: \"text-emphasis-style\",\r\n  tep: \"text-emphasis-position\",\r\n  \r\n  // Text Combine\r\n  tcu: \"text-combine-upright\",\r\n  \r\n  // Text Orientation\r\n  tor: \"text-orientation\",\r\n  \r\n  // Text Underline\r\n  tup: \"text-underline-position\",\r\n  tuo: \"text-underline-offset\",\r\n  \r\n  // Text Justify\r\n  tj: \"text-justify\",\r\n  \r\n  // Text Align Last\r\n  tal: \"text-align-last\",\r\n  \r\n  // Text Size Adjust\r\n  tsa: \"text-size-adjust\",\r\n  \r\n  // Image Rendering\r\n  ir: \"image-rendering\",\r\n  \r\n  // Image Orientation\r\n  io: \"image-orientation\",\r\n  \r\n  // Backdrop Filter\r\n  bdf: \"backdrop-filter\",\r\n  \r\n  // Caret Color\r\n  cc: \"caret-color\",\r\n  \r\n  // Accent Color\r\n  acc: \"accent-color\",\r\n\r\n  // CSS Logical Properties\r\n  bis: \"block-size\",\r\n  is: \"inline-size\",\r\n  mbs: \"margin-block-start\",\r\n  mbe: \"margin-block-end\",\r\n  mis: \"margin-inline-start\",\r\n  mie: \"margin-inline-end\",\r\n  pbs: \"padding-block-start\",\r\n  pbe: \"padding-block-end\",\r\n  pis: \"padding-inline-start\",\r\n  pie: \"padding-inline-end\",\r\n\r\n  // Container Queries\r\n  ct: \"container-type\",\r\n  cn: \"container-name\",\r\n  \r\n  // Subgrid\r\n  sg: \"subgrid\",\r\n  \r\n  // Scroll Timeline\r\n  st: \"scroll-timeline\",\r\n  stn: \"scroll-timeline-name\",\r\n  sta: \"scroll-timeline-axis\",\r\n  \r\n  // View Timeline\r\n  vt: \"view-timeline\",\r\n  vtn: \"view-timeline-name\",\r\n  vta: \"view-timeline-axis\",\r\n  vts: \"view-timeline-inset\",\r\n  \r\n  // Animation Timeline\r\n  at: \"animation-timeline\",\r\n};\r\n","import {\r\n  TChosenLogSectionOptions,\r\n  TLogPartsOptions,\r\n  TLogSectionOptions,\r\n} from '../types';\r\n\r\nexport const allPosibleParts: string[] = [\r\n  /* CssCreate */\r\n  'manage_sheets',\r\n  'updateClasses2Create',\r\n  'primordial',\r\n  'lastTimeAsked2Create',\r\n  'timeBetweenReCreate',\r\n  'timesCSSCreated',\r\n  'lastTimeCssCreateEnded',\r\n  /* doUseTimer */\r\n  'isFirstCall',\r\n  'useTimer',\r\n  /* doUseRecurrentStrategy */\r\n  'recurrent',\r\n  'useRecurrentStrategy',\r\n  'cssCreateIsActive',\r\n  'timesCSSCreated',\r\n  'creationPostponed',\r\n  /* doCssCreate */\r\n  'classes2Create',\r\n  'classes2CreateStringed',\r\n  'bpsStringed',\r\n  'performance',\r\n  /* getNewClasses2Create */\r\n  'combos',\r\n  'indicatorClass',\r\n  'abreviationsClasses',\r\n  'alreadyCreatedClasses',\r\n  /* comboParser */\r\n  'comb',\r\n  'class2CreateElement',\r\n  'combIndex',\r\n  'vals',\r\n  'c',\r\n  'combosCreatedABBR',\r\n  'alreadyABBRCombo',\r\n  'combosCreatedKeys',\r\n  'combCreatedKey',\r\n  'comboABBR',\r\n  'firstPseudo',\r\n  'matches',\r\n  'match',\r\n  'valueToMatch',\r\n  'def',\r\n  'vals',\r\n  'vals_val',\r\n  'valval',\r\n  'valsSource',\r\n  'valsToSortSource',\r\n  'valsToSort',\r\n  'valsNotSorted',\r\n  'noValsNotSorted',\r\n  'ocupedIndexes',\r\n  'valsNotSortedSorted',\r\n  'lastValIndex',\r\n  'emptyValsToFillValsSorted',\r\n  'valsSorted',\r\n  /* parseClass */\r\n  'class2Create',\r\n  'isClean',\r\n  'class2CreateStringed',\r\n  'classWithPseudosConvertedAndSELSplited',\r\n  'property',\r\n  'comboCreatedKey',\r\n  'specify',\r\n  'hasBP',\r\n  'propertyValues',\r\n  /* decryptCombo */\r\n  'cs',\r\n  'comboDecrypted',\r\n  'combosCreatedKeys',\r\n  'comboCreatedKey',\r\n  'comboKeys',\r\n  'comboKey',\r\n  /* send2CreateRules */\r\n  'bp',\r\n  /* abreviationTraductors */\r\n  'value',\r\n  'translatorMap',\r\n  /* convertPseudos */\r\n  'thing',\r\n  'remove',\r\n  'pseudoFiltereds',\r\n  /* valueTraductor */\r\n  'realColor',\r\n  'realColorValue',\r\n  'hasOPA',\r\n  /* btnCreator */\r\n  'secondValue',\r\n  'outline',\r\n  'combinatorsValuesNumbers',\r\n  'shadesArray',\r\n  'shades',\r\n  'shadowColorValue',\r\n  'correctVals',\r\n  'correctValsShadows',\r\n  'newRuleArray',\r\n  /* propertyNValueCorrector */\r\n  'shadowMatches',\r\n  'gradientMatches',\r\n  'shadows2Use',\r\n  'correctedShadows',\r\n  'add2NewRule',\r\n  'newRule',\r\n  /* manageColors */\r\n  'colors',\r\n  'color',\r\n  'colorValue',\r\n  /* colorTransform */\r\n  'colorMatches',\r\n  'shade3Split',\r\n  /* managePartsSections */\r\n  'chosenSectionOptions',\r\n  'chosenSectionOptions.sections',\r\n  'chosenSectionOptions.parts',\r\n  /* manageCSSRules */\r\n  'rules',\r\n  'dontSplitted',\r\n  'rule',\r\n  /* createSimpleRule */\r\n  'newRule',\r\n  /* createMediaRule */\r\n  /* manageAbreviations */\r\n  'abreviationsClasses',\r\n  'abreviationsValues',\r\n  /* manageBps */\r\n  'bps',\r\n  /* manageClasses */\r\n  /* manageCombos */\r\n  /* manageCSSNamesParsed */\r\n  'cssNamesParsed',\r\n  /* manageSheet */\r\n  'sheet',\r\n  /* shadowGradientCreator */\r\n  'shadow',\r\n  'onlyGradient',\r\n  'hOffset',\r\n  'vOffset',\r\n  'blur',\r\n  'spread',\r\n] as const;\r\nexport const defaultChosenParts: TLogPartsOptions[] = allPosibleParts.map(\r\n  (part) => part as TLogPartsOptions\r\n) as TLogPartsOptions[];\r\nexport const allPosibleSections: string[] = [\r\n  /* CssCreate */\r\n  'cssCreate',\r\n  'doUseTimer',\r\n  'doUseRecurrentStrategy',\r\n  'doCssCreate',\r\n  'getNewClasses2Create',\r\n  'comboParser',\r\n  'valueComboReplacer',\r\n  'values4ComboGetter',\r\n  'parseClass',\r\n  'decryptCombo',\r\n  'send2CreateRules',\r\n  /* abreviationTraductors */\r\n  'abreviationTraductors',\r\n  /* convertPseudos */\r\n  'convertPseudos',\r\n  /* valueTraductor */\r\n  'valueTraductor',\r\n  /* btnCreator */\r\n  'btnCreator',\r\n  /* propertyNValueCorrector */\r\n  'propertyNValueCorrector',\r\n  /* ManageColors */\r\n  'manageColors',\r\n  /* colorTransform */\r\n  'colorTransform',\r\n  /* managePartsSections */\r\n  'managePartsSections',\r\n  /* manageCSSRules */\r\n  'manageCSSRules',\r\n  /* createSimpleRule */\r\n  'createSimpleRule',\r\n  /* createMediaRule */\r\n  'createMediaRule',\r\n  /* manageAbreviations */\r\n  'manageAbreviations',\r\n  /* manageBps */\r\n  'manageBps',\r\n  /* manageClasses */\r\n  'manageClasses',\r\n  /* manageCombos */\r\n  'manageCombos',\r\n  /* manageCSSNamesParsed */\r\n  'manageCSSNamesParsed',\r\n  /* manageSheet */\r\n  'manageSheet',\r\n  /* shadowGradientCreator */\r\n  'shadowGradientCreator'\r\n] as const;\r\nexport const defaultChosenSections: TLogSectionOptions[] =\r\n  allPosibleSections.map(\r\n    (section) => section as TLogSectionOptions\r\n  ) as TLogSectionOptions[];\r\nexport const defaultChosenSectionOptions: TChosenLogSectionOptions = {\r\n  sections: defaultChosenSections as TLogSectionOptions[],\r\n  parts: defaultChosenParts as TLogPartsOptions[],\r\n};\r\n","export const commonPropertiesValuesAbreviations = {\r\n    // Position values\r\n    \"ABS\": \"absolute\",\r\n    \"REL\": \"relative\",\r\n    \"FIX\": \"fixed\",\r\n    \"STA\": \"static\",\r\n    \"STI\": \"sticky\",\r\n    \r\n    // Display values\r\n    \"BLO\": \"block\",\r\n    \"INL\": \"inline\",\r\n    \"IBL\": \"inline-block\",\r\n    \"FLX\": \"flex\",\r\n    \"GRI\": \"grid\",\r\n    \"NON\": \"none\",\r\n    \"TAB\": \"table\",\r\n    \"TAC\": \"table-cell\",\r\n    \"TAR\": \"table-row\",\r\n    \"CNT\": \"contents\",\r\n    \"LST\": \"list-item\",\r\n    \"IFL\": \"inline-flex\",\r\n    \"IGR\": \"inline-grid\",\r\n    \"ITB\": \"inline-table\",\r\n    \r\n    // Flex/Grid values\r\n    \"FST\": \"flex-start\",\r\n    \"FEN\": \"flex-end\",\r\n    \"CEN\": \"center\",\r\n    \"SBE\": \"space-between\",\r\n    \"SAR\": \"space-around\",\r\n    \"SEV\": \"space-evenly\",\r\n    \"STR\": \"stretch\",\r\n    \"BAS\": \"baseline\",\r\n    \"COL\": \"column\",\r\n    \"ROW\": \"row\",\r\n    \"CRE\": \"column-reverse\",\r\n    \"RRE\": \"row-reverse\",\r\n    \"WRA\": \"wrap\",\r\n    \"NOW\": \"nowrap\",\r\n    \"WRE\": \"wrap-reverse\",\r\n    \r\n    // Alignment values\r\n    \"JUS\": \"justify\",\r\n    \"SRT\": \"start\",\r\n    \"END\": \"end\",\r\n    \"LEF\": \"left\",\r\n    \"RIG\": \"right\",\r\n    \"TOP\": \"top\",\r\n    \"BOT\": \"bottom\",\r\n    \r\n    // Font values\r\n    \"BOL\": \"bold\",\r\n    \"BOR\": \"bolder\",\r\n    \"LIG\": \"lighter\",\r\n    \"NOR\": \"normal\",\r\n    \"ITA\": \"italic\",\r\n    \"OBL\": \"oblique\",\r\n    \"SMC\": \"small-caps\",\r\n    \"CAP\": \"capitalize\",\r\n    \"UPP\": \"uppercase\",\r\n    \"LOW\": \"lowercase\",\r\n    \"THI\": \"thin\",\r\n    \"MED\": \"medium\",\r\n    \"THK\": \"thick\",    \"SER\": \"serif\",\r\n    \"SAN\": \"sans-serif\",\r\n    \"MON\": \"monospace\",\r\n    \"CUR\": \"cursive\",\r\n    \"FAN\": \"fantasy\",\r\n    \r\n    // Text decoration values\r\n    \"UND\": \"underline\",\r\n    \"OVE\": \"overline\",\r\n    \"LTH\": \"line-through\",\r\n    \"STK\": \"strikethrough\",\r\n    \r\n    // Border style values\r\n    \"SOL\": \"solid\",\r\n    \"DAS\": \"dashed\",\r\n    \"DOT\": \"dotted\",\r\n    \"DOU\": \"double\",\r\n    \"GRO\": \"groove\",\r\n    \"RID\": \"ridge\",\r\n    \"INS\": \"inset\",\r\n    \"OUT\": \"outset\",\r\n    \"HID\": \"hidden\",\r\n    \r\n    // List style values\r\n    \"DIS\": \"disc\",\r\n    \"CIR\": \"circle\",\r\n    \"SQU\": \"square\",\r\n    \"DEC\": \"decimal\",\r\n    \"LRO\": \"lower-roman\",\r\n    \"URO\": \"upper-roman\",\r\n    \"LAL\": \"lower-alpha\",\r\n    \"UAL\": \"upper-alpha\",\r\n    \"LAT\": \"lower-latin\",\r\n    \"ULA\": \"upper-latin\",\r\n    \"ARM\": \"armenian\",\r\n    \"GEO\": \"georgian\",\r\n    \"CJK\": \"cjk-ideographic\",\r\n    \"HEB\": \"hebrew\",\r\n    \"HIR\": \"hiragana\",\r\n    \"KAT\": \"katakana\",\r\n    \r\n    // Background values\r\n    \"NRP\": \"no-repeat\",\r\n    \"REP\": \"repeat\",\r\n    \"REX\": \"repeat-x\",\r\n    \"REY\": \"repeat-y\",\r\n    \"ROU\": \"round\",\r\n    \"SPA\": \"space\",\r\n    \"COV\": \"cover\",\r\n    \"COT\": \"contain\",\r\n    \"SCR\": \"scroll\",\r\n    \"BFX\": \"fixed\",\r\n    \r\n    // Cursor values\r\n    \"POI\": \"pointer\",\r\n    \"DEF\": \"default\",\r\n    \"TEX\": \"text\",\r\n    \"MOV\": \"move\",\r\n    \"WAI\": \"wait\",\r\n    \"HEL\": \"help\",\r\n    \"CRO\": \"crosshair\",\r\n    \"PRO\": \"progress\",\r\n    \"NAL\": \"not-allowed\",\r\n    \"ZIN\": \"zoom-in\",\r\n    \"ZOU\": \"zoom-out\",\r\n    \"GRA\": \"grab\",\r\n    \"GRB\": \"grabbing\",\r\n    \"ERS\": \"e-resize\",\r\n    \"WRS\": \"w-resize\",\r\n    \"NRS\": \"n-resize\",\r\n    \"SRS\": \"s-resize\",\r\n    \"NER\": \"ne-resize\",\r\n    \"NWR\": \"nw-resize\",\r\n    \"SRZ\": \"se-resize\",\r\n    \"SWR\": \"sw-resize\",\r\n    \"EWR\": \"ew-resize\",\r\n    \"NSR\": \"ns-resize\",\r\n    \"NES\": \"nesw-resize\",\r\n    \"NWS\": \"nwse-resize\",\r\n    \"CLR\": \"col-resize\",\r\n    \"RWR\": \"row-resize\",\r\n    \"ALL\": \"all-scroll\",\r\n    \"VTE\": \"vertical-text\",\r\n    \"CEL\": \"cell\",\r\n    \"CME\": \"context-menu\",\r\n    \"COP\": \"copy\",\r\n    \"AUT\": \"auto\",\r\n    \r\n    // Animation/Transition values\r\n    \"EAS\": \"ease\",\r\n    \"EAI\": \"ease-in\",\r\n    \"EAO\": \"ease-out\",\r\n    \"EIO\": \"ease-in-out\",\r\n    \"LIN\": \"linear\",\r\n    \"INF\": \"infinite\",\r\n    \"ALT\": \"alternate\",\r\n    \"ALR\": \"alternate-reverse\",\r\n    \"REV\": \"reverse\",\r\n    \"FOR\": \"forwards\",\r\n    \"BAC\": \"backwards\",\r\n    \"BTH\": \"both\",\r\n    \"RUN\": \"running\",\r\n    \"PAU\": \"paused\",\r\n    \r\n    // Overflow values\r\n    \"VIS\": \"visible\",\r\n    \"HDD\": \"hidden\",\r\n    \"SCL\": \"scroll\",\r\n    \"ATU\": \"auto\",\r\n    \"CLP\": \"clip\",\r\n      // White space values\r\n    \"NWP\": \"nowrap\",\r\n    \"PRE\": \"pre\",\r\n    \"PWR\": \"pre-wrap\",\r\n    \"PLI\": \"pre-line\",\r\n    \"BSP\": \"break-spaces\",\r\n    \r\n    // Word break values\r\n    \"KEE\": \"keep-all\",\r\n    \"BRA\": \"break-all\",\r\n    \"BRW\": \"break-word\",\r\n    \r\n    // Transform values\r\n    \"PR3\": \"preserve-3d\",\r\n    \"FLA\": \"flat\",\r\n    \r\n    // Box sizing values\r\n    \"CBX\": \"content-box\",\r\n    \"BBX\": \"border-box\",\r\n      // Clear/Float values\r\n    \"CLB\": \"both\",\r\n    \"CLL\": \"left\",\r\n    \"CLT\": \"right\",\r\n    \"CLN\": \"none\",\r\n    \r\n    // Table values\r\n    \"TBC\": \"collapse\",\r\n    \"TBS\": \"separate\",\r\n    \r\n    // Resize values\r\n    \"RSB\": \"both\",\r\n    \"RSH\": \"horizontal\",\r\n    \"RSV\": \"vertical\",\r\n    \"RSN\": \"none\",\r\n    \r\n    // User select values\r\n    \"USN\": \"none\",\r\n    \"UST\": \"text\",\r\n    \"USA\": \"all\",\r\n    \"USU\": \"auto\",\r\n    \r\n    // Appearance values\r\n    \"APN\": \"none\",\r\n    \"APA\": \"auto\",\r\n    \"APB\": \"button\",\r\n    \"APC\": \"checkbox\",\r\n    \"APR\": \"radio\",\r\n    \"APT\": \"textfield\",\r\n    \"APM\": \"menulist\",\r\n    \r\n    // Miscellaneous values\r\n    \"ALV\": \"all\",\r\n    \"AUV\": \"auto\",\r\n    \"INI\": \"initial\",\r\n    \"INH\": \"inherit\",\r\n    \"UNS\": \"unset\",\r\n    \"RVT\": \"revert\",\r\n    \"TRA\": \"transparent\",\r\n    \"CCL\": \"currentColor\",\r\n    \r\n    // Filter values\r\n    \"BLU\": \"blur\",\r\n    \"BRI\": \"brightness\",\r\n    \"CON\": \"contrast\",\r\n    \"DRO\": \"drop-shadow\",\r\n    \"GRY\": \"grayscale\",\r\n    \"HUR\": \"hue-rotate\",\r\n    \"INV\": \"invert\",\r\n    \"OPA\": \"opacity\",\r\n    \"SAT\": \"saturate\",\r\n    \"SEP\": \"sepia\",\r\n    \r\n    // Mix blend mode values\r\n    \"MBN\": \"normal\",\r\n    \"MBM\": \"multiply\",\r\n    \"MBS\": \"screen\",\r\n    \"MBO\": \"overlay\",\r\n    \"MBD\": \"darken\",\r\n    \"MBL\": \"lighten\",\r\n    \"MCD\": \"color-dodge\",\r\n    \"MCB\": \"color-burn\",\r\n    \"MHL\": \"hard-light\",\r\n    \"MSL\": \"soft-light\",\r\n    \"MDF\": \"difference\",\r\n    \"MEX\": \"exclusion\",\r\n    \"MHU\": \"hue\",\r\n    \"MSA\": \"saturation\",\r\n    \"MCO\": \"color\",\r\n    \"MLU\": \"luminosity\",\r\n    \r\n    // Object fit values\r\n    \"OFI\": \"fill\",\r\n    \"OCN\": \"contain\",\r\n    \"OCV\": \"cover\",\r\n    \"ONO\": \"none\",\r\n    \"OSD\": \"scale-down\"\r\n}","/* Colors */\r\nimport { allColors } from '../values/colors';\r\n/* CssNamesParsed */\r\nimport { cssNamesParsed } from '../values/cssNamesParsed';\r\n/* Parts & Sections */\r\nimport { defaultChosenSectionOptions } from '../values/parts_sections';\r\n/* Interfaces */\r\nimport { IAbreviationTraductor, IBPS, IPseudo } from '../interfaces';\r\n/* Functions */\r\n/* Common Properties Values */\r\nimport { commonPropertiesValuesAbreviations } from '../values/commonPropertiesValuesAbreviations';\r\n/* Types */\r\nimport { TChosenLogSectionOptions } from '../types';\r\nexport class ValuesSingleton {\r\n  private static instance: ValuesSingleton;\r\n  public indicatorClass: string = 'ank';\r\n  public colors: { [key: string]: string } = allColors;\r\n  public colorNames: string[] = Object.keys(this.colors);\r\n  public colorsRegex: RegExp | undefined;\r\n  public opacityRegex: RegExp = new RegExp(\r\n    /(?:([A-z0-9#]*)|(?:(rgb)|(hsl)|(hwb))a?\\([0-9\\.\\,\\s%]*\\))\\s?OPA\\s?0\\.[0-9]*/gi\r\n  );\r\n  public abreviationsClasses: { [key: string]: string } = {};\r\n  public abreviationsClassesKeys: Set<string> = new Set(Object.keys(this.abreviationsClasses));\r\n  public abreviationsValues: { [key: string]: string } = {};\r\n  public abreviationsValuesKeys: Set<string> = new Set(Object.keys(this.abreviationsValues));\r\n  public combos: { [key: string]: string[] } = {};\r\n  public combosKeys: Set<string> = new Set(Object.keys(this.combos));\r\n  public combosCreated: { [key: string]: string } = {};\r\n  public combosCreatedKeys: Set<string> = new Set(Object.keys(this.combosCreated));\r\n  public encryptCombo: boolean = true;\r\n  public encryptComboCharacters: string = '■■■';\r\n  public encryptComboCreatedCharacters: string = '🜔🜔🜔';\r\n  public cssNamesParsed: { [key: string]: string | string[] } = cssNamesParsed;\r\n  public alreadyCreatedClasses: Set<string> = new Set();\r\n  public sheet?: CSSStyleSheet;\r\n  public responsiveSheet?: CSSStyleSheet;\r\n  public isDebug: boolean = false;\r\n  public bps: IBPS[] = [\r\n    {\r\n      bp: 'sm',\r\n      value: '576px',\r\n      class2Create: '',\r\n    },\r\n    {\r\n      bp: 'md',\r\n      value: '768px',\r\n      class2Create: '',\r\n    },\r\n    {\r\n      bp: 'lg',\r\n      value: '992px',\r\n      class2Create: '',\r\n    },\r\n    {\r\n      bp: 'xl',\r\n      value: '1200px',\r\n      class2Create: '',\r\n    },\r\n    {\r\n      bp: 'xxl',\r\n      value: '1400px',\r\n      class2Create: '',\r\n    },\r\n  ];\r\n  public breakPoints: Set<string> = new Set(['sm', 'md', 'lg', 'xl', 'xxl']);\r\n  public bpsSpecifyOptions: string[] = [\r\n    '',\r\n    'html',\r\n    'html body',\r\n    'html body #' + this.indicatorClass + '-bp',\r\n    '#' + this.indicatorClass + '-bp',\r\n  ];\r\n  public limitBPS: boolean = false;\r\n  public styleSheetToManage: string = 'angora-styles.css';\r\n  public responsiveStyleSheetToManage: string = 'angora-styles-responsive.css';\r\n  public separator: string = 'þµÞ';\r\n  public specify: string = '🜏🜏🜏';\r\n  /* Console */\r\n  public styleConsole: string = `padding: 1rem; background-color: ${ this.colors['abyss'] }; color: ${ this.colors['lavenderLP'] };`;\r\n  /* Pseudos */\r\n  public pseudoClasses: string[] = [\r\n    'Active',\r\n    'AnyLink',\r\n    'Autofill',\r\n    'Blank',\r\n    'Checked',\r\n    'Current',\r\n    'Default',\r\n    'Defined',\r\n    'Dir',\r\n    'Disabled',\r\n    'Empty',\r\n    'Enabled',\r\n    'First',\r\n    'FirstChild',\r\n    'FirstOfType',\r\n    'Focus',\r\n    'FocusVisible',\r\n    'FocusWithin',\r\n    'Fullscreen',\r\n    'Future',\r\n    'Has',\r\n    'Host',\r\n    'Hover',\r\n    'InRange',\r\n    'Indeterminate',\r\n    'Invalid',\r\n    'Is',\r\n    'Lang',\r\n    'LastChild',\r\n    'LastOfType',\r\n    'Left',\r\n    'Link',\r\n    'LocalLink',\r\n    'Modal',\r\n    'Muted',\r\n    'Not',\r\n    'NthChild',\r\n    'NthLastChild',\r\n    'NthLastOfType',\r\n    'NthOfType',\r\n    'OnlyChild',\r\n    'OnlyOfType',\r\n    'Optional',\r\n    'OutOfRange',\r\n    'Past',\r\n    'Paused',\r\n    'PictureInPicture',\r\n    'PlaceHolderShown',\r\n    'Playing',\r\n    'PopoverOpen',\r\n    'ReadOnly',\r\n    'ReadWrite',\r\n    'Required',\r\n    'Right',\r\n    'Root',\r\n    'Scope',\r\n    'Seeking',\r\n    'Stalled',\r\n    'Target',\r\n    'TargetWithin',\r\n    'UserInvalid',\r\n    'UserValid',\r\n    'Valid',\r\n    'Visited',\r\n    'VolumeLocked',\r\n    'Where',\r\n  ];\r\n  public pseudosHasSDED: Set<string> = new Set([\r\n    'Dir',\r\n    'Not',\r\n    'Lang',\r\n    'Has',\r\n    'Host',\r\n    'Is',\r\n    'NthChild',\r\n    'NthLastChild',\r\n    'NthLastOfType',\r\n    'NthOfType',\r\n    'Part',\r\n    'Slotted',\r\n    'Where',\r\n  ]);\r\n  public pseudoElements: string[] = [\r\n    'After',\r\n    'Backdrop',\r\n    'Before',\r\n    'Cue',\r\n    'CueRegion',\r\n    'FileSelectorButton',\r\n    'FirstLetter',\r\n    'FirstLine',\r\n    'GrammarError',\r\n    'Highlight',\r\n    'Marker',\r\n    'Part',\r\n    'Placeholder',\r\n    'Selection',\r\n    'Slotted',\r\n    'SpellingError',\r\n    'TargetText',\r\n    'ViewTransition',\r\n    'ViewTransitionGroup',\r\n    'ViewTransitionImagePair',\r\n    'ViewTransitionNew',\r\n    'ViewTransitionOld',\r\n  ];\r\n  public pseudos: IPseudo[] = [];\r\n  public pageSpecificSet: Set<string> = new Set(['Right', 'Left']);\r\n  public importantActive: boolean = false;\r\n  public abreviationTraductors: IAbreviationTraductor[] = [\r\n    {\r\n      abreviation: 'per',\r\n      traduction: '$1%',\r\n      abreviationRegExp: /(\\d+)\\s*per/g,\r\n      traductionRegExp: /%/g,\r\n    },\r\n    {\r\n      abreviation: 'COM',\r\n      traduction: ' , ',\r\n      abreviationRegExp: /COM/g,\r\n      traductionRegExp: /\\s*,\\s*/g,\r\n    },\r\n    {\r\n      abreviation: 'CSP',\r\n      traduction: `'`,\r\n      abreviationRegExp: /CSP/g,\r\n      traductionRegExp: /'/g,\r\n    },\r\n    {\r\n      abreviation: 'CDB',\r\n      traduction: `\"`,\r\n      abreviationRegExp: /CDB/g,\r\n      traductionRegExp: /\"/g,\r\n    },\r\n    {\r\n      abreviation: 'MIN',\r\n      traduction: '-',\r\n      abreviationRegExp: /MIN/g,\r\n      traductionRegExp: /-/g,\r\n    },\r\n    {\r\n      abreviation: 'PLUS',\r\n      traduction: '+',\r\n      abreviationRegExp: /PLUS/g,\r\n      traductionRegExp: /\\+/g,\r\n    },\r\n    {\r\n      abreviation: 'SD',\r\n      traduction: '(',\r\n      abreviationRegExp: /SD/g,\r\n      traductionRegExp: /\\(/g,\r\n    },\r\n    {\r\n      abreviation: 'ED',\r\n      traduction: ')',\r\n      abreviationRegExp: /ED/g,\r\n      traductionRegExp: /\\)/g,\r\n    },\r\n    {\r\n      abreviation: 'SE',\r\n      traduction: '[',\r\n      abreviationRegExp: /SE/g,\r\n      traductionRegExp: /\\[/g,\r\n    },\r\n    {\r\n      abreviation: 'EE',\r\n      traduction: ']',\r\n      abreviationRegExp: /EE/g,\r\n      traductionRegExp: /\\]/g,\r\n    },\r\n    {\r\n      abreviation: 'HASH',\r\n      traduction: '#',\r\n      abreviationRegExp: /HASH/g,\r\n      traductionRegExp: /#/g,\r\n    },\r\n    {\r\n      abreviation: 'SLASH',\r\n      traduction: '/',\r\n      abreviationRegExp: /SLASH/g,\r\n      traductionRegExp: /\\//g,\r\n    },\r\n    {\r\n      abreviation: 'UND',\r\n      traduction: '_',\r\n      abreviationRegExp: /UND/g,\r\n      traductionRegExp: /_/g,\r\n    },\r\n    {\r\n      abreviation: '__',\r\n      traduction: ' ',\r\n      abreviationRegExp: /__/g,\r\n      traductionRegExp: /\\s+/g,\r\n    },\r\n    {\r\n      abreviation: '_',\r\n      traduction: '.',\r\n      abreviationRegExp: /_/g,\r\n      traductionRegExp: /\\./g,\r\n    },\r\n    {\r\n      abreviation: 'CHILD',\r\n      traduction: ' > ',\r\n      abreviationRegExp: /CHILD/g,\r\n      traductionRegExp: /\\s*>\\s*/g,\r\n    },\r\n    {\r\n      abreviation: 'ADJ',\r\n      traduction: ' + ',\r\n      abreviationRegExp: /ADJ/g,\r\n      traductionRegExp: /\\s*\\+\\s*/g,\r\n    },\r\n    {\r\n      abreviation: 'SIBL',\r\n      traduction: ' ~ ',\r\n      abreviationRegExp: /SIBL/g,\r\n      traductionRegExp: /\\s*~\\s*/g,\r\n    },\r\n    {\r\n      abreviation: 'ALL',\r\n      traduction: '*',\r\n      abreviationRegExp: /ALL/g,\r\n      traductionRegExp: /\\*/g,\r\n    },\r\n    {\r\n      abreviation: 'EQ',\r\n      traduction: '=',\r\n      abreviationRegExp: /EQ/g,\r\n      traductionRegExp: /=/g,\r\n    },\r\n    {\r\n      abreviation: 'ST',\r\n      traduction: '^',\r\n      abreviationRegExp: /ST/g,\r\n      traductionRegExp: /\\^/g,\r\n    },\r\n    {\r\n      abreviation: 'INC',\r\n      traduction: '$',\r\n      abreviationRegExp: /INC/g,\r\n      traductionRegExp: /\\$/g,\r\n    },\r\n    {\r\n      abreviation: 'DPS',\r\n      traduction: ':',\r\n      abreviationRegExp: /DPS/g,\r\n      traductionRegExp: /:/g,\r\n    },\r\n    {\r\n      abreviation: 'PNC',\r\n      traduction: ';',\r\n      abreviationRegExp: /PNC/g,\r\n      traductionRegExp: /;/g,\r\n    },\r\n  ];\r\n  public translatorMaps: {\r\n    traduceMap: Map<string, { regex: RegExp; replacement: string }>;\r\n    convertMap: Map<string, { regex: RegExp; replacement: string | RegExp }>;\r\n  } = {\r\n      traduceMap: new Map<string, { regex: RegExp; replacement: string }>(),\r\n      convertMap: new Map<string, { regex: RegExp; replacement: string | RegExp }>(),\r\n    };\r\n  /* Time Management*/\r\n  public useTimer: boolean = false;\r\n  public lastTimeAsked2Create: number = new Date().getTime();\r\n  public timesCSSCreated: number = 0;\r\n  public timeBetweenReCreate: number = 300;\r\n  public lastTimeCssCreateEnded: number = Date.now();\r\n  public creationPostponed: boolean = false;\r\n  public setTimeOutID: ReturnType<typeof setTimeout> | null = null;\r\n  /* Recurrent Strategy */\r\n  public useRecurrentStrategy: boolean = true;\r\n  public cssCreateIsActive: boolean = false;\r\n  /* Common Properties Values Abreviations */\r\n  public commonPropertiesValuesAbreviations: { [key: string]: string } = commonPropertiesValuesAbreviations;\r\n  public commonPropertiesValuesAbreviationsValues: string[] = Object.values(this.commonPropertiesValuesAbreviations);\r\n  /* Logging */\r\n  public chosenSectionOptions: TChosenLogSectionOptions = defaultChosenSectionOptions;\r\n  /* Cache */\r\n  public cacheActive: boolean = true;\r\n  public cacheSize: number = 1000;\r\n  public propertyJoinerCache: Map<string, string> = new Map();\r\n  public regExpCache: Map<string, RegExp> = new Map();\r\n  public buttonCssCache: Map<string, string> = new Map();\r\n  public buttonShadeCache: Map<string, string> = new Map();\r\n  public buttonCorrectionCache: Map<string, string> = new Map();\r\n  public camelCache: Map<string, string> = new Map();\r\n  public cssValidCache: Map<string, boolean> = new Map();\r\n  public colorTransformCache: Map<string, string> = new Map();\r\n  public comboDecryptCache: Map<string, string> = new Map();\r\n  public parseClassCache: Map<\r\n    string,\r\n    {\r\n      class2Create: string;\r\n      bpsStringed: IBPS[];\r\n      classes2CreateStringed: string;\r\n    }\r\n  > = new Map();\r\n  public getNewClasses2CreateCache: Map<string, string[]> = new Map();\r\n  public comboParserCache: Map<string, string[]> = new Map();\r\n  public values4ComboGetterCache: Map<string, string[]> = new Map();\r\n  private constructor() { }\r\n  public static getInstance(): ValuesSingleton {\r\n    if (!ValuesSingleton.instance) {\r\n      ValuesSingleton.instance = new ValuesSingleton();\r\n      this.instance.init();\r\n    }\r\n    return ValuesSingleton.instance;\r\n  }\r\n  public init() {\r\n    this.translatorMaps = (() => {\r\n      const traduceMap = new Map<string, { regex: RegExp; replacement: string }>();\r\n      const convertMap = new Map<string, { regex: RegExp; replacement: string | RegExp }>();\r\n      for (const abr of this.abreviationTraductors) {\r\n        // Cache for \"traduce\" mode (abbreviation -> traduction)\r\n        traduceMap.set(abr.abreviation, {\r\n          regex: abr.abreviationRegExp,\r\n          replacement: abr.traduction,\r\n        });\r\n\r\n        // Cache for \"convert\" mode (traduction -> abbreviation)\r\n        convertMap.set(abr.traduction, {\r\n          regex: abr.traductionRegExp,\r\n          replacement: abr.abreviation,\r\n        });\r\n      }\r\n      return {\r\n        traduceMap,\r\n        convertMap,\r\n      };\r\n    })();\r\n  }\r\n}\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Interfaces */\r\nimport { IConsoleParser } from '../interfaces';\r\n/* Types */\r\nimport { TLogPartsOptions, TLogSectionOptions } from '../types';\r\nfunction getStackTrace(): string {\r\n  let stack;\r\n  try {\r\n    throw new Error('');\r\n  } catch (error: any) {\r\n    stack = error.stack || '';\r\n  }\r\n  stack = stack.split('\\n').map((line: any) => {\r\n    return line.trim();\r\n  });\r\n  return stack.splice(stack[0] == 'Error' ? 2 : 1);\r\n}\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nexport const console_log = {\r\n  betterLogV1(\r\n    section: TLogSectionOptions,\r\n    thing: any,\r\n    part?: TLogPartsOptions,\r\n    style?: string,\r\n    stoper?: boolean\r\n  ): void {\r\n    if (\r\n      values.chosenSectionOptions.sections.includes(section) &&\r\n      (!part || values.chosenSectionOptions.parts.includes(part.split(' ')[0] as TLogPartsOptions))\r\n    ) {\r\n      this.consoleParser({\r\n        type: 'info',\r\n        thing: thing,\r\n        line: part ? `${section}.${part}` : typeof thing === 'string' ? `${section}.${thing}` : undefined,\r\n        showObjectAsString: false,\r\n        style: style ? style : values.styleConsole,\r\n        stoper: stoper !== undefined ? stoper : !values.isDebug,\r\n      });\r\n    }\r\n  },\r\n  multiBetterLogV1(\r\n    section: TLogSectionOptions,\r\n    toLog: [any, TLogPartsOptions?][],\r\n    style?: string,\r\n    stoper?: boolean\r\n  ): void {\r\n    toLog.forEach(([thing, part]) => {\r\n      this.betterLogV1(section, thing, part, style, stoper);\r\n    });\r\n  },\r\n  consoleLog(\r\n    type: 'log' | 'info' | 'trace' | 'error' = 'log',\r\n    thing: any,\r\n    style: string = values.styleConsole,\r\n    line: string | null = null,\r\n    stoper: boolean = !values.isDebug\r\n  ): void {\r\n    this.consoleParser({\r\n      type: type,\r\n      thing: thing,\r\n      style: style,\r\n      line: line,\r\n      stoper: stoper,\r\n    });\r\n  },\r\n  consoleParser(config: IConsoleParser): void {\r\n    config.stoper = config.stoper !== undefined ? config.stoper : !values.isDebug;\r\n    if (config.stoper === false || config.type === 'error') {\r\n      config.type = config.type ? config.type : 'log';\r\n      config.style = config.style ? config.style : values.styleConsole;\r\n      config.showObjectAsString = config.showObjectAsString !== undefined ? config.showObjectAsString : true;\r\n      const typeofThing = typeof config.thing;\r\n      const isObject = typeofThing === 'object';\r\n      if (config.line) {\r\n        let lineResult = config.line;\r\n        if (\r\n          ['number', 'boolean'].includes(typeofThing) ||\r\n          (typeofThing === 'string' && config.thing.length > 0 && config.thing.length < 15)\r\n        ) {\r\n          lineResult = config.line + ' = ' + config.thing;\r\n        }\r\n        if (!['error', 'trace'].includes(config.type)) {\r\n          console.groupCollapsed('%c' + 'Line: ' + lineResult, config.style);\r\n        } else {\r\n          console.info('%cline: ' + lineResult + ' = ', config.style);\r\n        }\r\n      }\r\n      if ((!isObject || config.showObjectAsString) && ['log', 'info', 'error'].includes(config.type)) {\r\n        console[config.type]('%c' + (isObject ? JSON.stringify(config.thing) : config.thing), config.style);\r\n      }\r\n      if (isObject) {\r\n        console.dir(config.thing);\r\n      }\r\n      if (!config.line || ['error', 'trace'].includes(config.type)) {\r\n        console.groupCollapsed('%c' + 'Trace:', config.style);\r\n      }\r\n      const stackTrace = getStackTrace();\r\n      for (let i = 2; i <= 7; i++) {\r\n        console.info('%c' + stackTrace[i], config.style);\r\n      }\r\n      console.trace();\r\n      console.groupEnd();\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from './console_log';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('abreviationTraductors', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('abreviationTraductors', toLog);\r\n};\r\nexport const abreviation_traductors = {\r\n  /**\r\n   * Translates between abbreviations and their correct css.\r\n   *\r\n   * @param value - The string to be processed for abbreviation translation or conversion\r\n   * @param type - The operation type: \"traduce\" converts abbreviations to correct css, \"convert\" converts correct css to abbreviations\r\n   * @returns The processed string with abbreviations translated or converted according to the specified type\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * // Convert abbreviations to correct css\r\n   * const result = abreviationTraductor(\"__COM_🜔🜔🜔\", \"traduce\"):\" , .🜔🜔🜔\"\r\n   *\r\n   * // Convert correct css to abbreviations\r\n   * const result = abreviationTraductor(\" , .🜔🜔🜔\", \"convert\"):\"__COM_🜔🜔🜔\"\r\n   * ```\r\n   */\r\n  abreviationTraductor(value: string, type: 'traduce' | 'convert' = 'traduce'): string {\r\n    multiLog([\r\n      [value, 'value'],\r\n      [type, 'type'],\r\n    ]);\r\n\r\n    // Early exit for empty or undefined values\r\n    if (!value || value === '') {\r\n      return value;\r\n    }\r\n\r\n    log(value, 'value BeforeAbreviationTraductor');\r\n\r\n    // Use appropriate cached map based on type\r\n    const translatorMap = type === 'traduce' ? values.translatorMaps.traduceMap : values.translatorMaps.convertMap;\r\n    log(translatorMap, 'translatorMap');\r\n\r\n    let result = value;\r\n    let hasMatches = false;\r\n\r\n    // Process translations using cached maps\r\n    for (const [key, translator] of translatorMap) {\r\n      // Quick check if the value contains the key before running expensive regex\r\n      if (type === 'traduce' ? result.includes(key) : translator.regex.test(result)) {\r\n        const previousResult = result;\r\n        result = result.replace(translator.regex, translator.replacement as string);\r\n\r\n        // Track if any changes were made for logging purposes\r\n        if (previousResult !== result) {\r\n          hasMatches = true;\r\n        }\r\n\r\n        // Reset regex lastIndex for global regexes to ensure consistent behavior\r\n        translator.regex.lastIndex = 0;\r\n      }\r\n    }\r\n\r\n    if (hasMatches) {\r\n      log(result, 'value AfterAbreviationTraductor');\r\n    }\r\n\r\n    return result;\r\n  },\r\n\r\n  unbefysize(value: string): string {\r\n    return this.abreviationTraductor(value, 'traduce');\r\n  },\r\n\r\n  befysize(value: string): string {\r\n    return this.abreviationTraductor(value, 'convert');\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\n/* Types */\r\nimport { TCacheOptions, TCacheOptionsPromised, TLogPartsOptions } from '../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageColors', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageColors', toLog);\r\n};\r\nexport const manage_cache = {\r\n  getCached: <T = string>(cacheKey: string, cache: TCacheOptions, callBack?: () => T): T | undefined => {\r\n    const cacheContainer: Map<string, T> = values[`${cache}Cache`] as Map<string, T>;\r\n    let result: T | undefined = cacheContainer.get(cacheKey);\r\n    if (result === undefined && callBack !== undefined) {\r\n      result = callBack();\r\n      manage_cache.addCached<T>(cacheKey, cache, result);\r\n    }\r\n    return result;\r\n  },\r\n\r\n  getCachedPromised: async <T = string>(\r\n    cacheKey: string,\r\n    cache: TCacheOptionsPromised,\r\n    callBack: () => Promise<T>\r\n  ): Promise<T> => {\r\n    const cacheContainer: Map<string, T> = values[`${cache}Cache`] as Map<string, T>;\r\n    let result: T | undefined = cacheContainer.get(cacheKey);\r\n    if (result === undefined) {\r\n      result = await callBack();\r\n      manage_cache.addCached<T>(cacheKey, cache, result);\r\n    }\r\n    return result;\r\n  },\r\n\r\n  addCached: <T>(cacheKey: string, cache: TCacheOptionsPromised | TCacheOptions, result: T): void => {\r\n    const cacheContainer: Map<string, T> = values[`${cache}Cache`] as Map<string, T>;\r\n    if (cacheContainer.size >= values.cacheSize) {\r\n      manage_cache.deleteCached(cache, args => {\r\n        if (args.index && args.index < Math.floor(values.cacheSize / 4)) {\r\n          return { add2Remove: true, last: false };\r\n        }\r\n        return { add2Remove: false, last: true };\r\n      });\r\n    }\r\n    cacheContainer.set(cacheKey, result);\r\n  },\r\n  deleteCached: <T>(\r\n    cache: TCacheOptionsPromised | TCacheOptions,\r\n    cb: (args: { key?: string; index?: number; element?: T }) =>\r\n      | {\r\n          add2Remove?: boolean;\r\n          last?: boolean;\r\n        }\r\n      | undefined\r\n  ): void => {\r\n    const cacheContainer: Map<string, T> = values[`${cache}Cache`] as Map<string, T>;\r\n    const keysToDelete: string[] = [];\r\n    const cacheContainerKeys: string[] = Array.from(cacheContainer.keys());\r\n    for (let i = 0; i < cacheContainerKeys.length; i++) {\r\n      const containerKey: string = cacheContainerKeys[i];\r\n      const cacheElement = cacheContainer.get(containerKey) as T;\r\n      const { add2Remove, last } =\r\n        cb({\r\n          key: containerKey,\r\n          index: i,\r\n          element: cacheElement,\r\n        }) || {};\r\n      if (add2Remove) {\r\n        keysToDelete.push(containerKey);\r\n      }\r\n      if (last) {\r\n        break;\r\n      }\r\n    }\r\n    keysToDelete.forEach(key => cacheContainer.delete(key));\r\n  },\r\n  clearCached: (cache: TCacheOptions | TCacheOptionsPromised): void => {\r\n    values[`${cache}Cache`].clear();\r\n  },\r\n  clearAllNoneEssential: (): void => {\r\n    const noEssential: (TCacheOptions | TCacheOptionsPromised)[] = [\r\n      'propertyJoiner',\r\n      'buttonShade',\r\n      'camel',\r\n      'buttonCss',\r\n      'cssValid',\r\n      'colorTransform',\r\n      'comboDecrypt',\r\n      'buttonCorrection',\r\n      'parseClass',\r\n      'getNewClasses2Create',\r\n      'comboParser',\r\n      'values4ComboGetter',\r\n    ];\r\n    for (const key of noEssential) {\r\n      manage_cache.clearCached(key);\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\n/* Functions */\r\nimport { console_log } from './console_log';\r\nimport { manage_cache } from './manage_cache';\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('colorTransform', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('colorTransform', toLog);\r\n};\r\n/**\r\n * Advanced color transformation utilities for converting between different color formats.\r\n *\r\n * This module provides efficient color conversion functions with built-in caching and error handling.\r\n * Supports conversion between RGB, HEX, HSL, HWB color formats, and includes utilities for\r\n * shade/tint manipulation, opacity control, and gradient processing.\r\n *\r\n * @example\r\n * ```typescript\r\n * // Convert hex to RGB\r\n * const rgb = color_transform.colorToRGB('#ff0000'); // [255, 0, 0]\r\n *\r\n * // Create RGBA with opacity\r\n * const rgba = color_transform.RGBToRGBA([255, 0, 0], 0.5); // \"rgba(255,0,0,0.5)\"\r\n *\r\n * // Apply shade/tint\r\n * const darker = color_transform.shadeTintColor([255, 0, 0], -20); // Darker red\r\n * ```\r\n */\r\nexport const color_transform = {\r\n  /**\r\n   * Converts any color format to RGB array with caching for performance.\r\n   *\r\n   * @param color - Color string in any supported format (hex, rgb, rgba, hsl, hsla, hwb, or named color)\r\n   * @returns Array of RGB values [r, g, b] or [r, g, b, a] if alpha channel exists\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * colorToRGB('#ff0000')        // [255, 0, 0]\r\n   * colorToRGB('rgb(255,0,0)')   // [255, 0, 0]\r\n   * colorToRGB('hsl(0,100%,50%)') // [255, 0, 0]\r\n   * colorToRGB('red')            // [255, 0, 0] (if 'red' is in values.colors)\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Uses intelligent caching to avoid repeated conversions\r\n   * - Supports recursive color lookup for named colors\r\n   * - Returns [255, 0, 0] (red) as fallback for invalid colors\r\n   * - Handles all major color formats: hex, rgb/rgba, hsl/hsla, hwb\r\n   */\r\n  colorToRGB(color: string): number[] {\r\n    try {\r\n      const normalizedColor = color.toLowerCase().trim();\r\n\r\n      // Check cache first\r\n      if (values.cacheActive) {\r\n        const cachedResult = manage_cache.getCached(normalizedColor, 'colorTransform');\r\n        if (cachedResult) {\r\n          return JSON.parse(cachedResult) as number[];\r\n        }\r\n      }\r\n\r\n      let rgb: number[] = [255, 0, 0]; // Default fallback color (red)\r\n\r\n      // Optimized color format detection\r\n      if (values.colors[normalizedColor]) {\r\n        // Named color lookup with recursion protection\r\n        rgb = this.colorToRGB(values.colors[normalizedColor]);\r\n      } else if (normalizedColor.startsWith('rgb')) {\r\n        rgb = this.parseRGB(normalizedColor);\r\n      } else if (normalizedColor.startsWith('#')) {\r\n        rgb = this.parseRGB(this.HexToRGB(normalizedColor));\r\n      } else if (normalizedColor.startsWith('hsl')) {\r\n        rgb = this.parseRGB(this.HSLToRGB(normalizedColor));\r\n      } else if (normalizedColor.startsWith('hwb')) {\r\n        rgb = this.parseRGB(this.HWBToRGB(normalizedColor));\r\n      }\r\n\r\n      // Cache the result for future use\r\n      if (values.cacheActive) {\r\n        manage_cache.addCached(normalizedColor, 'colorTransform', JSON.stringify(rgb));\r\n      }\r\n      return rgb;\r\n    } catch (error) {\r\n      console_log.consoleLog('error', { colorToRGBError: error, color });\r\n      return [255, 0, 0]; // Fallback to red\r\n    }\r\n  },\r\n\r\n  /**\r\n   * Converts RGB array to RGBA string format.\r\n   *\r\n   * @param rgb - Array containing RGB values [r, g, b]\r\n   * @param alpha - Alpha value between 0 and 1\r\n   * @returns RGBA color string\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * RGBToRGBA([255, 0, 0], 0.5) // \"rgba(255,0,0,0.5)\"\r\n   * RGBToRGBA([0, 255, 0], 1.0) // \"rgba(0,255,0,1)\"\r\n   * ```\r\n   */\r\n  RGBToRGBA(rgb: number[], alpha: number): string {\r\n    return `rgba(${rgb[0]},${rgb[1]},${rgb[2]},${alpha})`;\r\n  },\r\n  /**\r\n   * Optimized RGB/RGBA string parser with improved performance.\r\n   *\r\n   * @param rgba - RGB or RGBA color string\r\n   * @returns Array of parsed RGB values [r, g, b] or [r, g, b, a]\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * parseRGB('rgb(255, 0, 0)')     // [255, 0, 0]\r\n   * parseRGB('rgba(255, 0, 0, 0.5)') // [255, 0, 0, 0.5]\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Uses optimized parsing with minimal string operations\r\n   * - Handles both rgb() and rgba() formats\r\n   * - Automatically detects alpha channel presence\r\n   */\r\n  parseRGB(rgba: string): number[] {\r\n    // Extract values between parentheses more efficiently\r\n    const match = rgba.match(/\\(([^)]+)\\)/);\r\n    if (!match) {\r\n      console_log.consoleLog('error', { parseRGBError: 'Invalid RGB format', rgba });\r\n      return [255, 0, 0]; // Fallback to red\r\n    }\r\n    const parts = match[1].split(',');\r\n    const values: number[] = [];\r\n    for (let i = 0; i < parts.length && i < 3; i++) {\r\n      let number = parseFloat(parts[i].trim());\r\n      if (i === 3) {\r\n        number = number < 1 ? number : 1;\r\n      }\r\n      values.push(number);\r\n    }\r\n    return values;\r\n  },\r\n  /**\r\n   * Optimized hexadecimal color conversion with improved performance.\r\n   *\r\n   * @param hex - Hexadecimal color string (with or without #)\r\n   * @returns RGB string in format \"rgb(r,g,b)\" or \"rgba(r,g,b,a)\"\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * HexToRGB('#ff0000')     // \"rgb(255,0,0)\"\r\n   * HexToRGB('#f00')        // \"rgb(255,0,0)\"\r\n   * HexToRGB('#ff000080')   // \"rgba(255,0,0,128)\"\r\n   * HexToRGB('ff0000')      // \"rgb(255,0,0)\" (# is optional)\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Supports 3, 4, 6, and 8 character hex codes\r\n   * - Automatically detects alpha channel (4 and 8 character codes)\r\n   * - Uses optimized parsing with minimal string operations\r\n   * - Returns appropriate rgb() or rgba() format based on input\r\n   */\r\n  HexToRGB(hex: string): string {\r\n    const hexCode = hex.replace('#', '');\r\n    const length = hexCode.length;\r\n\r\n    if (![3, 4, 6, 8].includes(length)) {\r\n      console_log.consoleLog('error', {\r\n        hexToRGBError: 'Invalid hex code',\r\n        hex,\r\n      });\r\n      return 'rgb(255,0,0)'; // Fallback to red\r\n    }\r\n\r\n    let rgb: number[] = [];\r\n\r\n    if (length === 3 || length === 4) {\r\n      // Short format: expand each character\r\n      for (let i = 0; i < length; i++) {\r\n        const char = hexCode[i];\r\n        rgb.push(parseInt(char + char, 16));\r\n      }\r\n    } else {\r\n      // Long format: parse pairs\r\n      for (let i = 0; i < length; i += 2) {\r\n        rgb.push(parseInt(hexCode.substr(i, 2), 16));\r\n      }\r\n    }\r\n\r\n    // Return appropriate format based on alpha channel presence\r\n    const hasAlpha = length === 4 || length === 8;\r\n    return hasAlpha ? `rgba(${rgb.slice(0, 3).join(',')},${rgb[3]})` : `rgb(${rgb.join(',')})`;\r\n  },\r\n  /**\r\n   * Converts HSL/HSLA color to RGB format with optimized algorithm.\r\n   *\r\n   * @param hsl - HSL or HSLA color string\r\n   * @returns RGB string in format \"rgb(r,g,b)\" or \"rgba(r,g,b,a)\"\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * HSLToRGB('hsl(0, 100%, 50%)')     // \"rgb(255,0,0)\"\r\n   * HSLToRGB('hsla(120, 100%, 50%, 0.5)') // \"rgba(0,255,0,0.5)\"\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Uses optimized HSL to RGB conversion algorithm\r\n   * - Handles both hsl() and hsla() formats\r\n   * - Supports percentage and decimal values\r\n   * - Returns fallback color for invalid input\r\n   */\r\n  HSLToRGB(hsl: string): string {\r\n    // Quick validation\r\n    if (!hsl.toLowerCase().startsWith('hsl')) {\r\n      return 'rgb(255,0,0)'; // Fallback to red\r\n    }\r\n\r\n    // Extract values more efficiently\r\n    const match = hsl.match(/\\(([^)]+)\\)/);\r\n    if (!match) return 'rgb(255,0,0)';\r\n\r\n    const values = match[1].split(',').map(v => v.trim());\r\n    if (values.length < 3) return 'rgb(255,0,0)';\r\n\r\n    // Parse HSL values with proper normalization\r\n    const h = (parseFloat(values[0]) % 360) / 360; // Normalize to 0-1\r\n    const s = parseFloat(values[1].replace('%', '')) / 100; // Remove % and normalize\r\n    const l = parseFloat(values[2].replace('%', '')) / 100; // Remove % and normalize\r\n    const alpha = values[3] ? parseFloat(values[3]) : undefined;\r\n\r\n    // Handle grayscale case (saturation = 0)\r\n    if (s === 0) {\r\n      const gray = Math.round(l * 255);\r\n      return alpha !== undefined ? `rgba(${gray},${gray},${gray},${alpha})` : `rgb(${gray},${gray},${gray})`;\r\n    }\r\n\r\n    // HSL to RGB conversion algorithm\r\n    const q = l < 0.5 ? l * (1 + s) : l + s - l * s;\r\n    const p = 2 * l - q;\r\n\r\n    const r = Math.round(this.HueToRGB(p, q, h + 1 / 3) * 255);\r\n    const g = Math.round(this.HueToRGB(p, q, h) * 255);\r\n    const b = Math.round(this.HueToRGB(p, q, h - 1 / 3) * 255);\r\n\r\n    return alpha !== undefined ? `rgba(${r},${g},${b},${alpha})` : `rgb(${r},${g},${b})`;\r\n  },\r\n\r\n  /**\r\n   * Helper function for HSL to RGB conversion.\r\n   *\r\n   * @param p - Calculated p value from HSL conversion\r\n   * @param q - Calculated q value from HSL conversion\r\n   * @param t - Hue component (normalized 0-1)\r\n   * @returns RGB component value (0-1)\r\n   *\r\n   * @remarks\r\n   * - Internal helper function for HSL color space conversion\r\n   * - Implements the standard HSL to RGB hue conversion algorithm\r\n   * - Used by HSLToRGB function for each color component\r\n   */\r\n  HueToRGB(p: number, q: number, t: number): number {\r\n    if (t < 0) t += 1;\r\n    if (t > 1) t -= 1;\r\n    if (t < 1 / 6) return p + (q - p) * 6 * t;\r\n    if (t < 1 / 2) return q;\r\n    if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;\r\n    return p;\r\n  },\r\n  /**\r\n   * Converts HWB (Hue, Whiteness, Blackness) color to RGB format.\r\n   *\r\n   * @param hwb - HWB color string\r\n   * @returns RGB string in format \"rgb(r,g,b)\" or \"rgba(r,g,b,a)\"\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * HWBToRGB('hwb(0, 0%, 0%)')      // \"rgb(255,0,0)\"\r\n   * HWBToRGB('hwb(120, 20%, 30%)')  // Green with whiteness and blackness\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Implements the HWB color space conversion algorithm\r\n   * - Handles whiteness + blackness > 100% by normalizing values\r\n   * - Supports alpha channel in hwba() format\r\n   * - Uses optimized mathematical operations\r\n   */\r\n  HWBToRGB(hwb: string): string {\r\n    // Extract values more efficiently\r\n    const match = hwb.match(/\\(([^)]+)\\)/);\r\n    if (!match) return 'rgb(255,0,0)';\r\n\r\n    const values = match[1].split(',').map(v => v.trim());\r\n    if (values.length < 3) return 'rgb(255,0,0)';\r\n\r\n    // Parse HWB values\r\n    let h = (parseFloat(values[0]) % 360) / 360; // Normalize hue to 0-1\r\n    let w = parseFloat(values[1].replace('%', '')) / 100; // Whiteness\r\n    let b = parseFloat(values[2].replace('%', '')) / 100; // Blackness\r\n    const alpha = values[3] ? parseFloat(values[3]) : undefined;\r\n\r\n    // Normalize whiteness and blackness if their sum > 1\r\n    const ratio = w + b;\r\n    if (ratio > 1) {\r\n      w /= ratio;\r\n      b /= ratio;\r\n    }\r\n\r\n    // HWB to RGB conversion\r\n    const i = Math.floor(6 * h);\r\n    const v = 1 - b;\r\n    let f = 6 * h - i;\r\n\r\n    if ((i & 0x01) !== 0) {\r\n      f = 1 - f;\r\n    }\r\n\r\n    const n = w + f * (v - w); // Linear interpolation\r\n\r\n    let r: number, g: number, bl: number;\r\n\r\n    // Determine RGB values based on hue sector\r\n    switch (i % 6) {\r\n      case 0:\r\n        r = v;\r\n        g = n;\r\n        bl = w;\r\n        break;\r\n      case 1:\r\n        r = n;\r\n        g = v;\r\n        bl = w;\r\n        break;\r\n      case 2:\r\n        r = w;\r\n        g = v;\r\n        bl = n;\r\n        break;\r\n      case 3:\r\n        r = w;\r\n        g = n;\r\n        bl = v;\r\n        break;\r\n      case 4:\r\n        r = n;\r\n        g = w;\r\n        bl = v;\r\n        break;\r\n      case 5:\r\n      default:\r\n        r = v;\r\n        g = w;\r\n        bl = n;\r\n        break;\r\n    }\r\n\r\n    // Convert to 0-255 range and round\r\n    const red = Math.round(r * 255);\r\n    const green = Math.round(g * 255);\r\n    const blue = Math.round(bl * 255);\r\n\r\n    return alpha !== undefined ? `rgba(${red},${green},${blue},${alpha})` : `rgb(${red},${green},${blue})`;\r\n  },\r\n  /**\r\n   * Creates shade or tint variations of a color by adjusting brightness.\r\n   *\r\n   * @param rgb - RGB color array [r, g, b] or [r, g, b, a]\r\n   * @param percent - Percentage to lighten (+) or darken (-) the color\r\n   * @returns Modified RGB array with same format as input\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * shadeTintColor([255, 0, 0], 20)   // Lighter red\r\n   * shadeTintColor([255, 0, 0], -20)  // Darker red\r\n   * shadeTintColor([255, 0, 0, 128], 10) // Lighter red with alpha\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Positive percentages create tints (lighter colors)\r\n   * - Negative percentages create shades (darker colors)\r\n   * - Handles edge cases for pure black/white colors\r\n   * - Preserves alpha channel if present\r\n   * - Clamps values to valid RGB range (0-255)\r\n   */\r\n  shadeTintColor(rgb: number[], percent: number): number[] {\r\n    // Helper function to adjust color value with edge case handling\r\n    const adjustColorValue = (value: number, percent: number): number => {\r\n      // Handle edge cases for pure black/white\r\n      if (value === 0 && percent > 0) return 16; // Minimum adjustment for black\r\n      if (value === 255 && percent < 0) return 239; // Maximum adjustment for white\r\n\r\n      // Apply percentage adjustment\r\n      const adjusted = Math.round((value * (100 + percent)) / 100);\r\n\r\n      // Clamp to valid RGB range\r\n      return Math.max(0, Math.min(255, adjusted));\r\n    };\r\n\r\n    const [r, g, b, a] = rgb;\r\n    const adjustedRGB = [adjustColorValue(r, percent), adjustColorValue(g, percent), adjustColorValue(b, percent)];\r\n\r\n    // Preserve alpha channel if present\r\n    if (a !== undefined) {\r\n      // Convert alpha to hex if it was originally in hex format\r\n      const alphaValue = typeof a === 'number' && a > 1 ? a : Math.round(a * 255);\r\n      adjustedRGB.push(alphaValue);\r\n    }\r\n\r\n    return adjustedRGB;\r\n  },\r\n\r\n  /**\r\n   * Adds or modifies opacity of a color, with support for gradients.\r\n   *\r\n   * @param value - Color string or gradient string\r\n   * @param opacity - Opacity value between 0 and 1\r\n   * @returns Color string with applied opacity\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * opacityCreator('#ff0000', 0.5)           // \"rgba(255,0,0,0.5)\"\r\n   * opacityCreator('rgb(255,0,0)', 0.3)      // \"rgba(255,0,0,0.3)\"\r\n   * opacityCreator('linear-gradient(...)', 0.8) // Gradient with opacity applied to all colors\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Recursively processes gradients to apply opacity to all color stops\r\n   * - Replaces existing alpha channel with new opacity value\r\n   * - Uses cached color conversion for better performance\r\n   * - Preserves gradient syntax while modifying embedded colors\r\n   */\r\n  opacityCreator(value: string, opacity: number): string {\r\n    if (value.includes('gradient')) {\r\n      const colorMatches = this.separateColor4Transform(value);\r\n      log(colorMatches, 'colorMatches');\r\n\r\n      if (colorMatches) {\r\n        let result = value;\r\n        // Process in reverse order to avoid index shifting\r\n        for (let i = colorMatches.length - 1; i >= 0; i--) {\r\n          const colorMatch = colorMatches[i];\r\n          log(result, 'value Pre SeparateColor4TransformPreCB');\r\n          result = result.replace(colorMatch, this.opacityCreator(colorMatch, opacity));\r\n          log(result, 'value Post SeparateColor4TransformPostCB');\r\n        }\r\n        log(result, 'value Post SeparateColor4Transform');\r\n        return result;\r\n      }\r\n      return value;\r\n    }\r\n\r\n    // Convert color to RGB and apply opacity\r\n    const rgbValues = this.colorToRGB(value);\r\n    multiLog([\r\n      [rgbValues, 'shade3Split'],\r\n      [rgbValues.length, 'shade3Split Length'],\r\n    ]);\r\n\r\n    // Set or replace alpha channel\r\n    if (rgbValues.length === 4) {\r\n      rgbValues[3] = opacity;\r\n    } else {\r\n      rgbValues.push(opacity);\r\n    }\r\n\r\n    return `rgba(${rgbValues.join(',')})`;\r\n  },\r\n\r\n  /**\r\n   * Applies shade/tint transformation to colors, with gradient support.\r\n   *\r\n   * @param tintValue - Percentage to lighten (+) or darken (-)\r\n   * @param value - Color string or gradient string\r\n   * @returns Transformed color string\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * getShadeTintColorOrGradient(20, '#ff0000')        // Lighter red\r\n   * getShadeTintColorOrGradient(-30, 'rgb(0,255,0)')  // Darker green\r\n   * getShadeTintColorOrGradient(10, 'linear-gradient(...)') // Gradient with all colors adjusted\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Recursively processes gradients to apply tint/shade to all color stops\r\n   * - Uses optimized color conversion and caching\r\n   * - Preserves gradient syntax while modifying embedded colors\r\n   * - Combines shadeTintColor and colorToRGB for efficient processing\r\n   */\r\n  getShadeTintColorOrGradient(tintValue: number, value: string): string {\r\n    if (value.includes('gradient')) {\r\n      const colorMatches = this.separateColor4Transform(value);\r\n      log(colorMatches, 'colorMatches');\r\n\r\n      if (colorMatches) {\r\n        let result = value;\r\n        // Process in reverse order to avoid index shifting\r\n        for (let i = colorMatches.length - 1; i >= 0; i--) {\r\n          const colorMatch = colorMatches[i];\r\n          log(result, 'value Pre SeparateColor4TransformPreCB');\r\n          result = result.replace(colorMatch, this.getShadeTintColorOrGradient(tintValue, colorMatch));\r\n          log(result, 'value Post SeparateColor4TransformPostCB');\r\n        }\r\n        log(result, 'value Post SeparateColor4Transform');\r\n        return result;\r\n      }\r\n      return value;\r\n    }\r\n\r\n    // Apply shade/tint transformation\r\n    const rgbValues = this.colorToRGB(value);\r\n    const adjustedRGB = this.shadeTintColor(rgbValues, tintValue);\r\n    return `rgba(${adjustedRGB.join(',')})`;\r\n  },\r\n\r\n  /**\r\n   * Extracts color values from strings containing gradients or mixed content.\r\n   *\r\n   * @param value - String potentially containing color values\r\n   * @returns Array of matched color strings or null if none found\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * separateColor4Transform('linear-gradient(#ff0000, rgb(0,255,0))')\r\n   * // Returns: ['#ff0000', 'rgb(0,255,0)']\r\n   *\r\n   * separateColor4Transform('background: #ff0000')\r\n   * // Returns: ['#ff0000']\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * - Uses cached regex for better performance\r\n   * - Matches hex, rgb/rgba, hsl/hsla, and hwb color formats\r\n   * - Supports both percentage and decimal values\r\n   * - Returns null if no colors are found\r\n   */\r\n  separateColor4Transform(value: string): RegExpMatchArray | null {\r\n    log(value, 'value Pre SeparateColor4Transform');\r\n    return value.match(\r\n      values.cacheActive\r\n        ? (manage_cache.getCached<RegExp>(\r\n            `colorTransform_colorRegex`,\r\n            'regExp',\r\n            () => new RegExp(/(?:(#[A-Fa-f0-9]{3,8})|(?:(rgb)|(hsl)|(hwb))a?\\([0-9\\.\\,\\s%]*\\))/gi)\r\n          ) as RegExp)\r\n        : new RegExp(/(?:(#[A-Fa-f0-9]{3,8})|(?:(rgb)|(hsl)|(hwb))a?\\([0-9\\.\\,\\s%]*\\))/gi)\r\n    );\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Cache Management */\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n/**\r\n * Pre-compiled regex patterns for optimal performance\r\n * Cached regex objects eliminate repeated pattern compilation overhead\r\n */\r\nconst cachedRegexPatterns = {\r\n  cssToKebab: /([-_][a-z])/gi,\r\n  camelToKebab: /[\\w]([A-Z])/g,\r\n};\r\n\r\n/**\r\n * CSS property name conversion utilities with intelligent caching and optimized algorithms.\r\n *\r\n * This module provides bidirectional conversion between CSS property naming conventions:\r\n * - CSS kebab-case (e.g., 'background-color', 'margin-top')\r\n * - JavaScript camelCase (e.g., 'backgroundColor', 'marginTop')\r\n *\r\n * **Performance Optimizations:**\r\n * - Intelligent caching system for converted property names\r\n * - Pre-compiled regex patterns to eliminate creation overhead\r\n * - Early validation and exit strategies for edge cases\r\n * - Optimized string operations with minimal allocations\r\n * - Cache size management to prevent memory leaks\r\n *\r\n * @example\r\n * ```typescript\r\n * // CSS to camelCase conversion\r\n * css_camel.cssValidToCamel('background-color'); // 'backgroundColor'\r\n * css_camel.cssValidToCamel('margin_top'); // 'marginTop'\r\n *\r\n * // camelCase to CSS conversion\r\n * css_camel.camelToCSSValid('backgroundColor'); // 'background-color'\r\n * css_camel.camelToCSSValid('marginTop'); // 'margin-top'\r\n * ```\r\n */\r\nexport const css_camel = {\r\n  /**\r\n   * Converts CSS property names from kebab-case or snake_case to camelCase.\r\n   *\r\n   * Transforms CSS property naming conventions to JavaScript-compatible camelCase format.\r\n   * Handles both hyphen-separated (kebab-case) and underscore-separated (snake_case) inputs.\r\n   *\r\n   * @param st - The CSS property name string to convert (e.g., 'background-color', 'margin_top')\r\n   * @returns The camelCase version of the property name (e.g., 'backgroundColor', 'marginTop')\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * cssValidToCamel('background-color'); // 'backgroundColor'\r\n   * cssValidToCamel('border_top_width'); // 'borderTopWidth'\r\n   * cssValidToCamel('z-index'); // 'zIndex'\r\n   * cssValidToCamel('font-size'); // 'fontSize'\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * **Performance Features:**\r\n   * - Results are cached for instant repeated conversions\r\n   * - Uses pre-compiled regex for optimal pattern matching\r\n   * - Early return for empty/invalid inputs\r\n   * - Minimal string operations for maximum efficiency\r\n   *\r\n   * **Input Validation:**\r\n   * - Handles empty strings gracefully\r\n   * - Processes both hyphen and underscore separators\r\n   * - Maintains case sensitivity for non-separator characters\r\n   */\r\n  cssValidToCamel(st: string): string {\r\n    // Early validation - return immediately for empty/invalid inputs\r\n    if (!st || typeof st !== 'string') {\r\n      return st || '';\r\n    }\r\n\r\n    // Check cache first for instant response\r\n    let cacheKey: string | undefined;\r\n    if (values.cacheActive) {\r\n      cacheKey = `css2camel:${st}`;\r\n      const cachedResult = manage_cache.getCached<string>(cacheKey, 'cssValid');\r\n      if (cachedResult !== undefined) {\r\n        return cachedResult;\r\n      }\r\n    }\r\n\r\n    // Optimized conversion using pre-compiled regex\r\n    const result = st.replace(cachedRegexPatterns.cssToKebab, match => {\r\n      // Direct character manipulation for optimal performance\r\n      const char = match.charAt(1);\r\n      return char.toUpperCase();\r\n    });\r\n\r\n    // Cache the result for future calls\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached<string>(cacheKey, 'cssValid', result);\r\n    }\r\n\r\n    return result;\r\n  },\r\n\r\n  /**\r\n   * Converts camelCase property names to CSS-valid kebab-case format.\r\n   *\r\n   * Transforms JavaScript camelCase property names to CSS-compatible kebab-case format.\r\n   * Inserts hyphens before uppercase letters and converts the entire string to lowercase.\r\n   *\r\n   * @param st - The camelCase property name string to convert (e.g., 'backgroundColor', 'marginTop')\r\n   * @returns The kebab-case CSS property name (e.g., 'background-color', 'margin-top')\r\n   *\r\n   * @example\r\n   * ```typescript\r\n   * camelToCSSValid('backgroundColor'); // 'background-color'\r\n   * camelToCSSValid('borderTopWidth'); // 'border-top-width'\r\n   * camelToCSSValid('zIndex'); // 'z-index'\r\n   * camelToCSSValid('fontSize'); // 'font-size'\r\n   * ```\r\n   *\r\n   * @remarks\r\n   * **Performance Features:**\r\n   * - Results are cached for instant repeated conversions\r\n   * - Uses pre-compiled regex for optimal pattern matching\r\n   * - Early return for empty/invalid inputs\r\n   * - Single-pass conversion with optimized string operations\r\n   *\r\n   * **Conversion Logic:**\r\n   * - Identifies uppercase letters following lowercase/numbers\r\n   * - Inserts hyphen before uppercase letters\r\n   * - Converts entire result to lowercase\r\n   * - Handles edge cases like single characters gracefully\r\n   */\r\n  camelToCSSValid(st: string): string {\r\n    // Early validation - return immediately for empty/invalid inputs\r\n    if (!st || typeof st !== 'string') {\r\n      return st || '';\r\n    }\r\n\r\n    // Check cache first for instant response\r\n    let cacheKey: string | undefined;\r\n    if (values.cacheActive) {\r\n      cacheKey = `camel2css:${st}`;\r\n      const cachedResult = manage_cache.getCached<string>(cacheKey, 'camel');\r\n      if (cachedResult !== undefined) {\r\n        return cachedResult;\r\n      }\r\n    }\r\n\r\n    // Optimized conversion using pre-compiled regex with single toLowerCase call\r\n    const result = st\r\n      .replace(cachedRegexPatterns.camelToKebab, match => {\r\n        // Direct character access for optimal performance\r\n        return match[0] + '-' + match[1];\r\n      })\r\n      .toLowerCase();\r\n\r\n    // Cache the result for future calls\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached<string>(cacheKey, 'camel', result);\r\n    }\r\n\r\n    return result;\r\n  },\r\n};\r\n","import { console_log } from '../../../functions/console_log';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('valueComboReplacer', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('valueComboReplacer', toLog);\r\n};\r\nexport const valueComboReplacer = (c: string, vals: string[]): string => {\r\n  multiLog([\r\n    [c, 'c'],\r\n    [vals, 'vals'],\r\n  ]);\r\n  let reg = new RegExp(/VAL[0-9]+(DEF[^D]*(?:D(?!EF)[^D]*)*DEF)?/, 'g');\r\n  if (reg.test(c)) {\r\n    let matches = c.match(reg);\r\n    log(matches, 'matches');\r\n    if (!!matches) {\r\n      for (let match of matches) {\r\n        log(match, 'match');\r\n        let val = parseInt(match.split('VAL')[1].split('DEF')[0]);\r\n        log(val, 'val');\r\n        let valueToMatch = `VAL${val}(DEF[^D]*(?:D(?!EF)[^D]*)*DEF)?`;\r\n        let valueReg = new RegExp(valueToMatch, 'g');\r\n        log(valueToMatch, 'valueToMatch');\r\n        let def = match.split('DEF')[1];\r\n        multiLog([\r\n          [def, 'def'],\r\n          [vals, 'vals'],\r\n          [vals[val], 'vals_val'],\r\n        ]);\r\n        if (\r\n          !!vals[val] &&\r\n          vals[val] !== '' &&\r\n          vals[val] !== 'undefined' &&\r\n          vals[val] !== 'DEF' &&\r\n          vals[val] !== 'null'\r\n        ) {\r\n          if (/VAL[0-9]+/.test(vals[val])) {\r\n            /* When you want to use another defined value */\r\n            let valval = vals[val].replace(/VAL/g, '');\r\n            log(valval, 'valval');\r\n            c = c.replace(\r\n              valueReg,\r\n              vals[parseInt(valval)] && vals[parseInt(valval)] !== 'VAL' + valval\r\n                ? vals[parseInt(valval)]\r\n                : def\r\n                ? def\r\n                : ''\r\n            );\r\n            log(c, 'c');\r\n          } else {\r\n            /* When you defined a custom value */\r\n            c = c.replace(valueReg, vals[val]);\r\n            log(c, 'c');\r\n          }\r\n        } else {\r\n          /* When you dont define a value its defined the default value */\r\n          c = c.replace(valueReg, def ? def : '');\r\n          log(c, 'c');\r\n        }\r\n      }\r\n      return c;\r\n    } else {\r\n      return c;\r\n    }\r\n  } else {\r\n    return c;\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../../../functions/console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst log = (t: unknown, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('values4ComboGetter', t, p);\r\n};\r\nconst multiLog = (toLog: [unknown, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('values4ComboGetter', toLog);\r\n};\r\nconst values = ValuesSingleton.getInstance();\r\n\r\ntype TVals2Sort = {\r\n  index: number;\r\n  val: string;\r\n};\r\nexport const values4ComboGetter = (class2Create: string): string[] => {\r\n  // Performance monitoring\r\n  const startTime = performance.now();\r\n  log(class2Create, 'class2Create');\r\n\r\n  // Stage 1: Cache Check\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    cacheKey = `${class2Create}`;\r\n    const cachedResult = manage_cache.getCached<string[]>(cacheKey, 'values4ComboGetter');\r\n    if (cachedResult) {\r\n      const cacheTime = performance.now() - startTime;\r\n      multiLog([\r\n        [cachedResult, 'cached result returned'],\r\n        [`${cacheTime.toFixed(2)}ms`, 'cache retrieval time'],\r\n      ]);\r\n      return cachedResult;\r\n    }\r\n    log(false, 'cache miss - proceeding with computation');\r\n  }\r\n\r\n  // Stage 2: Initial validation and setup\r\n  let result: string[] = [];\r\n\r\n  if (!class2Create.includes('VALS')) {\r\n    multiLog([\r\n      [false, 'contains VALS'],\r\n      [result, 'returning empty result'],\r\n    ]);\r\n\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached(cacheKey, 'values4ComboGetter', result);\r\n    }\r\n    return result;\r\n  }\r\n\r\n  // Stage 3: Extract values source\r\n  const valsSource: string = class2Create.split('VALS')[1];\r\n  multiLog([\r\n    [valsSource, 'extracted valsSource'],\r\n    [valsSource.length, 'valsSource length'],\r\n  ]);\r\n\r\n  // Stage 4: Regex validation and matching\r\n  const valueReg = values.cacheActive\r\n    ? (manage_cache.getCached<RegExp>(\r\n        'VAL_REGEX_PATTERN',\r\n        'regExp',\r\n        () => new RegExp(/VAL([0-9_]+)N[A-z0-9]+VAL\\1N/, 'g')\r\n      ) as RegExp)\r\n    : new RegExp(/VAL([0-9_]+)N[A-z0-9]+VAL\\1N/, 'g');\r\n  const hasValueRegex = valueReg.test(valsSource);\r\n\r\n  multiLog([\r\n    [hasValueRegex, 'contains value regex pattern'],\r\n    [valueReg.source, 'regex pattern used'],\r\n  ]);\r\n\r\n  // Stage 5: Basic split (fallback case)\r\n  result = valsSource.split('VL');\r\n  log(result, 'result VL split');\r\n\r\n  if (!hasValueRegex) {\r\n    multiLog([\r\n      [false, 'regex pattern found'],\r\n      [result, 'using basic split result'],\r\n    ]);\r\n\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached(cacheKey, 'values4ComboGetter', result);\r\n    }\r\n    return result;\r\n  }\r\n\r\n  // Stage 6: Advanced parsing with regex matches\r\n  // Reset regex for new match operation\r\n  valueReg.lastIndex = 0;\r\n  const valsToSortSource: RegExpMatchArray | null = valsSource.match(valueReg);\r\n\r\n  multiLog([\r\n    [valsToSortSource, 'regex matches found'],\r\n    [valsToSortSource?.length || 0, 'number of matches'],\r\n  ]);\r\n\r\n  if (!valsToSortSource) {\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached(cacheKey, 'values4ComboGetter', result);\r\n    }\r\n    return result;\r\n  }\r\n\r\n  // Stage 7: Process matched values and build sorted structure\r\n  const valsToSortExtras: TVals2Sort[] = [];\r\n  let valsToSort: TVals2Sort[] = valsToSortSource.map((v: string, mapIndex: number) => {\r\n    log(`processing match ${mapIndex + 1}/${valsToSortSource.length}: ${v}`, 'match processing');\r\n\r\n    const index: string = v.split('VAL')[1].split('N')[0];\r\n    const valReplace: RegExp = values.cacheActive\r\n      ? (manage_cache.getCached<RegExp>(index, 'regExp', () => new RegExp(`VAL${index}N`, 'g')) as RegExp)\r\n      : new RegExp(`VAL${index}N`, 'g');\r\n    let firstIndex: number = parseInt(index);\r\n\r\n    multiLog([\r\n      [index, 'extracted index string'],\r\n      [firstIndex, 'parsed first index'],\r\n      [index.includes('_'), 'has multiple indexes'],\r\n    ]);\r\n\r\n    if (index.includes('_')) {\r\n      const indexes: string[] = index.split('_');\r\n      log(indexes, 'indexes splitted from index');\r\n\r\n      indexes.forEach((i: string, it: number) => {\r\n        if (it > 0) {\r\n          const extraVal = {\r\n            index: parseInt(i),\r\n            val: v.replace(valReplace, ''),\r\n          };\r\n          valsToSortExtras.push(extraVal);\r\n        }\r\n      });\r\n    }\r\n\r\n    const processedValue = {\r\n      index: firstIndex,\r\n      val: v.replace(valReplace, ''),\r\n    };\r\n\r\n    log(processedValue, `processedValue ${mapIndex + 1}`);\r\n    return processedValue;\r\n  });\r\n\r\n  multiLog([\r\n    [valsToSort.length, 'primary values count'],\r\n    [valsToSortExtras.length, 'extra values count'],\r\n  ]);\r\n\r\n  // Stage 8: Combine primary and extra values\r\n  valsToSort = valsToSort.concat(valsToSortExtras);\r\n  log(valsToSort, 'valsToSort');\r\n\r\n  // Stage 9: Process unsorted values from VL splits\r\n  const valsNotSorted: string[] = valsSource.split('VL');\r\n  log(valsNotSorted, 'valsNotSorted');\r\n\r\n  let noValsNotSorted: boolean = false;\r\n  if (valsNotSorted.length >= 1) {\r\n    valsNotSorted.shift(); // Remove first empty element\r\n    log(valsNotSorted, 'valsNotSorted after removing first element');\r\n  }\r\n\r\n  if (valsNotSorted.length <= 0) {\r\n    noValsNotSorted = true;\r\n  }\r\n\r\n  multiLog([\r\n    [valsNotSorted.length, 'valsNotSorted count'],\r\n    [noValsNotSorted, 'noValsNotSorted'],\r\n  ]);\r\n\r\n  // Stage 10: Calculate occupied indexes - using Set for O(1) lookup performance\r\n  const ocupedIndexes: Set<number> = new Set(valsToSort.map(v => v.index));\r\n  multiLog([\r\n    [ocupedIndexes, 'ocupedIndexes for fast lookup'],\r\n    [ocupedIndexes.size, 'ocupedIndexes count'],\r\n  ]);\r\n\r\n  // Stage 11: Process unsorted values if they exist\r\n  if (!noValsNotSorted) {\r\n    log('processing unsorted values', 'unsorted processing stage');\r\n\r\n    const valsNotSortedSorted: TVals2Sort[] = valsNotSorted.map((v, mapIndex) => {\r\n      let index = 1;\r\n      while (ocupedIndexes.has(index)) {\r\n        index++;\r\n      }\r\n      ocupedIndexes.add(index);\r\n\r\n      const sortedVal = {\r\n        index: index,\r\n        val: v,\r\n      };\r\n\r\n      log(`assigned index ${index} to unsorted value ${mapIndex + 1}: \"${v}\"`, 'unsorted assignment');\r\n      return sortedVal;\r\n    });\r\n\r\n    multiLog([\r\n      [valsNotSortedSorted, 'processed unsorted values'],\r\n      [valsNotSortedSorted.length, 'processed unsorted count'],\r\n    ]);\r\n\r\n    valsNotSortedSorted.sort((v1, v2) => v1.index - v2.index);\r\n    log(valsNotSortedSorted, 'sorted unsorted values');\r\n\r\n    // Stage 12: Combine and sort all values\r\n    valsToSort = valsToSort.concat(valsNotSortedSorted);\r\n    valsToSort.sort((v1, v2) => v1.index - v2.index);\r\n\r\n    multiLog([\r\n      [valsToSort.length, 'total values after combining'],\r\n      [valsToSort, 'all values combined and sorted'],\r\n    ]);\r\n  }\r\n\r\n  // Stage 13: Fill empty positions\r\n  const emptyValsToFillValsSorted: TVals2Sort[] = [];\r\n  const sortedValsToSort = [...valsToSort].sort((v1, v2) => v1.index - v2.index);\r\n  const lastValIndex = sortedValsToSort[sortedValsToSort.length - 1].index;\r\n\r\n  multiLog([\r\n    [lastValIndex, 'last index found'],\r\n    [sortedValsToSort.map(v => v.index), 'all indexes before filling'],\r\n  ]);\r\n\r\n  for (let i = 0; i < lastValIndex; i++) {\r\n    if (!ocupedIndexes.has(i)) {\r\n      emptyValsToFillValsSorted.push({\r\n        index: i,\r\n        val: '',\r\n      });\r\n      log(`filled empty position at index ${i}`, 'empty position fill');\r\n    }\r\n  }\r\n\r\n  multiLog([\r\n    [emptyValsToFillValsSorted, 'empty positions filled'],\r\n    [emptyValsToFillValsSorted.length, 'empty positions count'],\r\n  ]);\r\n\r\n  // Stage 14: Final sorting and result generation\r\n  const valsSorted: TVals2Sort[] = valsToSort.concat(emptyValsToFillValsSorted).sort((v1, v2) => v1.index - v2.index);\r\n\r\n  multiLog([\r\n    [valsSorted, 'final sorted values'],\r\n    [valsSorted.length, 'final sorted count'],\r\n    [valsSorted.map(v => `${v.index}:${v.val}`), 'index:value pairs'],\r\n  ]);\r\n\r\n  result = valsSorted.map(v => v.val);\r\n\r\n  // Stage 15: Cache the result and return\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached(cacheKey, 'values4ComboGetter', result);\r\n    log('final result cached successfully', 'cache operation');\r\n  }\r\n\r\n  const totalTime = performance.now() - startTime;\r\n  multiLog([\r\n    [result, 'final result'],\r\n    [result.length, 'final result length'],\r\n    [`${totalTime.toFixed(2)}ms`, 'total execution time'],\r\n    ['function execution completed', 'completion status'],\r\n  ]);\r\n\r\n  return result;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../../../functions/console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\nimport { valueComboReplacer } from './valueComboReplacer';\r\nimport { values4ComboGetter } from './values4ComboGetter';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('comboParser', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('comboParser', toLog);\r\n};\r\nexport const comboParser = (class2Create: string, comb: string, class2CreateElement: HTMLElement): string[] => {\r\n  // Performance monitoring\r\n  const startTime = performance.now();\r\n\r\n  multiLog([\r\n    [class2Create, 'input class2Create'],\r\n    [comb, 'input comb'],\r\n    [class2CreateElement.tagName, 'element tag name'],\r\n    [class2CreateElement.className, 'element class names'],\r\n  ]);\r\n\r\n  // Stage 1: Cache Check\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    // Create comprehensive cache key including element context\r\n    cacheKey = `${class2Create}_${comb}_${class2CreateElement.tagName}_${values.encryptCombo}_${values.combosCreatedKeys.size}`;\r\n    const cachedResult = manage_cache.getCached<string[]>(cacheKey, 'comboParser');\r\n    if (cachedResult) {\r\n      const cacheTime = performance.now() - startTime;\r\n      multiLog([\r\n        [true, 'cache hit'],\r\n        [cachedResult, 'cached result returned'],\r\n        [`${cacheTime.toFixed(2)}ms`, 'cache retrieval time'],\r\n      ]);\r\n      return cachedResult;\r\n    }\r\n    log(false, 'cache miss - proceeding with computation');\r\n  }\r\n\r\n  // Stage 2: Initial validation and setup\r\n  const comboClasses2Create: string[] = [];\r\n  const comboClassesSet: Set<string> = new Set(); // For O(1) duplicate checking\r\n\r\n  // Optimize combo index lookup\r\n  const combosKeysArray = Array.from(values.combosKeys);\r\n  let combIndex = combosKeysArray.indexOf(comb);\r\n\r\n  multiLog([\r\n    [combIndex, 'combo index in combos array'],\r\n    [combosKeysArray.length, 'total combos available'],\r\n    [!!values.combos[comb], 'combo exists in values.combos'],\r\n  ]);\r\n\r\n  // Stage 3: Get values for combo processing\r\n  let vals: string[] = values4ComboGetter(class2Create);\r\n  multiLog([\r\n    [vals, 'values from values4ComboGetter'],\r\n    [vals.length, 'number of values retrieved'],\r\n  ]);\r\n\r\n  // Stage 4: Pre-compute frequently used values for performance\r\n  const indicatorClass = values.indicatorClass;\r\n  const encryptCombo = values.encryptCombo;\r\n  const combosCreatedKeysSet = values.combosCreatedKeys;\r\n  const combosCreated = values.combosCreated;\r\n  const pseudos = values.pseudos;\r\n\r\n  // Stage 5: Process each combo template\r\n  const comboTemplates = values.combos[comb];\r\n\r\n  if (!comboTemplates || comboTemplates.length === 0) {\r\n    multiLog([\r\n      [false, 'combo templates found'],\r\n      [comboClasses2Create, 'returning empty result'],\r\n    ]);\r\n\r\n    if (values.cacheActive && cacheKey) {\r\n      manage_cache.addCached(cacheKey, 'comboParser', comboClasses2Create);\r\n    }\r\n    return comboClasses2Create;\r\n  }\r\n\r\n  log(`processing ${comboTemplates.length} combo templates`, 'templates processing');\r\n\r\n  comboTemplates.forEach((originalC: string, templateIndex: number) => {\r\n    log(`processing template ${templateIndex + 1}/${comboTemplates.length}: \"${originalC}\"`, 'template processing');\r\n\r\n    // Stage 6: Apply value replacement\r\n    let c = valueComboReplacer(originalC, vals);\r\n    multiLog([\r\n      [originalC, 'original template'],\r\n      [c, 'after value replacement'],\r\n    ]);\r\n\r\n    // Stage 7: Handle indicator class processing\r\n    if (c.startsWith(indicatorClass)) {\r\n      log('template starts with indicator class - processing combo abbreviation', 'combo abbreviation stage');\r\n\r\n      // Stage 8: Check for existing abbreviation (optimized lookup)\r\n      let alreadyABBRCombo: boolean = false;\r\n      let existingComboKey: string | undefined;\r\n\r\n      // Use more efficient lookup\r\n      for (const cs of combosCreatedKeysSet) {\r\n        if (combosCreated[cs] === class2Create) {\r\n          alreadyABBRCombo = true;\r\n          existingComboKey = cs;\r\n          break;\r\n        }\r\n      }\r\n\r\n      multiLog([\r\n        [alreadyABBRCombo, 'abbreviation already exists'],\r\n        [existingComboKey, 'existing combo key'],\r\n        [combosCreatedKeysSet.size, 'total combo keys created'],\r\n      ]);\r\n\r\n      // Stage 9: Generate or retrieve combo key\r\n      const combCreatedKey: string = existingComboKey || values.encryptComboCharacters + combosCreatedKeysSet.size;\r\n\r\n      log(combCreatedKey, 'combo created key to use');\r\n\r\n      // Stage 10: Create new abbreviation if needed\r\n      if (!alreadyABBRCombo) {\r\n        const keyToStore = encryptCombo ? combCreatedKey : class2Create;\r\n        combosCreated[keyToStore] = class2Create;\r\n        combosCreatedKeysSet.add(combCreatedKey);\r\n\r\n        multiLog([\r\n          [keyToStore, 'stored combo key'],\r\n          [class2Create, 'stored combo value'],\r\n          [combosCreatedKeysSet.size, 'updated combo keys count'],\r\n        ]);\r\n      }\r\n\r\n      // Stage 11: Determine final abbreviation\r\n      const comboABBR: string = encryptCombo ? combCreatedKey : class2Create;\r\n\r\n      multiLog([\r\n        [comboABBR, 'final combo abbreviation'],\r\n        [c, 'class before pseudo processing'],\r\n      ]);\r\n\r\n      // Stage 12: Process pseudos with optimized filtering\r\n      const cSplit = c.split('-');\r\n      if (cSplit.length > 1) {\r\n        const relevantPseudos = pseudos.filter((p: any) => cSplit[1] && cSplit[1].includes(p.mask));\r\n\r\n        multiLog([\r\n          [relevantPseudos.length, 'relevant pseudos found'],\r\n          [relevantPseudos.map((p: any) => p.mask), 'pseudo masks found'],\r\n        ]);\r\n\r\n        // Stage 13: Handle pseudo processing\r\n        if (relevantPseudos.length > 0) {\r\n          // Sort pseudos by position in string for correct precedence\r\n          const sortedPseudos = relevantPseudos.sort((p1: any, p2: any) => c.indexOf(p1.mask) - c.indexOf(p2.mask));\r\n          const firstPseudo = sortedPseudos[0];\r\n\r\n          log(firstPseudo, 'first pseudo to process');\r\n\r\n          // Stage 14: Apply pseudo transformations\r\n          const selIndex = c.indexOf('SEL');\r\n          const pseudoIndex = c.indexOf(firstPseudo.mask);\r\n\r\n          if (!c.includes('SEL') || selIndex > pseudoIndex) {\r\n            c = c.replace('SEL', '').replace(firstPseudo.mask, 'SEL__COM_' + comboABBR + firstPseudo.mask);\r\n            log(c, 'after pseudo transformation (case 1)');\r\n          } else if (c.includes('SEL')) {\r\n            c = c.replace('SEL', 'SEL__COM_' + comboABBR + '__');\r\n            log(c, 'after SEL replacement (case 2)');\r\n          }\r\n        } else {\r\n          // Stage 15: Default SEL processing\r\n          if (c.includes('SEL')) {\r\n            c = c.replace('SEL', 'SEL__COM_' + comboABBR + '__');\r\n            log(c, 'after default SEL replacement');\r\n          } else if (cSplit.length > 1) {\r\n            const partToReplace = cSplit[1];\r\n            c = c.replace(partToReplace, partToReplace + 'SEL__COM_' + comboABBR);\r\n            log(c, 'after default part replacement');\r\n          }\r\n        }\r\n      }\r\n    } else {\r\n      // Stage 16: Handle non-indicator classes\r\n      log(c, 'template does not start with indicator class - adding to element');\r\n      class2CreateElement.classList.add(c);\r\n    }\r\n\r\n    // Stage 17: Add to results if not already present\r\n    if (!comboClasses2Create.includes(c)) {\r\n      comboClasses2Create.push(c);\r\n      log(`added \"${c}\" to result array (position ${comboClasses2Create.length})`, 'result addition');\r\n    } else {\r\n      log(`\"${c}\" already exists in result array`, 'duplicate prevention');\r\n    }\r\n  });\r\n\r\n  // Stage 18: Cache and return results\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached(cacheKey, 'comboParser', comboClasses2Create);\r\n    log('result cached successfully', 'cache operation');\r\n  }\r\n\r\n  const totalTime = performance.now() - startTime;\r\n  multiLog([\r\n    [comboClasses2Create, 'final combo classes result'],\r\n    [comboClasses2Create.length, 'total classes generated'],\r\n    [`${totalTime.toFixed(2)}ms`, 'total execution time'],\r\n    ['function execution completed', 'completion status'],\r\n  ]);\r\n\r\n  return comboClasses2Create;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from '../../console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\nimport { comboParser } from './comboParser';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('getNewClasses2Create', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('getNewClasses2Create', toLog);\r\n};\r\nexport const getNewClasses2Create = (): string[] => {\r\n  multiLog([\r\n    [values.combos, 'combos'],\r\n    [values.indicatorClass, 'indicatorClass'],\r\n    [values.abreviationsClasses, 'abreviationsClasses'],\r\n    [values.alreadyCreatedClasses, 'alreadyCreatedClasses'],\r\n  ]);\r\n\r\n  // Create a lightweight cache key based on the current state\r\n  const allElementsWithClassAtribute: NodeListOf<HTMLElement> = document.querySelectorAll('[class]');\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    cacheKey = `${values.indicatorClass}_${values.combosKeys.size}_${values.abreviationsClassesKeys.size}_${\r\n      values.abreviationsValuesKeys.size\r\n    }_${values.alreadyCreatedClasses.size}_${allElementsWithClassAtribute.length}_${Math.floor(Date.now() / 1000)}`;\r\n\r\n    // Try to get cached result first\r\n    const cachedResult = manage_cache.getCached<string[]>(cacheKey, 'getNewClasses2Create');\r\n\r\n    if (cachedResult !== null && cachedResult !== undefined) {\r\n      log(cachedResult, 'cached classes2Create');\r\n      return cachedResult;\r\n    }\r\n  }\r\n\r\n  const classes2Create: Set<string> = new Set();\r\n  // Get all HTMLElements\r\n  for (let i = 0; i < allElementsWithClassAtribute.length; i++) {\r\n    const value = allElementsWithClassAtribute[i] as HTMLElement;\r\n    for (const item of allElementsWithClassAtribute[i].classList) {\r\n      let comb: string | undefined;\r\n      for (const cs of values.combosKeys) {\r\n        if (item.includes(cs)) {\r\n          comb = cs;\r\n          break;\r\n        }\r\n      }\r\n      if (!!comb && values.combos[comb]) {\r\n        comboParser(item, comb, allElementsWithClassAtribute[i]).forEach((c: string) => {\r\n          if (!classes2Create.has(c) && !values.alreadyCreatedClasses.has(c)) {\r\n            classes2Create.add(c);\r\n          }\r\n        });\r\n      } else if (\r\n        !comb &&\r\n        !classes2Create.has(item) &&\r\n        !values.alreadyCreatedClasses.has(item) &&\r\n        item !== values.indicatorClass &&\r\n        (item.startsWith(values.indicatorClass) || values.abreviationsClassesKeys.has(item.split('-')[0]))\r\n      ) {\r\n        classes2Create.add(item);\r\n      }\r\n    }\r\n  }\r\n  const result = Array.from(classes2Create);\r\n  log(result, 'classes2Create');\r\n\r\n  // Cache the final result\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached(cacheKey, 'getNewClasses2Create', result);\r\n  }\r\n\r\n  return result;\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Interfaces */\r\nimport { IPseudo } from '../../../interfaces';\r\n/* Functions */\r\nimport { console_log } from '../../console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst values = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('convertPseudos', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('convertPseudos', toLog);\r\n};\r\n/**\r\n * Converts pseudo-class masks in a string to their real counterparts or removes them entirely.\r\n *\r\n * This function processes a string containing pseudo-class masks and either converts them to\r\n * their actual pseudo-class selectors or removes them based on the remove parameter.\r\n * It handles special cases for pseudo-classes with parameters (SDED format) and page-specific\r\n * pseudo-classes (Right/Left).\r\n *\r\n * @param thing - The input string containing pseudo-class masks to be converted\r\n * @param remove - Optional flag to determine whether to remove pseudo-classes instead of converting them. Defaults to false\r\n *\r\n * @returns The processed string with pseudo-class masks either converted to real pseudo-classes or removed\r\n *\r\n * @example\r\n * ```typescript\r\n * // Convert pseudo-class masks to real pseudo-classes\r\n * const result = convertPseudos(\"bgHover\", false): \"bgþµÞ:hover\"\r\n *\r\n * // Remove pseudo-class masks entirely\r\n * const cleaned = convertPseudos(\"bgHover\", true): \"bg\"\r\n * ```\r\n */\r\nexport const convertPseudos = (thing: string, remove: boolean = false): string => {\r\n  multiLog([\r\n    [thing, 'thing'],\r\n    [remove, 'remove'],\r\n  ]);\r\n\r\n  // Find matching pseudos efficiently\r\n  const pseudoFiltereds: IPseudo[] = [];\r\n  for (const pseudo of values.pseudos) {\r\n    if (thing.includes(pseudo.mask)) {\r\n      pseudoFiltereds.push(pseudo);\r\n    }\r\n  }\r\n\r\n  log(pseudoFiltereds, 'pseudoFiltereds');\r\n\r\n  // Early exit if no pseudos found\r\n  if (pseudoFiltereds.length === 0) {\r\n    return thing;\r\n  }\r\n\r\n  // Batch SD/ED replacements once\r\n  let result = thing.replace(/SD/g, '(').replace(/ED/g, ')');\r\n\r\n  // Process each matching pseudo\r\n  for (const pse of pseudoFiltereds) {\r\n    // Get or create cached regex\r\n    let regexKey = pse.mask;\r\n    let replacement = '';\r\n    let regExp: RegExp | undefined;\r\n\r\n    if (values.pseudosHasSDED.has(pse.mask)) {\r\n      regexKey = `${pse.mask}_SDED`;\r\n      regExp = values.cacheActive\r\n        ? manage_cache.getCached<RegExp>(regexKey, 'regExp', () => new RegExp(':*' + pse.mask + '\\\\(', 'gi'))\r\n        : new RegExp(':*' + pse.mask + '\\\\(', 'gi');\r\n      replacement = remove ? '' : pse.real + '(';\r\n    } else if (values.pageSpecificSet.has(pse.mask)) {\r\n      regexKey = `${pse.mask}_PAGE`;\r\n      regExp = values.cacheActive\r\n        ? manage_cache.getCached<RegExp>(regexKey, 'regExp', () => new RegExp('page' + pse.mask, 'gi'))\r\n        : new RegExp('page' + pse.mask, 'gi');\r\n      replacement = remove ? '' : 'page' + pse.real;\r\n    } else {\r\n      regExp = values.cacheActive\r\n        ? manage_cache.getCached<RegExp>(regexKey, 'regExp', () => new RegExp(':*' + pse.mask, 'gi'))\r\n        : new RegExp(':*' + pse.mask, 'gi');\r\n      replacement = remove ? '' : pse.real;\r\n    }\r\n\r\n    // Apply the replacement\r\n    result = result.replace(regExp as RegExp, replacement);\r\n  }\r\n\r\n  log(result, 'thing After convertPseudos');\r\n  return result;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../../../functions/console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('decryptCombo', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('decryptCombo', toLog);\r\n};\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n/**\r\n * Decrypts a combination by finding and replacing abbreviated combo strings with their full values.\r\n *\r\n * This function efficiently processes combo abbreviations using intelligent caching and optimized algorithms.\r\n * It maintains caches for combo key lookups, regex patterns, and complete decryption results to minimize\r\n * processing overhead on repeated calls.\r\n *\r\n * @param specify - The specification string to process\r\n * @param class2Create - The class creation string to process\r\n * @param class2CreateStringed - The stringified class creation string to process\r\n *\r\n * @returns A synchronous array of three strings: the processed versions of specify, class2Create, and class2CreateStringed.\r\n * If no matching combo abbreviation is found, returns the original strings unchanged.\r\n *\r\n * @example\r\n * ```typescript\r\n * decryptCombo(\r\n *   ', .■■■0',\r\n *   'bef-wSEL__COM_■■■0-85per',\r\n *   '.bef-wSEL__COM_■■■0-85per'\r\n * ): [\r\n *   ', .boxOne',\r\n *   'bef-wSEL__COM_boxOne-85per',\r\n *   '.bef-wSEL__COM_boxOne-85per'\r\n * ]\r\n * ```\r\n *\r\n * @remarks\r\n * **Performance Optimizations:**\r\n * - Uses Set-based combo key lookup for O(1) complexity instead of O(n) Object.keys().find()\r\n * - Implements intelligent caching system with WeakMap tied to ValuesSingleton instances\r\n * - Caches compiled RegExp objects to eliminate repeated regex creation overhead\r\n * - Caches complete decryption results to avoid reprocessing identical inputs\r\n * - Converted from async to synchronous operation (combo decryption is inherently synchronous)\r\n * - Uses direct string replacement instead of Promise.all with async map\r\n * - Implements cache size limits to prevent memory leaks\r\n *\r\n * **Cache Management:**\r\n * - Combo keys cache automatically invalidates when ValuesSingleton instance changes\r\n * - Regex cache has a maximum size limit with automatic cleanup\r\n * - Decryption results cache provides near-instant responses for repeated inputs\r\n * - All caches are designed to be memory-efficient and prevent leaks\r\n *\r\n * **Backward Compatibility:**\r\n * - Maintains the same function signature and return type\r\n * - Returns identical results to the original implementation\r\n * - All existing code continues to work without modifications\r\n */\r\nexport const decryptCombo = (specify: string, class2Create: string, class2CreateStringed: string): string[] => {\r\n  // Early validation - return immediately for empty inputs\r\n  if (!specify && !class2Create && !class2CreateStringed) {\r\n    return [specify, class2Create, class2CreateStringed];\r\n  }\r\n  multiLog([\r\n    [specify, 'specify'],\r\n    [class2Create, 'class2Create'],\r\n    [class2CreateStringed, 'class2CreateStringed'],\r\n  ]);\r\n\r\n  // Check result cache first for instant response\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    cacheKey = `${specify}|${class2Create}|${class2CreateStringed}`;\r\n    const cachedDecryption = manage_cache.getCached(cacheKey, 'comboDecrypt');\r\n    if (cachedDecryption) {\r\n      return JSON.parse(cachedDecryption) as string[];\r\n    }\r\n  }\r\n\r\n  // Get cached combo keys for O(1) lookup instead of O(n) Object.keys().find()\r\n  const combosCreatedKeys = values.combosCreatedKeys;\r\n  if (!combosCreatedKeys || combosCreatedKeys.size === 0) {\r\n    return [specify, class2Create, class2CreateStringed];\r\n  }\r\n  log(combosCreatedKeys, 'combosCreatedKeys');\r\n\r\n  // Find matching combo key using efficient Set-based lookup\r\n  let comboCreatedKey: string | undefined;\r\n  for (const key of combosCreatedKeys) {\r\n    if (specify.includes(key)) {\r\n      comboCreatedKey = key;\r\n      log(comboCreatedKey, 'cs');\r\n      break; // Early exit once found\r\n    }\r\n  }\r\n\r\n  log(comboCreatedKey, 'comboCreatedKey');\r\n\r\n  let comboDecrypted: string[];\r\n\r\n  if (comboCreatedKey) {\r\n    // Get cached regex for efficient replacement\r\n    const regex = values.cacheActive\r\n      ? (manage_cache.getCached<RegExp>(\r\n          `decryptCombo_${comboCreatedKey}`,\r\n          'regExp',\r\n          () => new RegExp(comboCreatedKey, 'gi')\r\n        ) as RegExp)\r\n      : new RegExp(comboCreatedKey, 'gi');\r\n    const replacement = values.combosCreated[comboCreatedKey];\r\n\r\n    // Direct synchronous replacement - no need for async operations\r\n    comboDecrypted = [\r\n      specify.replace(regex, replacement),\r\n      class2Create.replace(regex, replacement),\r\n      class2CreateStringed.replace(regex, replacement),\r\n    ];\r\n  } else {\r\n    // No combo found, return originals\r\n    comboDecrypted = [specify, class2Create, class2CreateStringed];\r\n  }\r\n\r\n  log(comboDecrypted, 'comboDecrypted');\r\n\r\n  // Cache the result for future calls\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached(cacheKey, 'comboDecrypt', JSON.stringify(comboDecrypted));\r\n  }\r\n\r\n  return comboDecrypted;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n/**\r\n * Looks for breakpoint values in a split class string and determines if a breakpoint is present.\r\n *\r\n * @param class2CreateSplited - An array of strings representing a split CSS class name\r\n * @returns An object containing:\r\n *   - hasBP: boolean indicating whether a breakpoint was found\r\n *   - values: array of remaining class parts after the breakpoint (if found) or from index 2 (if not found)\r\n *\r\n * @example\r\n * ```typescript\r\n * const result = look4BPNVals(['bef', 'm', 'md', '1px']);\r\n * // If 'md' is a valid breakpoint: { hasBP: true, values: ['1px'] }\r\n * // If 'md' is not a breakpoint: { hasBP: false, values: ['md', '1px'] }\r\n * ```\r\n */\r\nexport const look4BPNVals = (\r\n  class2CreateSplited: string[]\r\n): {\r\n  hasBP: boolean;\r\n  values: string[];\r\n} => {\r\n  // Early bounds check to avoid accessing undefined array elements\r\n  // Use cached Set for O(1) breakpoint lookup instead of O(n) find operation\r\n  if (class2CreateSplited.length < 3 || !values.breakPoints.has(class2CreateSplited[2])) {\r\n    return {\r\n      hasBP: false,\r\n      values: class2CreateSplited.slice(2),\r\n    };\r\n  } else {\r\n    return {\r\n      hasBP: true,\r\n      values: class2CreateSplited.slice(3),\r\n    };\r\n  }\r\n};\r\n","import { TCombineArrays, TNameVal } from '../main/private_types/types.private';\r\n\r\nexport const combinators = {\r\n  combineArrays<T, U, V>(a: TCombineArrays, b: TCombineArrays): V[] {\r\n    return a.array.reduce(\r\n      (acc: { [key: string]: string }[], val: T) => [\r\n        ...acc,\r\n        ...b.array.map((v: U) => ({ [a.name]: val, [b.name]: v })),\r\n      ],\r\n      []\r\n    );\r\n  },\r\n  combineIntoObject(array: TNameVal[]): { [key: string]: string } {\r\n    return array.reduce((acc: { [key: string]: any }, val: TNameVal) => {\r\n      return { ...acc, [val.name]: val.val };\r\n    }, {});\r\n  },\r\n};\r\n","import { TLogPartsOptions } from '../../../types';\r\nimport { console_log } from '../../console_log'; /* Types */\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('shadowGradientCreator', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('shadowGradientCreator', toLog);\r\n};\r\n\r\nexport const shadowGradientCreator = (shadow: string, onlyGradient: boolean = false): string => {\r\n  multiLog([\r\n    [shadow, 'shadow'],\r\n    [onlyGradient, 'onlyGradient'],\r\n  ]);\r\n  let hOffset: string = `0`;\r\n  let vOffset: string = `0`;\r\n  let blur: string = `5`;\r\n  let spread: string = `5`;\r\n  let color: string = `black`;\r\n  let inset: boolean = false;\r\n  if (!onlyGradient) {\r\n    let numericalValuesRegex: RegExp =\r\n      /(?<![\\(#]+)^(inset)?(\\s?-?[0-9\\.]+(?:(px)|(cm)|(mm)|(pt)|(in)|(pc)|(r?em)|(vmin)|(vh)|(vm(ax)?)|(%)|(vw))?\\s?){2,4}/g;\r\n    const numericalValuesMatches = shadow.match(numericalValuesRegex);\r\n    log(numericalValuesMatches, 'numericalValuesMatches');\r\n    if (!!numericalValuesMatches) {\r\n      color = shadow.replace(numericalValuesRegex, '');\r\n      log(color, 'color');\r\n      let numericalValuesSplit: string[] = shadow.replace(color, '').split(' ');\r\n      if (numericalValuesSplit[0] === 'inset') {\r\n        inset = true;\r\n        numericalValuesSplit.shift();\r\n      }\r\n      if (numericalValuesSplit[0] === '') {\r\n        numericalValuesSplit.shift();\r\n      }\r\n      hOffset = numericalValuesSplit[0] || '0';\r\n      vOffset = numericalValuesSplit[1] || '0';\r\n      blur = numericalValuesSplit[3] || '0';\r\n      spread = numericalValuesSplit[2] || '5';\r\n      multiLog([\r\n        [hOffset, 'hOffset'],\r\n        [vOffset, 'vOffset'],\r\n        [blur, 'blur'],\r\n        [spread, 'spread'],\r\n      ]);\r\n    }\r\n  } else {\r\n    color = shadow;\r\n  }\r\n  return `content:\" \";border-radius:inherit;position:absolute;inset:-${spread};transform:translate3d(${hOffset},${vOffset},-1);background:${color};filter:blur(${blur});clip-path: polygon(-100vmax -100vmax,100vmax -100vmax,100vmax 100vmax,-100vmax 100vmax,-100vmax -100vmax,calc(0px  + ${spread} - ${hOffset}) calc(0px  + ${spread} - ${vOffset}),calc(0px  + ${spread} - ${hOffset}) calc(100% - ${spread} - ${vOffset}),calc(100% - ${spread} - ${hOffset}) calc(100% - ${spread} - ${vOffset}),calc(100% - ${spread} - ${hOffset}) calc(0px  + ${spread} - ${vOffset}),calc(0px  + ${spread} - ${hOffset}) calc(0px  + ${spread} - ${vOffset})`;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../../console_log';\r\nimport { shadowGradientCreator } from './shadowGradientCreator';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('propertyNValueCorrector', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('propertyNValueCorrector', toLog);\r\n};\r\nexport const propertyNValueCorrector = (property2Use: string, value: string): string => {\r\n  multiLog([\r\n    [property2Use, 'property2Use'],\r\n    [value, 'value'],\r\n  ]);\r\n  let newRule: string = '';\r\n  if (['box-shadow'].includes(property2Use) && value.includes('gradient')) {\r\n    let shadowRegex: RegExp =\r\n      /(inset)?(\\s?-?[0-9\\.]+(?:(px)|(cm)|(mm)|(pt)|(in)|(pc)|(r?em)|(vmin)|(vh)|(vm(ax)?)|(%)|(vw))?\\s?){2,4}(([A-z]+\\-[A-z]+\\([0-9\\.]+(?:%|(deg)),\\s*)?(((((?:(rgb)|(hsl))a?)\\((([0-9]*)(%)?(deg)?,?\\s?){1,4}(\\/?\\s?([0-9\\.]*)(%)?\\s?)\\))|(#[0-9A-Fa-f]{3,8}))(\\s*[0-9]*%,?\\)?)?)*)(inset)?/g;\r\n    let onlyGradientRegex: RegExp =\r\n      /(([A-z]+\\-[A-z]+\\([0-9\\.]+(?:%|(deg)),\\s*)?(((((?:(rgb)|(hsl))a?)\\((([0-9]*)(%)?(deg)?,?\\s?){1,4}(\\/?\\s?([0-9\\.]*)(%)?\\s?)\\))|(#[0-9A-Fa-f]{3,8}))(\\s*[0-9]*%,?\\)?)?)*)/g;\r\n    log(value, 'value 4RShadowRegex');\r\n    let shadows2Use: string[] = [''];\r\n    const shadowMatches: RegExpMatchArray | null = value.match(shadowRegex);\r\n    log(shadowMatches, 'shadowMatches');\r\n    const gradientMatches: RegExpMatchArray | null = value.match(onlyGradientRegex);\r\n    log(gradientMatches, 'gradientMatches');\r\n    let onlyGradient: boolean = false;\r\n    if (!!shadowMatches && shadowMatches.every(a => a.includes('gradient'))) {\r\n      shadows2Use = shadowMatches.filter(a => a !== '' && a.length > 2);\r\n    } else if (!!gradientMatches && gradientMatches.every(a => a.includes('gradient'))) {\r\n      shadows2Use = gradientMatches.filter(a => a !== '' && a.length > 2);\r\n      onlyGradient = true;\r\n    }\r\n    log(shadows2Use, 'shadows2Use');\r\n    let correctedShadows: string[] = shadows2Use.map((a: string) => shadowGradientCreator(a, onlyGradient));\r\n    log(correctedShadows, 'correctedShadows');\r\n    let add2NewRule: string = correctedShadows\r\n      .map((a: string, i: number) => {\r\n        if (i <= 1) {\r\n          return `${values.separator}${values.specify}${i === 0 ? '::before' : '::after'}{${a}`;\r\n        } else {\r\n          return '';\r\n        }\r\n      })\r\n      .join('');\r\n    log(add2NewRule, 'add2NewRule');\r\n    newRule = `transform-style:preserve-3d;}${add2NewRule}`;\r\n    log(newRule, 'newRule WithShadow');\r\n  } else {\r\n    newRule = `${\r\n      ['background-color', 'color'].includes(property2Use) && value.includes('gradient')\r\n        ? 'background-image'\r\n        : property2Use === 'border-color' && value.includes('gradient')\r\n        ? `border-image-source`\r\n        : property2Use\r\n    }:${value};${\r\n      property2Use === 'color' && value.includes('gradient')\r\n        ? `background-clip: text;background-size: 100%;-webkit-background-clip: text;-moz-background-clip: text;-webkit-text-fill-color: transparent;-moz-text-fill-color: transparent;`\r\n        : property2Use === 'border-color' && value.includes('gradient')\r\n        ? `border-image-slice:2;border-image-width:2px;`\r\n        : ''\r\n    }`;\r\n  }\r\n  log(newRule, 'newRule');\r\n  return newRule;\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { color_transform } from '../../color_transform';\r\nimport { console_log } from '../../console_log';\r\nimport { manage_cache } from '../../manage_cache';\r\nimport { combinators } from '../../utilities/combinators';\r\nimport { propertyNValueCorrector } from './propertyNValueCorrector';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nimport { TNameVal } from '../private_types/types.private';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n/**\r\n * Pre-defined shade number arrays to avoid repeated allocations\r\n */\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('btnCreator', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('btnCreator', toLog);\r\n};\r\n\r\n/**\r\n * Optimized shade array generation\r\n */\r\nconst generateShadeArray = (value: string, secondValue: string): TNameVal[] => {\r\n  const baseValues = [\r\n    { name: 'value', val: value },\r\n    { name: 'secondValue', val: secondValue },\r\n  ];\r\n\r\n  const shadesArray: TNameVal[] = [];\r\n\r\n  // Add base values\r\n  shadesArray.push(...baseValues);\r\n\r\n  // Generate shades efficiently\r\n  for (const baseVal of baseValues) {\r\n    for (const shadeNum of [-15, -20, -25, 3]) {\r\n      shadesArray.push({\r\n        name: `${baseVal.name},${shadeNum}`,\r\n        val: values.cacheActive\r\n          ? (manage_cache.getCached<string>(`${shadeNum}|${baseVal.val}`, 'buttonShade', () =>\r\n              color_transform.getShadeTintColorOrGradient(shadeNum, baseVal.val)\r\n            ) as string)\r\n          : color_transform.getShadeTintColorOrGradient(shadeNum, baseVal.val),\r\n      });\r\n    }\r\n  }\r\n\r\n  return shadesArray;\r\n};\r\n/**\r\n * Creates optimized button CSS with intelligent caching and streamlined algorithms.\r\n *\r\n * This function generates comprehensive CSS rules for Bootstrap-style buttons with support for\r\n * regular and outline variants. It includes hover, focus, active, and checked states with\r\n * proper color theming and shadow effects.\r\n *\r\n * @param class2Create - The CSS class name for the button\r\n * @param specify - The CSS selector specification (including pseudo-classes/combinators)\r\n * @param value - Primary color value for the button\r\n * @param secondValue - Secondary color value (default: 'transparent', used for outline buttons)\r\n * @param outline - Whether to create an outline button variant (default: false)\r\n *\r\n * @returns String resolving to a CSS string containing all button state rules\r\n *\r\n * @example\r\n * ```typescript\r\n * // Regular button\r\n * btnCreator('btn-primary', '', '#007bff', 'transparent', false);\r\n * // Outline button\r\n * btnCreator('btn-outline-success', ':hover', '#28a745', 'white', true);\r\n * ```\r\n *\r\n * @remarks\r\n * **Performance Optimizations:**\r\n * - Intelligent caching system for complete button CSS generation results\r\n * - Cached shade calculations to avoid repeated color processing\r\n * - Cached property value corrections for instant repeated lookups\r\n * - Pre-compiled regex patterns for efficient string replacements\r\n * - Optimized array operations with minimal allocations\r\n * - Streamlined color processing pipeline\r\n * - Early exit strategies for cached results\r\n *\r\n * **Generated CSS States:**\r\n * - Base button appearance (normal state)\r\n * - Hover state with appropriate color variations\r\n * - Focus state with enhanced accessibility\r\n * - Active/checked state with pressed appearance\r\n * - Focus within active state for keyboard navigation\r\n *\r\n * **Color Processing Features:**\r\n * - Automatic shade generation (-15, -20, -25, +3 variations)\r\n * - Smart opacity handling for shadow effects\r\n * - Support for gradients and complex color formats\r\n * - Proper contrast handling for accessibility\r\n *\r\n * **Cache Management:**\r\n * - Button CSS cache for instant repeated generation\r\n * - Shade calculation cache tied to color values\r\n * - Property correction cache for CSS validation\r\n * - Automatic cache cleanup to prevent memory leaks\r\n *\r\n * **Backward Compatibility:**\r\n * - Maintains identical CSS output to original implementation\r\n * - Same function signature and return type\r\n * - All existing button styles continue to work correctly\r\n */\r\nexport const btnCreator = (\r\n  class2Create: string,\r\n  specify: string,\r\n  value: string,\r\n  secondValue: string = 'transparent',\r\n  outline: boolean = false\r\n): string => {\r\n  // Early validation\r\n  if (!class2Create || !value) {\r\n    return '';\r\n  }\r\n\r\n  // Check cache first for instant response\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    cacheKey = `${class2Create}|${specify}|${value}|${secondValue}|${outline}`;\r\n    const cachedResult = manage_cache.getCached<string>(cacheKey, 'buttonCss');\r\n    if (cachedResult !== undefined) {\r\n      return cachedResult;\r\n    }\r\n  }\r\n\r\n  multiLog([\r\n    [class2Create, 'class2Create'],\r\n    [specify, 'specify'],\r\n    [value, 'value'],\r\n    [secondValue, 'secondValue'],\r\n    [outline, 'outline'],\r\n  ]);\r\n\r\n  // Generate optimized shade array\r\n  const shadesArray = generateShadeArray(value, secondValue);\r\n  log(shadesArray, 'shadesArray');\r\n\r\n  // Convert to object for efficient lookups\r\n  const shades: { [key: string]: string } = combinators.combineIntoObject(shadesArray);\r\n\r\n  multiLog([\r\n    [shades, 'shades'],\r\n    [shades['value,3'], `shades ['value,3']`],\r\n    [shades['secondValue,3'], `shades ['secondValue,3']`],\r\n  ]);\r\n\r\n  // Cached shadow color calculations\r\n  const shadowColorValue = color_transform.opacityCreator(shades['value,3'], 0.5);\r\n  const shadowColorSecondValue = color_transform.opacityCreator(shades['secondValue,3'], 0.5);\r\n  log(shadowColorValue, 'shadowColorValue');\r\n\r\n  const shadowNumericalValues: string = '0 0 0 0.25rem ';\r\n\r\n  // Generate correction arrays efficiently with batched processing\r\n  const correctionTasks: Array<TNameVal> = [];\r\n\r\n  // Process base values and shades for CSS properties\r\n  for (const shade of shadesArray) {\r\n    for (const prop of ['background-color', 'color', 'border-color']) {\r\n      const correctedVal: string = values.cacheActive\r\n        ? (manage_cache.getCached<string>(`${prop}|${shade.val}`, 'buttonCorrection', () =>\r\n            propertyNValueCorrector(prop, shade.val)\r\n          ) as string)\r\n        : propertyNValueCorrector(prop, shade.val);\r\n      correctionTasks.push({\r\n        name: `${shade.name},${prop}`,\r\n        val: correctedVal,\r\n      });\r\n    }\r\n  }\r\n\r\n  // Process shadow values\r\n  const shadowValues = [\r\n    { name: 'shadowColorValue', val: shadowNumericalValues + shadowColorValue },\r\n    {\r\n      name: 'shadowColorSecondValue',\r\n      val: shadowNumericalValues + shadowColorSecondValue,\r\n    },\r\n  ];\r\n\r\n  for (const shadowVal of shadowValues) {\r\n    const correctedVal = values.cacheActive\r\n      ? (manage_cache.getCached<string>(`${'box-shadow'}|${shadowVal.val}`, 'buttonCorrection', () =>\r\n          propertyNValueCorrector('box-shadow', shadowVal.val)\r\n        ) as string)\r\n      : propertyNValueCorrector('box-shadow', shadowVal.val);\r\n    correctionTasks.push({\r\n      name: `${shadowVal.name}Corrected`,\r\n      val: correctedVal,\r\n    });\r\n  }\r\n\r\n  // Execute all corrections in parallel\r\n  const allCorrections = correctionTasks;\r\n\r\n  // Combine results into efficient lookup objects\r\n  const correctVals: { [key: string]: string } = combinators.combineIntoObject(\r\n    allCorrections.filter(correction => !correction.name.includes('Corrected'))\r\n  );\r\n\r\n  const correctValsShadows: { [key: string]: string } = combinators.combineIntoObject(\r\n    allCorrections.filter(correction => correction.name.includes('Corrected'))\r\n  );\r\n\r\n  multiLog([\r\n    [correctVals, 'correctVals'],\r\n    [correctValsShadows, 'correctValsShadows'],\r\n  ]);\r\n\r\n  // Get cached regex for efficient replacements\r\n  const specifyRegex = values.cacheActive\r\n    ? (manage_cache.getCached<RegExp>(`${values.specify}|g`, 'regExp', () => new RegExp(values.specify, 'g')) as RegExp)\r\n    : new RegExp(values.specify, 'g');\r\n  const newRuleArray: string[] = [];\r\n\r\n  // Build CSS rules efficiently\r\n  const buildRule = (selector: string, styles: string): string => {\r\n    return `${values.specify.replace(specifyRegex, selector)}{${styles}}`;\r\n  };\r\n\r\n  /* Basic Button */\r\n  const basicStyles = outline\r\n    ? correctVals['value,color'] + correctVals['secondValue,background-color'] + correctVals['value,border-color']\r\n    : correctVals['value,background-color'] + correctVals['value,border-color'];\r\n  newRuleArray.push(buildRule(specify, basicStyles));\r\n\r\n  /* Hover Button */\r\n  const hoverStyles = outline\r\n    ? correctVals['secondValue,color'] +\r\n      correctVals['value,-15,background-color'] +\r\n      correctVals['secondValue,border-color']\r\n    : correctVals['value,-20,border-color'] + correctVals['value,background-color'];\r\n  newRuleArray.push(buildRule(`.${class2Create}${specify}:hover`, hoverStyles));\r\n\r\n  /* Focus Button (only for outline) */\r\n  if (outline) {\r\n    const focusStyles = correctVals['secondValue,-15,background-color'] + correctVals['secondValue,-15,border-color'];\r\n    newRuleArray.push(\r\n      buildRule(`.btn-check:focus + .${class2Create}${specify}, .${class2Create}${specify}:focus`, focusStyles)\r\n    );\r\n  }\r\n\r\n  /* Checked/Active Button */\r\n  const checkedStyles = outline\r\n    ? correctVals['value,-25,border-color']\r\n    : correctVals['value,-20,background-color'] + correctVals['value,-25,border-color'];\r\n  const checkedSelector = `.btn-check:checked + .${class2Create}${specify}, .btn-check:active + .${class2Create}${specify}, .${class2Create}${specify}.active, .show > .${class2Create}${specify} .dropdown-toggle, .${class2Create}${specify}:active`;\r\n  newRuleArray.push(buildRule(checkedSelector, checkedStyles + correctValsShadows['shadowColorValueCorrected']));\r\n\r\n  /* Focus within active state */\r\n  const focusActiveSelector = `.show > .${class2Create}${specify} .dropdown-toggle:focus, .btn-check:checked + .btn-check:focus, .btn-check:active + .${class2Create}${specify}:focus, .${class2Create}${specify}.active:focus, .${class2Create}${specify}:active:focus`;\r\n  newRuleArray.push(buildRule(focusActiveSelector, correctValsShadows['shadowColorValueCorrected']));\r\n\r\n  log(newRuleArray, 'newRuleArray');\r\n\r\n  // Generate final result\r\n  const result = newRuleArray.filter(rule => rule !== '').join(values.separator);\r\n\r\n  // Cache the result for future calls\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached<string>(cacheKey, 'buttonCss', result);\r\n  }\r\n\r\n  return result;\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { css_camel } from '../../css-camel';\r\nimport { manage_cache } from '../../manage_cache';\r\nimport { btnCreator } from './btnCreator';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n\r\n/**\r\n * Pre-defined CSS rule templates for common patterns\r\n */\r\nconst CSS_TEMPLATES = {\r\n  single: (specify: string, property: string, value: string) => `${specify}{${property}:${value};}`,\r\n  multiple: (specify: string, properties: string[]) => `${specify}{${properties.join('')}}`,\r\n  link: (specify: string, value: string) => ` a${specify}{color:${value};}`,\r\n} as const;\r\n\r\n/**\r\n * Optimized property-value CSS joiner with intelligent caching and streamlined algorithms.\r\n *\r\n * This function efficiently processes CSS property and value combinations to generate valid CSS rules.\r\n * It handles special cases like button generation, link styling, and complex CSS property mappings\r\n * while maintaining high performance through intelligent caching and optimized algorithms.\r\n *\r\n * @param property - The CSS property name to process\r\n * @param class2CreateSplited - Array of class name segments after splitting\r\n * @param class2Create - The complete class name being created\r\n * @param propertyValues - Array of property values to apply (default: [''])\r\n * @param specify - The CSS selector specification (including pseudo-classes/combinators)\r\n *\r\n * @returns String resolving to a CSS rule string\r\n *\r\n * @example\r\n * ```typescript\r\n * // Regular property\r\n * property2ValueJoiner('margin', ['bef', 'margin', '10px'], 'bef-margin-10px', ['10px'], '');\r\n * // Button generation\r\n * property2ValueJoiner('btn', ['bef', 'btn', 'primary'], 'bef-btn-primary', ['#007bff'], ':hover');\r\n * // Link styling\r\n * property2ValueJoiner('link', ['bef', 'link', 'blue'], 'bef-link-blue', ['blue'], '');\r\n * ```\r\n *\r\n * @remarks\r\n * **Performance Optimizations:**\r\n * - Intelligent caching system for complete CSS generation results\r\n * - Cached camelCase conversions to avoid repeated property name processing\r\n * - Optimized property type detection using efficient string matching\r\n * - Pre-defined CSS templates for common patterns to reduce string operations\r\n * - Early validation and exit strategies for invalid inputs\r\n * - Streamlined array processing with minimal allocations\r\n * - Cache size management with automatic cleanup to prevent memory leaks\r\n *\r\n * **Supported Property Types:**\r\n * - **CSS Names Parsed**: Complex property mappings from ValuesSingleton\r\n * - **Button Generation**: Special handling for 'btn' and 'btnOutline' prefixes\r\n * - **Link Styling**: Special anchor tag styling for 'link' prefix\r\n * - **Default Properties**: Standard CSS property-value pairs\r\n *\r\n * **CSS Generation Features:**\r\n * - Single property CSS rules for simple mappings\r\n * - Multiple property CSS rules for complex mappings\r\n * - Button CSS generation with full state support (hover, focus, active)\r\n * - Link-specific styling with anchor tag targeting\r\n * - Automatic property name conversion from camelCase to kebab-case\r\n *\r\n * **Cache Management:**\r\n * - CSS generation cache for instant repeated rule creation\r\n * - CamelCase conversion cache for property name transformations\r\n * - Automatic cache cleanup to prevent memory leaks\r\n * - Efficient cache key generation for optimal lookup performance\r\n *\r\n * **Backward Compatibility:**\r\n * - Maintains identical CSS output to original implementation\r\n * - Same function signature and return type\r\n * - All existing CSS generation patterns continue to work correctly\r\n * - Full support for all button variants and special cases\r\n */\r\nexport const property2ValueJoiner = (\r\n  property: string,\r\n  class2CreateSplited: string[],\r\n  class2Create: string,\r\n  propertyValues: string[] = [''],\r\n  specify: string = ''\r\n): string => {\r\n  // Early validation\r\n  if (!property && !class2CreateSplited[1]) {\r\n    return '';\r\n  }\r\n\r\n  // Check cache first for instant response\r\n  let cacheKey: string | undefined;\r\n  if (values.cacheActive) {\r\n    cacheKey = `${property}|${class2CreateSplited.join('-')}|${class2Create}|${propertyValues.join(',')}|${specify}`;\r\n    const cachedResult = values.propertyJoinerCache.get(cacheKey);\r\n    if (cachedResult !== undefined) {\r\n      return cachedResult;\r\n    }\r\n  }\r\n\r\n  let result: string;\r\n\r\n  // Check if property exists in cssNamesParsed first (most common case)\r\n  if (values.cssNamesParsed[property]) {\r\n    const cssNameParsed = values.cssNamesParsed[property];\r\n\r\n    if (typeof cssNameParsed === 'string') {\r\n      result = CSS_TEMPLATES.single(specify, cssNameParsed, propertyValues[0]);\r\n    } else {\r\n      // Optimized array processing with pre-allocated array\r\n      const properties: string[] = [];\r\n      const length = cssNameParsed.length;\r\n\r\n      for (let i = 0; i < length; i++) {\r\n        const value = propertyValues[i] || propertyValues[0] || '';\r\n        properties.push(`${cssNameParsed[i]}:${value};`);\r\n      }\r\n\r\n      result = CSS_TEMPLATES.multiple(specify, properties);\r\n    }\r\n  } else {\r\n    // Optimized property type detection\r\n    let propertyType = '';\r\n\r\n    const secondElement = class2CreateSplited[1];\r\n\r\n    // Use startsWith for most efficient prefix matching\r\n    if (secondElement.startsWith('btnOutline')) propertyType = 'btnOutline';\r\n    if (secondElement.startsWith('btn')) propertyType = 'btn';\r\n    if (secondElement.startsWith('link')) propertyType = 'link';\r\n    if (propertyType === 'link') {\r\n      result = CSS_TEMPLATES.link(specify, propertyValues[0]);\r\n    } else if (propertyType === 'btnOutline') {\r\n      result = btnCreator(class2Create, specify, propertyValues[0], propertyValues[1] || '', true);\r\n    } else if (propertyType === 'btn') {\r\n      result = btnCreator(class2Create, specify, propertyValues[0]);\r\n    } else {\r\n      // Default case: standard CSS property-value pair\r\n      const cssProperty = css_camel.camelToCSSValid(property);\r\n      result = CSS_TEMPLATES.single(specify, cssProperty, propertyValues[0]);\r\n    }\r\n  }\r\n  if (values.cacheActive && cacheKey) {\r\n    manage_cache.addCached<string>(cacheKey, 'propertyJoiner', result);\r\n  }\r\n\r\n  return result;\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { abreviation_traductors } from '../../abreviation_traductors';\r\nimport { console_log } from '../../console_log';\r\nimport { color_transform } from './../../color_transform';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\n\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('valueTraductor', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('valueTraductor', toLog);\r\n};\r\n/**\r\n * Translates and processes a value string by applying various transformations.\r\n *\r\n * This function performs the following operations:\r\n * 1. Applies abbreviation translation using predefined abbreviation values\r\n * 2. Parses the value through opacity parser (if property doesn't contain 'content')\r\n * 3. Identifies and replaces color names with their corresponding color values\r\n * 4. Converts color values to rgba format when necessary\r\n *\r\n * @param value - The string value to be translated and processed\r\n * @param property - The property name that determines processing behavior\r\n * @returns A String that resolves to the translated and processed string value\r\n *\r\n * @example\r\n * ```typescript\r\n * valueTraductor(\"futurePop__OPA__\", \"text\"): rgba(151, 0, 255, 1)\r\n * // Returns processed string with color values converted to rgba format\r\n * ```\r\n *\r\n * @remarks\r\n * - Color matching is case-insensitive and uses word boundaries to prevent partial matches\r\n * - Colors are sorted by length in descending order to prioritize longer color names\r\n * - RGB colors without alpha are automatically converted to rgba with alpha value of 1\r\n * - Hex colors are converted to rgba format using the color_transform utility\r\n * - opacity parsing is skipped for properties containing 'content'\r\n */\r\nexport const valueTraductor = (value: string, property: string): string => {\r\n  multiLog([\r\n    [value, 'value'],\r\n    [property, 'property'],\r\n  ]);\r\n\r\n  // Apply abbreviation translation\r\n  const abbreviatedValue = values.abreviationsValues[value];\r\n  if (abbreviatedValue) {\r\n    value = abbreviatedValue;\r\n  }\r\n  value = abreviation_traductors.abreviationTraductor(value);\r\n\r\n  log(value, 'value After AbreviationTraductor');\r\n\r\n  // Skip opacity and color processing for content properties\r\n  if (property.includes('content')) {\r\n    return value;\r\n  }\r\n\r\n  // Process opacity syntax\r\n  log(value, 'value Before opacity and Colors');\r\n  value = opacityParser(value);\r\n  log(value, 'value After opacity and Colors');\r\n\r\n  let itHasAColorToReplace: boolean = false;\r\n  for (let i = 0; i < values.colorNames.length; i++) {\r\n    if (value.includes(values.colorNames[i])) {\r\n      itHasAColorToReplace = true;\r\n      break;\r\n    }\r\n  }\r\n  if (values.colorsRegex && itHasAColorToReplace) {\r\n    const matches = value.match(values.colorsRegex);\r\n    log(matches, 'matches');\r\n\r\n    if (matches) {\r\n      // Process matches in reverse order to avoid index shifting\r\n      for (let i = matches.length - 1; i >= 0; i--) {\r\n        const match = matches[i];\r\n        log(match, 'match');\r\n\r\n        const colorKey = match.replace(/\\s/g, '');\r\n        const realColor = values.colors[colorKey];\r\n        log(realColor, 'realColor');\r\n\r\n        if (realColor) {\r\n          let realColorValue: string;\r\n\r\n          if (realColor.startsWith('rgb') && !realColor.includes('rgba')) {\r\n            realColorValue = `rgba(${realColor}, 1)`;\r\n          } else if (realColor.startsWith('#')) {\r\n            realColorValue = `rgba(${color_transform.colorToRGB(realColor)}, 1)`;\r\n          } else {\r\n            realColorValue = realColor;\r\n          }\r\n\r\n          log(realColorValue, 'realColorValue');\r\n          value = value.replace(match, realColorValue);\r\n          log(value, 'value');\r\n        }\r\n      }\r\n    }\r\n  }\r\n\r\n  log(value, 'value Before opacity and Colors');\r\n  return value;\r\n};\r\n/**\r\n * Parses a string value to convert opacity color syntax to standard rgba format.\r\n *\r\n * This function searches for custom opacity syntax patterns in the input string and converts them\r\n * to standard CSS rgba color values. It supports various color formats including hex, rgb, hsl,\r\n * and hwb with opacity values.\r\n *\r\n * @param value - The input string that may contain opacity color syntax\r\n * @returns The parsed string with opacity syntax converted to rgba format\r\n *\r\n * @example\r\n * ```typescript\r\n * opacityParser(\"randNumA OPA 0.75\"): \"rgba(255, 0, 0, 0.75)\"\r\n * ```\r\n *\r\n * @remarks\r\n * The function uses a regular expression to match patterns like:\r\n * - `colorValue opacityValue` where colorValue can be hex, rgb, hsl, or hwb\r\n * - Converts matched colors using the color_transform utility\r\n * - Handles color name lookups from a values.colors dictionary\r\n * - Processes multiple opacity occurrences efficiently\r\n */\r\nexport const opacityParser = (value: string): string => {\r\n  log([[value, 'value']]);\r\n  const hasOpacity = value.includes('OPA');\r\n  log([hasOpacity, 'hasOpacity']);\r\n  // Early exit if no opacity syntax present\r\n  if (!hasOpacity) {\r\n    return value;\r\n  }\r\n  const matches = value.match(values.opacityRegex);\r\n  if (!matches) {\r\n    return value;\r\n  }\r\n  // Process matches in reverse order to avoid index shifting during replacement\r\n  let result = value;\r\n  for (let i = matches.length - 1; i >= 0; i--) {\r\n    const match = matches[i];\r\n    const parts = match.split('OPA');\r\n    if (parts.length !== 2) continue;\r\n\r\n    const color = parts[0].trim();\r\n    const opacityValue = parts[1].trim();\r\n\r\n    // Look up color in values.colors or use as-is\r\n    const colorKey = color.replace(/\\s/g, '');\r\n    const resolvedColor = values.colors[colorKey] || color;\r\n\r\n    // Convert to RGB and create rgba\r\n    const rgbValues = color_transform.colorToRGB(resolvedColor);\r\n    const rgbaColor = `rgba(${rgbValues},${opacityValue})`;\r\n\r\n    // Replace the entire opacity expression\r\n    result = result.replace(match, rgbaColor);\r\n  }\r\n\r\n  return result;\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Interfaces */\r\n/* Functions */\r\nimport { console_log } from '../../../functions/console_log';\r\nimport { abreviation_traductors } from '../../abreviation_traductors';\r\nimport { manage_cache } from '../../manage_cache';\r\nimport { convertPseudos } from './convertPseudos';\r\nimport { decryptCombo } from './decryptCombo';\r\nimport { look4BPNVals } from './look4BPNVals';\r\nimport { property2ValueJoiner } from './property2ValueJoiner';\r\nimport { valueTraductor } from './valueTraductor';\r\n/* Types */\r\nimport { TBPS, TLogPartsOptions } from '../../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('parseClass', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('parseClass', toLog);\r\n};\r\ninterface IparseClassReturn {\r\n  classes2CreateStringed: string;\r\n  bps?: TBPS;\r\n}\r\n/**\r\n * Parses a CSS class string and converts it into valid CSS rules with breakpoint support.\r\n *\r\n * This function takes a class name with abbreviated CSS properties and values, processes it through\r\n * various transformations including abbreviation expansion, pseudo-class conversion, breakpoint handling,\r\n * and value translation to generate valid CSS rules.\r\n *\r\n * @param class2Create - The CSS class name to parse and create (may contain abbreviations)\r\n * @param classes2CreateStringed - Accumulated string of CSS classes being created\r\n * @param isClean - Whether to check for already created classes to avoid duplicates (default: true)\r\n *\r\n * @returns Object containing:\r\n *   - classes2CreateStringed: Updated accumulated CSS classes string\r\n *\r\n * @example\r\n * ```typescript\r\n * parseClass('bef-overflowX-hidden', [], '', true):\r\n * {\r\n *   classes2CreateStringed: '.bef-overflowX-hidden{overflow-x:hidden !important;}þµÞ'\r\n * }\r\n * ```\r\n *\r\n * @remarks\r\n * - Handles abbreviation expansion (e.g., 'm' to 'margin')\r\n * - Processes pseudo-classes and combinators\r\n * - Supports breakpoint-specific styling\r\n * - Applies important flags when active\r\n * - Maintains cache of already created classes to prevent duplicates\r\n * - Supports encrypted combo classes when encryption is enabled\r\n */\r\nexport const parseClass = (class2Create: string, isClean: boolean = true): IparseClassReturn => {\r\n  // Early validation\r\n  if (!class2Create || !values.sheet) {\r\n    return {\r\n      classes2CreateStringed: '',\r\n    };\r\n  }\r\n  multiLog([[isClean, 'isClean']]);\r\n  // Check if already created CssClass and return if it is\r\n  if (isClean) {\r\n    // Check cache first for instant response\r\n    if (values.cacheActive) {\r\n      const cachedResult = manage_cache.getCached<{\r\n        classes2CreateStringed: string;\r\n        bps?: TBPS;\r\n      }>(class2Create, 'parseClass');\r\n      if (cachedResult) {\r\n        return {\r\n          classes2CreateStringed: cachedResult.classes2CreateStringed,\r\n          bps: cachedResult.bps,\r\n        };\r\n      }\r\n    }\r\n    if (\r\n      values.alreadyCreatedClasses.has(class2Create) ||\r\n      [...values.sheet.cssRules].find((i: CSSRule) =>\r\n        i.cssText.split(' ').find((aC: string) => {\r\n          return aC.replace('.', '') === class2Create;\r\n        })\r\n      )\r\n    ) {\r\n      return {\r\n        classes2CreateStringed: '',\r\n      };\r\n    } else {\r\n      values.alreadyCreatedClasses.add(class2Create);\r\n    }\r\n  } else {\r\n    values.alreadyCreatedClasses.add(class2Create);\r\n  }\r\n  log(values.alreadyCreatedClasses, 'alreadyCreatedClasses');\r\n  // Get the class for the final string from the original class2Create after the conversion of the abreviations\r\n  let class2CreateStringed = '.' + class2Create;\r\n  log(class2CreateStringed, 'class2CreateStringed');\r\n  // De-abreviate the class if it has abreviations\r\n  if (!class2Create.includes(values.indicatorClass)) {\r\n    let abbrClss = Object.keys(values.abreviationsClasses).find(aC => class2Create.includes(aC));\r\n    if (!!abbrClss) {\r\n      class2Create = class2Create.replace(abbrClss, values.abreviationsClasses[abbrClss]);\r\n    }\r\n  }\r\n  // Split to decompose and interpret the class to create\r\n  /*\r\n    [0] => indicatorClass\r\n    [1] => css property\r\n    [2] => bp or the first|unique value\r\n   */\r\n  const class2CreateSplited = class2Create.split('-');\r\n  log(class2CreateSplited, 'class2CreateSplited');\r\n  // Convert the pseudos from camel case into valid pseudo and separate pseudos and combinators from the property\r\n  let comboCreatedKey: string | undefined;\r\n  for (const cC of values.combosCreatedKeys) {\r\n    if (class2Create.includes(cC)) {\r\n      comboCreatedKey = cC;\r\n      break;\r\n    }\r\n  }\r\n  if (comboCreatedKey) {\r\n    let comboKeyReg = new RegExp(comboCreatedKey, 'g');\r\n    class2CreateSplited[1] = class2CreateSplited[1].replace(comboKeyReg, values.encryptComboCreatedCharacters);\r\n  }\r\n\r\n  // Convert pseudos and process selectors\r\n  const classWithPseudosConvertedAndSELSplited = convertPseudos(class2CreateSplited[1])\r\n    .replace(/SEL/g, values.separator)\r\n    .split(`${values.separator}`);\r\n\r\n  log(classWithPseudosConvertedAndSELSplited, 'classWithPseudosConvertedAndSELSplited');\r\n\r\n  // Declaring the property to create the combinations and use Pseudos\r\n  const property = classWithPseudosConvertedAndSELSplited[0];\r\n  log(property, 'property');\r\n\r\n  // Optimized specify generation\r\n  const specifyParts = classWithPseudosConvertedAndSELSplited.slice(1);\r\n  let specify: string = abreviation_traductors.abreviationTraductor(specifyParts.join(''));\r\n\r\n  // Handle combo key restoration\r\n  if (comboCreatedKey) {\r\n    const comboKeyCypherReg = values.cacheActive\r\n      ? (manage_cache.getCached<RegExp>(\r\n          `comboKeyCypherReg|${class2Create}`,\r\n          'regExp',\r\n          () => new RegExp(values.encryptComboCreatedCharacters, 'g')\r\n        ) as RegExp)\r\n      : new RegExp(values.encryptComboCreatedCharacters, 'g');\r\n    class2CreateSplited[1] = class2CreateSplited[1].replace(comboKeyCypherReg, comboCreatedKey);\r\n    multiLog([\r\n      [specify, 'specify PreComboKeyRestoration'],\r\n      [class2Create, 'class2Create PreComboKeyRestoration'],\r\n      [class2CreateStringed, 'class2CreateStringed PreComboKeyRestoration'],\r\n    ]);\r\n    specify = specify.replace(comboKeyCypherReg, comboCreatedKey);\r\n    class2Create = class2Create.replace(comboKeyCypherReg, comboCreatedKey);\r\n    class2CreateStringed = class2CreateStringed.replace(comboKeyCypherReg, comboCreatedKey);\r\n    multiLog([\r\n      [specify, 'specify PostComboKeyRestoration'],\r\n      [class2Create, 'class2Create PostComboKeyRestoration'],\r\n      [class2CreateStringed, 'class2CreateStringed PostComboKeyRestoration'],\r\n    ]);\r\n  }\r\n\r\n  // Decrypt the combo of the class if it has been encrypted with the encryptCombo flag\r\n  if (!!specify && values.encryptCombo) {\r\n    multiLog([\r\n      [specify, 'specify PreDecryptCombo'],\r\n      [class2Create, 'class2Create PreDecryptCombo'],\r\n      [class2CreateStringed, 'class2CreateStringed PreDecryptCombo'],\r\n    ]);\r\n    [specify, class2Create, class2CreateStringed] = decryptCombo(specify, class2Create, class2CreateStringed);\r\n    multiLog([\r\n      [specify, 'specify PostDecryptCombo'],\r\n      [class2Create, 'class2Create PostDecryptCombo'],\r\n      [class2CreateStringed, 'class2CreateStringed PostDecryptCombo'],\r\n    ]);\r\n  }\r\n\r\n  // Getting if the class has breakPoints, the value and the second value if it has\r\n  const bpResult = look4BPNVals(class2CreateSplited);\r\n  const [hasBP, propertyValues]: [boolean, string[]] = Object.values(bpResult) as [boolean, string[]];\r\n\r\n  multiLog([\r\n    [hasBP, 'hasBP'],\r\n    [propertyValues, 'propertyValues'],\r\n  ]);\r\n\r\n  // Optimized value translation with parallel processing\r\n  const translatedValues = propertyValues.map((pv: string) => {\r\n    return valueTraductor(pv, property);\r\n  });\r\n\r\n  log(translatedValues, 'translatedValues');\r\n  if (!translatedValues[0]) {\r\n    translatedValues[0] = 'default';\r\n  }\r\n  multiLog([\r\n    [translatedValues, 'translatedValues AfterValueTraductor'],\r\n    [class2CreateSplited, 'class2CreateStringed BeforeProperty2ValueJoiner'],\r\n  ]);\r\n\r\n  // Joining the property and the values\r\n  class2CreateStringed += property2ValueJoiner(property, class2CreateSplited, class2Create, translatedValues, specify);\r\n\r\n  log(class2CreateStringed, 'class2CreateStringed AfterProperty2ValueJoiner');\r\n\r\n  // Put the important flag if it is active\r\n  if (!!values.importantActive) {\r\n    const importantRegex = values.cacheActive\r\n      ? (manage_cache.getCached<RegExp>(\r\n          `importantRegex|${class2Create}`,\r\n          'regExp',\r\n          () => new RegExp('\\\\s?!important\\\\s?', 'g')\r\n        ) as RegExp)\r\n      : new RegExp('\\\\s?!important\\\\s?', 'g');\r\n    for (let cssProperty of class2CreateStringed.split(';')) {\r\n      if (!cssProperty.includes('!important') && cssProperty.length > 5) {\r\n        class2CreateStringed = class2CreateStringed\r\n          .replace(cssProperty, cssProperty + ' !important')\r\n          .replace(importantRegex, ' !important');\r\n      }\r\n    }\r\n  }\r\n\r\n  log(class2CreateStringed, 'class2CreateStringed AfterImportant');\r\n  let classes2CreateStringed = '';\r\n  let bps: TBPS | undefined;\r\n  if (class2CreateStringed.includes('{') && class2CreateStringed.includes('}')) {\r\n    if (hasBP === true) {\r\n      const separatorRegex = values.cacheActive\r\n        ? (manage_cache.getCached<RegExp>(\r\n            `separatorRegex|${class2Create}`,\r\n            'regExp',\r\n            () => new RegExp(values.separator, 'g')\r\n          ) as RegExp)\r\n        : new RegExp(values.separator, 'g');\r\n      class2CreateStringed = class2CreateStringed.replace(separatorRegex, '');\r\n\r\n      // Optimized breakpoint assignment\r\n      const targetBp = class2CreateSplited[2];\r\n      for (let i = 0; i < values.bps.length; i++) {\r\n        if (values.bps[i].bp === targetBp) {\r\n          bps = {\r\n            bp: targetBp,\r\n            value: values.bps[i].value,\r\n            class2Create: class2CreateStringed,\r\n          };\r\n          break;\r\n        }\r\n      }\r\n    } else {\r\n      classes2CreateStringed += class2CreateStringed + values.separator;\r\n    }\r\n  }\r\n\r\n  // Final cleanup\r\n  classes2CreateStringed = classes2CreateStringed.replace(/\\s+/g, ' ');\r\n\r\n  multiLog([[classes2CreateStringed, 'classes2CreateStringed AfterSeparators']]);\r\n\r\n  const result = {\r\n    classes2CreateStringed: classes2CreateStringed,\r\n    bps: bps,\r\n  };\r\n\r\n  if (values.cacheActive) {\r\n    manage_cache.addCached(class2Create, 'parseClass', result);\r\n  }\r\n\r\n  return result;\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from '../console_log';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('createMediaRule', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('createMediaRule', toLog);\r\n};\r\nexport const createMediaRule = (rule: string): void => {\r\n  log(rule, 'rule');\r\n  let index: number | undefined;\r\n  if (!values.responsiveSheet) return;\r\n  let originalRule: any = [...values.responsiveSheet.cssRules].some((cssRule: any, i: number) => {\r\n    if (cssRule.cssText.includes(rule.split('{')[0].replace('\\n', '').replace(/\\s+/g, ' '))) {\r\n      index = i;\r\n      return true;\r\n    } else {\r\n      return false;\r\n    }\r\n  })\r\n    ? [...values.responsiveSheet.cssRules].find(\r\n        i =>\r\n          i.cssText\r\n            /* .includes(\r\n                    rule.split('{')[0].replace('\\n', '').replace(/\\s+/g, ' ')\r\n                  ) */\r\n            .split(' ')\r\n            .find((aC: string) => {\r\n              return aC.replace('.', '') === rule.split('{')[0].replace('\\n', '').replace(/\\s+/g, ' ');\r\n            })\r\n        /*\r\n            i.cssText.split(' ').find((aC: string) => {\r\n                return aC.replace('.', '') === bef;\r\n              })\r\n            */\r\n      )\r\n    : undefined;\r\n  if (originalRule && index !== undefined) {\r\n    values.responsiveSheet.deleteRule(index);\r\n  }\r\n  log(rule, 'rule');\r\n  values.responsiveSheet.insertRule(rule, values.responsiveSheet.cssRules.length);\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from '../console_log';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('createSimpleRule', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('createSimpleRule', toLog);\r\n};\r\nexport const createSimpleRule = (rule: string): void => {\r\n  log(rule, 'rule');\r\n  if (!values.sheet) return;\r\n  let originalMediaRules: boolean = false;\r\n  let rulesParsed: string[] = rule\r\n    .replace(/{/g, values.separator)\r\n    .replace(/}/g, values.separator)\r\n    .split(values.separator)\r\n    .filter(r => r !== '')\r\n    .map(r => {\r\n      return r.replace(/\\n/g, '').replace(/\\s{2}/g, '');\r\n    });\r\n  let mediaRule: string = rulesParsed[0].includes('media') ? rulesParsed[0] : '';\r\n  if (mediaRule !== '') {\r\n    if (mediaRule.endsWith(' ')) {\r\n      mediaRule = mediaRule.slice(0, -1);\r\n    }\r\n    rulesParsed.shift();\r\n    [...values.sheet.cssRules].forEach((css: CSSRule | CSSGroupingRule) => {\r\n      if (css.cssText.includes(mediaRule) && css instanceof CSSGroupingRule && css.cssRules) {\r\n        originalMediaRules = true;\r\n        let i = 0;\r\n        while (i <= rulesParsed.length) {\r\n          let index: number = 0;\r\n          let posibleRule: any = [...css.cssRules].some((cssRule: any, ix: number) => {\r\n            if (cssRule.cssText.includes(rulesParsed[i])) {\r\n              index = ix;\r\n              return true;\r\n            } else {\r\n              return false;\r\n            }\r\n          })\r\n            ? [...css.cssRules].find((cs, i) =>\r\n                cs.cssText.split(' ').find((aC: string) => {\r\n                  return aC.replace('.', '') === rulesParsed[i];\r\n                })\r\n              )\r\n            : /* .includes(rulesParsed[i])) */\r\n              /*\r\n            i.cssText.split(' ').find((aC: string) => {\r\n                return aC.replace('.', '') === bef;\r\n              })\r\n            */\r\n              undefined;\r\n          if (!!posibleRule) {\r\n            css.deleteRule(index);\r\n          }\r\n          let newRule: string = `${rulesParsed[i]}{${rulesParsed[i + 1]}}`;\r\n          log(newRule, 'newRule');\r\n          css.insertRule(newRule, css.cssRules.length);\r\n          i = i + 2;\r\n        }\r\n      }\r\n    });\r\n  }\r\n  if (originalMediaRules === false) {\r\n    log(rule, 'rule');\r\n    values.sheet.insertRule(rule, values.sheet.cssRules.length);\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { createMediaRule } from './private/createMediaRule';\r\nimport { createSimpleRule } from './private/createSimpleRule';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageCSSRules', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageCSSRules', toLog);\r\n};\r\nexport const manage_CSSRules = {\r\n  createCSSRules(rules: string | string[], dontSplitted: boolean = false): void {\r\n    multiLog([\r\n      [rules, 'rules'],\r\n      [dontSplitted, 'dontSplitted'],\r\n    ]);\r\n    try {\r\n      if (!!dontSplitted && !Array.isArray(rules)) {\r\n        for (let rule of rules.split(values.separator)) {\r\n          if (rule !== '') {\r\n            manage_CSSRules.createCSSRule(rule);\r\n          }\r\n        }\r\n      } else if (Array.isArray(rules)) {\r\n        rules.forEach(rule => {\r\n          manage_CSSRules.createCSSRule(rule);\r\n        });\r\n      } else {\r\n        manage_CSSRules.createCSSRule(rules);\r\n      }\r\n    } catch (err: any) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  createCSSRule(rule: string): void {\r\n    log(rule, 'rule');\r\n    try {\r\n      if (rule && !rule.startsWith('@media')) {\r\n        createSimpleRule(rule);\r\n      } else {\r\n        createMediaRule(rule);\r\n      }\r\n      log(values.sheet, 'sheet');\r\n    } catch (err: any) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n};\r\n","import { ValuesSingleton } from '../../../singletons/valuesSingleton';\r\n/* Interfaces */\r\nimport { IBPS } from '../../../interfaces';\r\n/* Functions */\r\nimport { console_log } from '../../console_log';\r\nimport { manage_CSSRules } from '../../manage_CSSRules';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('send2CreateRules', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('send2CreateRules', toLog);\r\n};\r\n\r\nexport const send2CreateRules = async (classes2CreateStringed: string, bpsStringed: IBPS[]): Promise<void> => {\r\n  multiLog([\r\n    [classes2CreateStringed, 'classes2CreateStringed'],\r\n    [bpsStringed, 'bpsStringed'],\r\n  ]);\r\n  bpsStringed = bpsStringed\r\n    .sort((b1, b2) => {\r\n      return parseInt(b1.value.replace('px', '')) - parseInt(b2.value.replace('px', ''));\r\n    })\r\n    .reverse();\r\n  let responsiveClasses2CreateStringed: string = '';\r\n  for (const [i, b] of bpsStringed.entries()) {\r\n    if (b.class2Create !== '') {\r\n      multiLog([\r\n        [b.bp, 'bp'],\r\n        [b.value, 'value'],\r\n        [b.class2Create, 'class2Create'],\r\n      ]);\r\n\r\n      for (const specifyOption of values.bpsSpecifyOptions) {\r\n        responsiveClasses2CreateStringed += `@media only screen and (min-width: ${b.value})${\r\n          values.limitBPS\r\n            ? bpsStringed.length > 1 && i !== 0\r\n              ? `and (max-width: ${bpsStringed[i - 1].value})`\r\n              : ''\r\n            : ''\r\n        } { ${specifyOption} ${b.class2Create}}${values.separator}`;\r\n      }\r\n      b.class2Create = '';\r\n    }\r\n  }\r\n  if (classes2CreateStringed !== '') {\r\n    log(classes2CreateStringed, 'classes2CreateStringed');\r\n\r\n    for (const class2Create of classes2CreateStringed.split(values.separator)) {\r\n      if (class2Create !== '') {\r\n        await manage_CSSRules.createCSSRules(class2Create);\r\n      }\r\n    }\r\n  }\r\n  if (responsiveClasses2CreateStringed !== '') {\r\n    log(responsiveClasses2CreateStringed, 'responsiveClasses2CreateStringed');\r\n\r\n    for (const class2Create of responsiveClasses2CreateStringed.split(values.separator)) {\r\n      if (class2Create !== '') {\r\n        await manage_CSSRules.createCSSRules(class2Create);\r\n      }\r\n    }\r\n  }\r\n};\r\n","/* Interfaces */\r\nimport { IBPS } from '../../interfaces';\r\n/* Singletons */\r\nimport { ValuesSingleton } from '../../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from '../console_log';\r\n/* Utilities */\r\nimport { getNewClasses2Create } from './private_utilities/getNewClasses2Create';\r\nimport { parseClass } from './private_utilities/parseClass';\r\nimport { send2CreateRules } from './private_utilities/send2CreateRules';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('doCssCreate', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('doCssCreate', toLog);\r\n};\r\nexport const doCssCreate = (id: number, updateClasses2Create?: string[]): number => {\r\n  try {\r\n    log(updateClasses2Create, `updateClasses2Create [id:${id}]`);\r\n    const startTimeCSSCreate = performance.now();\r\n    const classes2Create: string[] = updateClasses2Create || getNewClasses2Create();\r\n    log(classes2Create, `classes2Create [id:${id}]`);\r\n    const classes2CreateStringed: string[] = [];\r\n    const bpsStringed: IBPS[] = values.bps.map((b: any) => b);\r\n    for (let class2Create of classes2Create) {\r\n      let returnedClasses2CreateStringed: string;\r\n      let returnedBpsStringed: IBPS | undefined;\r\n      [returnedClasses2CreateStringed, returnedBpsStringed] = Object.values(\r\n        parseClass(class2Create, !updateClasses2Create)\r\n      );\r\n      classes2CreateStringed.push(returnedClasses2CreateStringed);\r\n      if (returnedBpsStringed) {\r\n        for (let bps of bpsStringed) {\r\n          if (bps.bp === returnedBpsStringed.bp) {\r\n            bps.class2Create += returnedBpsStringed.class2Create;\r\n            break;\r\n          }\r\n        }\r\n      }\r\n    }\r\n    multiLog([\r\n      [classes2CreateStringed, `classes2CreateStringed [id:${id}]`],\r\n      [bpsStringed, `bpsStringed [id:${id}]`],\r\n    ]);\r\n    send2CreateRules(classes2CreateStringed.join(''), bpsStringed);\r\n    const endTimeCSSCreate = performance.now();\r\n    let timeToCreate: string | number = endTimeCSSCreate - startTimeCSSCreate;\r\n    timeToCreate = timeToCreate.toFixed(2) + 'ms';\r\n    console_log.consoleLog('info', `Call to cssCreate() took ${timeToCreate}.`);\r\n    let class2CreateTimer = document.getElementById(values.indicatorClass + 'Timer');\r\n    if (class2CreateTimer) {\r\n      // create a first time created if there is no first time created element\r\n      if (!document.getElementById('firstTimeCreated')) {\r\n        const firstTimeCreated = document.createElement('p');\r\n        firstTimeCreated.id = 'firstTimeCreated';\r\n        firstTimeCreated.innerHTML = `The first time cssCreate() was called took ${timeToCreate}.`;\r\n        class2CreateTimer.appendChild(firstTimeCreated);\r\n      }\r\n      const message = `Call to cssCreate() took ${timeToCreate}.`;\r\n      let cssCreateMessage = document.getElementById('cssCreateMessage');\r\n      if (!cssCreateMessage) {\r\n        cssCreateMessage = document.createElement('p');\r\n        cssCreateMessage.id = 'cssCreateMessage';\r\n        cssCreateMessage.innerHTML = message;\r\n        class2CreateTimer.appendChild(cssCreateMessage);\r\n      } else {\r\n        cssCreateMessage.innerHTML = message;\r\n      }\r\n    }\r\n    return Date.now();\r\n  } catch (err) {\r\n    console_log.consoleLog('error', { err: err });\r\n    return Date.now();\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\n/* Types */\r\nimport { TCacheOptions, TCacheOptionsPromised, TLogPartsOptions, TReturnFromChanges } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageColors', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageColors', toLog);\r\n};\r\nexport const manage_colors = {\r\n  pushColor(color: string, value: string, fromPushColors: boolean = false): TReturnFromChanges {\r\n    try {\r\n      const cleanedValue = value.replace(/!important|!default|(\\s{2,})/g, '');\r\n      if (!!values.commonPropertiesValuesAbreviationsValues.find(abbreviation => abbreviation === cleanedValue)) {\r\n        const errMsg = `The color value \"${cleanedValue}\" is a reserved abbreviation and cannot be used for color \"${color}\".`;\r\n        return { success: false, message: 'Error while pushing color.', errors: [errMsg] };\r\n      }\r\n      values.colors[color] = cleanedValue;\r\n      if (!fromPushColors) {\r\n        return afterManageColors({ [color]: cleanedValue });\r\n      } else {\r\n        return {\r\n          success: true,\r\n          data: { [color]: cleanedValue },\r\n          message: `The color ${color} has been pushed successfully with the value ${cleanedValue}.`,\r\n        };\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err });\r\n      const errors: string[] = [];\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while pushing color \"${color}\": ${err.message}`);\r\n      }\r\n      return { success: false, message: 'Error while pushing color.', errors };\r\n    }\r\n  },\r\n  pushColors(newColors: { [key: string]: string }): TReturnFromChanges {\r\n    const errors: string[] = [];\r\n    const managedColors: { [key: string]: string } = {};\r\n    try {\r\n      const keys = Object.keys(newColors);\r\n      for (let i = 0; i < keys.length; i++) {\r\n        const key = keys[i];\r\n        const rawValue = newColors[key];\r\n        try {\r\n          const pushedColor = manage_colors.pushColor(key, rawValue, true);\r\n          if (pushedColor.success) {\r\n            managedColors[key] = (pushedColor.data as { [key: string]: string })[key];\r\n          } else {\r\n            errors.push(`Error while pushing color \"${key}\": ${pushedColor.message}`);\r\n            if (pushedColor.errors && pushedColor.errors.length > 0) {\r\n              errors.push(...pushedColor.errors);\r\n            }\r\n          }\r\n        } catch (innerErr: unknown) {\r\n          console_log.consoleLog('error', { err: innerErr });\r\n          if (innerErr instanceof Error) {\r\n            errors.push(`Error while processing color \"${key}\": ${innerErr.message}`);\r\n          }\r\n        }\r\n      }\r\n\r\n      if (Object.keys(managedColors).length > 0) {\r\n        const result = afterManageColors(managedColors);\r\n        if (errors.length > 0) {\r\n          if (result.errors && result.errors.length > 0) {\r\n            result.errors = [...result.errors, ...errors];\r\n          } else {\r\n            result.errors = errors;\r\n          }\r\n        }\r\n        return result;\r\n      } else {\r\n        throw new Error('There are no colors to push.');\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err });\r\n      const finalErrors: string[] = [];\r\n      if (err instanceof Error) {\r\n        finalErrors.push(err.message);\r\n      }\r\n      if (errors.length > 0) {\r\n        finalErrors.push(...errors);\r\n      }\r\n      return {\r\n        success: false,\r\n        message: 'Error while pushing colors.',\r\n        errors: finalErrors,\r\n      };\r\n    }\r\n  },\r\n  getColors(): { [key: string]: string } {\r\n    log(values.colors, 'colors');\r\n    return values.colors;\r\n  },\r\n  getColorsNames(): string[] {\r\n    return values.colorNames;\r\n  },\r\n  getColorValue(color: string): string {\r\n    multiLog([\r\n      [color, 'color'],\r\n      [values.colors[color], 'colorValue'],\r\n    ]);\r\n    return values.colors[color];\r\n  },\r\n  updateColor(color: string, value: string, fromUpdateColors: boolean = false): TReturnFromChanges {\r\n    try {\r\n      if (values.colors[color.toString()]) {\r\n        values.colors[color] = value.replace(/!important|!default|(\\s{2,})/g, '');\r\n      } else {\r\n        throw new Error(`There is no color named ${color}.`);\r\n      }\r\n      if (!fromUpdateColors) {\r\n        return afterManageColors({ [color]: values.colors[color] });\r\n      } else {\r\n        return {\r\n          success: true,\r\n          data: { [color]: values.colors[color] },\r\n          message: `The color ${color} has been updated successfully with the value ${values.colors[color]}.`,\r\n        };\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n      return {\r\n        success: false,\r\n        message: 'Error while updating color.',\r\n        errors: [(err as Error).message],\r\n      };\r\n    }\r\n  },\r\n  updateColors(colors: { [key: string]: string }): TReturnFromChanges {\r\n    const errors: string[] = [];\r\n    const managedColors: { [key: string]: string } = {};\r\n    try {\r\n      const keys = Object.keys(colors);\r\n      if (keys.length === 0) {\r\n        throw new Error(`There are no colors to update.`);\r\n      }\r\n      for (let i = 0; i < keys.length; i++) {\r\n        const key = keys[i];\r\n        const rawValue = colors[key];\r\n        try {\r\n          const updated = manage_colors.updateColor(key, rawValue, true);\r\n          if (updated.success) {\r\n            managedColors[key] = (updated.data as { [key: string]: string })[key];\r\n          } else {\r\n            errors.push(`Error while updating color \"${key}\": ${updated.message}`);\r\n            if (updated.errors && updated.errors.length > 0) {\r\n              errors.push(...updated.errors);\r\n            }\r\n          }\r\n        } catch (innerErr: unknown) {\r\n          console_log.consoleLog('error', { err: innerErr });\r\n          if (innerErr instanceof Error) {\r\n            errors.push(`Error while processing color \"${key}\": ${innerErr.message}`);\r\n          }\r\n        }\r\n      }\r\n      if (Object.keys(managedColors).length > 0) {\r\n        const result = afterManageColors(managedColors);\r\n        if (errors.length > 0) {\r\n          if (result.errors && result.errors.length > 0) {\r\n            result.errors = [...result.errors, ...errors];\r\n          } else {\r\n            result.errors = errors;\r\n          }\r\n        }\r\n        return result;\r\n      } else {\r\n        throw new Error(`There are no colors to update.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n      const finalErrors: string[] = [];\r\n      if (err instanceof Error) {\r\n        finalErrors.push(err.message);\r\n      }\r\n      if (errors.length > 0) {\r\n        finalErrors.push(...errors);\r\n      }\r\n      return {\r\n        success: false,\r\n        message: 'Error while updating colors.',\r\n        errors: finalErrors,\r\n      };\r\n    }\r\n  },\r\n  deleteColor(color: string): TReturnFromChanges {\r\n    try {\r\n      if (!!values.colors[color.toString()]) {\r\n        delete values.colors[color];\r\n        return afterManageColors({ [color]: values.colors[color] }, true);\r\n      } else {\r\n        throw new Error(`There is no color named ${color}.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n      return {\r\n        success: false,\r\n        message: (err as Error).message,\r\n        errors: [(err as Error).message],\r\n      };\r\n    }\r\n  },\r\n  clearAllColors(): TReturnFromChanges {\r\n    const oldColors = values.colors;\r\n    values.colors = {};\r\n    log(values.colors, 'colors');\r\n    return afterManageColors(oldColors, true);\r\n  },\r\n\r\n  getColorsRegex(): RegExp {\r\n    const sortedColorKeys: string[] = Object.keys(values.colors).sort((c1, c2) => c2.length - c1.length);\r\n    const colorsPattern = sortedColorKeys.map(c => `(${c.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&')})`).join('|');\r\n    return new RegExp(`(?<![a-zA-Z0-9])(${colorsPattern})(?![a-zA-Z0-9])`, 'gi');\r\n  },\r\n};\r\nconst afterManageColors = (managedColors: { [key: string]: string }, toDelete: boolean = false): TReturnFromChanges => {\r\n  let errors: string[] = [];\r\n  try {\r\n    const newColorsNames = Object.keys(managedColors);\r\n    if (!toDelete) {\r\n      values.colorNames = Array.from(new Set([...values.colorNames, ...newColorsNames]));\r\n    }\r\n    values.colorsRegex = manage_colors.getColorsRegex();\r\n    if (values.cacheActive) {\r\n      const newColorsValues = !toDelete ? Object.values(managedColors) : [];\r\n      const revisionForCachedColor: string[] = [...newColorsNames, ...newColorsValues];\r\n      const cacheSettingsToUpdate: (TCacheOptions | TCacheOptionsPromised)[] = [\r\n        'propertyJoiner',\r\n        'buttonCss',\r\n        'buttonShade',\r\n        'buttonCorrection',\r\n        'colorTransform',\r\n      ];\r\n      for (let cacheSetting of cacheSettingsToUpdate) {\r\n        manage_cache.deleteCached<string>(cacheSetting, args => {\r\n          for (let i = 0; i < revisionForCachedColor.length; i++) {\r\n            if (\r\n              (args.element && args.element.includes(revisionForCachedColor[i])) ||\r\n              (args.key && args.key.includes(revisionForCachedColor[i]))\r\n            ) {\r\n              return { add2Remove: true };\r\n            }\r\n          }\r\n          return;\r\n        });\r\n      }\r\n    }\r\n    const classesToUpdate: string[] = [];\r\n    for (let color in managedColors) {\r\n      for (let createdClass of values.alreadyCreatedClasses) {\r\n        if (createdClass.includes(color)) {\r\n          classesToUpdate.push(createdClass);\r\n        }\r\n      }\r\n    }\r\n    let successDate: number | void | undefined = undefined;\r\n    if (classesToUpdate.length > 0) {\r\n      successDate = cssCreate.cssCreate(classesToUpdate);\r\n    }\r\n    if (!successDate) {\r\n      throw new Error('No classes were updated after managing colors.');\r\n    }\r\n    return { success: true, message: 'Colors managed successfully' };\r\n  } catch (error: unknown) {\r\n    if (error instanceof Error) {\r\n      errors.push(error.message);\r\n    }\r\n    return { success: false, message: 'Error while managing colors.', errors };\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageSheet', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageSheet', toLog);\r\n};\r\nexport const manage_sheet = {\r\n  checkSheet(option: 'normal' | 'responsive' = 'normal') {\r\n    let sheets: CSSStyleSheet[] = [...document.styleSheets];\r\n    const styleSheetToManage = option === 'normal' ? values.styleSheetToManage : values.responsiveStyleSheetToManage;\r\n    for (let nsheet of sheets) {\r\n      if (nsheet.href?.includes(styleSheetToManage)) {\r\n        if (\r\n          (option === 'normal' && values.sheet !== nsheet) ||\r\n          (option === 'responsive' && values.responsiveSheet !== nsheet)\r\n        ) {\r\n          if (option === 'normal') {\r\n            values.sheet = nsheet;\r\n          } else {\r\n            values.responsiveSheet = nsheet;\r\n          }\r\n          values.alreadyCreatedClasses.clear();\r\n          values.combosCreated = {};\r\n          if (values.cacheActive) {\r\n            manage_cache.clearAllNoneEssential();\r\n          }\r\n          break;\r\n        }\r\n      }\r\n    }\r\n  },\r\n  getSheet(option: 'normal' | 'responsive' = 'normal'): CSSStyleSheet | undefined {\r\n    if (option === 'normal') {\r\n      if (values.sheet) {\r\n        log(values.sheet, 'sheet');\r\n        return values.sheet;\r\n      } else {\r\n        return undefined;\r\n      }\r\n    } else {\r\n      if (values.responsiveSheet) {\r\n        log(values.responsiveSheet, 'responsive sheet');\r\n        return values.responsiveSheet;\r\n      } else {\r\n        return undefined;\r\n      }\r\n    }\r\n  },\r\n  deleteSpecificRuleByClassName(className: string) {\r\n    if (!values.sheet && !values.responsiveSheet) return;\r\n    if (values.sheet) {\r\n      this._doDeleteSpecificRuleByClassName(values.sheet, className);\r\n    }\r\n    if (values.responsiveSheet) {\r\n      this._doDeleteSpecificRuleByClassName(values.responsiveSheet, className);\r\n    }\r\n  },\r\n  _doDeleteSpecificRuleByClassName(sheet: CSSStyleSheet, className: string) {\r\n    const rules = sheet.cssRules;\r\n    const exactClassRx = new RegExp(`(^|,\\\\s*)\\\\.${className}(\\\\s*|,|$)`);\r\n    for (let i = rules.length - 1; i >= 0; i--) {\r\n      const rule = rules[i];\r\n      if (rule instanceof CSSStyleRule && exactClassRx.test(rule.selectorText)) {\r\n        sheet.deleteRule(i);\r\n      } else if (rule instanceof CSSGroupingRule) {\r\n        this._deleteInMediaRule(rule, className, i, exactClassRx);\r\n        // si media queda vacía, opcionalmente eliminar la media en sí:\r\n        if (rule.cssRules.length === 0) {\r\n          sheet.deleteRule(i);\r\n        }\r\n      }\r\n    }\r\n  },\r\n  _deleteInMediaRule(mediaRule: CSSGroupingRule, className: string, index: number, exactClassRx: RegExp) {\r\n    const nested = mediaRule.cssRules;\r\n    for (let j = nested.length - 1; j >= 0; j--) {\r\n      const inner = nested[j];\r\n      if (inner instanceof CSSStyleRule && exactClassRx.test(inner.selectorText)) {\r\n        mediaRule.deleteRule(j);\r\n      } else if (inner instanceof CSSGroupingRule) {\r\n        this._deleteInMediaRule(inner, className, j, exactClassRx);\r\n      }\r\n    }\r\n    if (nested.length === 0) {\r\n      mediaRule.parentStyleSheet?.deleteRule(index);\r\n    }\r\n  },\r\n  deleteAllInSheet(option: 'normal' | 'responsive' = 'normal') {\r\n    const sheet = option === 'normal' ? values.sheet : values.responsiveSheet;\r\n    if (sheet) {\r\n      log('Deleting all styles in sheet', option);\r\n      const rules = sheet.cssRules;\r\n      for (let i = rules.length - 1; i >= 0; i--) {\r\n        sheet.deleteRule(i);\r\n      }\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../console_log';\r\nimport { doCssCreate } from '../main/doCssCreate';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('doUseRecurrentStrategy', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('doUseRecurrentStrategy', toLog);\r\n};\r\nexport const doUseRecurrentStrategy = (primordial: boolean = false, recurrent: boolean = false): void => {\r\n  multiLog([\r\n    [primordial, 'primordial'],\r\n    [recurrent, 'recurrent'],\r\n  ]);\r\n  if (!recurrent) {\r\n    values.lastTimeAsked2Create = Date.now();\r\n  }\r\n  multiLog([\r\n    [values.useRecurrentStrategy, 'useRecurrentStrategy'],\r\n    [values.lastTimeAsked2Create, 'lastTimeAsked2Create'],\r\n    [new Date(values.lastTimeAsked2Create), 'lastTimeAsked2Create as Date'],\r\n    [values.lastTimeCssCreateEnded, 'lastTimeCssCreateEnded'],\r\n    [new Date(values.lastTimeCssCreateEnded), 'lastTimeCssCreateEnded as Date'],\r\n    [values.timeBetweenReCreate, 'timeBetweenReCreate'],\r\n    [values.cssCreateIsActive, 'cssCreateIsActive'],\r\n    [values.timesCSSCreated, 'timesCSSCreated'],\r\n  ]);\r\n  if (\r\n    (values.lastTimeCssCreateEnded + values.timeBetweenReCreate < values.lastTimeAsked2Create ||\r\n      primordial === true ||\r\n      values.timesCSSCreated === 0) &&\r\n    !values.cssCreateIsActive\r\n  ) {\r\n    log(false, 'creationPostponed');\r\n    values.timesCSSCreated++;\r\n    values.cssCreateIsActive = true;\r\n    values.lastTimeCssCreateEnded = doCssCreate(values.timesCSSCreated);\r\n    values.cssCreateIsActive = false;\r\n    multiLog([\r\n      [values.timesCSSCreated, 'timesCSSCreated after doCssCreate'],\r\n      [values.lastTimeCssCreateEnded, 'lastTimeCssCreateEnded after doCssCreate'],\r\n      [new Date(values.lastTimeCssCreateEnded), 'lastTimeCssCreateEnded as Date after doCssCreate'],\r\n    ]);\r\n    doUseRecurrentStrategy(false, true);\r\n  } else if (!recurrent) {\r\n    log(true, 'creationPostponed');\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../../singletons/valuesSingleton';\r\n/* Functions */\r\nimport { console_log } from '../console_log';\r\nimport { doCssCreate } from '../main/doCssCreate';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('doUseTimer', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('doUseTimer', toLog);\r\n};\r\nexport const doUseTimer = (primordial: boolean = false, isFirstCall: boolean = true): number | void => {\r\n  multiLog([\r\n    [primordial, 'primordial'],\r\n    [isFirstCall, 'isFirstCall'],\r\n  ]);\r\n  if (isFirstCall) {\r\n    values.lastTimeAsked2Create = Date.now();\r\n  }\r\n  multiLog([\r\n    [values.useTimer, 'useTimer'],\r\n    [values.lastTimeAsked2Create, 'lastTimeAsked2Create'],\r\n    [new Date(values.lastTimeAsked2Create), 'lastTimeAsked2Create as Date'],\r\n    [values.lastTimeCssCreateEnded, 'lastTimeCssCreateEnded'],\r\n    [new Date(values.lastTimeCssCreateEnded), 'lastTimeCssCreateEnded as Date'],\r\n    [values.timeBetweenReCreate, 'timeBetweenReCreate'],\r\n    [values.timesCSSCreated, 'timesCSSCreated'],\r\n  ]);\r\n  if (\r\n    Date.now() - values.lastTimeCssCreateEnded >= values.timeBetweenReCreate ||\r\n    primordial === true ||\r\n    values.timesCSSCreated === 0\r\n  ) {\r\n    values.timesCSSCreated++;\r\n    values.lastTimeCssCreateEnded = doCssCreate(values.timesCSSCreated);\r\n    multiLog([\r\n      [values.timesCSSCreated, 'timesCSSCreated after doCssCreate'],\r\n      [values.lastTimeCssCreateEnded, 'lastTimeCssCreateEnded after doCssCreate'],\r\n      [new Date(values.lastTimeCssCreateEnded), 'lastTimeCssCreateEnded as Date after doCssCreate'],\r\n    ]);\r\n    return values.lastTimeCssCreateEnded;\r\n  } else if (Date.now() - values.timeBetweenReCreate < values.lastTimeAsked2Create) {\r\n    // Delete the previous setTimeout if it exists\r\n    if (values.setTimeOutID) {\r\n      clearTimeout(values.setTimeOutID);\r\n    }\r\n    values.setTimeOutID = setTimeout(() => {\r\n      return doUseTimer(primordial, false);\r\n    }, values.timeBetweenReCreate);\r\n  }\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { css_camel } from './css-camel';\r\nimport { doCssCreate } from './main/doCssCreate';\r\nimport { manage_colors } from './manage_colors';\r\nimport { manage_sheet } from './manage_sheet';\r\nimport { doUseRecurrentStrategy } from './private/doUseRecurrentStrategy';\r\nimport { doUseTimer } from './private/doUseTimer';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('cssCreate', t, p);\r\n};\r\nexport const cssCreate = {\r\n  cssCreate(updateClasses2Create: string[] | null = null, primordial: boolean = false): number | void {\r\n    try {\r\n      if (!values.pseudos[0]) {\r\n        values.pseudos = values.pseudoClasses\r\n          .sort((e1: number | string, e2: number | string) => {\r\n            e1 = e1.toString().length;\r\n            e2 = e2.toString().length;\r\n            return e1 > e2 ? 1 : e1 < e2 ? -1 : 0;\r\n          })\r\n          .map((pse: string) => {\r\n            return {\r\n              mask: pse,\r\n              real: `${values.separator}:${css_camel.camelToCSSValid(pse)}`,\r\n            };\r\n          })\r\n          .concat(\r\n            values.pseudoElements\r\n              .sort((e1: number | string, e2: number | string) => {\r\n                e1 = e1.toString().length;\r\n                e2 = e2.toString().length;\r\n                return e1 > e2 ? 1 : e1 < e2 ? -1 : 0;\r\n              })\r\n              .map((pse: string) => {\r\n                return {\r\n                  mask: pse,\r\n                  real: `${values.separator}::${css_camel.camelToCSSValid(pse)}`,\r\n                };\r\n              })\r\n          );\r\n      }\r\n      if (!values.sheet) {\r\n        log('Checking if sheet exists', 'manage_sheets');\r\n        manage_sheet.checkSheet();\r\n        if (!values.sheet) {\r\n          throw new Error(`There is no ${values.styleSheetToManage} style sheet!`);\r\n        }\r\n        log('Sheet exists', 'manage_sheets');\r\n      }\r\n      if (!values.responsiveSheet) {\r\n        log('Checking if responsive sheet exists', 'manage_sheets');\r\n        manage_sheet.checkSheet('responsive');\r\n        if (!values.responsiveSheet) {\r\n          throw new Error(`There is no ${values.responsiveStyleSheetToManage} responsive style sheet!`);\r\n        }\r\n        log('Responsive sheet exists', 'manage_sheets');\r\n      }\r\n      if (!values.colorsRegex) {\r\n        values.colorsRegex = manage_colors.getColorsRegex();\r\n      }\r\n      log('cssCreate');\r\n      if (!!values.useTimer && !updateClasses2Create) {\r\n        return doUseTimer(primordial, true);\r\n      } else if (!!values.useRecurrentStrategy && !updateClasses2Create) {\r\n        doUseRecurrentStrategy(primordial, false);\r\n      } else {\r\n        log('Using direct cssCreate');\r\n        return doCssCreate(values.timesCSSCreated, (updateClasses2Create as string[]) || undefined);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n};\r\n","import { ValuesSingleton } from \"../singletons/valuesSingleton\";\r\n\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nexport const debugg_options = {\r\n  changeDebugOption(option: boolean | undefined): void {\r\n    values.isDebug = option || !values.isDebug;\r\n  },\r\n  changeUseTimerOption(option: boolean | undefined): void {\r\n    values.useTimer = option || !values.useTimer;\r\n  },\r\n  setTimeBetweenReCreate(time: number): void {\r\n    values.timeBetweenReCreate = time;\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageAbreviations', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageAbreviations', toLog);\r\n};\r\nexport const manage_abreviations = {\r\n  pushAbreviationsValues(abreviationsValues: { [key: string]: string }): void {\r\n    try {\r\n      let prevIgnoredAbreviationsValues: string[] = [];\r\n      Object.keys(abreviationsValues).forEach(key => {\r\n        values.abreviationsValues[key] = abreviationsValues[key];\r\n        prevIgnoredAbreviationsValues = Array.from(values.alreadyCreatedClasses).filter((aC: any) => {\r\n          return aC.includes(key);\r\n        });\r\n      });\r\n      values.abreviationsValuesKeys = new Set(Object.keys(values.abreviationsValues));\r\n      if (values.cacheActive) {\r\n        manage_cache.clearAllNoneEssential();\r\n      }\r\n      if (prevIgnoredAbreviationsValues.length > 0) {\r\n        cssCreate.cssCreate(prevIgnoredAbreviationsValues);\r\n      } else {\r\n        cssCreate.cssCreate();\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  pushAbreviationsClasses(abreviationsClasses: { [key: string]: string }): void {\r\n    let prevIgnoredAbreviationsValues: string[] = [];\r\n    try {\r\n      Object.keys(abreviationsClasses).forEach(key => {\r\n        values.abreviationsClasses[key] = abreviationsClasses[key];\r\n        prevIgnoredAbreviationsValues = Array.from(values.alreadyCreatedClasses).filter((aC: any) => {\r\n          return aC.includes(key);\r\n        });\r\n      });\r\n      values.abreviationsClassesKeys = new Set(Object.keys(values.abreviationsClasses));\r\n      if (values.cacheActive) {\r\n        manage_cache.clearAllNoneEssential();\r\n      }\r\n      if (prevIgnoredAbreviationsValues.length > 0) {\r\n        cssCreate.cssCreate(prevIgnoredAbreviationsValues);\r\n      } else {\r\n        cssCreate.cssCreate();\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  getAbreviationsClasses(): any {\r\n    log(values.abreviationsClasses, 'abreviationsClasses');\r\n    return values.abreviationsClasses;\r\n  },\r\n  getAbreviationsValues(): any {\r\n    log(values.abreviationsValues, 'abreviationsValues');\r\n    return values.abreviationsValues;\r\n  },\r\n  updateAbreviationsClass(abreviationsClass: string, value: string): void {\r\n    try {\r\n      if (values.abreviationsClasses[abreviationsClass]) {\r\n        values.abreviationsClasses[abreviationsClass] = value;\r\n        let classesToUpdate: string[] = [];\r\n        for (let createdClass of values.alreadyCreatedClasses) {\r\n          if (createdClass.includes(abreviationsClass)) {\r\n            classesToUpdate.push(createdClass);\r\n          }\r\n        }\r\n        if (values.cacheActive) {\r\n          manage_cache.clearAllNoneEssential();\r\n        }\r\n        if (classesToUpdate.length > 0) {\r\n          cssCreate.cssCreate(classesToUpdate);\r\n        } else {\r\n          cssCreate.cssCreate();\r\n        }\r\n      } else {\r\n        throw new Error(`There is no abreviationsClass named ${abreviationsClass}.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  updateAbreviationsValue(abreviationsValue: string, value: string): void {\r\n    try {\r\n      if (values.abreviationsValues[abreviationsValue.toString()]) {\r\n        values.abreviationsValues[abreviationsValue] = value;\r\n        let classesToUpdate: string[] = [];\r\n        for (let createdClass of values.alreadyCreatedClasses) {\r\n          if (createdClass.includes(abreviationsValue)) {\r\n            classesToUpdate.push(createdClass);\r\n          }\r\n        }\r\n        if (values.cacheActive) {\r\n          manage_cache.clearAllNoneEssential();\r\n        }\r\n        if (classesToUpdate.length > 0) {\r\n          cssCreate.cssCreate(classesToUpdate);\r\n        } else {\r\n          cssCreate.cssCreate();\r\n        }\r\n      } else {\r\n        throw new Error(`There is no abreviationsValue named ${abreviationsValue}.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Interfaces */\r\nimport { IBPS } from '../interfaces';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\n\r\ninterface WithBefs {\r\n  befs: string; // DEPRECATED\r\n}\r\ninterface IBPSWithBefs extends IBPS, WithBefs {}\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageBps', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageBps', toLog);\r\n};\r\nexport const manage_bps = {\r\n  pushBPS(\r\n    bps: (Omit<IBPSWithBefs, 'class2Create'> & {\r\n      class2Create?: string;\r\n    })[]\r\n  ): void {\r\n    try {\r\n      for (let nb of bps) {\r\n        // get the bps that match the current breakpoint\r\n        let bp = values.bps.find((b: any) => b.bp === nb.bp);\r\n        if (bp) {\r\n          bp.value = nb.value;\r\n          bp.class2Create = '';\r\n        } else {\r\n          values.bps.push({\r\n            bp: nb.bp,\r\n            value: nb.value,\r\n            class2Create: '',\r\n          });\r\n          values.breakPoints.add(nb.bp);\r\n        }\r\n      }\r\n      if (values.cacheActive) {\r\n        manage_cache.clearAllNoneEssential();\r\n      }\r\n      cssCreate.cssCreate();\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  getBPS(): IBPS[] {\r\n    log(values.bps, 'bps');\r\n    return values.bps;\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageClasses', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageClasses', toLog);\r\n};\r\nexport const manage_classes = {\r\n  getAlreadyCreatedClasses(): string[] {\r\n    log(values.alreadyCreatedClasses, 'alreadyCreatedClasses');\r\n    return Array.from(values.alreadyCreatedClasses);\r\n  },\r\n  updateClasses(classesToUpdate: string[]): void {\r\n    if (values.cacheActive) {\r\n      manage_cache.clearAllNoneEssential();\r\n    }\r\n    cssCreate.cssCreate(classesToUpdate);\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageCombos', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageCombos', toLog);\r\n};\r\nexport const manage_combos = {\r\n  pushCombos(combos: any): void {\r\n    try {\r\n      let prevIgnoredCombosValues: string[] = [];\r\n      Object.keys(combos).forEach(key => {\r\n        values.combos[key] =\r\n          typeof combos[key] === 'string'\r\n            ? combos[key].split(' ')\r\n            : combos[key]\r\n                .map((c: string) => {\r\n                  return c.split(' ').flat();\r\n                })\r\n                .flat();\r\n        if (!values.combosKeys.has(key)) {\r\n          values.combosKeys.add(key);\r\n        }\r\n        prevIgnoredCombosValues = Array.from(values.alreadyCreatedClasses).filter((aC: any) => {\r\n          return aC.includes(key);\r\n        });\r\n      });\r\n      if (values.cacheActive) {\r\n        manage_cache.clearAllNoneEssential();\r\n      }\r\n      if (prevIgnoredCombosValues.length > 0) {\r\n        cssCreate.cssCreate(prevIgnoredCombosValues);\r\n      } else {\r\n        cssCreate.cssCreate();\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  getCombos(): any {\r\n    log(values.combos, 'combos');\r\n    return values.combos;\r\n  },\r\n  updateCombo(combo: string, newValues: string[]): void {\r\n    try {\r\n      if (values.combos[combo.toString()]) {\r\n        values.combos[combo] = newValues;\r\n        let classes2Delete: string[] = [];\r\n        for (let createdClass of values.alreadyCreatedClasses) {\r\n          if (createdClass.includes(combo)) {\r\n            classes2Delete.push(createdClass);\r\n          }\r\n        }\r\n        if (classes2Delete.length > 0) {\r\n          for (let class2Delete of classes2Delete) {\r\n            values.sheet?.deleteRule(\r\n              [...values.sheet.cssRules].findIndex(cssRule => {\r\n                return cssRule.cssText.includes(class2Delete);\r\n              })\r\n            );\r\n            if (values.alreadyCreatedClasses.has(class2Delete)) {\r\n              values.alreadyCreatedClasses.delete(class2Delete);\r\n            }\r\n          }\r\n          if (values.cacheActive) {\r\n            manage_cache.clearAllNoneEssential();\r\n          }\r\n          cssCreate.cssCreate();\r\n        }\r\n      } else {\r\n        throw new Error(`There is no combo named ${combo}.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\nimport { cssCreate } from './cssCreate';\r\nimport { manage_cache } from './manage_cache';\r\n/* Types */\r\nimport { TLogPartsOptions } from '../types';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('manageCSSNamesParsed', t, p);\r\n};\r\nconst multiLog = (toLog: [any, TLogPartsOptions?][]) => {\r\n  console_log.multiBetterLogV1('manageCSSNamesParsed', toLog);\r\n};\r\nexport const manage_CSSNamesParsed = {\r\n  pushCssNamesParsed(cssNamesParsed: any): void {\r\n    try {\r\n      Object.keys(cssNamesParsed).forEach(key => {\r\n        values.cssNamesParsed[key] = cssNamesParsed[key];\r\n      });\r\n      if (values.cacheActive) {\r\n        manage_cache.clearAllNoneEssential();\r\n      }\r\n      cssCreate.cssCreate();\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n  getCssNamesParsed(): any {\r\n    log(values.cssNamesParsed, 'cssNamesParsed');\r\n    return values.cssNamesParsed;\r\n  },\r\n  updateCssNamesParsed(cssNameParsed: string, value: string): void {\r\n    try {\r\n      if (values.cssNamesParsed[cssNameParsed.toString()]) {\r\n        values.cssNamesParsed[cssNameParsed] = value;\r\n        let classesToUpdate: string[] = [];\r\n        for (let createdClass of values.alreadyCreatedClasses) {\r\n          if (createdClass.includes(cssNameParsed)) {\r\n            classesToUpdate.push(createdClass);\r\n          }\r\n        }\r\n        if (values.cacheActive) {\r\n          manage_cache.clearAllNoneEssential();\r\n        }\r\n        if (classesToUpdate.length > 0) {\r\n          cssCreate.cssCreate(classesToUpdate);\r\n        } else {\r\n          cssCreate.cssCreate();\r\n        }\r\n      } else {\r\n        throw new Error(`There is no cssNameParsed named ${cssNameParsed}.`);\r\n      }\r\n    } catch (err) {\r\n      console_log.consoleLog('error', { err: err });\r\n    }\r\n  },\r\n};\r\n","/* Singletons */\r\nimport { ValuesSingleton } from '../singletons/valuesSingleton';\r\n/* Funtions */\r\nimport { console_log } from './console_log';\r\n/* Types */\r\nimport {\r\n  TChosenLogSectionOptions,\r\n  TLogPartsOptions,\r\n  TLogSectionOptions,\r\n} from '../types';\r\nimport { allPosibleParts, allPosibleSections } from '../values/parts_sections';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nconst log = (t: any, p?: TLogPartsOptions) => {\r\n  console_log.betterLogV1('managePartsSections', t, p);\r\n};\r\nexport const managePartsSections = {\r\n  pushSection(\r\n    newSection: string\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.sections, 'chosenSectionOptions.sections');\r\n    try {\r\n      if (values.chosenSectionOptions.sections.includes(newSection)) {\r\n        errors.push(`The section \"${newSection}\" already exists.`);\r\n      } else if (allPosibleSections.includes(newSection)) {\r\n        values.chosenSectionOptions.sections.push(newSection);\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while pushing section: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.sections,\r\n      'chosenSectionOptions.sections after pushSection'\r\n    );\r\n    if (errors.length > 0) {\r\n      return { errors };\r\n    } else {\r\n      return {\r\n        success: true,\r\n        message: `Section \"${newSection}\" added successfully.`,\r\n      };\r\n    }\r\n  },\r\n  pushPart(\r\n    newPart: string\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.parts, 'chosenSectionOptions.parts');\r\n    try {\r\n      if (values.chosenSectionOptions.parts.includes(newPart)) {\r\n        errors.push(`The part \"${newPart}\" already exists.`);\r\n      } else if (allPosibleParts.includes(newPart)) {\r\n        values.chosenSectionOptions.parts.push(newPart);\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while pushing part: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.parts,\r\n      'chosenSectionOptions.parts after pushPart'\r\n    );\r\n    if (errors.length > 0) {\r\n      return { errors };\r\n    } else {\r\n      return {\r\n        success: true,\r\n        message: `Part \"${newPart}\" added successfully.`,\r\n      };\r\n    }\r\n  },\r\n  getChosenSectionsOptions(): TChosenLogSectionOptions {\r\n    log(\r\n      values.chosenSectionOptions,\r\n      'chosenSectionOptions in getChosenSectionsOptions'\r\n    );\r\n    return values.chosenSectionOptions;\r\n  },\r\n  getChosenSectionsOptionsSections(): TLogSectionOptions[] {\r\n    log(\r\n      values.chosenSectionOptions.sections,\r\n      'chosenSectionOptions.sections in getChosenSectionsOptionsSections'\r\n    );\r\n    return values.chosenSectionOptions.sections;\r\n  },\r\n  getChosenSectionsOptionsParts(): TLogPartsOptions[] {\r\n    log(\r\n      values.chosenSectionOptions.parts,\r\n      'chosenSectionOptions.parts in getChosenSectionsOptionsParts'\r\n    );\r\n    return values.chosenSectionOptions.parts;\r\n  },\r\n  getAllPosibleSections(): TLogSectionOptions[] {\r\n    log(allPosibleSections, 'allPosibleSections in getAllPosibleSections');\r\n    return allPosibleSections;\r\n  },\r\n  getAllPosibleParts(): TLogPartsOptions[] {\r\n    log(allPosibleParts, 'allPosibleParts in getAllPosibleParts');\r\n    return allPosibleParts;\r\n  },\r\n  changeSections(\r\n    newSections: TLogSectionOptions[]\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.sections, 'chosenSectionOptions.sections');\r\n    try {\r\n      if (\r\n        newSections.some((section) => !allPosibleSections.includes(section))\r\n      ) {\r\n        errors.push(\r\n          `One or more sections in the provided array do not exist in allPosibleSections.`\r\n        );\r\n      } else {\r\n        values.chosenSectionOptions.sections = newSections;\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while changing sections: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.sections,\r\n      'chosenSectionOptions.sections after changeSections'\r\n    );\r\n  },\r\n  changeParts(\r\n    newParts: TLogPartsOptions[]\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.parts, 'chosenSectionOptions.parts');\r\n    try {\r\n      if (newParts.some((part) => !allPosibleParts.includes(part))) {\r\n        errors.push(\r\n          `One or more parts in the provided array do not exist in allPosibleParts.`\r\n        );\r\n      } else {\r\n        values.chosenSectionOptions.parts = newParts;\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while changing parts: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.parts,\r\n      'chosenSectionOptions.parts after changeParts'\r\n    );\r\n  },\r\n  deleteSection(\r\n    sectionToDelete: TLogSectionOptions\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.sections, 'chosenSectionOptions.sections');\r\n    try {\r\n      if (!values.chosenSectionOptions.sections.includes(sectionToDelete)) {\r\n        errors.push(`The section \"${sectionToDelete}\" does not exist.`);\r\n      } else {\r\n        values.chosenSectionOptions.sections =\r\n          values.chosenSectionOptions.sections.filter(\r\n            (section) => section !== sectionToDelete\r\n          );\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while deleting section: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.sections,\r\n      'chosenSectionOptions.sections after deleteSection'\r\n    );\r\n    if (errors.length > 0) {\r\n      return { errors };\r\n    } else {\r\n      return {\r\n        success: true,\r\n        message: `Section \"${sectionToDelete}\" deleted successfully.`,\r\n      };\r\n    }\r\n  },\r\n  deletePart(\r\n    partToDelete: TLogPartsOptions\r\n  ): void | { errors: string[] } | { success: boolean; message: string } {\r\n    const errors: string[] = [];\r\n    log(values.chosenSectionOptions.parts, 'chosenSectionOptions.parts');\r\n    try {\r\n      if (!values.chosenSectionOptions.parts.includes(partToDelete)) {\r\n        errors.push(`The part \"${partToDelete}\" does not exist.`);\r\n      } else {\r\n        values.chosenSectionOptions.parts =\r\n          values.chosenSectionOptions.parts.filter(\r\n            (part) => part !== partToDelete\r\n          );\r\n      }\r\n    } catch (err: unknown) {\r\n      console_log.consoleLog('error', { err: err });\r\n      if (err instanceof Error) {\r\n        errors.push(`Error while deleting part: ${err.message}`);\r\n      }\r\n    }\r\n    log(\r\n      values.chosenSectionOptions.parts,\r\n      'chosenSectionOptions.parts after deletePart'\r\n    );\r\n    if (errors.length > 0) {\r\n      return { errors };\r\n    } else {\r\n      return {\r\n        success: true,\r\n        message: `Part \"${partToDelete}\" deleted successfully.`,\r\n      };\r\n    }\r\n  },\r\n};\r\n","import { ValuesSingleton } from '../singletons/valuesSingleton';\r\nimport { cssCreate } from './cssCreate';\r\nimport { manage_cache } from './manage_cache';\r\nconst values: ValuesSingleton = ValuesSingleton.getInstance();\r\nexport const utility_configurations = {\r\n  changeImportantActive(option: boolean | undefined): void {\r\n    values.importantActive = option || !values.importantActive;\r\n    if (values.cacheActive) {\r\n      manage_cache.clearAllNoneEssential();\r\n    }\r\n    cssCreate.cssCreate();\r\n  },\r\n};\r\n","import { Injectable } from '@angular/core';\r\n/* Interfaces */\r\nimport { IAbreviationTraductor, IConsoleParser, IPseudo } from './interfaces';\r\n/* Singleton */\r\nimport { ValuesSingleton } from './singletons/valuesSingleton';\r\n/* Functions */\r\nimport { abreviation_traductors } from './functions/abreviation_traductors';\r\nimport { color_transform } from './functions/color_transform';\r\nimport { console_log } from './functions/console_log';\r\nimport { css_camel } from './functions/css-camel';\r\nimport { cssCreate } from './functions/cssCreate';\r\nimport { debugg_options } from './functions/debugg_options';\r\nimport { manage_abreviations } from './functions/manage_abreviations';\r\nimport { manage_bps } from './functions/manage_bps';\r\nimport { manage_classes } from './functions/manage_classes';\r\nimport { manage_colors } from './functions/manage_colors';\r\nimport { manage_combos } from './functions/manage_combos';\r\nimport { manage_CSSNamesParsed } from './functions/manage_CSSNamesParsed';\r\nimport { manage_CSSRules } from './functions/manage_CSSRules';\r\nimport { manage_sheet } from './functions/manage_sheet';\r\nimport { managePartsSections } from './functions/managePartsNSectionsToSeeOnLog';\r\nimport { utility_configurations } from './functions/utility_configurations';\r\n/* Types */\r\nimport { TLogPartsOptions, TLogSectionOptions } from './types';\r\n@Injectable({\r\n  providedIn: 'root',\r\n})\r\nexport class NgxBootstrapExpandedFeaturesService {\r\n  public values: ValuesSingleton = ValuesSingleton.getInstance();\r\n  public indicatorClass: string = this.values.indicatorClass;\r\n  public colors: { [key: string]: string } = this.values.colors;\r\n  public abreviationsClasses: { [key: string]: string } = this.values.abreviationsClasses;\r\n  public abreviationsValues: { [key: string]: string } = this.values.abreviationsValues;\r\n  public combos: { [key: string]: string[] } = this.values.combos;\r\n  public combosCreated: { [key: string]: string } = this.values.combosCreated;\r\n  public encryptCombo: boolean = this.values.encryptCombo;\r\n  public encryptComboCharacters: string = this.values.encryptComboCharacters;\r\n  public encryptComboCreatedCharacters: string = this.values.encryptComboCreatedCharacters;\r\n  public cssNamesParsed: any = this.values.cssNamesParsed;\r\n  public alreadyCreatedClasses: Set<string> = this.values.alreadyCreatedClasses;\r\n  public sheet: any = this.values.sheet;\r\n  public isDebug: boolean = this.values.isDebug;\r\n  public bps: any = this.values.bps;\r\n  public bpsSpecifyOptions: string[] = this.values.bpsSpecifyOptions;\r\n  public limitBPS: boolean = this.values.limitBPS;\r\n  public styleSheetToManage: string = this.values.styleSheetToManage;\r\n  public separator: string = this.values.separator;\r\n  public styleConsole: string = this.values.styleConsole;\r\n  public pseudoClasses: string[] = this.values.pseudoClasses;\r\n  public pseudosHasSDED: Set<string> = this.values.pseudosHasSDED;\r\n  public pseudoElements: string[] = this.values.pseudoElements;\r\n  public pseudos: IPseudo[] = this.values.pseudos;\r\n  public importantActive: boolean = this.values.importantActive;\r\n  public abreviationTraductors: IAbreviationTraductor[] = this.values.abreviationTraductors;\r\n  public lastTimeAsked2Create: number = this.values.lastTimeAsked2Create;\r\n  public timesCSSCreated: number = this.values.timesCSSCreated;\r\n  public timeBetweenReCreate: number = this.values.timeBetweenReCreate;\r\n  public useTimer: boolean = this.values.useTimer;\r\n  constructor() {}\r\n  public checkSheet = (option: 'normal' | 'responsive' = 'normal') => manage_sheet.checkSheet(option);\r\n  public cssCreate = (updateBefs: string[] | undefined = undefined, primordial: boolean = false) =>\r\n    cssCreate.cssCreate(updateBefs, primordial);\r\n  public createCSSRules = (rule: string) => manage_CSSRules.createCSSRules(rule);\r\n  public colorToRGB = (color: string) => color_transform.colorToRGB(color);\r\n  public RGBToRGBA = (rgb: number[], alpha: number) => color_transform.RGBToRGBA(rgb, alpha);\r\n  public parseRGB = (rgba: string) => color_transform.parseRGB(rgba);\r\n  public HexToRGB = (Hex: string) => color_transform.HexToRGB(Hex);\r\n  public HSLToRGB = (HSL: string) => color_transform.HSLToRGB(HSL);\r\n  public HWBToRGB = (HWB: string) => color_transform.HWBToRGB(HWB);\r\n  public shadeTintColor = (rgb: number[], percent: number) => color_transform.shadeTintColor(rgb, percent);\r\n  public cssValidToCamel = (st: string) => css_camel.cssValidToCamel(st);\r\n  public camelToCSSValid = (st: string) => css_camel.camelToCSSValid(st);\r\n  /* CRUD */\r\n  public pushCssNamesParsed = (cssNamesParsed: any) => manage_CSSNamesParsed.pushCssNamesParsed(cssNamesParsed);\r\n  public pushBPS = (bps: any) => manage_bps.pushBPS(bps);\r\n  public pushColors = (newColors: any) => manage_colors.pushColors(newColors);\r\n  public pushAbreviationsValues = (abreviationsValues: any) =>\r\n    manage_abreviations.pushAbreviationsValues(abreviationsValues);\r\n  public pushAbreviationsClasses = (abreviationsClasses: any) =>\r\n    manage_abreviations.pushAbreviationsClasses(abreviationsClasses);\r\n  public pushCombos = (combos: any) => manage_combos.pushCombos(combos);\r\n  /* Getters */\r\n  public getColors = () => manage_colors.getColors();\r\n  public getBPS = () => manage_bps.getBPS();\r\n  public getAbreviationsValues = () => manage_abreviations.getAbreviationsValues();\r\n  public getAbreviationsClasses = () => manage_abreviations.getAbreviationsClasses();\r\n  public getCombos = () => manage_combos.getCombos();\r\n  public getCssNamesParsed = () => manage_CSSNamesParsed.getCssNamesParsed();\r\n  public getColorsNames = () => manage_colors.getColorsNames();\r\n  public getColorValue = (color: string) => manage_colors.getColorValue(color);\r\n  public getAlreadyCreatedClasses = () => manage_classes.getAlreadyCreatedClasses();\r\n  public getSheet = () => manage_sheet.getSheet();\r\n  /* Update */\r\n  public updateColor = (color: string, value: string) => manage_colors.updateColor(color, value);\r\n  public updateColors = (newColors: any) => manage_colors.updateColors(newColors);\r\n  public updateAbreviationsClass = (abreviationsClass: string, value: string) =>\r\n    manage_abreviations.updateAbreviationsClass(abreviationsClass, value);\r\n  public updateAbreviationsValue = (abreviationsValue: string, value: string) =>\r\n    manage_abreviations.updateAbreviationsValue(abreviationsValue, value);\r\n  public updateCombo = (combo: string, values: string[]) => manage_combos.updateCombo(combo, values);\r\n  public updateCssNamesParsed = (cssNameParsed: string, value: string) =>\r\n    manage_CSSNamesParsed.updateCssNamesParsed(cssNameParsed, value);\r\n  public updateClasses = (classesToUpdate: string[]) => manage_classes.updateClasses(classesToUpdate);\r\n  /* Delete */\r\n  public deleteColor = (color: string) => manage_colors.deleteColor(color);\r\n  public clearAllColors = () => manage_colors.clearAllColors();\r\n  /* Utility */\r\n  public changeImportantActive = (active: boolean) =>\r\n    utility_configurations.changeImportantActive((active = !this.importantActive));\r\n  public changeDebugOption = (active: boolean = !this.isDebug) => debugg_options.changeDebugOption(active);\r\n  public changeUseTimerOption = (active: boolean = !this.useTimer) => debugg_options.changeUseTimerOption(active);\r\n  public setTimeBetweenReCreate = (time: number) => debugg_options.setTimeBetweenReCreate(time);\r\n  public unbefysize = (value: string) => abreviation_traductors.unbefysize(value);\r\n  public befysize = (value: string) => abreviation_traductors.befysize(value);\r\n  public consoleLog = (\r\n    type: 'log' | 'info' | 'trace' | 'error' = 'log',\r\n    thing: any,\r\n    style: string = this.values.styleConsole,\r\n    line: string | null = null,\r\n    stoper: boolean = !this.values.isDebug\r\n  ) => console_log.consoleLog(type, thing, style, line, stoper);\r\n  public consoleParser = (config: IConsoleParser) => console_log.consoleParser(config);\r\n  /* ManagePartsNSectionsForLog */\r\n  public pushSection = (newSection: string) => managePartsSections.pushSection(newSection);\r\n  public pushPart = (newPart: string) => managePartsSections.pushPart(newPart);\r\n  public getChosenSectionsOptions = () => managePartsSections.getChosenSectionsOptions();\r\n  public getChosenSectionsOptionsSections = () => managePartsSections.getChosenSectionsOptionsSections();\r\n  public getChosenSectionsOptionsParts = () => managePartsSections.getChosenSectionsOptionsParts();\r\n  public getAllPosibleSections = () => managePartsSections.getAllPosibleSections();\r\n  public getAllPosibleParts = () => managePartsSections.getAllPosibleParts();\r\n  public changeSections = (newSections: TLogSectionOptions[]) => managePartsSections.changeSections(newSections);\r\n  public changeParts = (newParts: TLogPartsOptions[]) => managePartsSections.changeParts(newParts);\r\n  public deleteSection = (sectionToDelete: TLogSectionOptions) => managePartsSections.deleteSection(sectionToDelete);\r\n  public deletePart = (partToDelete: TLogPartsOptions) => managePartsSections.deletePart(partToDelete);\r\n}\r\n","import { Directive, Input, Output, EventEmitter } from '@angular/core';\r\n\r\n@Directive({\r\n    selector: '[befInit]',\r\n    standalone: false\r\n})\r\nexport class BefInitDirective {\r\n  @Input() exist!: boolean;\r\n\r\n  @Output('befInit') initEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n  ngOnInit() {\r\n    if (this.exist) {\r\n      setTimeout(() => this.initEvent.emit(), 10);\r\n    }\r\n  }\r\n}\r\n","/*\r\n * Public API Surface of ngx-bootstrap-expanded-features\r\n */\r\n\r\nexport * from './lib/ngx-bootstrap-expanded-features.service';\r\nexport * from './lib/bef-init.directive';\r\nexport * from './lib/interfaces';\r\nexport * from './lib/types';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["values","log","multiLog"],"mappings":";;;AAAO,MAAM,SAAS,GAAG;;AAEvB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,IAAI,EAAE,SAAS;;AAEf,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,MAAM,EAAE,SAAS;;AAEjB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,MAAM;;IAEb,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,SAAS;IACjB,OAAO,EAAE,SAAS;IAClB,QAAQ,EAAE,SAAS;IACnB,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,SAAS;AACf,IAAA,QAAQ,EAAE,kDAAkD;AAC5D,IAAA,WAAW,EAAE,+CAA+C;IAC5D,QAAQ,EAAE,SAAS;IACnB,MAAM,EAAE,SAAS;;AAEjB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;;AAEf,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,oBAAoB,EAAE,SAAS;AAC/B,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,gBAAgB,EAAE,SAAS;AAC3B,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,cAAc,EAAE,SAAS;AACzB,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,iBAAiB,EAAE,SAAS;AAC5B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,eAAe,EAAE,SAAS;AAC1B,IAAA,YAAY,EAAE,SAAS;AACvB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,aAAa,EAAE,SAAS;AACxB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,QAAQ,EAAE,SAAS;AACnB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,IAAI,EAAE,SAAS;AACf,IAAA,WAAW,EAAE,SAAS;AACtB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,OAAO,EAAE,SAAS;AAClB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,SAAS,EAAE,SAAS;AACpB,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,UAAU,EAAE,SAAS;AACrB,IAAA,WAAW,EAAE,SAAS;CACvB;;AC5LM,MAAM,cAAc,GAAG;;AAE5B,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,GAAG,EAAE,UAAU;AACf,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,GAAG,EAAE,QAAQ;AACb,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,GAAG,EAAE,OAAO;AACZ,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,SAAS;;AAEb,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,eAAe;;AAGnB,IAAA,GAAG,EAAE,uBAAuB;AAC5B,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,iBAAiB;AACtB,IAAA,GAAG,EAAE,gBAAgB;AACrB,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,gBAAgB;AACrB,IAAA,GAAG,EAAE,gBAAgB;;AAGrB,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,WAAW;AACjB,IAAA,IAAI,EAAE,YAAY;;AAGlB,IAAA,CAAC,EAAE,SAAS;AACZ,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,CAAC,aAAa,EAAE,gBAAgB,CAAC;AACrC,IAAA,EAAE,EAAE,CAAC,cAAc,EAAE,eAAe,CAAC;AACrC,IAAA,CAAC,EAAE,QAAQ;AACX,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,EAAE,EAAE,CAAC,YAAY,EAAE,eAAe,CAAC;AACnC,IAAA,EAAE,EAAE,CAAC,aAAa,EAAE,cAAc,CAAC;;AAGnC,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;AAChD,IAAA,GAAG,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AAChD,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,IAAI,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;AACjD,IAAA,IAAI,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AACjD,IAAA,YAAY,EAAE,kBAAkB;AAChC,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,YAAY,EAAE,mBAAmB;AACjC,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;AACzD,IAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AACzD,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,IAAI,EAAE,kBAAkB;AACxB,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,oBAAoB;AAC1B,IAAA,IAAI,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;AACjD,IAAA,IAAI,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AACjD,IAAA,YAAY,EAAE,kBAAkB;AAChC,IAAA,YAAY,EAAE,qBAAqB;AACnC,IAAA,YAAY,EAAE,mBAAmB;AACjC,IAAA,YAAY,EAAE,oBAAoB;AAClC,IAAA,YAAY,EAAE,CAAC,kBAAkB,EAAE,qBAAqB,CAAC;AACzD,IAAA,YAAY,EAAE,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;AACzD,IAAA,EAAE,EAAE,QAAQ;AACZ,IAAA,IAAI,EAAE,YAAY;AAClB,IAAA,IAAI,EAAE,eAAe;AACrB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,IAAI,EAAE,cAAc;;AAGpB,IAAA,OAAO,EAAE,eAAe;AACxB,IAAA,CAAC,EAAE,eAAe;AAClB,IAAA,EAAE,EAAE,CAAC,wBAAwB,EAAE,2BAA2B,CAAC;AAC3D,IAAA,EAAE,EAAE,CAAC,yBAAyB,EAAE,4BAA4B,CAAC;AAC7D,IAAA,EAAE,EAAE,CAAC,wBAAwB,EAAE,yBAAyB,CAAC;AACzD,IAAA,EAAE,EAAE,CAAC,2BAA2B,EAAE,4BAA4B,CAAC;AAC/D,IAAA,GAAG,EAAE,wBAAwB;AAC7B,IAAA,GAAG,EAAE,yBAAyB;AAC9B,IAAA,GAAG,EAAE,2BAA2B;AAChC,IAAA,GAAG,EAAE,4BAA4B;;AAGjC,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,CAAC,EAAE,MAAM;AACT,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,GAAG,EAAE,gBAAgB;AACrB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,GAAG,EAAE,iBAAiB;AACtB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,GAAG,EAAE,aAAa;;AAGlB,IAAA,IAAI,EAAE,OAAO;AACb,IAAA,CAAC,EAAE,OAAO;AACV,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,GAAG,EAAE,kBAAkB;;AAGvB,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,uBAAuB;AAC5B,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,iBAAiB;AACtB,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,IAAI,EAAE,iBAAiB;;AAGvB,IAAA,CAAC,EAAE,YAAY;AACf,IAAA,CAAC,EAAE,SAAS;;AAGZ,IAAA,EAAE,EAAE,UAAU;AACd,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,GAAG,EAAE,YAAY;;AAGjB,IAAA,GAAG,EAAE,QAAQ;;AAGb,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,GAAG,EAAE,iBAAiB;;AAGtB,IAAA,UAAU,EAAE,YAAY;AACxB,IAAA,EAAE,EAAE,qBAAqB;AACzB,IAAA,EAAE,EAAE,4BAA4B;AAChC,IAAA,EAAE,EAAE,qBAAqB;AACzB,IAAA,GAAG,EAAE,kBAAkB;;AAGvB,IAAA,EAAE,EAAE,WAAW;AACf,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,IAAI,EAAE,qBAAqB;AAC3B,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,GAAG,EAAE,gBAAgB;AACrB,IAAA,IAAI,EAAE,sBAAsB;AAC5B,IAAA,IAAI,EAAE,2BAA2B;AACjC,IAAA,IAAI,EAAE,iBAAiB;;AAGvB,IAAA,GAAG,EAAE,YAAY;;AAGjB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,GAAG,EAAE,eAAe;AACpB,IAAA,GAAG,EAAE,eAAe;AACpB,IAAA,GAAG,EAAE,eAAe;AACpB,IAAA,GAAG,EAAE,gBAAgB;;AAErB,IAAA,IAAI,EAAE,iBAAiB;AACvB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,IAAI,EAAE,YAAY;;AAGlB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,EAAE,EAAE,aAAa;;AAGjB,IAAA,GAAG,EAAE,SAAS;AACd,IAAA,CAAC,EAAE,QAAQ;;AAGX,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,EAAE,EAAE,mBAAmB;;AAEvB,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,GAAG,EAAE,mBAAmB;;AAExB,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,GAAG,EAAE,cAAc;AACnB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,mBAAmB;AACzB,IAAA,IAAI,EAAE,aAAa;AACnB,IAAA,GAAG,EAAE,aAAa;;AAGlB,IAAA,EAAE,EAAE,QAAQ;;AAGZ,IAAA,EAAE,EAAE,QAAQ;;AAGZ,IAAA,EAAE,EAAE,aAAa;;AAEjB,IAAA,GAAG,EAAE,gBAAgB;;AAGrB,IAAA,GAAG,EAAE,YAAY;;AAGjB,IAAA,EAAE,EAAE,gBAAgB;;AAGpB,IAAA,EAAE,EAAE,OAAO;AACX,IAAA,EAAE,EAAE,OAAO;;AAEX,IAAA,CAAC,EAAE,KAAK;AACR,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,YAAY;;AAGhB,IAAA,IAAI,EAAE,MAAM;AACZ,IAAA,EAAE,EAAE,WAAW;;AAGf,IAAA,GAAG,EAAE,sBAAsB;AAC3B,IAAA,GAAG,EAAE,uBAAuB;AAC5B,IAAA,GAAG,EAAE,uBAAuB;AAC5B,IAAA,GAAG,EAAE,2BAA2B;;AAGhC,IAAA,EAAE,EAAE,YAAY;AAChB,IAAA,EAAE,EAAE,iBAAiB;;AAGrB,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,EAAE,EAAE,kBAAkB;AACtB,IAAA,GAAG,EAAE,mBAAmB;;AAExB,IAAA,EAAE,EAAE,cAAc;AAClB,IAAA,IAAI,EAAE,gBAAgB;;AAGtB,IAAA,GAAG,EAAE,gBAAgB;;AAGrB,IAAA,GAAG,EAAE,WAAW;;AAGhB,IAAA,EAAE,EAAE,MAAM;AACV,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,GAAG,EAAE,eAAe;AACpB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,WAAW;AAChB,IAAA,GAAG,EAAE,WAAW;;AAGhB,IAAA,EAAE,EAAE,cAAc;;AAGlB,IAAA,GAAG,EAAE,SAAS;;AAGd,IAAA,EAAE,EAAE,aAAa;;AAEjB,IAAA,GAAG,EAAE,cAAc;;AAGnB,IAAA,GAAG,EAAE,YAAY;;AAGjB,IAAA,EAAE,EAAE,SAAS;AACb,IAAA,EAAE,EAAE,QAAQ;;AAGZ,IAAA,EAAE,EAAE,SAAS;;AAGb,IAAA,EAAE,EAAE,UAAU;;AAGd,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,sBAAsB;AAC3B,IAAA,GAAG,EAAE,oBAAoB;;AAGzB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,sBAAsB;AAC3B,IAAA,GAAG,EAAE,uBAAuB;AAC5B,IAAA,GAAG,EAAE,qBAAqB;;AAG1B,IAAA,GAAG,EAAE,aAAa;AAClB,IAAA,GAAG,EAAE,eAAe;AACpB,IAAA,GAAG,EAAE,YAAY;;AAGjB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,IAAI,EAAE,uBAAuB;AAC7B,IAAA,IAAI,EAAE,uBAAuB;;AAG7B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,wBAAwB;;AAG7B,IAAA,GAAG,EAAE,sBAAsB;;AAG3B,IAAA,GAAG,EAAE,kBAAkB;;AAGvB,IAAA,GAAG,EAAE,yBAAyB;AAC9B,IAAA,GAAG,EAAE,uBAAuB;;AAG5B,IAAA,EAAE,EAAE,cAAc;;AAGlB,IAAA,GAAG,EAAE,iBAAiB;;AAGtB,IAAA,GAAG,EAAE,kBAAkB;;AAGvB,IAAA,EAAE,EAAE,iBAAiB;;AAGrB,IAAA,EAAE,EAAE,mBAAmB;;AAGvB,IAAA,GAAG,EAAE,iBAAiB;;AAGtB,IAAA,EAAE,EAAE,aAAa;;AAGjB,IAAA,GAAG,EAAE,cAAc;;AAGnB,IAAA,GAAG,EAAE,YAAY;AACjB,IAAA,EAAE,EAAE,aAAa;AACjB,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,kBAAkB;AACvB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,qBAAqB;AAC1B,IAAA,GAAG,EAAE,mBAAmB;AACxB,IAAA,GAAG,EAAE,sBAAsB;AAC3B,IAAA,GAAG,EAAE,oBAAoB;;AAGzB,IAAA,EAAE,EAAE,gBAAgB;AACpB,IAAA,EAAE,EAAE,gBAAgB;;AAGpB,IAAA,EAAE,EAAE,SAAS;;AAGb,IAAA,EAAE,EAAE,iBAAiB;AACrB,IAAA,GAAG,EAAE,sBAAsB;AAC3B,IAAA,GAAG,EAAE,sBAAsB;;AAG3B,IAAA,EAAE,EAAE,eAAe;AACnB,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,oBAAoB;AACzB,IAAA,GAAG,EAAE,qBAAqB;;AAG1B,IAAA,EAAE,EAAE,oBAAoB;CACzB;;AC9ZM,MAAM,eAAe,GAAa;;IAEvC,eAAe;IACf,sBAAsB;IACtB,YAAY;IACZ,sBAAsB;IACtB,qBAAqB;IACrB,iBAAiB;IACjB,wBAAwB;;IAExB,aAAa;IACb,UAAU;;IAEV,WAAW;IACX,sBAAsB;IACtB,mBAAmB;IACnB,iBAAiB;IACjB,mBAAmB;;IAEnB,gBAAgB;IAChB,wBAAwB;IACxB,aAAa;IACb,aAAa;;IAEb,QAAQ;IACR,gBAAgB;IAChB,qBAAqB;IACrB,uBAAuB;;IAEvB,MAAM;IACN,qBAAqB;IACrB,WAAW;IACX,MAAM;IACN,GAAG;IACH,mBAAmB;IACnB,kBAAkB;IAClB,mBAAmB;IACnB,gBAAgB;IAChB,WAAW;IACX,aAAa;IACb,SAAS;IACT,OAAO;IACP,cAAc;IACd,KAAK;IACL,MAAM;IACN,UAAU;IACV,QAAQ;IACR,YAAY;IACZ,kBAAkB;IAClB,YAAY;IACZ,eAAe;IACf,iBAAiB;IACjB,eAAe;IACf,qBAAqB;IACrB,cAAc;IACd,2BAA2B;IAC3B,YAAY;;IAEZ,cAAc;IACd,SAAS;IACT,sBAAsB;IACtB,wCAAwC;IACxC,UAAU;IACV,iBAAiB;IACjB,SAAS;IACT,OAAO;IACP,gBAAgB;;IAEhB,IAAI;IACJ,gBAAgB;IAChB,mBAAmB;IACnB,iBAAiB;IACjB,WAAW;IACX,UAAU;;IAEV,IAAI;;IAEJ,OAAO;IACP,eAAe;;IAEf,OAAO;IACP,QAAQ;IACR,iBAAiB;;IAEjB,WAAW;IACX,gBAAgB;IAChB,QAAQ;;IAER,aAAa;IACb,SAAS;IACT,0BAA0B;IAC1B,aAAa;IACb,QAAQ;IACR,kBAAkB;IAClB,aAAa;IACb,oBAAoB;IACpB,cAAc;;IAEd,eAAe;IACf,iBAAiB;IACjB,aAAa;IACb,kBAAkB;IAClB,aAAa;IACb,SAAS;;IAET,QAAQ;IACR,OAAO;IACP,YAAY;;IAEZ,cAAc;IACd,aAAa;;IAEb,sBAAsB;IACtB,+BAA+B;IAC/B,4BAA4B;;IAE5B,OAAO;IACP,cAAc;IACd,MAAM;;IAEN,SAAS;;;IAGT,qBAAqB;IACrB,oBAAoB;;IAEpB,KAAK;;;;IAIL,gBAAgB;;IAEhB,OAAO;;IAEP,QAAQ;IACR,cAAc;IACd,SAAS;IACT,SAAS;IACT,MAAM;IACN,QAAQ;CACA;AACH,MAAM,kBAAkB,GAAuB,eAAe,CAAC,GAAG,CACvE,CAAC,IAAI,KAAK,IAAwB,CACb;AAChB,MAAM,kBAAkB,GAAa;;IAE1C,WAAW;IACX,YAAY;IACZ,wBAAwB;IACxB,aAAa;IACb,sBAAsB;IACtB,aAAa;IACb,oBAAoB;IACpB,oBAAoB;IACpB,YAAY;IACZ,cAAc;IACd,kBAAkB;;IAElB,uBAAuB;;IAEvB,gBAAgB;;IAEhB,gBAAgB;;IAEhB,YAAY;;IAEZ,yBAAyB;;IAEzB,cAAc;;IAEd,gBAAgB;;IAEhB,qBAAqB;;IAErB,gBAAgB;;IAEhB,kBAAkB;;IAElB,iBAAiB;;IAEjB,oBAAoB;;IAEpB,WAAW;;IAEX,eAAe;;IAEf,cAAc;;IAEd,sBAAsB;;IAEtB,aAAa;;IAEb;CACQ;AACH,MAAM,qBAAqB,GAChC,kBAAkB,CAAC,GAAG,CACpB,CAAC,OAAO,KAAK,OAA6B,CACnB;AACpB,MAAM,2BAA2B,GAA6B;AACnE,IAAA,QAAQ,EAAE,qBAA6C;AACvD,IAAA,KAAK,EAAE,kBAAwC;CAChD;;AC/MM,MAAM,kCAAkC,GAAG;;AAE9C,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;;AAGf,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,cAAc;;AAGrB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,gBAAgB;AACvB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,cAAc;;AAGrB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,QAAQ;;AAGf,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,OAAO,EAAK,KAAK,EAAE,OAAO;AACjC,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;;AAGhB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,KAAK,EAAE,eAAe;;AAGtB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;;AAGf,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,iBAAiB;AACxB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;;AAGjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,OAAO;;AAGd,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,eAAe;AACtB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,cAAc;AACrB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;;AAGb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,mBAAmB;AAC1B,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,QAAQ;;AAGf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;;AAEb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,cAAc;;AAGrB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,YAAY;;AAGnB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,MAAM;;AAGb,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,YAAY;;AAEnB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,MAAM;;AAGb,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,UAAU;;AAGjB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,MAAM;;AAGb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,MAAM;;AAGb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,UAAU;;AAGjB,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,cAAc;;AAGrB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,OAAO;;AAGd,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,UAAU;AACjB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,QAAQ;AACf,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,aAAa;AACpB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,WAAW;AAClB,IAAA,KAAK,EAAE,KAAK;AACZ,IAAA,KAAK,EAAE,YAAY;AACnB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,YAAY;;AAGnB,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE,SAAS;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,MAAM;AACb,IAAA,KAAK,EAAE;CACV;;AC7QD;MAaa,eAAe,CAAA;AAkX1B,IAAA,WAAA,GAAA;QAhXO,IAAc,CAAA,cAAA,GAAW,KAAK;QAC9B,IAAM,CAAA,MAAA,GAA8B,SAAS;QAC7C,IAAU,CAAA,UAAA,GAAa,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;AAE/C,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,MAAM,CACtC,+EAA+E,CAChF;QACM,IAAmB,CAAA,mBAAA,GAA8B,EAAE;AACnD,QAAA,IAAA,CAAA,uBAAuB,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACrF,IAAkB,CAAA,kBAAA,GAA8B,EAAE;AAClD,QAAA,IAAA,CAAA,sBAAsB,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACnF,IAAM,CAAA,MAAA,GAAgC,EAAE;AACxC,QAAA,IAAA,CAAA,UAAU,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3D,IAAa,CAAA,aAAA,GAA8B,EAAE;AAC7C,QAAA,IAAA,CAAA,iBAAiB,GAAgB,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACzE,IAAY,CAAA,YAAA,GAAY,IAAI;QAC5B,IAAsB,CAAA,sBAAA,GAAW,KAAK;QACtC,IAA6B,CAAA,6BAAA,GAAW,QAAQ;QAChD,IAAc,CAAA,cAAA,GAAyC,cAAc;AACrE,QAAA,IAAA,CAAA,qBAAqB,GAAgB,IAAI,GAAG,EAAE;QAG9C,IAAO,CAAA,OAAA,GAAY,KAAK;AACxB,QAAA,IAAA,CAAA,GAAG,GAAW;AACnB,YAAA;AACE,gBAAA,EAAE,EAAE,IAAI;AACR,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,IAAI;AACR,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,IAAI;AACR,gBAAA,KAAK,EAAE,OAAO;AACd,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,IAAI;AACR,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;AACD,YAAA;AACE,gBAAA,EAAE,EAAE,KAAK;AACT,gBAAA,KAAK,EAAE,QAAQ;AACf,gBAAA,YAAY,EAAE,EAAE;AACjB,aAAA;SACF;AACM,QAAA,IAAA,CAAA,WAAW,GAAgB,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;AACnE,QAAA,IAAA,CAAA,iBAAiB,GAAa;YACnC,EAAE;YACF,MAAM;YACN,WAAW;AACX,YAAA,aAAa,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK;AAC3C,YAAA,GAAG,GAAG,IAAI,CAAC,cAAc,GAAG,KAAK;SAClC;QACM,IAAQ,CAAA,QAAA,GAAY,KAAK;QACzB,IAAkB,CAAA,kBAAA,GAAW,mBAAmB;QAChD,IAA4B,CAAA,4BAAA,GAAW,8BAA8B;QACrE,IAAS,CAAA,SAAA,GAAW,KAAK;QACzB,IAAO,CAAA,OAAA,GAAW,QAAQ;;AAE1B,QAAA,IAAA,CAAA,YAAY,GAAW,CAAqC,iCAAA,EAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,CAAa,SAAA,EAAA,IAAI,CAAC,MAAM,CAAC,YAAY,CAAE,GAAG;;AAE3H,QAAA,IAAA,CAAA,aAAa,GAAa;YAC/B,QAAQ;YACR,SAAS;YACT,UAAU;YACV,OAAO;YACP,SAAS;YACT,SAAS;YACT,SAAS;YACT,SAAS;YACT,KAAK;YACL,UAAU;YACV,OAAO;YACP,SAAS;YACT,OAAO;YACP,YAAY;YACZ,aAAa;YACb,OAAO;YACP,cAAc;YACd,aAAa;YACb,YAAY;YACZ,QAAQ;YACR,KAAK;YACL,MAAM;YACN,OAAO;YACP,SAAS;YACT,eAAe;YACf,SAAS;YACT,IAAI;YACJ,MAAM;YACN,WAAW;YACX,YAAY;YACZ,MAAM;YACN,MAAM;YACN,WAAW;YACX,OAAO;YACP,OAAO;YACP,KAAK;YACL,UAAU;YACV,cAAc;YACd,eAAe;YACf,WAAW;YACX,WAAW;YACX,YAAY;YACZ,UAAU;YACV,YAAY;YACZ,MAAM;YACN,QAAQ;YACR,kBAAkB;YAClB,kBAAkB;YAClB,SAAS;YACT,aAAa;YACb,UAAU;YACV,WAAW;YACX,UAAU;YACV,OAAO;YACP,MAAM;YACN,OAAO;YACP,SAAS;YACT,SAAS;YACT,QAAQ;YACR,cAAc;YACd,aAAa;YACb,WAAW;YACX,OAAO;YACP,SAAS;YACT,cAAc;YACd,OAAO;SACR;QACM,IAAc,CAAA,cAAA,GAAgB,IAAI,GAAG,CAAC;YAC3C,KAAK;YACL,KAAK;YACL,MAAM;YACN,KAAK;YACL,MAAM;YACN,IAAI;YACJ,UAAU;YACV,cAAc;YACd,eAAe;YACf,WAAW;YACX,MAAM;YACN,SAAS;YACT,OAAO;AACR,SAAA,CAAC;AACK,QAAA,IAAA,CAAA,cAAc,GAAa;YAChC,OAAO;YACP,UAAU;YACV,QAAQ;YACR,KAAK;YACL,WAAW;YACX,oBAAoB;YACpB,aAAa;YACb,WAAW;YACX,cAAc;YACd,WAAW;YACX,QAAQ;YACR,MAAM;YACN,aAAa;YACb,WAAW;YACX,SAAS;YACT,eAAe;YACf,YAAY;YACZ,gBAAgB;YAChB,qBAAqB;YACrB,yBAAyB;YACzB,mBAAmB;YACnB,mBAAmB;SACpB;QACM,IAAO,CAAA,OAAA,GAAc,EAAE;QACvB,IAAe,CAAA,eAAA,GAAgB,IAAI,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QACzD,IAAe,CAAA,eAAA,GAAY,KAAK;AAChC,QAAA,IAAA,CAAA,qBAAqB,GAA4B;AACtD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,iBAAiB,EAAE,cAAc;AACjC,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,UAAU;AAC7B,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,CAAG,CAAA,CAAA;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,CAAG,CAAA,CAAA;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,MAAM;AACnB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,OAAO;AAC1B,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,MAAM;AACnB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,OAAO;AAC1B,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,QAAQ;AAC3B,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,MAAM;AACzB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,GAAG;AAChB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,IAAI;AACvB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,OAAO;AACpB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,iBAAiB,EAAE,QAAQ;AAC3B,gBAAA,gBAAgB,EAAE,UAAU;AAC7B,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,WAAW;AAC9B,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,MAAM;AACnB,gBAAA,UAAU,EAAE,KAAK;AACjB,gBAAA,iBAAiB,EAAE,OAAO;AAC1B,gBAAA,gBAAgB,EAAE,UAAU;AAC7B,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,IAAI;AACjB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,KAAK;AACxB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,KAAK;AACxB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;AACD,YAAA;AACE,gBAAA,WAAW,EAAE,KAAK;AAClB,gBAAA,UAAU,EAAE,GAAG;AACf,gBAAA,iBAAiB,EAAE,MAAM;AACzB,gBAAA,gBAAgB,EAAE,IAAI;AACvB,aAAA;SACF;AACM,QAAA,IAAA,CAAA,cAAc,GAGjB;YACA,UAAU,EAAE,IAAI,GAAG,EAAkD;YACrE,UAAU,EAAE,IAAI,GAAG,EAA2D;SAC/E;;QAEI,IAAQ,CAAA,QAAA,GAAY,KAAK;AACzB,QAAA,IAAA,CAAA,oBAAoB,GAAW,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE;QACnD,IAAe,CAAA,eAAA,GAAW,CAAC;QAC3B,IAAmB,CAAA,mBAAA,GAAW,GAAG;AACjC,QAAA,IAAA,CAAA,sBAAsB,GAAW,IAAI,CAAC,GAAG,EAAE;QAC3C,IAAiB,CAAA,iBAAA,GAAY,KAAK;QAClC,IAAY,CAAA,YAAA,GAAyC,IAAI;;QAEzD,IAAoB,CAAA,oBAAA,GAAY,IAAI;QACpC,IAAiB,CAAA,iBAAA,GAAY,KAAK;;QAElC,IAAkC,CAAA,kCAAA,GAA8B,kCAAkC;QAClG,IAAwC,CAAA,wCAAA,GAAa,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,CAAC;;QAE3G,IAAoB,CAAA,oBAAA,GAA6B,2BAA2B;;QAE5E,IAAW,CAAA,WAAA,GAAY,IAAI;QAC3B,IAAS,CAAA,SAAA,GAAW,IAAI;AACxB,QAAA,IAAA,CAAA,mBAAmB,GAAwB,IAAI,GAAG,EAAE;AACpD,QAAA,IAAA,CAAA,WAAW,GAAwB,IAAI,GAAG,EAAE;AAC5C,QAAA,IAAA,CAAA,cAAc,GAAwB,IAAI,GAAG,EAAE;AAC/C,QAAA,IAAA,CAAA,gBAAgB,GAAwB,IAAI,GAAG,EAAE;AACjD,QAAA,IAAA,CAAA,qBAAqB,GAAwB,IAAI,GAAG,EAAE;AACtD,QAAA,IAAA,CAAA,UAAU,GAAwB,IAAI,GAAG,EAAE;AAC3C,QAAA,IAAA,CAAA,aAAa,GAAyB,IAAI,GAAG,EAAE;AAC/C,QAAA,IAAA,CAAA,mBAAmB,GAAwB,IAAI,GAAG,EAAE;AACpD,QAAA,IAAA,CAAA,iBAAiB,GAAwB,IAAI,GAAG,EAAE;AAClD,QAAA,IAAA,CAAA,eAAe,GAOlB,IAAI,GAAG,EAAE;AACN,QAAA,IAAA,CAAA,yBAAyB,GAA0B,IAAI,GAAG,EAAE;AAC5D,QAAA,IAAA,CAAA,gBAAgB,GAA0B,IAAI,GAAG,EAAE;AACnD,QAAA,IAAA,CAAA,uBAAuB,GAA0B,IAAI,GAAG,EAAE;;AAE1D,IAAA,OAAO,WAAW,GAAA;AACvB,QAAA,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE;AAC7B,YAAA,eAAe,CAAC,QAAQ,GAAG,IAAI,eAAe,EAAE;AAChD,YAAA,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;;QAEtB,OAAO,eAAe,CAAC,QAAQ;;IAE1B,IAAI,GAAA;AACT,QAAA,IAAI,CAAC,cAAc,GAAG,CAAC,MAAK;AAC1B,YAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAAkD;AAC5E,YAAA,MAAM,UAAU,GAAG,IAAI,GAAG,EAA2D;AACrF,YAAA,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,qBAAqB,EAAE;;AAE5C,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE;oBAC9B,KAAK,EAAE,GAAG,CAAC,iBAAiB;oBAC5B,WAAW,EAAE,GAAG,CAAC,UAAU;AAC5B,iBAAA,CAAC;;AAGF,gBAAA,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE;oBAC7B,KAAK,EAAE,GAAG,CAAC,gBAAgB;oBAC3B,WAAW,EAAE,GAAG,CAAC,WAAW;AAC7B,iBAAA,CAAC;;YAEJ,OAAO;gBACL,UAAU;gBACV,UAAU;aACX;SACF,GAAG;;AAEP;;AC9ZD;AAMA,SAAS,aAAa,GAAA;AACpB,IAAA,IAAI,KAAK;AACT,IAAA,IAAI;AACF,QAAA,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;;IACnB,OAAO,KAAU,EAAE;AACnB,QAAA,KAAK,GAAG,KAAK,CAAC,KAAK,IAAI,EAAE;;AAE3B,IAAA,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAS,KAAI;AAC1C,QAAA,OAAO,IAAI,CAAC,IAAI,EAAE;AACpB,KAAC,CAAC;AACF,IAAA,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;AAClD;AACA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AACtD,MAAM,WAAW,GAAG;IACzB,WAAW,CACT,OAA2B,EAC3B,KAAU,EACV,IAAuB,EACvB,KAAc,EACd,MAAgB,EAAA;QAEhB,IACEA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC;aACrD,CAAC,IAAI,IAAIA,QAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAqB,CAAC,CAAC,EAC7F;YACA,IAAI,CAAC,aAAa,CAAC;AACjB,gBAAA,IAAI,EAAE,MAAM;AACZ,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,IAAI,EAAE,IAAI,GAAG,CAAA,EAAG,OAAO,CAAA,CAAA,EAAI,IAAI,CAAA,CAAE,GAAG,OAAO,KAAK,KAAK,QAAQ,GAAG,CAAG,EAAA,OAAO,CAAI,CAAA,EAAA,KAAK,CAAE,CAAA,GAAG,SAAS;AACjG,gBAAA,kBAAkB,EAAE,KAAK;gBACzB,KAAK,EAAE,KAAK,GAAG,KAAK,GAAGA,QAAM,CAAC,YAAY;AAC1C,gBAAA,MAAM,EAAE,MAAM,KAAK,SAAS,GAAG,MAAM,GAAG,CAACA,QAAM,CAAC,OAAO;AACxD,aAAA,CAAC;;KAEL;AACD,IAAA,gBAAgB,CACd,OAA2B,EAC3B,KAAiC,EACjC,KAAc,EACd,MAAgB,EAAA;QAEhB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,KAAI;AAC9B,YAAA,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC;AACvD,SAAC,CAAC;KACH;AACD,IAAA,UAAU,CACR,IAA2C,GAAA,KAAK,EAChD,KAAU,EACV,QAAgBA,QAAM,CAAC,YAAY,EACnC,OAAsB,IAAI,EAC1B,SAAkB,CAACA,QAAM,CAAC,OAAO,EAAA;QAEjC,IAAI,CAAC,aAAa,CAAC;AACjB,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,IAAI,EAAE,IAAI;AACV,YAAA,MAAM,EAAE,MAAM;AACf,SAAA,CAAC;KACH;AACD,IAAA,aAAa,CAAC,MAAsB,EAAA;QAClC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,GAAG,MAAM,CAAC,MAAM,GAAG,CAACA,QAAM,CAAC,OAAO;AAC7E,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE;AACtD,YAAA,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK;AAC/C,YAAA,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,GAAGA,QAAM,CAAC,YAAY;AAChE,YAAA,MAAM,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,GAAG,MAAM,CAAC,kBAAkB,GAAG,IAAI;AACtG,YAAA,MAAM,WAAW,GAAG,OAAO,MAAM,CAAC,KAAK;AACvC,YAAA,MAAM,QAAQ,GAAG,WAAW,KAAK,QAAQ;AACzC,YAAA,IAAI,MAAM,CAAC,IAAI,EAAE;AACf,gBAAA,IAAI,UAAU,GAAG,MAAM,CAAC,IAAI;gBAC5B,IACE,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;qBAC1C,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,GAAG,EAAE,CAAC,EACjF;oBACA,UAAU,GAAG,MAAM,CAAC,IAAI,GAAG,KAAK,GAAG,MAAM,CAAC,KAAK;;AAEjD,gBAAA,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC7C,oBAAA,OAAO,CAAC,cAAc,CAAC,IAAI,GAAG,QAAQ,GAAG,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC;;qBAC7D;AACL,oBAAA,OAAO,CAAC,IAAI,CAAC,UAAU,GAAG,UAAU,GAAG,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC;;;YAG/D,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,kBAAkB,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC9F,gBAAA,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,IAAI,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;;YAErG,IAAI,QAAQ,EAAE;AACZ,gBAAA,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC;;AAE3B,YAAA,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;gBAC5D,OAAO,CAAC,cAAc,CAAC,IAAI,GAAG,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;;AAEvD,YAAA,MAAM,UAAU,GAAG,aAAa,EAAE;AAClC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3B,gBAAA,OAAO,CAAC,IAAI,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC;;YAElD,OAAO,CAAC,KAAK,EAAE;YACf,OAAO,CAAC,QAAQ,EAAE;;KAErB;CACF;;ACzGD;AAMA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC;AAC9D,CAAC;AACM,MAAM,sBAAsB,GAAG;AACpC;;;;;;;;;;;;;;;AAeG;AACH,IAAA,oBAAoB,CAAC,KAAa,EAAE,IAAA,GAA8B,SAAS,EAAA;AACzE,QAAAA,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,OAAO,CAAC;YAChB,CAAC,IAAI,EAAE,MAAM,CAAC;AACf,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,KAAK,IAAI,KAAK,KAAK,EAAE,EAAE;AAC1B,YAAA,OAAO,KAAK;;AAGd,QAAAD,KAAG,CAAC,KAAK,EAAE,kCAAkC,CAAC;;QAG9C,MAAM,aAAa,GAAG,IAAI,KAAK,SAAS,GAAGD,QAAM,CAAC,cAAc,CAAC,UAAU,GAAGA,QAAM,CAAC,cAAc,CAAC,UAAU;AAC9G,QAAAC,KAAG,CAAC,aAAa,EAAE,eAAe,CAAC;QAEnC,IAAI,MAAM,GAAG,KAAK;QAClB,IAAI,UAAU,GAAG,KAAK;;QAGtB,KAAK,MAAM,CAAC,GAAG,EAAE,UAAU,CAAC,IAAI,aAAa,EAAE;;YAE7C,IAAI,IAAI,KAAK,SAAS,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;gBAC7E,MAAM,cAAc,GAAG,MAAM;AAC7B,gBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,UAAU,CAAC,WAAqB,CAAC;;AAG3E,gBAAA,IAAI,cAAc,KAAK,MAAM,EAAE;oBAC7B,UAAU,GAAG,IAAI;;;AAInB,gBAAA,UAAU,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC;;;QAIlC,IAAI,UAAU,EAAE;AACd,YAAAA,KAAG,CAAC,MAAM,EAAE,iCAAiC,CAAC;;AAGhD,QAAA,OAAO,MAAM;KACd;AAED,IAAA,UAAU,CAAC,KAAa,EAAA;QACtB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC;KACnD;AAED,IAAA,QAAQ,CAAC,KAAa,EAAA;QACpB,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,SAAS,CAAC;KACnD;CACF;;AClFD;AAMA,MAAMD,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC;AACrD,CAAC;AACM,MAAM,YAAY,GAAG;IAC1B,SAAS,EAAE,CAAa,QAAgB,EAAE,KAAoB,EAAE,QAAkB,KAAmB;QACnG,MAAM,cAAc,GAAmBF,QAAM,CAAC,GAAG,KAAK,CAAA,KAAA,CAAO,CAAmB;QAChF,IAAI,MAAM,GAAkB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;QACxD,IAAI,MAAM,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,EAAE;YAClD,MAAM,GAAG,QAAQ,EAAE;YACnB,YAAY,CAAC,SAAS,CAAI,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;;AAEpD,QAAA,OAAO,MAAM;KACd;IAED,iBAAiB,EAAE,OACjB,QAAgB,EAChB,KAA4B,EAC5B,QAA0B,KACZ;QACd,MAAM,cAAc,GAAmBA,QAAM,CAAC,GAAG,KAAK,CAAA,KAAA,CAAO,CAAmB;QAChF,IAAI,MAAM,GAAkB,cAAc,CAAC,GAAG,CAAC,QAAQ,CAAC;AACxD,QAAA,IAAI,MAAM,KAAK,SAAS,EAAE;AACxB,YAAA,MAAM,GAAG,MAAM,QAAQ,EAAE;YACzB,YAAY,CAAC,SAAS,CAAI,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC;;AAEpD,QAAA,OAAO,MAAM;KACd;IAED,SAAS,EAAE,CAAI,QAAgB,EAAE,KAA4C,EAAE,MAAS,KAAU;QAChG,MAAM,cAAc,GAAmBA,QAAM,CAAC,GAAG,KAAK,CAAA,KAAA,CAAO,CAAmB;QAChF,IAAI,cAAc,CAAC,IAAI,IAAIA,QAAM,CAAC,SAAS,EAAE;AAC3C,YAAA,YAAY,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,IAAG;AACtC,gBAAA,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAACA,QAAM,CAAC,SAAS,GAAG,CAAC,CAAC,EAAE;oBAC/D,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE;;gBAE1C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE;AAC1C,aAAC,CAAC;;AAEJ,QAAA,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,MAAM,CAAC;KACrC;AACD,IAAA,YAAY,EAAE,CACZ,KAA4C,EAC5C,EAKa,KACL;QACR,MAAM,cAAc,GAAmBA,QAAM,CAAC,GAAG,KAAK,CAAA,KAAA,CAAO,CAAmB;QAChF,MAAM,YAAY,GAAa,EAAE;QACjC,MAAM,kBAAkB,GAAa,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;AACtE,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAClD,YAAA,MAAM,YAAY,GAAW,kBAAkB,CAAC,CAAC,CAAC;YAClD,MAAM,YAAY,GAAG,cAAc,CAAC,GAAG,CAAC,YAAY,CAAM;AAC1D,YAAA,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GACxB,EAAE,CAAC;AACD,gBAAA,GAAG,EAAE,YAAY;AACjB,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,OAAO,EAAE,YAAY;aACtB,CAAC,IAAI,EAAE;YACV,IAAI,UAAU,EAAE;AACd,gBAAA,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC;;YAEjC,IAAI,IAAI,EAAE;gBACR;;;AAGJ,QAAA,YAAY,CAAC,OAAO,CAAC,GAAG,IAAI,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KACxD;AACD,IAAA,WAAW,EAAE,CAAC,KAA4C,KAAU;QAClEA,QAAM,CAAC,GAAG,KAAK,CAAA,KAAA,CAAO,CAAC,CAAC,KAAK,EAAE;KAChC;IACD,qBAAqB,EAAE,MAAW;AAChC,QAAA,MAAM,WAAW,GAA8C;YAC7D,gBAAgB;YAChB,aAAa;YACb,OAAO;YACP,WAAW;YACX,UAAU;YACV,gBAAgB;YAChB,cAAc;YACd,kBAAkB;YAClB,YAAY;YACZ,sBAAsB;YACtB,aAAa;YACb,oBAAoB;SACrB;AACD,QAAA,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE;AAC7B,YAAA,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC;;KAEhC;CACF;;ACtGD;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACvD,CAAC;AACD;;;;;;;;;;;;;;;;;;AAkBG;AACI,MAAM,eAAe,GAAG;AAC7B;;;;;;;;;;;;;;;;;;;AAmBG;AACH,IAAA,UAAU,CAAC,KAAa,EAAA;AACtB,QAAA,IAAI;YACF,MAAM,eAAe,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE;;AAGlD,YAAA,IAAIF,QAAM,CAAC,WAAW,EAAE;gBACtB,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,gBAAgB,CAAC;gBAC9E,IAAI,YAAY,EAAE;AAChB,oBAAA,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAa;;;YAI/C,IAAI,GAAG,GAAa,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;AAGhC,YAAA,IAAIA,QAAM,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE;;AAElC,gBAAA,GAAG,GAAG,IAAI,CAAC,UAAU,CAACA,QAAM,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;;AAChD,iBAAA,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AAC5C,gBAAA,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC;;AAC/B,iBAAA,IAAI,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;AAC1C,gBAAA,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;;AAC9C,iBAAA,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AAC5C,gBAAA,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;;AAC9C,iBAAA,IAAI,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;AAC5C,gBAAA,GAAG,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;;;AAIrD,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;AACtB,gBAAA,YAAY,CAAC,SAAS,CAAC,eAAe,EAAE,gBAAgB,EAAE,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;;AAEhF,YAAA,OAAO,GAAG;;QACV,OAAO,KAAK,EAAE;AACd,YAAA,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;YAClE,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;KAEtB;AAED;;;;;;;;;;;;AAYG;IACH,SAAS,CAAC,GAAa,EAAE,KAAa,EAAA;AACpC,QAAA,OAAO,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,EAAI,GAAG,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,KAAK,GAAG;KACtD;AACD;;;;;;;;;;;;;;;;AAgBG;AACH,IAAA,QAAQ,CAAC,IAAY,EAAA;;QAEnB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC;QACvC,IAAI,CAAC,KAAK,EAAE;AACV,YAAA,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;YAC9E,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;;QAErB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;QACjC,MAAM,MAAM,GAAa,EAAE;AAC3B,QAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;AAC9C,YAAA,IAAI,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;AACxC,YAAA,IAAI,CAAC,KAAK,CAAC,EAAE;AACX,gBAAA,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC;;AAElC,YAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;;AAErB,QAAA,OAAO,MAAM;KACd;AACD;;;;;;;;;;;;;;;;;;;AAmBG;AACH,IAAA,QAAQ,CAAC,GAAW,EAAA;QAClB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;AACpC,QAAA,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM;AAE7B,QAAA,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAClC,YAAA,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE;AAC9B,gBAAA,aAAa,EAAE,kBAAkB;gBACjC,GAAG;AACJ,aAAA,CAAC;YACF,OAAO,cAAc,CAAC;;QAGxB,IAAI,GAAG,GAAa,EAAE;QAEtB,IAAI,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC,EAAE;;AAEhC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,gBAAA,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC;AACvB,gBAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,GAAG,IAAI,EAAE,EAAE,CAAC,CAAC;;;aAEhC;;AAEL,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;AAClC,gBAAA,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;;;;QAKhD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,MAAM,KAAK,CAAC;AAC7C,QAAA,OAAO,QAAQ,GAAG,QAAQ,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,GAAG,CAAC,CAAC,CAAC,CAAA,CAAA,CAAG,GAAG,CAAO,IAAA,EAAA,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;KAC3F;AACD;;;;;;;;;;;;;;;;;AAiBG;AACH,IAAA,QAAQ,CAAC,GAAW,EAAA;;QAElB,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;YACxC,OAAO,cAAc,CAAC;;;QAIxB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;AACtC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,cAAc;QAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,OAAO,cAAc;;AAG5C,QAAA,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;QAC9C,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACvD,MAAM,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACvD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;;AAG3D,QAAA,IAAI,CAAC,KAAK,CAAC,EAAE;YACX,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;YAChC,OAAO,KAAK,KAAK,SAAS,GAAG,CAAQ,KAAA,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,CAAI,CAAA,EAAA,IAAI,IAAI,KAAK,CAAA,CAAA,CAAG,GAAG,CAAA,IAAA,EAAO,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG;;;QAIxG,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;AAC/C,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAEnB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;AAC1D,QAAA,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QAClD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC;QAE1D,OAAO,KAAK,KAAK,SAAS,GAAG,CAAQ,KAAA,EAAA,CAAC,CAAI,CAAA,EAAA,CAAC,CAAI,CAAA,EAAA,CAAC,IAAI,KAAK,CAAA,CAAA,CAAG,GAAG,CAAA,IAAA,EAAO,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,EAAI,CAAC,CAAA,CAAA,CAAG;KACrF;AAED;;;;;;;;;;;;AAYG;AACH,IAAA,QAAQ,CAAC,CAAS,EAAE,CAAS,EAAE,CAAS,EAAA;QACtC,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,IAAI,CAAC;QACjB,IAAI,CAAC,GAAG,CAAC;YAAE,CAAC,IAAI,CAAC;AACjB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;AACzC,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,CAAC;AACvB,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;AAAE,YAAA,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;AACnD,QAAA,OAAO,CAAC;KACT;AACD;;;;;;;;;;;;;;;;;AAiBG;AACH,IAAA,QAAQ,CAAC,GAAW,EAAA;;QAElB,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC;AACtC,QAAA,IAAI,CAAC,KAAK;AAAE,YAAA,OAAO,cAAc;QAEjC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACrD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC;AAAE,YAAA,OAAO,cAAc;;AAG5C,QAAA,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC;QAC5C,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACrD,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC;QACrD,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,SAAS;;AAG3D,QAAA,MAAM,KAAK,GAAG,CAAC,GAAG,CAAC;AACnB,QAAA,IAAI,KAAK,GAAG,CAAC,EAAE;YACb,CAAC,IAAI,KAAK;YACV,CAAC,IAAI,KAAK;;;QAIZ,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAC3B,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC;AACf,QAAA,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC;QAEjB,IAAI,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,EAAE;AACpB,YAAA,CAAC,GAAG,CAAC,GAAG,CAAC;;AAGX,QAAA,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAE1B,QAAA,IAAI,CAAS,EAAE,CAAS,EAAE,EAAU;;AAGpC,QAAA,QAAQ,CAAC,GAAG,CAAC;AACX,YAAA,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;AACF,YAAA,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;AACF,YAAA,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;AACF,YAAA,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;AACF,YAAA,KAAK,CAAC;gBACJ,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;AACF,YAAA,KAAK,CAAC;AACN,YAAA;gBACE,CAAC,GAAG,CAAC;gBACL,CAAC,GAAG,CAAC;gBACL,EAAE,GAAG,CAAC;gBACN;;;QAIJ,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;QACjC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,CAAC;QAEjC,OAAO,KAAK,KAAK,SAAS,GAAG,CAAQ,KAAA,EAAA,GAAG,CAAI,CAAA,EAAA,KAAK,CAAI,CAAA,EAAA,IAAI,IAAI,KAAK,CAAA,CAAA,CAAG,GAAG,CAAA,IAAA,EAAO,GAAG,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,IAAI,CAAA,CAAA,CAAG;KACvG;AACD;;;;;;;;;;;;;;;;;;;;AAoBG;IACH,cAAc,CAAC,GAAa,EAAE,OAAe,EAAA;;AAE3C,QAAA,MAAM,gBAAgB,GAAG,CAAC,KAAa,EAAE,OAAe,KAAY;;AAElE,YAAA,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,EAAE,CAAC;AAC1C,YAAA,IAAI,KAAK,KAAK,GAAG,IAAI,OAAO,GAAG,CAAC;gBAAE,OAAO,GAAG,CAAC;;AAG7C,YAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,KAAK,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI,GAAG,CAAC;;AAG5D,YAAA,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;AAC7C,SAAC;QAED,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG;QACxB,MAAM,WAAW,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,EAAE,gBAAgB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;;AAG9G,QAAA,IAAI,CAAC,KAAK,SAAS,EAAE;;YAEnB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,GAAG,CAAC;AAC3E,YAAA,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;;AAG9B,QAAA,OAAO,WAAW;KACnB;AAED;;;;;;;;;;;;;;;;;;;AAmBG;IACH,cAAc,CAAC,KAAa,EAAE,OAAe,EAAA;AAC3C,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACxD,YAAAC,KAAG,CAAC,YAAY,EAAE,cAAc,CAAC;YAEjC,IAAI,YAAY,EAAE;gBAChB,IAAI,MAAM,GAAG,KAAK;;AAElB,gBAAA,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;AAClC,oBAAAA,KAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC;AACrD,oBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAC7E,oBAAAA,KAAG,CAAC,MAAM,EAAE,0CAA0C,CAAC;;AAEzD,gBAAAA,KAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC;AACjD,gBAAA,OAAO,MAAM;;AAEf,YAAA,OAAO,KAAK;;;QAId,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;AACxC,QAAAC,UAAQ,CAAC;YACP,CAAC,SAAS,EAAE,aAAa,CAAC;AAC1B,YAAA,CAAC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACzC,SAAA,CAAC;;AAGF,QAAA,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,YAAA,SAAS,CAAC,CAAC,CAAC,GAAG,OAAO;;aACjB;AACL,YAAA,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC;;QAGzB,OAAO,CAAA,KAAA,EAAQ,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;KACtC;AAED;;;;;;;;;;;;;;;;;;;AAmBG;IACH,2BAA2B,CAAC,SAAiB,EAAE,KAAa,EAAA;AAC1D,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;YAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC;AACxD,YAAAD,KAAG,CAAC,YAAY,EAAE,cAAc,CAAC;YAEjC,IAAI,YAAY,EAAE;gBAChB,IAAI,MAAM,GAAG,KAAK;;AAElB,gBAAA,KAAK,IAAI,CAAC,GAAG,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AACjD,oBAAA,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC;AAClC,oBAAAA,KAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC;AACrD,oBAAA,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,2BAA2B,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AAC5F,oBAAAA,KAAG,CAAC,MAAM,EAAE,0CAA0C,CAAC;;AAEzD,gBAAAA,KAAG,CAAC,MAAM,EAAE,oCAAoC,CAAC;AACjD,gBAAA,OAAO,MAAM;;AAEf,YAAA,OAAO,KAAK;;;QAId,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC;QACxC,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,SAAS,CAAC;QAC7D,OAAO,CAAA,KAAA,EAAQ,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG;KACxC;AAED;;;;;;;;;;;;;;;;;;;;AAoBG;AACH,IAAA,uBAAuB,CAAC,KAAa,EAAA;AACnC,QAAAA,KAAG,CAAC,KAAK,EAAE,mCAAmC,CAAC;AAC/C,QAAA,OAAO,KAAK,CAAC,KAAK,CAChBD,QAAM,CAAC;AACL,cAAG,YAAY,CAAC,SAAS,CACrB,2BAA2B,EAC3B,QAAQ,EACR,MAAM,IAAI,MAAM,CAAC,oEAAoE,CAAC;AAE1F,cAAE,IAAI,MAAM,CAAC,oEAAoE,CAAC,CACrF;KACF;CACF;;ACtiBD;AAIA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D;;;AAGG;AACH,MAAM,mBAAmB,GAAG;AAC1B,IAAA,UAAU,EAAE,eAAe;AAC3B,IAAA,YAAY,EAAE,cAAc;CAC7B;AAED;;;;;;;;;;;;;;;;;;;;;;;;AAwBG;AACI,MAAM,SAAS,GAAG;AACvB;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA4BG;AACH,IAAA,eAAe,CAAC,EAAU,EAAA;;QAExB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACjC,OAAO,EAAE,IAAI,EAAE;;;AAIjB,QAAA,IAAI,QAA4B;AAChC,QAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;AACtB,YAAA,QAAQ,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,CAAE;YAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,UAAU,CAAC;AACzE,YAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,gBAAA,OAAO,YAAY;;;;AAKvB,QAAA,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,UAAU,EAAE,KAAK,IAAG;;YAEhE,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;AAC5B,YAAA,OAAO,IAAI,CAAC,WAAW,EAAE;AAC3B,SAAC,CAAC;;AAGF,QAAA,IAAIA,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC;;AAG9D,QAAA,OAAO,MAAM;KACd;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACH,IAAA,eAAe,CAAC,EAAU,EAAA;;QAExB,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE;YACjC,OAAO,EAAE,IAAI,EAAE;;;AAIjB,QAAA,IAAI,QAA4B;AAChC,QAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;AACtB,YAAA,QAAQ,GAAG,CAAA,UAAA,EAAa,EAAE,CAAA,CAAE;YAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,OAAO,CAAC;AACtE,YAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,gBAAA,OAAO,YAAY;;;;QAKvB,MAAM,MAAM,GAAG;AACZ,aAAA,OAAO,CAAC,mBAAmB,CAAC,YAAY,EAAE,KAAK,IAAG;;YAEjD,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC;AAClC,SAAC;AACA,aAAA,WAAW,EAAE;;AAGhB,QAAA,IAAIA,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC;;AAG3D,QAAA,OAAO,MAAM;KACd;CACF;;AC9JD,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC3D,CAAC;AACM,MAAM,kBAAkB,GAAG,CAAC,CAAS,EAAE,IAAc,KAAY;AACtE,IAAAA,UAAQ,CAAC;QACP,CAAC,CAAC,EAAE,GAAG,CAAC;QACR,CAAC,IAAI,EAAE,MAAM,CAAC;AACf,KAAA,CAAC;IACF,IAAI,GAAG,GAAG,IAAI,MAAM,CAAC,0CAA0C,EAAE,GAAG,CAAC;AACrE,IAAA,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE;QACf,IAAI,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1B,QAAAD,KAAG,CAAC,OAAO,EAAE,SAAS,CAAC;AACvB,QAAA,IAAI,CAAC,CAAC,OAAO,EAAE;AACb,YAAA,KAAK,IAAI,KAAK,IAAI,OAAO,EAAE;AACzB,gBAAAA,KAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBACnB,IAAI,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AACzD,gBAAAA,KAAG,CAAC,GAAG,EAAE,KAAK,CAAC;AACf,gBAAA,IAAI,YAAY,GAAG,CAAM,GAAA,EAAA,GAAG,iCAAiC;gBAC7D,IAAI,QAAQ,GAAG,IAAI,MAAM,CAAC,YAAY,EAAE,GAAG,CAAC;AAC5C,gBAAAA,KAAG,CAAC,YAAY,EAAE,cAAc,CAAC;gBACjC,IAAI,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAC/B,gBAAAC,UAAQ,CAAC;oBACP,CAAC,GAAG,EAAE,KAAK,CAAC;oBACZ,CAAC,IAAI,EAAE,MAAM,CAAC;AACd,oBAAA,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC;AACxB,iBAAA,CAAC;AACF,gBAAA,IACE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;AACX,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE;AAChB,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,WAAW;AACzB,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK;AACnB,oBAAA,IAAI,CAAC,GAAG,CAAC,KAAK,MAAM,EACpB;oBACA,IAAI,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE;;AAE/B,wBAAA,IAAI,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;AAC1C,wBAAAD,KAAG,CAAC,MAAM,EAAE,QAAQ,CAAC;wBACrB,CAAC,GAAG,CAAC,CAAC,OAAO,CACX,QAAQ,EACR,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,KAAK,GAAG;AAC3D,8BAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;AACvB,8BAAE;AACF,kCAAE;kCACA,EAAE,CACP;AACD,wBAAAA,KAAG,CAAC,CAAC,EAAE,GAAG,CAAC;;yBACN;;AAEL,wBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;AAClC,wBAAAA,KAAG,CAAC,CAAC,EAAE,GAAG,CAAC;;;qBAER;;AAEL,oBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,GAAG,EAAE,CAAC;AACvC,oBAAAA,KAAG,CAAC,CAAC,EAAE,GAAG,CAAC;;;AAGf,YAAA,OAAO,CAAC;;aACH;AACL,YAAA,OAAO,CAAC;;;SAEL;AACL,QAAA,OAAO,CAAC;;AAEZ,CAAC;;ACtED;AAOA,MAAMA,KAAG,GAAG,CAAC,CAAU,EAAE,CAAoB,KAAI;IAC/C,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAqC,KAAI;AACzD,IAAA,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC3D,CAAC;AACD,MAAMF,QAAM,GAAG,eAAe,CAAC,WAAW,EAAE;AAMrC,MAAM,kBAAkB,GAAG,CAAC,YAAoB,KAAc;;AAEnE,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AACnC,IAAAC,KAAG,CAAC,YAAY,EAAE,cAAc,CAAC;;AAGjC,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAID,QAAM,CAAC,WAAW,EAAE;AACtB,QAAA,QAAQ,GAAG,CAAA,EAAG,YAAY,CAAA,CAAE;QAC5B,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAW,QAAQ,EAAE,oBAAoB,CAAC;QACrF,IAAI,YAAY,EAAE;YAChB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC/C,YAAAE,UAAQ,CAAC;gBACP,CAAC,YAAY,EAAE,wBAAwB,CAAC;gBACxC,CAAC,CAAA,EAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,EAAE,sBAAsB,CAAC;AACtD,aAAA,CAAC;AACF,YAAA,OAAO,YAAY;;AAErB,QAAAD,KAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC;;;IAIxD,IAAI,MAAM,GAAa,EAAE;IAEzB,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAClC,QAAAC,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,eAAe,CAAC;YACxB,CAAC,MAAM,EAAE,wBAAwB,CAAC;AACnC,SAAA,CAAC;AAEF,QAAA,IAAIF,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,CAAC;;AAEhE,QAAA,OAAO,MAAM;;;IAIf,MAAM,UAAU,GAAW,YAAY,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;AACxD,IAAAE,UAAQ,CAAC;QACP,CAAC,UAAU,EAAE,sBAAsB,CAAC;AACpC,QAAA,CAAC,UAAU,CAAC,MAAM,EAAE,mBAAmB,CAAC;AACzC,KAAA,CAAC;;AAGF,IAAA,MAAM,QAAQ,GAAGF,QAAM,CAAC;AACtB,UAAG,YAAY,CAAC,SAAS,CACrB,mBAAmB,EACnB,QAAQ,EACR,MAAM,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC;UAEvD,IAAI,MAAM,CAAC,8BAA8B,EAAE,GAAG,CAAC;IACnD,MAAM,aAAa,GAAG,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;AAE/C,IAAAE,UAAQ,CAAC;QACP,CAAC,aAAa,EAAE,8BAA8B,CAAC;AAC/C,QAAA,CAAC,QAAQ,CAAC,MAAM,EAAE,oBAAoB,CAAC;AACxC,KAAA,CAAC;;AAGF,IAAA,MAAM,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;AAC/B,IAAAD,KAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAE9B,IAAI,CAAC,aAAa,EAAE;AAClB,QAAAC,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,qBAAqB,CAAC;YAC9B,CAAC,MAAM,EAAE,0BAA0B,CAAC;AACrC,SAAA,CAAC;AAEF,QAAA,IAAIF,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,CAAC;;AAEhE,QAAA,OAAO,MAAM;;;;AAKf,IAAA,QAAQ,CAAC,SAAS,GAAG,CAAC;IACtB,MAAM,gBAAgB,GAA4B,UAAU,CAAC,KAAK,CAAC,QAAQ,CAAC;AAE5E,IAAAE,UAAQ,CAAC;QACP,CAAC,gBAAgB,EAAE,qBAAqB,CAAC;AACzC,QAAA,CAAC,gBAAgB,EAAE,MAAM,IAAI,CAAC,EAAE,mBAAmB,CAAC;AACrD,KAAA,CAAC;IAEF,IAAI,CAAC,gBAAgB,EAAE;AACrB,QAAA,IAAIF,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,CAAC;;AAEhE,QAAA,OAAO,MAAM;;;IAIf,MAAM,gBAAgB,GAAiB,EAAE;IACzC,IAAI,UAAU,GAAiB,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,QAAgB,KAAI;AAClF,QAAAC,KAAG,CAAC,CAAA,iBAAA,EAAoB,QAAQ,GAAG,CAAC,CAAI,CAAA,EAAA,gBAAgB,CAAC,MAAM,KAAK,CAAC,CAAA,CAAE,EAAE,kBAAkB,CAAC;AAE5F,QAAA,MAAM,KAAK,GAAW,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;AACrD,QAAA,MAAM,UAAU,GAAWD,QAAM,CAAC;cAC7B,YAAY,CAAC,SAAS,CAAS,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,CAAA,GAAA,EAAM,KAAK,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC;cACtF,IAAI,MAAM,CAAC,CAAA,GAAA,EAAM,KAAK,CAAG,CAAA,CAAA,EAAE,GAAG,CAAC;AACnC,QAAA,IAAI,UAAU,GAAW,QAAQ,CAAC,KAAK,CAAC;AAExC,QAAAE,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,wBAAwB,CAAC;YACjC,CAAC,UAAU,EAAE,oBAAoB,CAAC;YAClC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,sBAAsB,CAAC;AAC9C,SAAA,CAAC;AAEF,QAAA,IAAI,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACvB,MAAM,OAAO,GAAa,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC;AAC1C,YAAAD,KAAG,CAAC,OAAO,EAAE,6BAA6B,CAAC;YAE3C,OAAO,CAAC,OAAO,CAAC,CAAC,CAAS,EAAE,EAAU,KAAI;AACxC,gBAAA,IAAI,EAAE,GAAG,CAAC,EAAE;AACV,oBAAA,MAAM,QAAQ,GAAG;AACf,wBAAA,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;wBAClB,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;qBAC/B;AACD,oBAAA,gBAAgB,CAAC,IAAI,CAAC,QAAQ,CAAC;;AAEnC,aAAC,CAAC;;AAGJ,QAAA,MAAM,cAAc,GAAG;AACrB,YAAA,KAAK,EAAE,UAAU;YACjB,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SAC/B;QAEDA,KAAG,CAAC,cAAc,EAAE,CAAA,eAAA,EAAkB,QAAQ,GAAG,CAAC,CAAE,CAAA,CAAC;AACrD,QAAA,OAAO,cAAc;AACvB,KAAC,CAAC;AAEF,IAAAC,UAAQ,CAAC;AACP,QAAA,CAAC,UAAU,CAAC,MAAM,EAAE,sBAAsB,CAAC;AAC3C,QAAA,CAAC,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,CAAC;AAChD,KAAA,CAAC;;AAGF,IAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,gBAAgB,CAAC;AAChD,IAAAD,KAAG,CAAC,UAAU,EAAE,YAAY,CAAC;;IAG7B,MAAM,aAAa,GAAa,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC;AACtD,IAAAA,KAAG,CAAC,aAAa,EAAE,eAAe,CAAC;IAEnC,IAAI,eAAe,GAAY,KAAK;AACpC,IAAA,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;AAC7B,QAAA,aAAa,CAAC,KAAK,EAAE,CAAC;AACtB,QAAAA,KAAG,CAAC,aAAa,EAAE,4CAA4C,CAAC;;AAGlE,IAAA,IAAI,aAAa,CAAC,MAAM,IAAI,CAAC,EAAE;QAC7B,eAAe,GAAG,IAAI;;AAGxB,IAAAC,UAAQ,CAAC;AACP,QAAA,CAAC,aAAa,CAAC,MAAM,EAAE,qBAAqB,CAAC;QAC7C,CAAC,eAAe,EAAE,iBAAiB,CAAC;AACrC,KAAA,CAAC;;AAGF,IAAA,MAAM,aAAa,GAAgB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC;AACxE,IAAAA,UAAQ,CAAC;QACP,CAAC,aAAa,EAAE,+BAA+B,CAAC;AAChD,QAAA,CAAC,aAAa,CAAC,IAAI,EAAE,qBAAqB,CAAC;AAC5C,KAAA,CAAC;;IAGF,IAAI,CAAC,eAAe,EAAE;AACpB,QAAAD,KAAG,CAAC,4BAA4B,EAAE,2BAA2B,CAAC;QAE9D,MAAM,mBAAmB,GAAiB,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,QAAQ,KAAI;YAC1E,IAAI,KAAK,GAAG,CAAC;AACb,YAAA,OAAO,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;AAC/B,gBAAA,KAAK,EAAE;;AAET,YAAA,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC;AAExB,YAAA,MAAM,SAAS,GAAG;AAChB,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,GAAG,EAAE,CAAC;aACP;AAED,YAAAA,KAAG,CAAC,CAAA,eAAA,EAAkB,KAAK,CAAA,mBAAA,EAAsB,QAAQ,GAAG,CAAC,CAAA,GAAA,EAAM,CAAC,CAAA,CAAA,CAAG,EAAE,qBAAqB,CAAC;AAC/F,YAAA,OAAO,SAAS;AAClB,SAAC,CAAC;AAEF,QAAAC,UAAQ,CAAC;YACP,CAAC,mBAAmB,EAAE,2BAA2B,CAAC;AAClD,YAAA,CAAC,mBAAmB,CAAC,MAAM,EAAE,0BAA0B,CAAC;AACzD,SAAA,CAAC;AAEF,QAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AACzD,QAAAD,KAAG,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;;AAGlD,QAAA,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,mBAAmB,CAAC;AACnD,QAAA,UAAU,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAEhD,QAAAC,UAAQ,CAAC;AACP,YAAA,CAAC,UAAU,CAAC,MAAM,EAAE,8BAA8B,CAAC;YACnD,CAAC,UAAU,EAAE,gCAAgC,CAAC;AAC/C,SAAA,CAAC;;;IAIJ,MAAM,yBAAyB,GAAiB,EAAE;IAClD,MAAM,gBAAgB,GAAG,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAC9E,IAAA,MAAM,YAAY,GAAG,gBAAgB,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,KAAK;AAExE,IAAAA,UAAQ,CAAC;QACP,CAAC,YAAY,EAAE,kBAAkB,CAAC;AAClC,QAAA,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,EAAE,4BAA4B,CAAC;AACnE,KAAA,CAAC;AAEF,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzB,yBAAyB,CAAC,IAAI,CAAC;AAC7B,gBAAA,KAAK,EAAE,CAAC;AACR,gBAAA,GAAG,EAAE,EAAE;AACR,aAAA,CAAC;AACF,YAAAD,KAAG,CAAC,CAAkC,+BAAA,EAAA,CAAC,EAAE,EAAE,qBAAqB,CAAC;;;AAIrE,IAAAC,UAAQ,CAAC;QACP,CAAC,yBAAyB,EAAE,wBAAwB,CAAC;AACrD,QAAA,CAAC,yBAAyB,CAAC,MAAM,EAAE,uBAAuB,CAAC;AAC5D,KAAA,CAAC;;IAGF,MAAM,UAAU,GAAiB,UAAU,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC;AAEnH,IAAAA,UAAQ,CAAC;QACP,CAAC,UAAU,EAAE,qBAAqB,CAAC;AACnC,QAAA,CAAC,UAAU,CAAC,MAAM,EAAE,oBAAoB,CAAC;QACzC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAG,EAAA,CAAC,CAAC,KAAK,CAAA,CAAA,EAAI,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,mBAAmB,CAAC;AAClE,KAAA,CAAC;AAEF,IAAA,MAAM,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC;;AAGnC,IAAA,IAAIF,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;QAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,CAAC;AAC9D,QAAAC,KAAG,CAAC,kCAAkC,EAAE,iBAAiB,CAAC;;IAG5D,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC/C,IAAAC,UAAQ,CAAC;QACP,CAAC,MAAM,EAAE,cAAc,CAAC;AACxB,QAAA,CAAC,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC;QACtC,CAAC,CAAA,EAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,EAAE,sBAAsB,CAAC;QACrD,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;AACtD,KAAA,CAAC;AAEF,IAAA,OAAO,MAAM;AACf,CAAC;;AC3QD,MAAMF,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC;AACpD,CAAC;AACM,MAAM,WAAW,GAAG,CAAC,YAAoB,EAAE,IAAY,EAAE,mBAAgC,KAAc;;AAE5G,IAAA,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;AAEnC,IAAAA,UAAQ,CAAC;QACP,CAAC,YAAY,EAAE,oBAAoB,CAAC;QACpC,CAAC,IAAI,EAAE,YAAY,CAAC;AACpB,QAAA,CAAC,mBAAmB,CAAC,OAAO,EAAE,kBAAkB,CAAC;AACjD,QAAA,CAAC,mBAAmB,CAAC,SAAS,EAAE,qBAAqB,CAAC;AACvD,KAAA,CAAC;;AAGF,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAIF,QAAM,CAAC,WAAW,EAAE;;QAEtB,QAAQ,GAAG,GAAG,YAAY,CAAA,CAAA,EAAI,IAAI,CAAI,CAAA,EAAA,mBAAmB,CAAC,OAAO,CAAA,CAAA,EAAIA,QAAM,CAAC,YAAY,IAAIA,QAAM,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAC3H,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAW,QAAQ,EAAE,aAAa,CAAC;QAC9E,IAAI,YAAY,EAAE;YAChB,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC/C,YAAAE,UAAQ,CAAC;gBACP,CAAC,IAAI,EAAE,WAAW,CAAC;gBACnB,CAAC,YAAY,EAAE,wBAAwB,CAAC;gBACxC,CAAC,CAAA,EAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,EAAE,sBAAsB,CAAC;AACtD,aAAA,CAAC;AACF,YAAA,OAAO,YAAY;;AAErB,QAAAD,KAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC;;;IAIxD,MAAM,mBAAmB,GAAa,EAAE;AACxC,IAAA,MAAM,eAAe,GAAgB,IAAI,GAAG,EAAE,CAAC;;IAG/C,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAACD,QAAM,CAAC,UAAU,CAAC;IACrD,IAAI,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC;AAE7C,IAAAE,UAAQ,CAAC;QACP,CAAC,SAAS,EAAE,6BAA6B,CAAC;AAC1C,QAAA,CAAC,eAAe,CAAC,MAAM,EAAE,wBAAwB,CAAC;QAClD,CAAC,CAAC,CAACF,QAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,+BAA+B,CAAC;AACzD,KAAA,CAAC;;AAGF,IAAA,IAAI,IAAI,GAAa,kBAAkB,CAAC,YAAY,CAAC;AACrD,IAAAE,UAAQ,CAAC;QACP,CAAC,IAAI,EAAE,gCAAgC,CAAC;AACxC,QAAA,CAAC,IAAI,CAAC,MAAM,EAAE,4BAA4B,CAAC;AAC5C,KAAA,CAAC;;AAGF,IAAA,MAAM,cAAc,GAAGF,QAAM,CAAC,cAAc;AAC5C,IAAA,MAAM,YAAY,GAAGA,QAAM,CAAC,YAAY;AACxC,IAAA,MAAM,oBAAoB,GAAGA,QAAM,CAAC,iBAAiB;AACrD,IAAA,MAAM,aAAa,GAAGA,QAAM,CAAC,aAAa;AAC1C,IAAA,MAAM,OAAO,GAAGA,QAAM,CAAC,OAAO;;IAG9B,MAAM,cAAc,GAAGA,QAAM,CAAC,MAAM,CAAC,IAAI,CAAC;IAE1C,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,EAAE;AAClD,QAAAE,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,uBAAuB,CAAC;YAChC,CAAC,mBAAmB,EAAE,wBAAwB,CAAC;AAChD,SAAA,CAAC;AAEF,QAAA,IAAIF,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;YAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC;;AAEtE,QAAA,OAAO,mBAAmB;;IAG5BC,KAAG,CAAC,cAAc,cAAc,CAAC,MAAM,CAAkB,gBAAA,CAAA,EAAE,sBAAsB,CAAC;IAElF,cAAc,CAAC,OAAO,CAAC,CAAC,SAAiB,EAAE,aAAqB,KAAI;AAClE,QAAAA,KAAG,CAAC,CAAA,oBAAA,EAAuB,aAAa,GAAG,CAAC,CAAI,CAAA,EAAA,cAAc,CAAC,MAAM,MAAM,SAAS,CAAA,CAAA,CAAG,EAAE,qBAAqB,CAAC;;QAG/G,IAAI,CAAC,GAAG,kBAAkB,CAAC,SAAS,EAAE,IAAI,CAAC;AAC3C,QAAAC,UAAQ,CAAC;YACP,CAAC,SAAS,EAAE,mBAAmB,CAAC;YAChC,CAAC,CAAC,EAAE,yBAAyB,CAAC;AAC/B,SAAA,CAAC;;AAGF,QAAA,IAAI,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE;AAChC,YAAAD,KAAG,CAAC,sEAAsE,EAAE,0BAA0B,CAAC;;YAGvG,IAAI,gBAAgB,GAAY,KAAK;AACrC,YAAA,IAAI,gBAAoC;;AAGxC,YAAA,KAAK,MAAM,EAAE,IAAI,oBAAoB,EAAE;AACrC,gBAAA,IAAI,aAAa,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE;oBACtC,gBAAgB,GAAG,IAAI;oBACvB,gBAAgB,GAAG,EAAE;oBACrB;;;AAIJ,YAAAC,UAAQ,CAAC;gBACP,CAAC,gBAAgB,EAAE,6BAA6B,CAAC;gBACjD,CAAC,gBAAgB,EAAE,oBAAoB,CAAC;AACxC,gBAAA,CAAC,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC;AACxD,aAAA,CAAC;;YAGF,MAAM,cAAc,GAAW,gBAAgB,IAAIF,QAAM,CAAC,sBAAsB,GAAG,oBAAoB,CAAC,IAAI;AAE5G,YAAAC,KAAG,CAAC,cAAc,EAAE,0BAA0B,CAAC;;YAG/C,IAAI,CAAC,gBAAgB,EAAE;gBACrB,MAAM,UAAU,GAAG,YAAY,GAAG,cAAc,GAAG,YAAY;AAC/D,gBAAA,aAAa,CAAC,UAAU,CAAC,GAAG,YAAY;AACxC,gBAAA,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC;AAExC,gBAAAC,UAAQ,CAAC;oBACP,CAAC,UAAU,EAAE,kBAAkB,CAAC;oBAChC,CAAC,YAAY,EAAE,oBAAoB,CAAC;AACpC,oBAAA,CAAC,oBAAoB,CAAC,IAAI,EAAE,0BAA0B,CAAC;AACxD,iBAAA,CAAC;;;YAIJ,MAAM,SAAS,GAAW,YAAY,GAAG,cAAc,GAAG,YAAY;AAEtE,YAAAA,UAAQ,CAAC;gBACP,CAAC,SAAS,EAAE,0BAA0B,CAAC;gBACvC,CAAC,CAAC,EAAE,gCAAgC,CAAC;AACtC,aAAA,CAAC;;YAGF,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AAC3B,YAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;AAE3F,gBAAAA,UAAQ,CAAC;AACP,oBAAA,CAAC,eAAe,CAAC,MAAM,EAAE,wBAAwB,CAAC;AAClD,oBAAA,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,IAAI,CAAC,EAAE,oBAAoB,CAAC;AAChE,iBAAA,CAAC;;AAGF,gBAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;;AAE9B,oBAAA,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC,EAAO,EAAE,EAAO,KAAK,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;AACzG,oBAAA,MAAM,WAAW,GAAG,aAAa,CAAC,CAAC,CAAC;AAEpC,oBAAAD,KAAG,CAAC,WAAW,EAAE,yBAAyB,CAAC;;oBAG3C,MAAM,QAAQ,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;oBACjC,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC;AAE/C,oBAAA,IAAI,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,QAAQ,GAAG,WAAW,EAAE;wBAChD,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC;AAC9F,wBAAAA,KAAG,CAAC,CAAC,EAAE,sCAAsC,CAAC;;AACzC,yBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAC5B,wBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AACpD,wBAAAA,KAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;;;qBAErC;;AAEL,oBAAA,IAAI,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AACrB,wBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAAC;AACpD,wBAAAA,KAAG,CAAC,CAAC,EAAE,+BAA+B,CAAC;;AAClC,yBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,wBAAA,MAAM,aAAa,GAAG,MAAM,CAAC,CAAC,CAAC;AAC/B,wBAAA,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,aAAa,GAAG,WAAW,GAAG,SAAS,CAAC;AACrE,wBAAAA,KAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC;;;;;aAIzC;;AAEL,YAAAA,KAAG,CAAC,CAAC,EAAE,kEAAkE,CAAC;AAC1E,YAAA,mBAAmB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;;;QAItC,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE;AACpC,YAAA,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC;YAC3BA,KAAG,CAAC,CAAU,OAAA,EAAA,CAAC,CAA+B,4BAAA,EAAA,mBAAmB,CAAC,MAAM,CAAG,CAAA,CAAA,EAAE,iBAAiB,CAAC;;aAC1F;AACL,YAAAA,KAAG,CAAC,CAAI,CAAA,EAAA,CAAC,kCAAkC,EAAE,sBAAsB,CAAC;;AAExE,KAAC,CAAC;;AAGF,IAAA,IAAID,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;QAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,mBAAmB,CAAC;AACpE,QAAAC,KAAG,CAAC,4BAA4B,EAAE,iBAAiB,CAAC;;IAGtD,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE,GAAG,SAAS;AAC/C,IAAAC,UAAQ,CAAC;QACP,CAAC,mBAAmB,EAAE,4BAA4B,CAAC;AACnD,QAAA,CAAC,mBAAmB,CAAC,MAAM,EAAE,yBAAyB,CAAC;QACvD,CAAC,CAAA,EAAG,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA,EAAA,CAAI,EAAE,sBAAsB,CAAC;QACrD,CAAC,8BAA8B,EAAE,mBAAmB,CAAC;AACtD,KAAA,CAAC;AAEF,IAAA,OAAO,mBAAmB;AAC5B,CAAC;;ACpND,MAAMF,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC7D,CAAC;AACM,MAAM,oBAAoB,GAAG,MAAe;AACjD,IAAAA,UAAQ,CAAC;AACP,QAAA,CAACF,QAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;AACzB,QAAA,CAACA,QAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;AACzC,QAAA,CAACA,QAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;AACnD,QAAA,CAACA,QAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;AACxD,KAAA,CAAC;;IAGF,MAAM,4BAA4B,GAA4B,QAAQ,CAAC,gBAAgB,CAAC,SAAS,CAAC;AAClG,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;QACtB,QAAQ,GAAG,GAAGA,QAAM,CAAC,cAAc,CAAI,CAAA,EAAAA,QAAM,CAAC,UAAU,CAAC,IAAI,CAAI,CAAA,EAAAA,QAAM,CAAC,uBAAuB,CAAC,IAAI,CAClG,CAAA,EAAAA,QAAM,CAAC,sBAAsB,CAAC,IAChC,IAAIA,QAAM,CAAC,qBAAqB,CAAC,IAAI,IAAI,4BAA4B,CAAC,MAAM,CAAI,CAAA,EAAA,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAA,CAAE;;QAG/G,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAW,QAAQ,EAAE,sBAAsB,CAAC;QAEvF,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,SAAS,EAAE;AACvD,YAAAC,KAAG,CAAC,YAAY,EAAE,uBAAuB,CAAC;AAC1C,YAAA,OAAO,YAAY;;;AAIvB,IAAA,MAAM,cAAc,GAAgB,IAAI,GAAG,EAAE;;AAE7C,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,4BAA4B,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AAC5D,QAAA,MAAM,KAAK,GAAG,4BAA4B,CAAC,CAAC,CAAgB;QAC5D,KAAK,MAAM,IAAI,IAAI,4BAA4B,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE;AAC5D,YAAA,IAAI,IAAwB;AAC5B,YAAA,KAAK,MAAM,EAAE,IAAID,QAAM,CAAC,UAAU,EAAE;AAClC,gBAAA,IAAI,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;oBACrB,IAAI,GAAG,EAAE;oBACT;;;YAGJ,IAAI,CAAC,CAAC,IAAI,IAAIA,QAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AACjC,gBAAA,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,4BAA4B,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAS,KAAI;AAC7E,oBAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAACA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;AAClE,wBAAA,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;;AAEzB,iBAAC,CAAC;;AACG,iBAAA,IACL,CAAC,IAAI;AACL,gBAAA,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;AACzB,gBAAA,CAACA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,IAAI,CAAC;gBACvC,IAAI,KAAKA,QAAM,CAAC,cAAc;iBAC7B,IAAI,CAAC,UAAU,CAACA,QAAM,CAAC,cAAc,CAAC,IAAIA,QAAM,CAAC,uBAAuB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAClG;AACA,gBAAA,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC;;;;IAI9B,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC;AACzC,IAAAC,KAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC;;AAG7B,IAAA,IAAID,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;QAClC,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,sBAAsB,EAAE,MAAM,CAAC;;AAGlE,IAAA,OAAO,MAAM;AACf,CAAC;;AC7ED;AASA,MAAMA,QAAM,GAAG,eAAe,CAAC,WAAW,EAAE;AAC5C,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACvD,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,MAAA,GAAkB,KAAK,KAAY;AAC/E,IAAAA,UAAQ,CAAC;QACP,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnB,KAAA,CAAC;;IAGF,MAAM,eAAe,GAAc,EAAE;AACrC,IAAA,KAAK,MAAM,MAAM,IAAIF,QAAM,CAAC,OAAO,EAAE;QACnC,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;AAC/B,YAAA,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC;;;AAIhC,IAAAC,KAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC;;AAGvC,IAAA,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;AAChC,QAAA,OAAO,KAAK;;;AAId,IAAA,IAAI,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;;AAG1D,IAAA,KAAK,MAAM,GAAG,IAAI,eAAe,EAAE;;AAEjC,QAAA,IAAI,QAAQ,GAAG,GAAG,CAAC,IAAI;QACvB,IAAI,WAAW,GAAG,EAAE;AACpB,QAAA,IAAI,MAA0B;QAE9B,IAAID,QAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AACvC,YAAA,QAAQ,GAAG,CAAG,EAAA,GAAG,CAAC,IAAI,OAAO;YAC7B,MAAM,GAAGA,QAAM,CAAC;kBACZ,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;AACpG,kBAAE,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,GAAG,KAAK,EAAE,IAAI,CAAC;AAC7C,YAAA,WAAW,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI,GAAG,GAAG;;aACrC,IAAIA,QAAM,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;AAC/C,YAAA,QAAQ,GAAG,CAAG,EAAA,GAAG,CAAC,IAAI,OAAO;YAC7B,MAAM,GAAGA,QAAM,CAAC;kBACZ,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC9F,kBAAE,IAAI,MAAM,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AACvC,YAAA,WAAW,GAAG,MAAM,GAAG,EAAE,GAAG,MAAM,GAAG,GAAG,CAAC,IAAI;;aACxC;YACL,MAAM,GAAGA,QAAM,CAAC;kBACZ,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AAC5F,kBAAE,IAAI,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC;AACrC,YAAA,WAAW,GAAG,MAAM,GAAG,EAAE,GAAG,GAAG,CAAC,IAAI;;;QAItC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAgB,EAAE,WAAW,CAAC;;AAGxD,IAAAC,KAAG,CAAC,MAAM,EAAE,4BAA4B,CAAC;AACzC,IAAA,OAAO,MAAM;AACf,CAAC;;ACxFD,MAAMA,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC;AACrD,CAAC;AAED,MAAMF,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CG;AACI,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,YAAoB,EAAE,oBAA4B,KAAc;;IAE5G,IAAI,CAAC,OAAO,IAAI,CAAC,YAAY,IAAI,CAAC,oBAAoB,EAAE;AACtD,QAAA,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC;;AAEtD,IAAAE,UAAQ,CAAC;QACP,CAAC,OAAO,EAAE,SAAS,CAAC;QACpB,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9B,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;AAC/C,KAAA,CAAC;;AAGF,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAIF,QAAM,CAAC,WAAW,EAAE;QACtB,QAAQ,GAAG,GAAG,OAAO,CAAA,CAAA,EAAI,YAAY,CAAI,CAAA,EAAA,oBAAoB,EAAE;QAC/D,MAAM,gBAAgB,GAAG,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,CAAC;QACzE,IAAI,gBAAgB,EAAE;AACpB,YAAA,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAa;;;;AAKnD,IAAA,MAAM,iBAAiB,GAAGA,QAAM,CAAC,iBAAiB;IAClD,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,IAAI,KAAK,CAAC,EAAE;AACtD,QAAA,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC;;AAEtD,IAAAC,KAAG,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;;AAG3C,IAAA,IAAI,eAAmC;AACvC,IAAA,KAAK,MAAM,GAAG,IAAI,iBAAiB,EAAE;AACnC,QAAA,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YACzB,eAAe,GAAG,GAAG;AACrB,YAAAA,KAAG,CAAC,eAAe,EAAE,IAAI,CAAC;AAC1B,YAAA,MAAM;;;AAIV,IAAAA,KAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC;AAEvC,IAAA,IAAI,cAAwB;IAE5B,IAAI,eAAe,EAAE;;AAEnB,QAAA,MAAM,KAAK,GAAGD,QAAM,CAAC;cAChB,YAAY,CAAC,SAAS,CACrB,CAAgB,aAAA,EAAA,eAAe,EAAE,EACjC,QAAQ,EACR,MAAM,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;cAEzC,IAAI,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC;QACrC,MAAM,WAAW,GAAGA,QAAM,CAAC,aAAa,CAAC,eAAe,CAAC;;AAGzD,QAAA,cAAc,GAAG;AACf,YAAA,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;AACnC,YAAA,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;AACxC,YAAA,oBAAoB,CAAC,OAAO,CAAC,KAAK,EAAE,WAAW,CAAC;SACjD;;SACI;;QAEL,cAAc,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC;;AAGhE,IAAAC,KAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC;;AAGrC,IAAA,IAAID,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;AAClC,QAAA,YAAY,CAAC,SAAS,CAAC,QAAQ,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;;AAGlF,IAAA,OAAO,cAAc;AACvB,CAAC;;ACpID,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D;;;;;;;;;;;;;;AAcG;AACI,MAAM,YAAY,GAAG,CAC1B,mBAA6B,KAI3B;;;AAGF,IAAA,IAAI,mBAAmB,CAAC,MAAM,GAAG,CAAC,IAAI,CAACA,QAAM,CAAC,WAAW,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE;QACrF,OAAO;AACL,YAAA,KAAK,EAAE,KAAK;AACZ,YAAA,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;SACrC;;SACI;QACL,OAAO;AACL,YAAA,KAAK,EAAE,IAAI;AACX,YAAA,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,CAAC,CAAC;SACrC;;AAEL,CAAC;;ACnCM,MAAM,WAAW,GAAG;IACzB,aAAa,CAAU,CAAiB,EAAE,CAAiB,EAAA;AACzD,QAAA,OAAO,CAAC,CAAC,KAAK,CAAC,MAAM,CACnB,CAAC,GAAgC,EAAE,GAAM,KAAK;AAC5C,YAAA,GAAG,GAAG;AACN,YAAA,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAI,MAAM,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC,CAAC;SAC3D,EACD,EAAE,CACH;KACF;AACD,IAAA,iBAAiB,CAAC,KAAiB,EAAA;QACjC,OAAO,KAAK,CAAC,MAAM,CAAC,CAAC,GAA2B,EAAE,GAAa,KAAI;AACjE,YAAA,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,GAAG,EAAE;SACvC,EAAE,EAAE,CAAC;KACP;CACF;;ACfD,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;AACxD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,KAAK,CAAC;AAC9D,CAAC;AAEM,MAAM,qBAAqB,GAAG,CAAC,MAAc,EAAE,YAAA,GAAwB,KAAK,KAAY;AAC7F,IAAAA,UAAQ,CAAC;QACP,CAAC,MAAM,EAAE,QAAQ,CAAC;QAClB,CAAC,YAAY,EAAE,cAAc,CAAC;AAC/B,KAAA,CAAC;IACF,IAAI,OAAO,GAAW,CAAA,CAAA,CAAG;IACzB,IAAI,OAAO,GAAW,CAAA,CAAA,CAAG;IACzB,IAAI,IAAI,GAAW,CAAA,CAAA,CAAG;IACtB,IAAI,MAAM,GAAW,CAAA,CAAA,CAAG;IACxB,IAAI,KAAK,GAAW,CAAA,KAAA,CAAO;IAC3B,IAAI,KAAK,GAAY,KAAK;IAC1B,IAAI,CAAC,YAAY,EAAE;QACjB,IAAI,oBAAoB,GACtB,sHAAsH;QACxH,MAAM,sBAAsB,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC;AACjE,QAAAD,KAAG,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;AACrD,QAAA,IAAI,CAAC,CAAC,sBAAsB,EAAE;YAC5B,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC;AAChD,YAAAA,KAAG,CAAC,KAAK,EAAE,OAAO,CAAC;AACnB,YAAA,IAAI,oBAAoB,GAAa,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC;AACzE,YAAA,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE;gBACvC,KAAK,GAAG,IAAI;gBACZ,oBAAoB,CAAC,KAAK,EAAE;;AAE9B,YAAA,IAAI,oBAAoB,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE;gBAClC,oBAAoB,CAAC,KAAK,EAAE;;AAE9B,YAAA,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG;AACxC,YAAA,OAAO,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG;AACxC,YAAA,IAAI,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG;AACrC,YAAA,MAAM,GAAG,oBAAoB,CAAC,CAAC,CAAC,IAAI,GAAG;AACvC,YAAAC,UAAQ,CAAC;gBACP,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpB,CAAC,OAAO,EAAE,SAAS,CAAC;gBACpB,CAAC,IAAI,EAAE,MAAM,CAAC;gBACd,CAAC,MAAM,EAAE,QAAQ,CAAC;AACnB,aAAA,CAAC;;;SAEC;QACL,KAAK,GAAG,MAAM;;IAEhB,OAAO,CAAA,2DAAA,EAA8D,MAAM,CAA0B,uBAAA,EAAA,OAAO,IAAI,OAAO,CAAA,gBAAA,EAAmB,KAAK,CAAA,aAAA,EAAgB,IAAI,CAAA,uHAAA,EAA0H,MAAM,CAAM,GAAA,EAAA,OAAO,CAAiB,cAAA,EAAA,MAAM,CAAM,GAAA,EAAA,OAAO,iBAAiB,MAAM,CAAA,GAAA,EAAM,OAAO,CAAA,cAAA,EAAiB,MAAM,CAAA,GAAA,EAAM,OAAO,CAAiB,cAAA,EAAA,MAAM,CAAM,GAAA,EAAA,OAAO,CAAiB,cAAA,EAAA,MAAM,MAAM,OAAO,CAAA,cAAA,EAAiB,MAAM,CAAA,GAAA,EAAM,OAAO,CAAA,cAAA,EAAiB,MAAM,CAAM,GAAA,EAAA,OAAO,CAAiB,cAAA,EAAA,MAAM,CAAM,GAAA,EAAA,OAAO,iBAAiB,MAAM,CAAA,GAAA,EAAM,OAAO,CAAA,CAAA,CAAG;AACznB,CAAC;;AC7CD,MAAMF,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,yBAAyB,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1D,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,yBAAyB,EAAE,KAAK,CAAC;AAChE,CAAC;AACM,MAAM,uBAAuB,GAAG,CAAC,YAAoB,EAAE,KAAa,KAAY;AACrF,IAAAA,UAAQ,CAAC;QACP,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9B,CAAC,KAAK,EAAE,OAAO,CAAC;AACjB,KAAA,CAAC;IACF,IAAI,OAAO,GAAW,EAAE;AACxB,IAAA,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;QACvE,IAAI,WAAW,GACb,yRAAyR;QAC3R,IAAI,iBAAiB,GACnB,0KAA0K;AAC5K,QAAAD,KAAG,CAAC,KAAK,EAAE,qBAAqB,CAAC;AACjC,QAAA,IAAI,WAAW,GAAa,CAAC,EAAE,CAAC;QAChC,MAAM,aAAa,GAA4B,KAAK,CAAC,KAAK,CAAC,WAAW,CAAC;AACvE,QAAAA,KAAG,CAAC,aAAa,EAAE,eAAe,CAAC;QACnC,MAAM,eAAe,GAA4B,KAAK,CAAC,KAAK,CAAC,iBAAiB,CAAC;AAC/E,QAAAA,KAAG,CAAC,eAAe,EAAE,iBAAiB,CAAC;QACvC,IAAI,YAAY,GAAY,KAAK;QACjC,IAAI,CAAC,CAAC,aAAa,IAAI,aAAa,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;AACvE,YAAA,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;;aAC5D,IAAI,CAAC,CAAC,eAAe,IAAI,eAAe,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,EAAE;AAClF,YAAA,WAAW,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACnE,YAAY,GAAG,IAAI;;AAErB,QAAAA,KAAG,CAAC,WAAW,EAAE,aAAa,CAAC;AAC/B,QAAA,IAAI,gBAAgB,GAAa,WAAW,CAAC,GAAG,CAAC,CAAC,CAAS,KAAK,qBAAqB,CAAC,CAAC,EAAE,YAAY,CAAC,CAAC;AACvG,QAAAA,KAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;QACzC,IAAI,WAAW,GAAW;AACvB,aAAA,GAAG,CAAC,CAAC,CAAS,EAAE,CAAS,KAAI;AAC5B,YAAA,IAAI,CAAC,IAAI,CAAC,EAAE;gBACV,OAAO,CAAA,EAAGD,QAAM,CAAC,SAAS,GAAGA,QAAM,CAAC,OAAO,CAAA,EAAG,CAAC,KAAK,CAAC,GAAG,UAAU,GAAG,SAAS,CAAA,CAAA,EAAI,CAAC,CAAA,CAAE;;iBAChF;AACL,gBAAA,OAAO,EAAE;;AAEb,SAAC;aACA,IAAI,CAAC,EAAE,CAAC;AACX,QAAAC,KAAG,CAAC,WAAW,EAAE,aAAa,CAAC;AAC/B,QAAA,OAAO,GAAG,CAAA,6BAAA,EAAgC,WAAW,CAAA,CAAE;AACvD,QAAAA,KAAG,CAAC,OAAO,EAAE,oBAAoB,CAAC;;SAC7B;AACL,QAAA,OAAO,GAAG,CACR,EAAA,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU;AAC/E,cAAE;cACA,YAAY,KAAK,cAAc,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU;AAC9D,kBAAE,CAAqB,mBAAA;AACvB,kBAAE,YACN,CAAI,CAAA,EAAA,KAAK,IACP,YAAY,KAAK,OAAO,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU;AACnD,cAAE,CAA8K,4KAAA;cAC9K,YAAY,KAAK,cAAc,IAAI,KAAK,CAAC,QAAQ,CAAC,UAAU;AAC9D,kBAAE,CAA8C,4CAAA;kBAC9C,EACN,CAAA,CAAE;;AAEJ,IAAAA,KAAG,CAAC,OAAO,EAAE,SAAS,CAAC;AACvB,IAAA,OAAO,OAAO;AAChB,CAAC;;ACrED;AAWA,MAAMD,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D;;AAEG;AACH,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC;AACnD,CAAC;AAED;;AAEG;AACH,MAAM,kBAAkB,GAAG,CAAC,KAAa,EAAE,WAAmB,KAAgB;AAC5E,IAAA,MAAM,UAAU,GAAG;AACjB,QAAA,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE;AAC7B,QAAA,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,EAAE,WAAW,EAAE;KAC1C;IAED,MAAM,WAAW,GAAe,EAAE;;AAGlC,IAAA,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC;;AAG/B,IAAA,KAAK,MAAM,OAAO,IAAI,UAAU,EAAE;AAChC,QAAA,KAAK,MAAM,QAAQ,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE;YACzC,WAAW,CAAC,IAAI,CAAC;AACf,gBAAA,IAAI,EAAE,CAAG,EAAA,OAAO,CAAC,IAAI,CAAA,CAAA,EAAI,QAAQ,CAAE,CAAA;gBACnC,GAAG,EAAEF,QAAM,CAAC;AACV,sBAAG,YAAY,CAAC,SAAS,CAAS,CAAA,EAAG,QAAQ,CAAA,CAAA,EAAI,OAAO,CAAC,GAAG,CAAA,CAAE,EAAE,aAAa,EAAE,MAC3E,eAAe,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;sBAEpE,eAAe,CAAC,2BAA2B,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC;AACvE,aAAA,CAAC;;;AAIN,IAAA,OAAO,WAAW;AACpB,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwDG;AACI,MAAM,UAAU,GAAG,CACxB,YAAoB,EACpB,OAAe,EACf,KAAa,EACb,WAAsB,GAAA,aAAa,EACnC,OAAmB,GAAA,KAAK,KACd;;AAEV,IAAA,IAAI,CAAC,YAAY,IAAI,CAAC,KAAK,EAAE;AAC3B,QAAA,OAAO,EAAE;;;AAIX,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;AACtB,QAAA,QAAQ,GAAG,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,OAAO,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,EAAI,WAAW,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;QAC1E,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,WAAW,CAAC;AAC1E,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,YAAA,OAAO,YAAY;;;AAIvB,IAAAE,UAAQ,CAAC;QACP,CAAC,YAAY,EAAE,cAAc,CAAC;QAC9B,CAAC,OAAO,EAAE,SAAS,CAAC;QACpB,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,WAAW,EAAE,aAAa,CAAC;QAC5B,CAAC,OAAO,EAAE,SAAS,CAAC;AACrB,KAAA,CAAC;;IAGF,MAAM,WAAW,GAAG,kBAAkB,CAAC,KAAK,EAAE,WAAW,CAAC;AAC1D,IAAAD,KAAG,CAAC,WAAW,EAAE,aAAa,CAAC;;IAG/B,MAAM,MAAM,GAA8B,WAAW,CAAC,iBAAiB,CAAC,WAAW,CAAC;AAEpF,IAAAC,UAAQ,CAAC;QACP,CAAC,MAAM,EAAE,QAAQ,CAAC;AAClB,QAAA,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,oBAAoB,CAAC;AACzC,QAAA,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,0BAA0B,CAAC;AACtD,KAAA,CAAC;;AAGF,IAAA,MAAM,gBAAgB,GAAG,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;AAC/E,IAAA,MAAM,sBAAsB,GAAG,eAAe,CAAC,cAAc,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,GAAG,CAAC;AAC3F,IAAAD,KAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;IAEzC,MAAM,qBAAqB,GAAW,gBAAgB;;IAGtD,MAAM,eAAe,GAAoB,EAAE;;AAG3C,IAAA,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;QAC/B,KAAK,MAAM,IAAI,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,cAAc,CAAC,EAAE;AAChE,YAAA,MAAM,YAAY,GAAWD,QAAM,CAAC;kBAC/B,YAAY,CAAC,SAAS,CAAS,CAAG,EAAA,IAAI,CAAI,CAAA,EAAA,KAAK,CAAC,GAAG,CAAE,CAAA,EAAE,kBAAkB,EAAE,MAC1E,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;kBAE1C,uBAAuB,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;YAC5C,eAAe,CAAC,IAAI,CAAC;AACnB,gBAAA,IAAI,EAAE,CAAG,EAAA,KAAK,CAAC,IAAI,CAAA,CAAA,EAAI,IAAI,CAAE,CAAA;AAC7B,gBAAA,GAAG,EAAE,YAAY;AAClB,aAAA,CAAC;;;;AAKN,IAAA,MAAM,YAAY,GAAG;QACnB,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,qBAAqB,GAAG,gBAAgB,EAAE;AAC3E,QAAA;AACE,YAAA,IAAI,EAAE,wBAAwB;YAC9B,GAAG,EAAE,qBAAqB,GAAG,sBAAsB;AACpD,SAAA;KACF;AAED,IAAA,KAAK,MAAM,SAAS,IAAI,YAAY,EAAE;AACpC,QAAA,MAAM,YAAY,GAAGA,QAAM,CAAC;cACvB,YAAY,CAAC,SAAS,CAAS,CAAG,EAAA,YAAY,CAAI,CAAA,EAAA,SAAS,CAAC,GAAG,CAAE,CAAA,EAAE,kBAAkB,EAAE,MACtF,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC;cAEtD,uBAAuB,CAAC,YAAY,EAAE,SAAS,CAAC,GAAG,CAAC;QACxD,eAAe,CAAC,IAAI,CAAC;AACnB,YAAA,IAAI,EAAE,CAAA,EAAG,SAAS,CAAC,IAAI,CAAW,SAAA,CAAA;AAClC,YAAA,GAAG,EAAE,YAAY;AAClB,SAAA,CAAC;;;IAIJ,MAAM,cAAc,GAAG,eAAe;;IAGtC,MAAM,WAAW,GAA8B,WAAW,CAAC,iBAAiB,CAC1E,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC5E;IAED,MAAM,kBAAkB,GAA8B,WAAW,CAAC,iBAAiB,CACjF,cAAc,CAAC,MAAM,CAAC,UAAU,IAAI,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAC3E;AAED,IAAAE,UAAQ,CAAC;QACP,CAAC,WAAW,EAAE,aAAa,CAAC;QAC5B,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;AAC3C,KAAA,CAAC;;AAGF,IAAA,MAAM,YAAY,GAAGF,QAAM,CAAC;UACvB,YAAY,CAAC,SAAS,CAAS,GAAGA,QAAM,CAAC,OAAO,CAAA,EAAA,CAAI,EAAE,QAAQ,EAAE,MAAM,IAAI,MAAM,CAACA,QAAM,CAAC,OAAO,EAAE,GAAG,CAAC;UACtG,IAAI,MAAM,CAACA,QAAM,CAAC,OAAO,EAAE,GAAG,CAAC;IACnC,MAAM,YAAY,GAAa,EAAE;;AAGjC,IAAA,MAAM,SAAS,GAAG,CAAC,QAAgB,EAAE,MAAc,KAAY;AAC7D,QAAA,OAAO,CAAG,EAAAA,QAAM,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAI,CAAA,EAAA,MAAM,GAAG;AACvE,KAAC;;IAGD,MAAM,WAAW,GAAG;AAClB,UAAE,WAAW,CAAC,aAAa,CAAC,GAAG,WAAW,CAAC,8BAA8B,CAAC,GAAG,WAAW,CAAC,oBAAoB;UAC3G,WAAW,CAAC,wBAAwB,CAAC,GAAG,WAAW,CAAC,oBAAoB,CAAC;IAC7E,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;;IAGlD,MAAM,WAAW,GAAG;AAClB,UAAE,WAAW,CAAC,mBAAmB,CAAC;YAChC,WAAW,CAAC,4BAA4B,CAAC;YACzC,WAAW,CAAC,0BAA0B;UACtC,WAAW,CAAC,wBAAwB,CAAC,GAAG,WAAW,CAAC,wBAAwB,CAAC;AACjF,IAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAI,CAAA,EAAA,YAAY,CAAG,EAAA,OAAO,CAAQ,MAAA,CAAA,EAAE,WAAW,CAAC,CAAC;;IAG7E,IAAI,OAAO,EAAE;QACX,MAAM,WAAW,GAAG,WAAW,CAAC,kCAAkC,CAAC,GAAG,WAAW,CAAC,8BAA8B,CAAC;AACjH,QAAA,YAAY,CAAC,IAAI,CACf,SAAS,CAAC,CAAA,oBAAA,EAAuB,YAAY,CAAG,EAAA,OAAO,CAAM,GAAA,EAAA,YAAY,GAAG,OAAO,CAAA,MAAA,CAAQ,EAAE,WAAW,CAAC,CAC1G;;;IAIH,MAAM,aAAa,GAAG;AACpB,UAAE,WAAW,CAAC,wBAAwB;UACpC,WAAW,CAAC,4BAA4B,CAAC,GAAG,WAAW,CAAC,wBAAwB,CAAC;IACrF,MAAM,eAAe,GAAG,CAAyB,sBAAA,EAAA,YAAY,GAAG,OAAO,CAAA,uBAAA,EAA0B,YAAY,CAAA,EAAG,OAAO,CAAA,GAAA,EAAM,YAAY,CAAG,EAAA,OAAO,CAAqB,kBAAA,EAAA,YAAY,CAAG,EAAA,OAAO,uBAAuB,YAAY,CAAA,EAAG,OAAO,CAAA,OAAA,CAAS;AACpP,IAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,eAAe,EAAE,aAAa,GAAG,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC;;AAG9G,IAAA,MAAM,mBAAmB,GAAG,CAAA,SAAA,EAAY,YAAY,CAAG,EAAA,OAAO,wFAAwF,YAAY,CAAA,EAAG,OAAO,CAAY,SAAA,EAAA,YAAY,GAAG,OAAO,CAAA,gBAAA,EAAmB,YAAY,CAAG,EAAA,OAAO,eAAe;AACtQ,IAAA,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,kBAAkB,CAAC,2BAA2B,CAAC,CAAC,CAAC;AAElG,IAAAC,KAAG,CAAC,YAAY,EAAE,cAAc,CAAC;;IAGjC,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,KAAK,EAAE,CAAC,CAAC,IAAI,CAACD,QAAM,CAAC,SAAS,CAAC;;AAG9E,IAAA,IAAIA,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;QAClC,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC;;AAG/D,IAAA,OAAO,MAAM;AACf,CAAC;;AC9QD;AAMA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE7D;;AAEG;AACH,MAAM,aAAa,GAAG;AACpB,IAAA,MAAM,EAAE,CAAC,OAAe,EAAE,QAAgB,EAAE,KAAa,KAAK,GAAG,OAAO,CAAA,CAAA,EAAI,QAAQ,CAAA,CAAA,EAAI,KAAK,CAAI,EAAA,CAAA;AACjG,IAAA,QAAQ,EAAE,CAAC,OAAe,EAAE,UAAoB,KAAK,CAAG,EAAA,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAG,CAAA,CAAA;AACzF,IAAA,IAAI,EAAE,CAAC,OAAe,EAAE,KAAa,KAAK,CAAK,EAAA,EAAA,OAAO,CAAU,OAAA,EAAA,KAAK,CAAI,EAAA,CAAA;CACjE;AAEV;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA2DG;AACI,MAAM,oBAAoB,GAAG,CAClC,QAAgB,EAChB,mBAA6B,EAC7B,YAAoB,EACpB,cAAA,GAA2B,CAAC,EAAE,CAAC,EAC/B,OAAkB,GAAA,EAAE,KACV;;IAEV,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,EAAE;AACxC,QAAA,OAAO,EAAE;;;AAIX,IAAA,IAAI,QAA4B;AAChC,IAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;QACtB,QAAQ,GAAG,GAAG,QAAQ,CAAA,CAAA,EAAI,mBAAmB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,YAAY,CAAI,CAAA,EAAA,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA,CAAA,EAAI,OAAO,CAAA,CAAE;QAChH,MAAM,YAAY,GAAGA,QAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC;AAC7D,QAAA,IAAI,YAAY,KAAK,SAAS,EAAE;AAC9B,YAAA,OAAO,YAAY;;;AAIvB,IAAA,IAAI,MAAc;;AAGlB,IAAA,IAAIA,QAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;QACnC,MAAM,aAAa,GAAGA,QAAM,CAAC,cAAc,CAAC,QAAQ,CAAC;AAErD,QAAA,IAAI,OAAO,aAAa,KAAK,QAAQ,EAAE;AACrC,YAAA,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,aAAa,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;;aACnE;;YAEL,MAAM,UAAU,GAAa,EAAE;AAC/B,YAAA,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM;AAEnC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE;AAC/B,gBAAA,MAAM,KAAK,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE;AAC1D,gBAAA,UAAU,CAAC,IAAI,CAAC,CAAA,EAAG,aAAa,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,KAAK,CAAG,CAAA,CAAA,CAAC;;YAGlD,MAAM,GAAG,aAAa,CAAC,QAAQ,CAAC,OAAO,EAAE,UAAU,CAAC;;;SAEjD;;QAEL,IAAI,YAAY,GAAG,EAAE;AAErB,QAAA,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC;;AAG5C,QAAA,IAAI,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC;YAAE,YAAY,GAAG,YAAY;AACvE,QAAA,IAAI,aAAa,CAAC,UAAU,CAAC,KAAK,CAAC;YAAE,YAAY,GAAG,KAAK;AACzD,QAAA,IAAI,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,YAAY,GAAG,MAAM;AAC3D,QAAA,IAAI,YAAY,KAAK,MAAM,EAAE;AAC3B,YAAA,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;;AAClD,aAAA,IAAI,YAAY,KAAK,YAAY,EAAE;YACxC,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC;;AACvF,aAAA,IAAI,YAAY,KAAK,KAAK,EAAE;AACjC,YAAA,MAAM,GAAG,UAAU,CAAC,YAAY,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;;aACxD;;YAEL,MAAM,WAAW,GAAG,SAAS,CAAC,eAAe,CAAC,QAAQ,CAAC;AACvD,YAAA,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC,CAAC;;;AAG1E,IAAA,IAAIA,QAAM,CAAC,WAAW,IAAI,QAAQ,EAAE;QAClC,YAAY,CAAC,SAAS,CAAS,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC;;AAGpE,IAAA,OAAO,MAAM;AACf,CAAC;;AC1ID,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAE7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACvD,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;;;;;AAyBG;AACI,MAAM,cAAc,GAAG,CAAC,KAAa,EAAE,QAAgB,KAAY;AACxE,IAAAA,UAAQ,CAAC;QACP,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,QAAQ,EAAE,UAAU,CAAC;AACvB,KAAA,CAAC;;IAGF,MAAM,gBAAgB,GAAGF,QAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC;IACzD,IAAI,gBAAgB,EAAE;QACpB,KAAK,GAAG,gBAAgB;;AAE1B,IAAA,KAAK,GAAG,sBAAsB,CAAC,oBAAoB,CAAC,KAAK,CAAC;AAE1D,IAAAC,KAAG,CAAC,KAAK,EAAE,kCAAkC,CAAC;;AAG9C,IAAA,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;AAChC,QAAA,OAAO,KAAK;;;AAId,IAAAA,KAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC;AAC7C,IAAA,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;AAC5B,IAAAA,KAAG,CAAC,KAAK,EAAE,gCAAgC,CAAC;IAE5C,IAAI,oBAAoB,GAAY,KAAK;AACzC,IAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGD,QAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACjD,QAAA,IAAI,KAAK,CAAC,QAAQ,CAACA,QAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YACxC,oBAAoB,GAAG,IAAI;YAC3B;;;AAGJ,IAAA,IAAIA,QAAM,CAAC,WAAW,IAAI,oBAAoB,EAAE;QAC9C,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAACA,QAAM,CAAC,WAAW,CAAC;AAC/C,QAAAC,KAAG,CAAC,OAAO,EAAE,SAAS,CAAC;QAEvB,IAAI,OAAO,EAAE;;AAEX,YAAA,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,gBAAA,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;AACxB,gBAAAA,KAAG,CAAC,KAAK,EAAE,OAAO,CAAC;gBAEnB,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAGD,QAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;AACzC,gBAAAC,KAAG,CAAC,SAAS,EAAE,WAAW,CAAC;gBAE3B,IAAI,SAAS,EAAE;AACb,oBAAA,IAAI,cAAsB;AAE1B,oBAAA,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE;AAC9D,wBAAA,cAAc,GAAG,CAAA,KAAA,EAAQ,SAAS,CAAA,IAAA,CAAM;;AACnC,yBAAA,IAAI,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;wBACpC,cAAc,GAAG,QAAQ,eAAe,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA,IAAA,CAAM;;yBAC/D;wBACL,cAAc,GAAG,SAAS;;AAG5B,oBAAAA,KAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC;oBACrC,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,cAAc,CAAC;AAC5C,oBAAAA,KAAG,CAAC,KAAK,EAAE,OAAO,CAAC;;;;;AAM3B,IAAAA,KAAG,CAAC,KAAK,EAAE,iCAAiC,CAAC;AAC7C,IAAA,OAAO,KAAK;AACd,CAAC;AACD;;;;;;;;;;;;;;;;;;;;;AAqBG;AACI,MAAM,aAAa,GAAG,CAAC,KAAa,KAAY;IACrDA,KAAG,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IACvB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACxC,IAAAA,KAAG,CAAC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;;IAE/B,IAAI,CAAC,UAAU,EAAE;AACf,QAAA,OAAO,KAAK;;IAEd,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAACD,QAAM,CAAC,YAAY,CAAC;IAChD,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,KAAK;;;IAGd,IAAI,MAAM,GAAG,KAAK;AAClB,IAAA,KAAK,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC5C,QAAA,MAAM,KAAK,GAAG,OAAO,CAAC,CAAC,CAAC;QACxB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC;AAChC,QAAA,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE;QAExB,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;QAC7B,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE;;QAGpC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;QACzC,MAAM,aAAa,GAAGA,QAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,KAAK;;QAGtD,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,aAAa,CAAC;AAC3D,QAAA,MAAM,SAAS,GAAG,CAAA,KAAA,EAAQ,SAAS,CAAI,CAAA,EAAA,YAAY,GAAG;;QAGtD,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC;;AAG3C,IAAA,OAAO,MAAM;AACf,CAAC;;ACvKD;AAcA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC;AACnD,CAAC;AAKD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BG;AACI,MAAM,UAAU,GAAG,CAAC,YAAoB,EAAE,OAAA,GAAmB,IAAI,KAAuB;;IAE7F,IAAI,CAAC,YAAY,IAAI,CAACF,QAAM,CAAC,KAAK,EAAE;QAClC,OAAO;AACL,YAAA,sBAAsB,EAAE,EAAE;SAC3B;;IAEHE,UAAQ,CAAC,CAAC,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;;IAEhC,IAAI,OAAO,EAAE;;AAEX,QAAA,IAAIF,QAAM,CAAC,WAAW,EAAE;YACtB,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CAGxC,YAAY,EAAE,YAAY,CAAC;YAC9B,IAAI,YAAY,EAAE;gBAChB,OAAO;oBACL,sBAAsB,EAAE,YAAY,CAAC,sBAAsB;oBAC3D,GAAG,EAAE,YAAY,CAAC,GAAG;iBACtB;;;AAGL,QAAA,IACEA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;AAC9C,YAAA,CAAC,GAAGA,QAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAU,KACzC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAU,KAAI;gBACvC,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,YAAY;aAC5C,CAAC,CACH,EACD;YACA,OAAO;AACL,gBAAA,sBAAsB,EAAE,EAAE;aAC3B;;aACI;AACL,YAAAA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;;;SAE3C;AACL,QAAAA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;;AAEhD,IAAAC,KAAG,CAACD,QAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;;AAE1D,IAAA,IAAI,oBAAoB,GAAG,GAAG,GAAG,YAAY;AAC7C,IAAAC,KAAG,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;;IAEjD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAACD,QAAM,CAAC,cAAc,CAAC,EAAE;QACjD,IAAI,QAAQ,GAAG,MAAM,CAAC,IAAI,CAACA,QAAM,CAAC,mBAAmB,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC5F,QAAA,IAAI,CAAC,CAAC,QAAQ,EAAE;AACd,YAAA,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAEA,QAAM,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;;;;AAIvF;;;;AAIG;IACH,MAAM,mBAAmB,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC;AACnD,IAAAC,KAAG,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;;AAE/C,IAAA,IAAI,eAAmC;AACvC,IAAA,KAAK,MAAM,EAAE,IAAID,QAAM,CAAC,iBAAiB,EAAE;AACzC,QAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE;YAC7B,eAAe,GAAG,EAAE;YACpB;;;IAGJ,IAAI,eAAe,EAAE;QACnB,IAAI,WAAW,GAAG,IAAI,MAAM,CAAC,eAAe,EAAE,GAAG,CAAC;AAClD,QAAA,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAEA,QAAM,CAAC,6BAA6B,CAAC;;;IAI5G,MAAM,sCAAsC,GAAG,cAAc,CAAC,mBAAmB,CAAC,CAAC,CAAC;AACjF,SAAA,OAAO,CAAC,MAAM,EAAEA,QAAM,CAAC,SAAS;AAChC,SAAA,KAAK,CAAC,CAAG,EAAAA,QAAM,CAAC,SAAS,CAAA,CAAE,CAAC;AAE/B,IAAAC,KAAG,CAAC,sCAAsC,EAAE,wCAAwC,CAAC;;AAGrF,IAAA,MAAM,QAAQ,GAAG,sCAAsC,CAAC,CAAC,CAAC;AAC1D,IAAAA,KAAG,CAAC,QAAQ,EAAE,UAAU,CAAC;;IAGzB,MAAM,YAAY,GAAG,sCAAsC,CAAC,KAAK,CAAC,CAAC,CAAC;AACpE,IAAA,IAAI,OAAO,GAAW,sBAAsB,CAAC,oBAAoB,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;;IAGxF,IAAI,eAAe,EAAE;AACnB,QAAA,MAAM,iBAAiB,GAAGD,QAAM,CAAC;cAC5B,YAAY,CAAC,SAAS,CACrB,CAAqB,kBAAA,EAAA,YAAY,CAAE,CAAA,EACnC,QAAQ,EACR,MAAM,IAAI,MAAM,CAACA,QAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC;cAE7D,IAAI,MAAM,CAACA,QAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC;AACzD,QAAA,mBAAmB,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;AAC3F,QAAAE,UAAQ,CAAC;YACP,CAAC,OAAO,EAAE,gCAAgC,CAAC;YAC3C,CAAC,YAAY,EAAE,qCAAqC,CAAC;YACrD,CAAC,oBAAoB,EAAE,6CAA6C,CAAC;AACtE,SAAA,CAAC;QACF,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;QAC7D,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;QACvE,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,iBAAiB,EAAE,eAAe,CAAC;AACvF,QAAAA,UAAQ,CAAC;YACP,CAAC,OAAO,EAAE,iCAAiC,CAAC;YAC5C,CAAC,YAAY,EAAE,sCAAsC,CAAC;YACtD,CAAC,oBAAoB,EAAE,8CAA8C,CAAC;AACvE,SAAA,CAAC;;;IAIJ,IAAI,CAAC,CAAC,OAAO,IAAIF,QAAM,CAAC,YAAY,EAAE;AACpC,QAAAE,UAAQ,CAAC;YACP,CAAC,OAAO,EAAE,yBAAyB,CAAC;YACpC,CAAC,YAAY,EAAE,8BAA8B,CAAC;YAC9C,CAAC,oBAAoB,EAAE,sCAAsC,CAAC;AAC/D,SAAA,CAAC;AACF,QAAA,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC,GAAG,YAAY,CAAC,OAAO,EAAE,YAAY,EAAE,oBAAoB,CAAC;AACzG,QAAAA,UAAQ,CAAC;YACP,CAAC,OAAO,EAAE,0BAA0B,CAAC;YACrC,CAAC,YAAY,EAAE,+BAA+B,CAAC;YAC/C,CAAC,oBAAoB,EAAE,uCAAuC,CAAC;AAChE,SAAA,CAAC;;;AAIJ,IAAA,MAAM,QAAQ,GAAG,YAAY,CAAC,mBAAmB,CAAC;AAClD,IAAA,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,GAAwB,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAwB;AAEnG,IAAAA,UAAQ,CAAC;QACP,CAAC,KAAK,EAAE,OAAO,CAAC;QAChB,CAAC,cAAc,EAAE,gBAAgB,CAAC;AACnC,KAAA,CAAC;;IAGF,MAAM,gBAAgB,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,EAAU,KAAI;AACzD,QAAA,OAAO,cAAc,CAAC,EAAE,EAAE,QAAQ,CAAC;AACrC,KAAC,CAAC;AAEF,IAAAD,KAAG,CAAC,gBAAgB,EAAE,kBAAkB,CAAC;AACzC,IAAA,IAAI,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE;AACxB,QAAA,gBAAgB,CAAC,CAAC,CAAC,GAAG,SAAS;;AAEjC,IAAAC,UAAQ,CAAC;QACP,CAAC,gBAAgB,EAAE,sCAAsC,CAAC;QAC1D,CAAC,mBAAmB,EAAE,iDAAiD,CAAC;AACzE,KAAA,CAAC;;AAGF,IAAA,oBAAoB,IAAI,oBAAoB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,OAAO,CAAC;AAEpH,IAAAD,KAAG,CAAC,oBAAoB,EAAE,gDAAgD,CAAC;;AAG3E,IAAA,IAAI,CAAC,CAACD,QAAM,CAAC,eAAe,EAAE;AAC5B,QAAA,MAAM,cAAc,GAAGA,QAAM,CAAC;cACzB,YAAY,CAAC,SAAS,CACrB,CAAkB,eAAA,EAAA,YAAY,EAAE,EAChC,QAAQ,EACR,MAAM,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;cAE7C,IAAI,MAAM,CAAC,oBAAoB,EAAE,GAAG,CAAC;QACzC,KAAK,IAAI,WAAW,IAAI,oBAAoB,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE;AACvD,YAAA,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;AACjE,gBAAA,oBAAoB,GAAG;AACpB,qBAAA,OAAO,CAAC,WAAW,EAAE,WAAW,GAAG,aAAa;AAChD,qBAAA,OAAO,CAAC,cAAc,EAAE,aAAa,CAAC;;;;AAK/C,IAAAC,KAAG,CAAC,oBAAoB,EAAE,qCAAqC,CAAC;IAChE,IAAI,sBAAsB,GAAG,EAAE;AAC/B,IAAA,IAAI,GAAqB;AACzB,IAAA,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,oBAAoB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;AAC5E,QAAA,IAAI,KAAK,KAAK,IAAI,EAAE;AAClB,YAAA,MAAM,cAAc,GAAGD,QAAM,CAAC;kBACzB,YAAY,CAAC,SAAS,CACrB,CAAkB,eAAA,EAAA,YAAY,CAAE,CAAA,EAChC,QAAQ,EACR,MAAM,IAAI,MAAM,CAACA,QAAM,CAAC,SAAS,EAAE,GAAG,CAAC;kBAEzC,IAAI,MAAM,CAACA,QAAM,CAAC,SAAS,EAAE,GAAG,CAAC;YACrC,oBAAoB,GAAG,oBAAoB,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;;AAGvE,YAAA,MAAM,QAAQ,GAAG,mBAAmB,CAAC,CAAC,CAAC;AACvC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAGA,QAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;gBAC1C,IAAIA,QAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,QAAQ,EAAE;AACjC,oBAAA,GAAG,GAAG;AACJ,wBAAA,EAAE,EAAE,QAAQ;wBACZ,KAAK,EAAEA,QAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK;AAC1B,wBAAA,YAAY,EAAE,oBAAoB;qBACnC;oBACD;;;;aAGC;AACL,YAAA,sBAAsB,IAAI,oBAAoB,GAAGA,QAAM,CAAC,SAAS;;;;IAKrE,sBAAsB,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;IAEpEE,UAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,wCAAwC,CAAC,CAAC,CAAC;AAE9E,IAAA,MAAM,MAAM,GAAG;AACb,QAAA,sBAAsB,EAAE,sBAAsB;AAC9C,QAAA,GAAG,EAAE,GAAG;KACT;AAED,IAAA,IAAIF,QAAM,CAAC,WAAW,EAAE;QACtB,YAAY,CAAC,SAAS,CAAC,YAAY,EAAE,YAAY,EAAE,MAAM,CAAC;;AAG5D,IAAA,OAAO,MAAM;AACf,CAAC;;AClRD;AAMA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,iBAAiB,EAAE,CAAC,EAAE,CAAC,CAAC;AAClD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AACxD,CAAC;AACM,MAAM,eAAe,GAAG,CAAC,IAAY,KAAU;AACpD,IAAAD,KAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACjB,IAAA,IAAI,KAAyB;IAC7B,IAAI,CAACD,QAAM,CAAC,eAAe;QAAE;AAC7B,IAAA,IAAI,YAAY,GAAQ,CAAC,GAAGA,QAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,CAAS,KAAI;AAC5F,QAAA,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,EAAE;YACvF,KAAK,GAAG,CAAC;AACT,YAAA,OAAO,IAAI;;aACN;AACL,YAAA,OAAO,KAAK;;AAEhB,KAAC;AACC,UAAE,CAAC,GAAGA,QAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,IAAI,CACvC,CAAC,IACC,CAAC,CAAC;AACA;;AAEU;aACT,KAAK,CAAC,GAAG;AACT,aAAA,IAAI,CAAC,CAAC,EAAU,KAAI;AACnB,YAAA,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;AAC1F,SAAC;AACL;;;;AAIM;AACP;UACD,SAAS;AACb,IAAA,IAAI,YAAY,IAAI,KAAK,KAAK,SAAS,EAAE;AACvC,QAAAA,QAAM,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;;AAE1C,IAAAC,KAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACjB,IAAAD,QAAM,CAAC,eAAe,CAAC,UAAU,CAAC,IAAI,EAAEA,QAAM,CAAC,eAAe,CAAC,QAAQ,CAAC,MAAM,CAAC;AACjF,CAAC;;AC/CD;AAMA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC;AACzD,CAAC;AACM,MAAM,gBAAgB,GAAG,CAAC,IAAY,KAAU;AACrD,IAAAD,KAAG,CAAC,IAAI,EAAE,MAAM,CAAC;IACjB,IAAI,CAACD,QAAM,CAAC,KAAK;QAAE;IACnB,IAAI,kBAAkB,GAAY,KAAK;IACvC,IAAI,WAAW,GAAa;AACzB,SAAA,OAAO,CAAC,IAAI,EAAEA,QAAM,CAAC,SAAS;AAC9B,SAAA,OAAO,CAAC,IAAI,EAAEA,QAAM,CAAC,SAAS;AAC9B,SAAA,KAAK,CAACA,QAAM,CAAC,SAAS;SACtB,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE;SACpB,GAAG,CAAC,CAAC,IAAG;AACP,QAAA,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;AACnD,KAAC,CAAC;IACJ,IAAI,SAAS,GAAW,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,EAAE;AAC9E,IAAA,IAAI,SAAS,KAAK,EAAE,EAAE;AACpB,QAAA,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE;YAC3B,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;;QAEpC,WAAW,CAAC,KAAK,EAAE;AACnB,QAAA,CAAC,GAAGA,QAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,GAA8B,KAAI;AACpE,YAAA,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,GAAG,YAAY,eAAe,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACrF,kBAAkB,GAAG,IAAI;gBACzB,IAAI,CAAC,GAAG,CAAC;AACT,gBAAA,OAAO,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;oBAC9B,IAAI,KAAK,GAAW,CAAC;AACrB,oBAAA,IAAI,WAAW,GAAQ,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,OAAY,EAAE,EAAU,KAAI;AACzE,wBAAA,IAAI,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE;4BAC5C,KAAK,GAAG,EAAE;AACV,4BAAA,OAAO,IAAI;;6BACN;AACL,4BAAA,OAAO,KAAK;;AAEhB,qBAAC;AACC,0BAAE,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC,KAC3B,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,EAAU,KAAI;AACxC,4BAAA,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC;AAC/C,yBAAC,CAAC;AAEN;AACE;;;;AAIA;AACA,4BAAA,SAAS;AACb,oBAAA,IAAI,CAAC,CAAC,WAAW,EAAE;AACjB,wBAAA,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC;;AAEvB,oBAAA,IAAI,OAAO,GAAW,CAAG,EAAA,WAAW,CAAC,CAAC,CAAC,CAAI,CAAA,EAAA,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG;AAChE,oBAAAC,KAAG,CAAC,OAAO,EAAE,SAAS,CAAC;oBACvB,GAAG,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC;AAC5C,oBAAA,CAAC,GAAG,CAAC,GAAG,CAAC;;;AAGf,SAAC,CAAC;;AAEJ,IAAA,IAAI,kBAAkB,KAAK,KAAK,EAAE;AAChC,QAAAA,KAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACjB,QAAAD,QAAM,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAEA,QAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC;;AAE/D,CAAC;;ACxED;AASA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,EAAE,CAAC,CAAC;AACjD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,gBAAgB,EAAE,KAAK,CAAC;AACvD,CAAC;AACM,MAAM,eAAe,GAAG;AAC7B,IAAA,cAAc,CAAC,KAAwB,EAAE,YAAA,GAAwB,KAAK,EAAA;AACpE,QAAAA,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,OAAO,CAAC;YAChB,CAAC,YAAY,EAAE,cAAc,CAAC;AAC/B,SAAA,CAAC;AACF,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,CAAC,YAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC3C,gBAAA,KAAK,IAAI,IAAI,IAAI,KAAK,CAAC,KAAK,CAACF,QAAM,CAAC,SAAS,CAAC,EAAE;AAC9C,oBAAA,IAAI,IAAI,KAAK,EAAE,EAAE;AACf,wBAAA,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;;;;AAGlC,iBAAA,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE;AAC/B,gBAAA,KAAK,CAAC,OAAO,CAAC,IAAI,IAAG;AACnB,oBAAA,eAAe,CAAC,aAAa,CAAC,IAAI,CAAC;AACrC,iBAAC,CAAC;;iBACG;AACL,gBAAA,eAAe,CAAC,aAAa,CAAC,KAAK,CAAC;;;QAEtC,OAAO,GAAQ,EAAE;YACjB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;AACD,IAAA,aAAa,CAAC,IAAY,EAAA;AACxB,QAAAC,KAAG,CAAC,IAAI,EAAE,MAAM,CAAC;AACjB,QAAA,IAAI;YACF,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBACtC,gBAAgB,CAAC,IAAI,CAAC;;iBACjB;gBACL,eAAe,CAAC,IAAI,CAAC;;AAEvB,YAAAA,KAAG,CAACD,QAAM,CAAC,KAAK,EAAE,OAAO,CAAC;;QAC1B,OAAO,GAAQ,EAAE;YACjB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;CACF;;AC7CD,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC;AACnD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,KAAK,CAAC;AACzD,CAAC;AAEM,MAAM,gBAAgB,GAAG,OAAO,sBAA8B,EAAE,WAAmB,KAAmB;AAC3G,IAAAA,UAAQ,CAAC;QACP,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;QAClD,CAAC,WAAW,EAAE,aAAa,CAAC;AAC7B,KAAA,CAAC;AACF,IAAA,WAAW,GAAG;AACX,SAAA,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAI;QACf,OAAO,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACpF,KAAC;AACA,SAAA,OAAO,EAAE;IACZ,IAAI,gCAAgC,GAAW,EAAE;AACjD,IAAA,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE;AAC1C,QAAA,IAAI,CAAC,CAAC,YAAY,KAAK,EAAE,EAAE;AACzB,YAAAA,UAAQ,CAAC;AACP,gBAAA,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,CAAC;AACZ,gBAAA,CAAC,CAAC,CAAC,KAAK,EAAE,OAAO,CAAC;AAClB,gBAAA,CAAC,CAAC,CAAC,YAAY,EAAE,cAAc,CAAC;AACjC,aAAA,CAAC;AAEF,YAAA,KAAK,MAAM,aAAa,IAAIF,QAAM,CAAC,iBAAiB,EAAE;gBACpD,gCAAgC,IAAI,sCAAsC,CAAC,CAAC,KAAK,CAC/E,CAAA,EAAAA,QAAM,CAAC;sBACH,WAAW,CAAC,MAAM,GAAG,CAAC,IAAI,CAAC,KAAK;0BAC9B,CAAmB,gBAAA,EAAA,WAAW,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAG,CAAA;AAChD,0BAAE;AACJ,sBAAE,EACN,CAAM,GAAA,EAAA,aAAa,CAAI,CAAA,EAAA,CAAC,CAAC,YAAY,CAAI,CAAA,EAAAA,QAAM,CAAC,SAAS,EAAE;;AAE7D,YAAA,CAAC,CAAC,YAAY,GAAG,EAAE;;;AAGvB,IAAA,IAAI,sBAAsB,KAAK,EAAE,EAAE;AACjC,QAAAC,KAAG,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;AAErD,QAAA,KAAK,MAAM,YAAY,IAAI,sBAAsB,CAAC,KAAK,CAACD,QAAM,CAAC,SAAS,CAAC,EAAE;AACzE,YAAA,IAAI,YAAY,KAAK,EAAE,EAAE;AACvB,gBAAA,MAAM,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;;;;AAIxD,IAAA,IAAI,gCAAgC,KAAK,EAAE,EAAE;AAC3C,QAAAC,KAAG,CAAC,gCAAgC,EAAE,kCAAkC,CAAC;AAEzE,QAAA,KAAK,MAAM,YAAY,IAAI,gCAAgC,CAAC,KAAK,CAACD,QAAM,CAAC,SAAS,CAAC,EAAE;AACnF,YAAA,IAAI,YAAY,KAAK,EAAE,EAAE;AACvB,gBAAA,MAAM,eAAe,CAAC,cAAc,CAAC,YAAY,CAAC;;;;AAI1D,CAAC;;AC/DD;AAUA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC;AACpD,CAAC;AACM,MAAM,WAAW,GAAG,CAAC,EAAU,EAAE,oBAA+B,KAAY;AACjF,IAAA,IAAI;AACF,QAAAD,KAAG,CAAC,oBAAoB,EAAE,4BAA4B,EAAE,CAAA,CAAA,CAAG,CAAC;AAC5D,QAAA,MAAM,kBAAkB,GAAG,WAAW,CAAC,GAAG,EAAE;AAC5C,QAAA,MAAM,cAAc,GAAa,oBAAoB,IAAI,oBAAoB,EAAE;AAC/E,QAAAA,KAAG,CAAC,cAAc,EAAE,sBAAsB,EAAE,CAAA,CAAA,CAAG,CAAC;QAChD,MAAM,sBAAsB,GAAa,EAAE;AAC3C,QAAA,MAAM,WAAW,GAAWD,QAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC;AACzD,QAAA,KAAK,IAAI,YAAY,IAAI,cAAc,EAAE;AACvC,YAAA,IAAI,8BAAsC;AAC1C,YAAA,IAAI,mBAAqC;AACzC,YAAA,CAAC,8BAA8B,EAAE,mBAAmB,CAAC,GAAG,MAAM,CAAC,MAAM,CACnE,UAAU,CAAC,YAAY,EAAE,CAAC,oBAAoB,CAAC,CAChD;AACD,YAAA,sBAAsB,CAAC,IAAI,CAAC,8BAA8B,CAAC;YAC3D,IAAI,mBAAmB,EAAE;AACvB,gBAAA,KAAK,IAAI,GAAG,IAAI,WAAW,EAAE;oBAC3B,IAAI,GAAG,CAAC,EAAE,KAAK,mBAAmB,CAAC,EAAE,EAAE;AACrC,wBAAA,GAAG,CAAC,YAAY,IAAI,mBAAmB,CAAC,YAAY;wBACpD;;;;;AAKR,QAAAE,UAAQ,CAAC;AACP,YAAA,CAAC,sBAAsB,EAAE,CAA8B,2BAAA,EAAA,EAAE,GAAG,CAAC;AAC7D,YAAA,CAAC,WAAW,EAAE,CAAmB,gBAAA,EAAA,EAAE,GAAG,CAAC;AACxC,SAAA,CAAC;QACF,gBAAgB,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,WAAW,CAAC;AAC9D,QAAA,MAAM,gBAAgB,GAAG,WAAW,CAAC,GAAG,EAAE;AAC1C,QAAA,IAAI,YAAY,GAAoB,gBAAgB,GAAG,kBAAkB;QACzE,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI;QAC7C,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAA4B,yBAAA,EAAA,YAAY,CAAG,CAAA,CAAA,CAAC;AAC3E,QAAA,IAAI,iBAAiB,GAAG,QAAQ,CAAC,cAAc,CAACF,QAAM,CAAC,cAAc,GAAG,OAAO,CAAC;QAChF,IAAI,iBAAiB,EAAE;;YAErB,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE;gBAChD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AACpD,gBAAA,gBAAgB,CAAC,EAAE,GAAG,kBAAkB;AACxC,gBAAA,gBAAgB,CAAC,SAAS,GAAG,CAA8C,2CAAA,EAAA,YAAY,GAAG;AAC1F,gBAAA,iBAAiB,CAAC,WAAW,CAAC,gBAAgB,CAAC;;AAEjD,YAAA,MAAM,OAAO,GAAG,CAA4B,yBAAA,EAAA,YAAY,GAAG;YAC3D,IAAI,gBAAgB,GAAG,QAAQ,CAAC,cAAc,CAAC,kBAAkB,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE;AACrB,gBAAA,gBAAgB,GAAG,QAAQ,CAAC,aAAa,CAAC,GAAG,CAAC;AAC9C,gBAAA,gBAAgB,CAAC,EAAE,GAAG,kBAAkB;AACxC,gBAAA,gBAAgB,CAAC,SAAS,GAAG,OAAO;AACpC,gBAAA,iBAAiB,CAAC,WAAW,CAAC,gBAAgB,CAAC;;iBAC1C;AACL,gBAAA,gBAAgB,CAAC,SAAS,GAAG,OAAO;;;AAGxC,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE;;IACjB,OAAO,GAAG,EAAE;QACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,QAAA,OAAO,IAAI,CAAC,GAAG,EAAE;;AAErB,CAAC;;AC7ED;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC;AACrD,CAAC;AACM,MAAM,aAAa,GAAG;AAC3B,IAAA,SAAS,CAAC,KAAa,EAAE,KAAa,EAAE,iBAA0B,KAAK,EAAA;AACrE,QAAA,IAAI;YACF,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;AACvE,YAAA,IAAI,CAAC,CAACF,QAAM,CAAC,wCAAwC,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,KAAK,YAAY,CAAC,EAAE;AACzG,gBAAA,MAAM,MAAM,GAAG,CAAA,iBAAA,EAAoB,YAAY,CAA8D,2DAAA,EAAA,KAAK,IAAI;AACtH,gBAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,EAAE;;AAEpF,YAAAA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,YAAY;YACnC,IAAI,CAAC,cAAc,EAAE;gBACnB,OAAO,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAG,YAAY,EAAE,CAAC;;iBAC9C;gBACL,OAAO;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,IAAI,EAAE,EAAE,CAAC,KAAK,GAAG,YAAY,EAAE;AAC/B,oBAAA,OAAO,EAAE,CAAA,UAAA,EAAa,KAAK,CAAA,6CAAA,EAAgD,YAAY,CAAG,CAAA,CAAA;iBAC3F;;;QAEH,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC;YACxC,MAAM,MAAM,GAAa,EAAE;AAC3B,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAA8B,2BAAA,EAAA,KAAK,CAAM,GAAA,EAAA,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;YAErE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,4BAA4B,EAAE,MAAM,EAAE;;KAE3E;AACD,IAAA,UAAU,CAAC,SAAoC,EAAA;QAC7C,MAAM,MAAM,GAAa,EAAE;QAC3B,MAAM,aAAa,GAA8B,EAAE;AACnD,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;AACnC,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC;AAC/B,gBAAA,IAAI;AACF,oBAAA,MAAM,WAAW,GAAG,aAAa,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;AAChE,oBAAA,IAAI,WAAW,CAAC,OAAO,EAAE;wBACvB,aAAa,CAAC,GAAG,CAAC,GAAI,WAAW,CAAC,IAAkC,CAAC,GAAG,CAAC;;yBACpE;wBACL,MAAM,CAAC,IAAI,CAAC,CAA8B,2BAAA,EAAA,GAAG,CAAM,GAAA,EAAA,WAAW,CAAC,OAAO,CAAE,CAAA,CAAC;AACzE,wBAAA,IAAI,WAAW,CAAC,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4BACvD,MAAM,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC;;;;gBAGtC,OAAO,QAAiB,EAAE;oBAC1B,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAClD,oBAAA,IAAI,QAAQ,YAAY,KAAK,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,CAAiC,8BAAA,EAAA,GAAG,CAAM,GAAA,EAAA,QAAQ,CAAC,OAAO,CAAE,CAAA,CAAC;;;;YAK/E,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC/C,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,oBAAA,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,wBAAA,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;;yBACxC;AACL,wBAAA,MAAM,CAAC,MAAM,GAAG,MAAM;;;AAG1B,gBAAA,OAAO,MAAM;;iBACR;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC;;;QAEjD,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,CAAC;YACxC,MAAM,WAAW,GAAa,EAAE;AAChC,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;AACxB,gBAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;AAE/B,YAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;;YAE7B,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,MAAM,EAAE,WAAW;aACpB;;KAEJ;IACD,SAAS,GAAA;AACP,QAAAC,KAAG,CAACD,QAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,OAAOA,QAAM,CAAC,MAAM;KACrB;IACD,cAAc,GAAA;QACZ,OAAOA,QAAM,CAAC,UAAU;KACzB;AACD,IAAA,aAAa,CAAC,KAAa,EAAA;AACzB,QAAAE,UAAQ,CAAC;YACP,CAAC,KAAK,EAAE,OAAO,CAAC;YAChB,CAACF,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,YAAY,CAAC;AACrC,SAAA,CAAC;AACF,QAAA,OAAOA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC;KAC5B;AACD,IAAA,WAAW,CAAC,KAAa,EAAE,KAAa,EAAE,mBAA4B,KAAK,EAAA;AACzE,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;AACnC,gBAAAA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC,OAAO,CAAC,+BAA+B,EAAE,EAAE,CAAC;;iBACpE;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAA,CAAA,CAAG,CAAC;;YAEtD,IAAI,CAAC,gBAAgB,EAAE;AACrB,gBAAA,OAAO,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAGA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC;;iBACtD;gBACL,OAAO;AACL,oBAAA,OAAO,EAAE,IAAI;AACb,oBAAA,IAAI,EAAE,EAAE,CAAC,KAAK,GAAGA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;oBACvC,OAAO,EAAE,CAAa,UAAA,EAAA,KAAK,CAAiD,8CAAA,EAAAA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAG,CAAA,CAAA;iBACpG;;;QAEH,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC7C,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,6BAA6B;AACtC,gBAAA,MAAM,EAAE,CAAE,GAAa,CAAC,OAAO,CAAC;aACjC;;KAEJ;AACD,IAAA,YAAY,CAAC,MAAiC,EAAA;QAC5C,MAAM,MAAM,GAAa,EAAE;QAC3B,MAAM,aAAa,GAA8B,EAAE;AACnD,QAAA,IAAI;YACF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AAChC,YAAA,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE;AACrB,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,8BAAA,CAAgC,CAAC;;AAEnD,YAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACpC,gBAAA,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC;AACnB,gBAAA,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC;AAC5B,gBAAA,IAAI;AACF,oBAAA,MAAM,OAAO,GAAG,aAAa,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,EAAE,IAAI,CAAC;AAC9D,oBAAA,IAAI,OAAO,CAAC,OAAO,EAAE;wBACnB,aAAa,CAAC,GAAG,CAAC,GAAI,OAAO,CAAC,IAAkC,CAAC,GAAG,CAAC;;yBAChE;wBACL,MAAM,CAAC,IAAI,CAAC,CAA+B,4BAAA,EAAA,GAAG,CAAM,GAAA,EAAA,OAAO,CAAC,OAAO,CAAE,CAAA,CAAC;AACtE,wBAAA,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;4BAC/C,MAAM,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC;;;;gBAGlC,OAAO,QAAiB,EAAE;oBAC1B,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;AAClD,oBAAA,IAAI,QAAQ,YAAY,KAAK,EAAE;wBAC7B,MAAM,CAAC,IAAI,CAAC,CAAiC,8BAAA,EAAA,GAAG,CAAM,GAAA,EAAA,QAAQ,CAAC,OAAO,CAAE,CAAA,CAAC;;;;YAI/E,IAAI,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;AACzC,gBAAA,MAAM,MAAM,GAAG,iBAAiB,CAAC,aAAa,CAAC;AAC/C,gBAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,oBAAA,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7C,wBAAA,MAAM,CAAC,MAAM,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,MAAM,CAAC;;yBACxC;AACL,wBAAA,MAAM,CAAC,MAAM,GAAG,MAAM;;;AAG1B,gBAAA,OAAO,MAAM;;iBACR;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,CAAA,8BAAA,CAAgC,CAAC;;;QAEnD,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC7C,MAAM,WAAW,GAAa,EAAE;AAChC,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;AACxB,gBAAA,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC;;AAE/B,YAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;AACrB,gBAAA,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;;YAE7B,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;AACd,gBAAA,OAAO,EAAE,8BAA8B;AACvC,gBAAA,MAAM,EAAE,WAAW;aACpB;;KAEJ;AACD,IAAA,WAAW,CAAC,KAAa,EAAA;AACvB,QAAA,IAAI;AACF,YAAA,IAAI,CAAC,CAACA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;AACrC,gBAAA,OAAOA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC;AAC3B,gBAAA,OAAO,iBAAiB,CAAC,EAAE,CAAC,KAAK,GAAGA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,IAAI,CAAC;;iBAC5D;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAA,CAAA,CAAG,CAAC;;;QAEtD,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;YAC7C,OAAO;AACL,gBAAA,OAAO,EAAE,KAAK;gBACd,OAAO,EAAG,GAAa,CAAC,OAAO;AAC/B,gBAAA,MAAM,EAAE,CAAE,GAAa,CAAC,OAAO,CAAC;aACjC;;KAEJ;IACD,cAAc,GAAA;AACZ,QAAA,MAAM,SAAS,GAAGA,QAAM,CAAC,MAAM;AAC/B,QAAAA,QAAM,CAAC,MAAM,GAAG,EAAE;AAClB,QAAAC,KAAG,CAACD,QAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;AAC5B,QAAA,OAAO,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC;KAC1C;IAED,cAAc,GAAA;AACZ,QAAA,MAAM,eAAe,GAAa,MAAM,CAAC,IAAI,CAACA,QAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACpG,MAAM,aAAa,GAAG,eAAe,CAAC,GAAG,CAAC,CAAC,IAAI,CAAA,CAAA,EAAI,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAA,CAAA,CAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC;QACzG,OAAO,IAAI,MAAM,CAAC,CAAA,iBAAA,EAAoB,aAAa,CAAkB,gBAAA,CAAA,EAAE,IAAI,CAAC;KAC7E;CACF;AACD,MAAM,iBAAiB,GAAG,CAAC,aAAwC,EAAE,QAAoB,GAAA,KAAK,KAAwB;IACpH,IAAI,MAAM,GAAa,EAAE;AACzB,IAAA,IAAI;QACF,MAAM,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC;QACjD,IAAI,CAAC,QAAQ,EAAE;YACbA,QAAM,CAAC,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC,GAAGA,QAAM,CAAC,UAAU,EAAE,GAAG,cAAc,CAAC,CAAC,CAAC;;AAEpF,QAAAA,QAAM,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE;AACnD,QAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;AACtB,YAAA,MAAM,eAAe,GAAG,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,EAAE;YACrE,MAAM,sBAAsB,GAAa,CAAC,GAAG,cAAc,EAAE,GAAG,eAAe,CAAC;AAChF,YAAA,MAAM,qBAAqB,GAA8C;gBACvE,gBAAgB;gBAChB,WAAW;gBACX,aAAa;gBACb,kBAAkB;gBAClB,gBAAgB;aACjB;AACD,YAAA,KAAK,IAAI,YAAY,IAAI,qBAAqB,EAAE;AAC9C,gBAAA,YAAY,CAAC,YAAY,CAAS,YAAY,EAAE,IAAI,IAAG;AACrD,oBAAA,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,sBAAsB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;AACtD,wBAAA,IACE,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC;AACjE,6BAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC,CAAC,CAAC,CAAC,EAC1D;AACA,4BAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE;;;oBAG/B;AACF,iBAAC,CAAC;;;QAGN,MAAM,eAAe,GAAa,EAAE;AACpC,QAAA,KAAK,IAAI,KAAK,IAAI,aAAa,EAAE;AAC/B,YAAA,KAAK,IAAI,YAAY,IAAIA,QAAM,CAAC,qBAAqB,EAAE;AACrD,gBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAChC,oBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;;;;QAIxC,IAAI,WAAW,GAA8B,SAAS;AACtD,QAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,YAAA,WAAW,GAAG,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;;QAEpD,IAAI,CAAC,WAAW,EAAE;AAChB,YAAA,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC;;QAEnE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,6BAA6B,EAAE;;IAChE,OAAO,KAAc,EAAE;AACvB,QAAA,IAAI,KAAK,YAAY,KAAK,EAAE;AAC1B,YAAA,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;;QAE5B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,8BAA8B,EAAE,MAAM,EAAE;;AAE9E,CAAC;;ACrRD;AAOA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,EAAE,CAAC,CAAC;AAC9C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,aAAa,EAAE,KAAK,CAAC;AACpD,CAAC;AACM,MAAM,YAAY,GAAG;IAC1B,UAAU,CAAC,SAAkC,QAAQ,EAAA;QACnD,IAAI,MAAM,GAAoB,CAAC,GAAG,QAAQ,CAAC,WAAW,CAAC;AACvD,QAAA,MAAM,kBAAkB,GAAG,MAAM,KAAK,QAAQ,GAAGF,QAAM,CAAC,kBAAkB,GAAGA,QAAM,CAAC,4BAA4B;AAChH,QAAA,KAAK,IAAI,MAAM,IAAI,MAAM,EAAE;YACzB,IAAI,MAAM,CAAC,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,EAAE;gBAC7C,IACE,CAAC,MAAM,KAAK,QAAQ,IAAIA,QAAM,CAAC,KAAK,KAAK,MAAM;qBAC9C,MAAM,KAAK,YAAY,IAAIA,QAAM,CAAC,eAAe,KAAK,MAAM,CAAC,EAC9D;AACA,oBAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,wBAAAA,QAAM,CAAC,KAAK,GAAG,MAAM;;yBAChB;AACL,wBAAAA,QAAM,CAAC,eAAe,GAAG,MAAM;;AAEjC,oBAAAA,QAAM,CAAC,qBAAqB,CAAC,KAAK,EAAE;AACpC,oBAAAA,QAAM,CAAC,aAAa,GAAG,EAAE;AACzB,oBAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;wBACtB,YAAY,CAAC,qBAAqB,EAAE;;oBAEtC;;;;KAIP;IACD,QAAQ,CAAC,SAAkC,QAAQ,EAAA;AACjD,QAAA,IAAI,MAAM,KAAK,QAAQ,EAAE;AACvB,YAAA,IAAIA,QAAM,CAAC,KAAK,EAAE;AAChB,gBAAAC,KAAG,CAACD,QAAM,CAAC,KAAK,EAAE,OAAO,CAAC;gBAC1B,OAAOA,QAAM,CAAC,KAAK;;iBACd;AACL,gBAAA,OAAO,SAAS;;;aAEb;AACL,YAAA,IAAIA,QAAM,CAAC,eAAe,EAAE;AAC1B,gBAAAC,KAAG,CAACD,QAAM,CAAC,eAAe,EAAE,kBAAkB,CAAC;gBAC/C,OAAOA,QAAM,CAAC,eAAe;;iBACxB;AACL,gBAAA,OAAO,SAAS;;;KAGrB;AACD,IAAA,6BAA6B,CAAC,SAAiB,EAAA;QAC7C,IAAI,CAACA,QAAM,CAAC,KAAK,IAAI,CAACA,QAAM,CAAC,eAAe;YAAE;AAC9C,QAAA,IAAIA,QAAM,CAAC,KAAK,EAAE;YAChB,IAAI,CAAC,gCAAgC,CAACA,QAAM,CAAC,KAAK,EAAE,SAAS,CAAC;;AAEhE,QAAA,IAAIA,QAAM,CAAC,eAAe,EAAE;YAC1B,IAAI,CAAC,gCAAgC,CAACA,QAAM,CAAC,eAAe,EAAE,SAAS,CAAC;;KAE3E;IACD,gCAAgC,CAAC,KAAoB,EAAE,SAAiB,EAAA;AACtE,QAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;QAC5B,MAAM,YAAY,GAAG,IAAI,MAAM,CAAC,CAAe,YAAA,EAAA,SAAS,CAAY,UAAA,CAAA,CAAC;AACrE,QAAA,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,YAAA,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC;AACrB,YAAA,IAAI,IAAI,YAAY,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;AACxE,gBAAA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;;AACd,iBAAA,IAAI,IAAI,YAAY,eAAe,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC;;gBAEzD,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;AAC9B,oBAAA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;;;;KAI1B;AACD,IAAA,kBAAkB,CAAC,SAA0B,EAAE,SAAiB,EAAE,KAAa,EAAE,YAAoB,EAAA;AACnG,QAAA,MAAM,MAAM,GAAG,SAAS,CAAC,QAAQ;AACjC,QAAA,KAAK,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC3C,YAAA,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACvB,YAAA,IAAI,KAAK,YAAY,YAAY,IAAI,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE;AAC1E,gBAAA,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;;AAClB,iBAAA,IAAI,KAAK,YAAY,eAAe,EAAE;gBAC3C,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,CAAC;;;AAG9D,QAAA,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;AACvB,YAAA,SAAS,CAAC,gBAAgB,EAAE,UAAU,CAAC,KAAK,CAAC;;KAEhD;IACD,gBAAgB,CAAC,SAAkC,QAAQ,EAAA;AACzD,QAAA,MAAM,KAAK,GAAG,MAAM,KAAK,QAAQ,GAAGA,QAAM,CAAC,KAAK,GAAGA,QAAM,CAAC,eAAe;QACzE,IAAI,KAAK,EAAE;AACT,YAAAC,KAAG,CAAC,8BAA8B,EAAE,MAAM,CAAC;AAC3C,YAAA,MAAM,KAAK,GAAG,KAAK,CAAC,QAAQ;AAC5B,YAAA,KAAK,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE;AAC1C,gBAAA,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;;;KAGxB;CACF;;ACzGD;AAOA,MAAMD,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,wBAAwB,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,wBAAwB,EAAE,KAAK,CAAC;AAC/D,CAAC;AACM,MAAM,sBAAsB,GAAG,CAAC,UAAsB,GAAA,KAAK,EAAE,SAAA,GAAqB,KAAK,KAAU;AACtG,IAAAA,UAAQ,CAAC;QACP,CAAC,UAAU,EAAE,YAAY,CAAC;QAC1B,CAAC,SAAS,EAAE,WAAW,CAAC;AACzB,KAAA,CAAC;IACF,IAAI,CAAC,SAAS,EAAE;AACd,QAAAF,QAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE;;AAE1C,IAAAE,UAAQ,CAAC;AACP,QAAA,CAACF,QAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;AACrD,QAAA,CAACA,QAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;QACrD,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,oBAAoB,CAAC,EAAE,8BAA8B,CAAC;AACvE,QAAA,CAACA,QAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;QACzD,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;AAC3E,QAAA,CAACA,QAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;AACnD,QAAA,CAACA,QAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;AAC/C,QAAA,CAACA,QAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;AAC5C,KAAA,CAAC;IACF,IACE,CAACA,QAAM,CAAC,sBAAsB,GAAGA,QAAM,CAAC,mBAAmB,GAAGA,QAAM,CAAC,oBAAoB;AACvF,QAAA,UAAU,KAAK,IAAI;AACnB,QAAAA,QAAM,CAAC,eAAe,KAAK,CAAC;AAC9B,QAAA,CAACA,QAAM,CAAC,iBAAiB,EACzB;AACA,QAAAC,KAAG,CAAC,KAAK,EAAE,mBAAmB,CAAC;QAC/BD,QAAM,CAAC,eAAe,EAAE;AACxB,QAAAA,QAAM,CAAC,iBAAiB,GAAG,IAAI;QAC/BA,QAAM,CAAC,sBAAsB,GAAG,WAAW,CAACA,QAAM,CAAC,eAAe,CAAC;AACnE,QAAAA,QAAM,CAAC,iBAAiB,GAAG,KAAK;AAChC,QAAAE,UAAQ,CAAC;AACP,YAAA,CAACF,QAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;AAC7D,YAAA,CAACA,QAAM,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;YAC3E,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,sBAAsB,CAAC,EAAE,kDAAkD,CAAC;AAC9F,SAAA,CAAC;AACF,QAAA,sBAAsB,CAAC,KAAK,EAAE,IAAI,CAAC;;SAC9B,IAAI,CAAC,SAAS,EAAE;AACrB,QAAAC,KAAG,CAAC,IAAI,EAAE,mBAAmB,CAAC;;AAElC,CAAC;;ACpDD;AAOA,MAAMD,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,CAAC;AAC7C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,YAAY,EAAE,KAAK,CAAC;AACnD,CAAC;AACM,MAAM,UAAU,GAAG,CAAC,UAAsB,GAAA,KAAK,EAAE,WAAA,GAAuB,IAAI,KAAmB;AACpG,IAAAA,UAAQ,CAAC;QACP,CAAC,UAAU,EAAE,YAAY,CAAC;QAC1B,CAAC,WAAW,EAAE,aAAa,CAAC;AAC7B,KAAA,CAAC;IACF,IAAI,WAAW,EAAE;AACf,QAAAF,QAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,EAAE;;AAE1C,IAAAE,UAAQ,CAAC;AACP,QAAA,CAACF,QAAM,CAAC,QAAQ,EAAE,UAAU,CAAC;AAC7B,QAAA,CAACA,QAAM,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;QACrD,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,oBAAoB,CAAC,EAAE,8BAA8B,CAAC;AACvE,QAAA,CAACA,QAAM,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;QACzD,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,sBAAsB,CAAC,EAAE,gCAAgC,CAAC;AAC3E,QAAA,CAACA,QAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;AACnD,QAAA,CAACA,QAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC;AAC5C,KAAA,CAAC;IACF,IACE,IAAI,CAAC,GAAG,EAAE,GAAGA,QAAM,CAAC,sBAAsB,IAAIA,QAAM,CAAC,mBAAmB;AACxE,QAAA,UAAU,KAAK,IAAI;AACnB,QAAAA,QAAM,CAAC,eAAe,KAAK,CAAC,EAC5B;QACAA,QAAM,CAAC,eAAe,EAAE;QACxBA,QAAM,CAAC,sBAAsB,GAAG,WAAW,CAACA,QAAM,CAAC,eAAe,CAAC;AACnE,QAAAE,UAAQ,CAAC;AACP,YAAA,CAACF,QAAM,CAAC,eAAe,EAAE,mCAAmC,CAAC;AAC7D,YAAA,CAACA,QAAM,CAAC,sBAAsB,EAAE,0CAA0C,CAAC;YAC3E,CAAC,IAAI,IAAI,CAACA,QAAM,CAAC,sBAAsB,CAAC,EAAE,kDAAkD,CAAC;AAC9F,SAAA,CAAC;QACF,OAAOA,QAAM,CAAC,sBAAsB;;AAC/B,SAAA,IAAI,IAAI,CAAC,GAAG,EAAE,GAAGA,QAAM,CAAC,mBAAmB,GAAGA,QAAM,CAAC,oBAAoB,EAAE;;AAEhF,QAAA,IAAIA,QAAM,CAAC,YAAY,EAAE;AACvB,YAAA,YAAY,CAACA,QAAM,CAAC,YAAY,CAAC;;AAEnC,QAAAA,QAAM,CAAC,YAAY,GAAG,UAAU,CAAC,MAAK;AACpC,YAAA,OAAO,UAAU,CAAC,UAAU,EAAE,KAAK,CAAC;AACtC,SAAC,EAAEA,QAAM,CAAC,mBAAmB,CAAC;;AAElC,CAAC;;ACrDD;AAYA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AACM,MAAM,SAAS,GAAG;AACvB,IAAA,SAAS,CAAC,oBAAA,GAAwC,IAAI,EAAE,aAAsB,KAAK,EAAA;AACjF,QAAA,IAAI;YACF,IAAI,CAACD,QAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;AACtB,gBAAAA,QAAM,CAAC,OAAO,GAAGA,QAAM,CAAC;AACrB,qBAAA,IAAI,CAAC,CAAC,EAAmB,EAAE,EAAmB,KAAI;AACjD,oBAAA,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;AACzB,oBAAA,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;oBACzB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC,iBAAC;AACA,qBAAA,GAAG,CAAC,CAAC,GAAW,KAAI;oBACnB,OAAO;AACL,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,IAAI,EAAE,CAAA,EAAGA,QAAM,CAAC,SAAS,CAAA,CAAA,EAAI,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAE,CAAA;qBAC9D;AACH,iBAAC;qBACA,MAAM,CACLA,QAAM,CAAC;AACJ,qBAAA,IAAI,CAAC,CAAC,EAAmB,EAAE,EAAmB,KAAI;AACjD,oBAAA,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;AACzB,oBAAA,EAAE,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,MAAM;oBACzB,OAAO,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,GAAG,CAAC;AACvC,iBAAC;AACA,qBAAA,GAAG,CAAC,CAAC,GAAW,KAAI;oBACnB,OAAO;AACL,wBAAA,IAAI,EAAE,GAAG;AACT,wBAAA,IAAI,EAAE,CAAA,EAAGA,QAAM,CAAC,SAAS,CAAA,EAAA,EAAK,SAAS,CAAC,eAAe,CAAC,GAAG,CAAC,CAAE,CAAA;qBAC/D;iBACF,CAAC,CACL;;AAEL,YAAA,IAAI,CAACA,QAAM,CAAC,KAAK,EAAE;AACjB,gBAAAC,KAAG,CAAC,0BAA0B,EAAE,eAAe,CAAC;gBAChD,YAAY,CAAC,UAAU,EAAE;AACzB,gBAAA,IAAI,CAACD,QAAM,CAAC,KAAK,EAAE;oBACjB,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAeA,QAAM,CAAC,kBAAkB,CAAe,aAAA,CAAA,CAAC;;AAE1E,gBAAAC,KAAG,CAAC,cAAc,EAAE,eAAe,CAAC;;AAEtC,YAAA,IAAI,CAACD,QAAM,CAAC,eAAe,EAAE;AAC3B,gBAAAC,KAAG,CAAC,qCAAqC,EAAE,eAAe,CAAC;AAC3D,gBAAA,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC;AACrC,gBAAA,IAAI,CAACD,QAAM,CAAC,eAAe,EAAE;oBAC3B,MAAM,IAAI,KAAK,CAAC,CAAA,YAAA,EAAeA,QAAM,CAAC,4BAA4B,CAA0B,wBAAA,CAAA,CAAC;;AAE/F,gBAAAC,KAAG,CAAC,yBAAyB,EAAE,eAAe,CAAC;;AAEjD,YAAA,IAAI,CAACD,QAAM,CAAC,WAAW,EAAE;AACvB,gBAAAA,QAAM,CAAC,WAAW,GAAG,aAAa,CAAC,cAAc,EAAE;;YAErDC,KAAG,CAAC,WAAW,CAAC;YAChB,IAAI,CAAC,CAACD,QAAM,CAAC,QAAQ,IAAI,CAAC,oBAAoB,EAAE;AAC9C,gBAAA,OAAO,UAAU,CAAC,UAAU,EAAE,IAAI,CAAC;;iBAC9B,IAAI,CAAC,CAACA,QAAM,CAAC,oBAAoB,IAAI,CAAC,oBAAoB,EAAE;AACjE,gBAAA,sBAAsB,CAAC,UAAU,EAAE,KAAK,CAAC;;iBACpC;gBACLC,KAAG,CAAC,wBAAwB,CAAC;gBAC7B,OAAO,WAAW,CAACD,QAAM,CAAC,eAAe,EAAG,oBAAiC,IAAI,SAAS,CAAC;;;QAE7F,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;CACF;;AC7ED,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AACtD,MAAM,cAAc,GAAG;AAC5B,IAAA,iBAAiB,CAAC,MAA2B,EAAA;QAC3CA,QAAM,CAAC,OAAO,GAAG,MAAM,IAAI,CAACA,QAAM,CAAC,OAAO;KAC3C;AACD,IAAA,oBAAoB,CAAC,MAA2B,EAAA;QAC9CA,QAAM,CAAC,QAAQ,GAAG,MAAM,IAAI,CAACA,QAAM,CAAC,QAAQ;KAC7C;AACD,IAAA,sBAAsB,CAAC,IAAY,EAAA;AACjC,QAAAA,QAAM,CAAC,mBAAmB,GAAG,IAAI;KAClC;CACF;;ACbD;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,oBAAoB,EAAE,CAAC,EAAE,CAAC,CAAC;AACrD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,oBAAoB,EAAE,KAAK,CAAC;AAC3D,CAAC;AACM,MAAM,mBAAmB,GAAG;AACjC,IAAA,sBAAsB,CAAC,kBAA6C,EAAA;AAClE,QAAA,IAAI;YACF,IAAI,6BAA6B,GAAa,EAAE;YAChD,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;gBAC5CF,QAAM,CAAC,kBAAkB,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,GAAG,CAAC;AACxD,gBAAA,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAACA,QAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAO,KAAI;AAC1F,oBAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,iBAAC,CAAC;AACJ,aAAC,CAAC;AACF,YAAAA,QAAM,CAAC,sBAAsB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAACA,QAAM,CAAC,kBAAkB,CAAC,CAAC;AAC/E,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;gBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,YAAA,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,gBAAA,SAAS,CAAC,SAAS,CAAC,6BAA6B,CAAC;;iBAC7C;gBACL,SAAS,CAAC,SAAS,EAAE;;;QAEvB,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;AACD,IAAA,uBAAuB,CAAC,mBAA8C,EAAA;QACpE,IAAI,6BAA6B,GAAa,EAAE;AAChD,QAAA,IAAI;YACF,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;gBAC7CA,QAAM,CAAC,mBAAmB,CAAC,GAAG,CAAC,GAAG,mBAAmB,CAAC,GAAG,CAAC;AAC1D,gBAAA,6BAA6B,GAAG,KAAK,CAAC,IAAI,CAACA,QAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAO,KAAI;AAC1F,oBAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,iBAAC,CAAC;AACJ,aAAC,CAAC;AACF,YAAAA,QAAM,CAAC,uBAAuB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAACA,QAAM,CAAC,mBAAmB,CAAC,CAAC;AACjF,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;gBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,YAAA,IAAI,6BAA6B,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5C,gBAAA,SAAS,CAAC,SAAS,CAAC,6BAA6B,CAAC;;iBAC7C;gBACL,SAAS,CAAC,SAAS,EAAE;;;QAEvB,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;IACD,sBAAsB,GAAA;AACpB,QAAAC,KAAG,CAACD,QAAM,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;QACtD,OAAOA,QAAM,CAAC,mBAAmB;KAClC;IACD,qBAAqB,GAAA;AACnB,QAAAC,KAAG,CAACD,QAAM,CAAC,kBAAkB,EAAE,oBAAoB,CAAC;QACpD,OAAOA,QAAM,CAAC,kBAAkB;KACjC;IACD,uBAAuB,CAAC,iBAAyB,EAAE,KAAa,EAAA;AAC9D,QAAA,IAAI;AACF,YAAA,IAAIA,QAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,EAAE;AACjD,gBAAAA,QAAM,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,GAAG,KAAK;gBACrD,IAAI,eAAe,GAAa,EAAE;AAClC,gBAAA,KAAK,IAAI,YAAY,IAAIA,QAAM,CAAC,qBAAqB,EAAE;AACrD,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC5C,wBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAGtC,gBAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;oBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,gBAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,oBAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;;qBAC/B;oBACL,SAAS,CAAC,SAAS,EAAE;;;iBAElB;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,iBAAiB,CAAA,CAAA,CAAG,CAAC;;;QAE9E,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;IACD,uBAAuB,CAAC,iBAAyB,EAAE,KAAa,EAAA;AAC9D,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,QAAQ,EAAE,CAAC,EAAE;AAC3D,gBAAAA,QAAM,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,GAAG,KAAK;gBACpD,IAAI,eAAe,GAAa,EAAE;AAClC,gBAAA,KAAK,IAAI,YAAY,IAAIA,QAAM,CAAC,qBAAqB,EAAE;AACrD,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE;AAC5C,wBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAGtC,gBAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;oBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,gBAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,oBAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;;qBAC/B;oBACL,SAAS,CAAC,SAAS,EAAE;;;iBAElB;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,uCAAuC,iBAAiB,CAAA,CAAA,CAAG,CAAC;;;QAE9E,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;CACF;;ACtHD;AAeA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC;AAC5C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC;AAClD,CAAC;AACM,MAAM,UAAU,GAAG;AACxB,IAAA,OAAO,CACL,GAEI,EAAA;AAEJ,QAAA,IAAI;AACF,YAAA,KAAK,IAAI,EAAE,IAAI,GAAG,EAAE;;gBAElB,IAAI,EAAE,GAAGF,QAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAM,KAAK,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC;gBACpD,IAAI,EAAE,EAAE;AACN,oBAAA,EAAE,CAAC,KAAK,GAAG,EAAE,CAAC,KAAK;AACnB,oBAAA,EAAE,CAAC,YAAY,GAAG,EAAE;;qBACf;AACL,oBAAAA,QAAM,CAAC,GAAG,CAAC,IAAI,CAAC;wBACd,EAAE,EAAE,EAAE,CAAC,EAAE;wBACT,KAAK,EAAE,EAAE,CAAC,KAAK;AACf,wBAAA,YAAY,EAAE,EAAE;AACjB,qBAAA,CAAC;oBACFA,QAAM,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;;;AAGjC,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;gBACtB,YAAY,CAAC,qBAAqB,EAAE;;YAEtC,SAAS,CAAC,SAAS,EAAE;;QACrB,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;IACD,MAAM,GAAA;AACJ,QAAAC,KAAG,CAACD,QAAM,CAAC,GAAG,EAAE,KAAK,CAAC;QACtB,OAAOA,QAAM,CAAC,GAAG;KAClB;CACF;;ACxDD;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC;AAChD,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,eAAe,EAAE,KAAK,CAAC;AACtD,CAAC;AACM,MAAM,cAAc,GAAG;IAC5B,wBAAwB,GAAA;AACtB,QAAAD,KAAG,CAACD,QAAM,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;QAC1D,OAAO,KAAK,CAAC,IAAI,CAACA,QAAM,CAAC,qBAAqB,CAAC;KAChD;AACD,IAAA,aAAa,CAAC,eAAyB,EAAA;AACrC,QAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;YACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,QAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;KACrC;CACF;;AC1BD;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,cAAc,EAAE,CAAC,EAAE,CAAC,CAAC;AAC/C,CAAC;AACD,MAAMC,UAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,cAAc,EAAE,KAAK,CAAC;AACrD,CAAC;AACM,MAAM,aAAa,GAAG;AAC3B,IAAA,UAAU,CAAC,MAAW,EAAA;AACpB,QAAA,IAAI;YACF,IAAI,uBAAuB,GAAa,EAAE;YAC1C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;AAChC,gBAAAF,QAAM,CAAC,MAAM,CAAC,GAAG,CAAC;AAChB,oBAAA,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK;0BACnB,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG;AACvB,0BAAE,MAAM,CAAC,GAAG;AACP,6BAAA,GAAG,CAAC,CAAC,CAAS,KAAI;4BACjB,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE;AAC5B,yBAAC;AACA,6BAAA,IAAI,EAAE;gBACf,IAAI,CAACA,QAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;AAC/B,oBAAAA,QAAM,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC;;AAE5B,gBAAA,uBAAuB,GAAG,KAAK,CAAC,IAAI,CAACA,QAAM,CAAC,qBAAqB,CAAC,CAAC,MAAM,CAAC,CAAC,EAAO,KAAI;AACpF,oBAAA,OAAO,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzB,iBAAC,CAAC;AACJ,aAAC,CAAC;AACF,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;gBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,YAAA,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE;AACtC,gBAAA,SAAS,CAAC,SAAS,CAAC,uBAAuB,CAAC;;iBACvC;gBACL,SAAS,CAAC,SAAS,EAAE;;;QAEvB,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;IACD,SAAS,GAAA;AACP,QAAAC,KAAG,CAACD,QAAM,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC5B,OAAOA,QAAM,CAAC,MAAM;KACrB;IACD,WAAW,CAAC,KAAa,EAAE,SAAmB,EAAA;AAC5C,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,EAAE;AACnC,gBAAAA,QAAM,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,SAAS;gBAChC,IAAI,cAAc,GAAa,EAAE;AACjC,gBAAA,KAAK,IAAI,YAAY,IAAIA,QAAM,CAAC,qBAAqB,EAAE;AACrD,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE;AAChC,wBAAA,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAGrC,gBAAA,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;AAC7B,oBAAA,KAAK,IAAI,YAAY,IAAI,cAAc,EAAE;AACvC,wBAAAA,QAAM,CAAC,KAAK,EAAE,UAAU,CACtB,CAAC,GAAGA,QAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,OAAO,IAAG;4BAC7C,OAAO,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC;yBAC9C,CAAC,CACH;wBACD,IAAIA,QAAM,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE;AAClD,4BAAAA,QAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,YAAY,CAAC;;;AAGrD,oBAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;wBACtB,YAAY,CAAC,qBAAqB,EAAE;;oBAEtC,SAAS,CAAC,SAAS,EAAE;;;iBAElB;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,CAAA,CAAA,CAAG,CAAC;;;QAEtD,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;CACF;;ACpFD;AAQA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAMC,KAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC;AACvD,CAAC;AACD,MAAM,QAAQ,GAAG,CAAC,KAAiC,KAAI;AACrD,IAAA,WAAW,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,KAAK,CAAC;AAC7D,CAAC;AACM,MAAM,qBAAqB,GAAG;AACnC,IAAA,kBAAkB,CAAC,cAAmB,EAAA;AACpC,QAAA,IAAI;YACF,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,GAAG,IAAG;gBACxCD,QAAM,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC;AAClD,aAAC,CAAC;AACF,YAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;gBACtB,YAAY,CAAC,qBAAqB,EAAE;;YAEtC,SAAS,CAAC,SAAS,EAAE;;QACrB,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;IACD,iBAAiB,GAAA;AACf,QAAAC,KAAG,CAACD,QAAM,CAAC,cAAc,EAAE,gBAAgB,CAAC;QAC5C,OAAOA,QAAM,CAAC,cAAc;KAC7B;IACD,oBAAoB,CAAC,aAAqB,EAAE,KAAa,EAAA;AACvD,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,cAAc,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC,EAAE;AACnD,gBAAAA,QAAM,CAAC,cAAc,CAAC,aAAa,CAAC,GAAG,KAAK;gBAC5C,IAAI,eAAe,GAAa,EAAE;AAClC,gBAAA,KAAK,IAAI,YAAY,IAAIA,QAAM,CAAC,qBAAqB,EAAE;AACrD,oBAAA,IAAI,YAAY,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE;AACxC,wBAAA,eAAe,CAAC,IAAI,CAAC,YAAY,CAAC;;;AAGtC,gBAAA,IAAIA,QAAM,CAAC,WAAW,EAAE;oBACtB,YAAY,CAAC,qBAAqB,EAAE;;AAEtC,gBAAA,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;AAC9B,oBAAA,SAAS,CAAC,SAAS,CAAC,eAAe,CAAC;;qBAC/B;oBACL,SAAS,CAAC,SAAS,EAAE;;;iBAElB;AACL,gBAAA,MAAM,IAAI,KAAK,CAAC,mCAAmC,aAAa,CAAA,CAAA,CAAG,CAAC;;;QAEtE,OAAO,GAAG,EAAE;YACZ,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;;KAEhD;CACF;;AC1DD;AAWA,MAAMA,QAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AAC7D,MAAM,GAAG,GAAG,CAAC,CAAM,EAAE,CAAoB,KAAI;IAC3C,WAAW,CAAC,WAAW,CAAC,qBAAqB,EAAE,CAAC,EAAE,CAAC,CAAC;AACtD,CAAC;AACM,MAAM,mBAAmB,GAAG;AACjC,IAAA,WAAW,CACT,UAAkB,EAAA;QAElB,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,+BAA+B,CAAC;AAC1E,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;AAC7D,gBAAA,MAAM,CAAC,IAAI,CAAC,gBAAgB,UAAU,CAAA,iBAAA,CAAmB,CAAC;;AACrD,iBAAA,IAAI,kBAAkB,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE;gBAClDA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC;;;QAEvD,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,6BAAA,EAAgC,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAG9D,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EACpC,iDAAiD,CAClD;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,MAAM,EAAE;;aACZ;YACL,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAY,SAAA,EAAA,UAAU,CAAuB,qBAAA,CAAA;aACvD;;KAEJ;AACD,IAAA,QAAQ,CACN,OAAe,EAAA;QAEf,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,4BAA4B,CAAC;AACpE,QAAA,IAAI;YACF,IAAIA,QAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;AACvD,gBAAA,MAAM,CAAC,IAAI,CAAC,aAAa,OAAO,CAAA,iBAAA,CAAmB,CAAC;;AAC/C,iBAAA,IAAI,eAAe,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;gBAC5CA,QAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC;;;QAEjD,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,0BAAA,EAA6B,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAG3D,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EACjC,2CAA2C,CAC5C;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,MAAM,EAAE;;aACZ;YACL,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAS,MAAA,EAAA,OAAO,CAAuB,qBAAA,CAAA;aACjD;;KAEJ;IACD,wBAAwB,GAAA;AACtB,QAAA,GAAG,CACDA,QAAM,CAAC,oBAAoB,EAC3B,kDAAkD,CACnD;QACD,OAAOA,QAAM,CAAC,oBAAoB;KACnC;IACD,gCAAgC,GAAA;QAC9B,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EACpC,mEAAmE,CACpE;AACD,QAAA,OAAOA,QAAM,CAAC,oBAAoB,CAAC,QAAQ;KAC5C;IACD,6BAA6B,GAAA;QAC3B,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EACjC,6DAA6D,CAC9D;AACD,QAAA,OAAOA,QAAM,CAAC,oBAAoB,CAAC,KAAK;KACzC;IACD,qBAAqB,GAAA;AACnB,QAAA,GAAG,CAAC,kBAAkB,EAAE,6CAA6C,CAAC;AACtE,QAAA,OAAO,kBAAkB;KAC1B;IACD,kBAAkB,GAAA;AAChB,QAAA,GAAG,CAAC,eAAe,EAAE,uCAAuC,CAAC;AAC7D,QAAA,OAAO,eAAe;KACvB;AACD,IAAA,cAAc,CACZ,WAAiC,EAAA;QAEjC,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,+BAA+B,CAAC;AAC1E,QAAA,IAAI;AACF,YAAA,IACE,WAAW,CAAC,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,kBAAkB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,EACpE;AACA,gBAAA,MAAM,CAAC,IAAI,CACT,CAAA,8EAAA,CAAgF,CACjF;;iBACI;AACL,gBAAAA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,GAAG,WAAW;;;QAEpD,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,+BAAA,EAAkC,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAGhE,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EACpC,oDAAoD,CACrD;KACF;AACD,IAAA,WAAW,CACT,QAA4B,EAAA;QAE5B,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,4BAA4B,CAAC;AACpE,QAAA,IAAI;AACF,YAAA,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,EAAE;AAC5D,gBAAA,MAAM,CAAC,IAAI,CACT,CAAA,wEAAA,CAA0E,CAC3E;;iBACI;AACL,gBAAAA,QAAM,CAAC,oBAAoB,CAAC,KAAK,GAAG,QAAQ;;;QAE9C,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,4BAAA,EAA+B,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAG7D,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EACjC,8CAA8C,CAC/C;KACF;AACD,IAAA,aAAa,CACX,eAAmC,EAAA;QAEnC,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EAAE,+BAA+B,CAAC;AAC1E,QAAA,IAAI;AACF,YAAA,IAAI,CAACA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE;AACnE,gBAAA,MAAM,CAAC,IAAI,CAAC,gBAAgB,eAAe,CAAA,iBAAA,CAAmB,CAAC;;iBAC1D;gBACLA,QAAM,CAAC,oBAAoB,CAAC,QAAQ;AAClC,oBAAAA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,CAAC,MAAM,CACzC,CAAC,OAAO,KAAK,OAAO,KAAK,eAAe,CACzC;;;QAEL,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,8BAAA,EAAiC,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAG/D,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,QAAQ,EACpC,mDAAmD,CACpD;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,MAAM,EAAE;;aACZ;YACL,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAY,SAAA,EAAA,eAAe,CAAyB,uBAAA,CAAA;aAC9D;;KAEJ;AACD,IAAA,UAAU,CACR,YAA8B,EAAA;QAE9B,MAAM,MAAM,GAAa,EAAE;QAC3B,GAAG,CAACA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,4BAA4B,CAAC;AACpE,QAAA,IAAI;AACF,YAAA,IAAI,CAACA,QAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE;AAC7D,gBAAA,MAAM,CAAC,IAAI,CAAC,aAAa,YAAY,CAAA,iBAAA,CAAmB,CAAC;;iBACpD;gBACLA,QAAM,CAAC,oBAAoB,CAAC,KAAK;AAC/B,oBAAAA,QAAM,CAAC,oBAAoB,CAAC,KAAK,CAAC,MAAM,CACtC,CAAC,IAAI,KAAK,IAAI,KAAK,YAAY,CAChC;;;QAEL,OAAO,GAAY,EAAE;YACrB,WAAW,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAC7C,YAAA,IAAI,GAAG,YAAY,KAAK,EAAE;gBACxB,MAAM,CAAC,IAAI,CAAC,CAAA,2BAAA,EAA8B,GAAG,CAAC,OAAO,CAAE,CAAA,CAAC;;;QAG5D,GAAG,CACDA,QAAM,CAAC,oBAAoB,CAAC,KAAK,EACjC,6CAA6C,CAC9C;AACD,QAAA,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;YACrB,OAAO,EAAE,MAAM,EAAE;;aACZ;YACL,OAAO;AACL,gBAAA,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,CAAS,MAAA,EAAA,YAAY,CAAyB,uBAAA,CAAA;aACxD;;KAEJ;CACF;;AC1ND,MAAM,MAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AACtD,MAAM,sBAAsB,GAAG;AACpC,IAAA,qBAAqB,CAAC,MAA2B,EAAA;QAC/C,MAAM,CAAC,eAAe,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,eAAe;AAC1D,QAAA,IAAI,MAAM,CAAC,WAAW,EAAE;YACtB,YAAY,CAAC,qBAAqB,EAAE;;QAEtC,SAAS,CAAC,SAAS,EAAE;KACtB;CACF;;MCeY,mCAAmC,CAAA;AA+B9C,IAAA,WAAA,GAAA;AA9BO,QAAA,IAAA,CAAA,MAAM,GAAoB,eAAe,CAAC,WAAW,EAAE;AACvD,QAAA,IAAA,CAAA,cAAc,GAAW,IAAI,CAAC,MAAM,CAAC,cAAc;AACnD,QAAA,IAAA,CAAA,MAAM,GAA8B,IAAI,CAAC,MAAM,CAAC,MAAM;AACtD,QAAA,IAAA,CAAA,mBAAmB,GAA8B,IAAI,CAAC,MAAM,CAAC,mBAAmB;AAChF,QAAA,IAAA,CAAA,kBAAkB,GAA8B,IAAI,CAAC,MAAM,CAAC,kBAAkB;AAC9E,QAAA,IAAA,CAAA,MAAM,GAAgC,IAAI,CAAC,MAAM,CAAC,MAAM;AACxD,QAAA,IAAA,CAAA,aAAa,GAA8B,IAAI,CAAC,MAAM,CAAC,aAAa;AACpE,QAAA,IAAA,CAAA,YAAY,GAAY,IAAI,CAAC,MAAM,CAAC,YAAY;AAChD,QAAA,IAAA,CAAA,sBAAsB,GAAW,IAAI,CAAC,MAAM,CAAC,sBAAsB;AACnE,QAAA,IAAA,CAAA,6BAA6B,GAAW,IAAI,CAAC,MAAM,CAAC,6BAA6B;AACjF,QAAA,IAAA,CAAA,cAAc,GAAQ,IAAI,CAAC,MAAM,CAAC,cAAc;AAChD,QAAA,IAAA,CAAA,qBAAqB,GAAgB,IAAI,CAAC,MAAM,CAAC,qBAAqB;AACtE,QAAA,IAAA,CAAA,KAAK,GAAQ,IAAI,CAAC,MAAM,CAAC,KAAK;AAC9B,QAAA,IAAA,CAAA,OAAO,GAAY,IAAI,CAAC,MAAM,CAAC,OAAO;AACtC,QAAA,IAAA,CAAA,GAAG,GAAQ,IAAI,CAAC,MAAM,CAAC,GAAG;AAC1B,QAAA,IAAA,CAAA,iBAAiB,GAAa,IAAI,CAAC,MAAM,CAAC,iBAAiB;AAC3D,QAAA,IAAA,CAAA,QAAQ,GAAY,IAAI,CAAC,MAAM,CAAC,QAAQ;AACxC,QAAA,IAAA,CAAA,kBAAkB,GAAW,IAAI,CAAC,MAAM,CAAC,kBAAkB;AAC3D,QAAA,IAAA,CAAA,SAAS,GAAW,IAAI,CAAC,MAAM,CAAC,SAAS;AACzC,QAAA,IAAA,CAAA,YAAY,GAAW,IAAI,CAAC,MAAM,CAAC,YAAY;AAC/C,QAAA,IAAA,CAAA,aAAa,GAAa,IAAI,CAAC,MAAM,CAAC,aAAa;AACnD,QAAA,IAAA,CAAA,cAAc,GAAgB,IAAI,CAAC,MAAM,CAAC,cAAc;AACxD,QAAA,IAAA,CAAA,cAAc,GAAa,IAAI,CAAC,MAAM,CAAC,cAAc;AACrD,QAAA,IAAA,CAAA,OAAO,GAAc,IAAI,CAAC,MAAM,CAAC,OAAO;AACxC,QAAA,IAAA,CAAA,eAAe,GAAY,IAAI,CAAC,MAAM,CAAC,eAAe;AACtD,QAAA,IAAA,CAAA,qBAAqB,GAA4B,IAAI,CAAC,MAAM,CAAC,qBAAqB;AAClF,QAAA,IAAA,CAAA,oBAAoB,GAAW,IAAI,CAAC,MAAM,CAAC,oBAAoB;AAC/D,QAAA,IAAA,CAAA,eAAe,GAAW,IAAI,CAAC,MAAM,CAAC,eAAe;AACrD,QAAA,IAAA,CAAA,mBAAmB,GAAW,IAAI,CAAC,MAAM,CAAC,mBAAmB;AAC7D,QAAA,IAAA,CAAA,QAAQ,GAAY,IAAI,CAAC,MAAM,CAAC,QAAQ;AAExC,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,MAAkC,GAAA,QAAQ,KAAK,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;AAC5F,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,UAAA,GAAmC,SAAS,EAAE,UAAA,GAAsB,KAAK,KAC3F,SAAS,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC;AACtC,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,IAAY,KAAK,eAAe,CAAC,cAAc,CAAC,IAAI,CAAC;AACvE,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,KAAa,KAAK,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;AACjE,QAAA,IAAA,CAAA,SAAS,GAAG,CAAC,GAAa,EAAE,KAAa,KAAK,eAAe,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,CAAC;AACnF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,IAAY,KAAK,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC3D,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAW,KAAK,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAW,KAAK,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,GAAW,KAAK,eAAe,CAAC,QAAQ,CAAC,GAAG,CAAC;AACzD,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,GAAa,EAAE,OAAe,KAAK,eAAe,CAAC,cAAc,CAAC,GAAG,EAAE,OAAO,CAAC;AACjG,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAK,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;AAC/D,QAAA,IAAA,CAAA,eAAe,GAAG,CAAC,EAAU,KAAK,SAAS,CAAC,eAAe,CAAC,EAAE,CAAC;;AAE/D,QAAA,IAAA,CAAA,kBAAkB,GAAG,CAAC,cAAmB,KAAK,qBAAqB,CAAC,kBAAkB,CAAC,cAAc,CAAC;AACtG,QAAA,IAAA,CAAA,OAAO,GAAG,CAAC,GAAQ,KAAK,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC;AAC/C,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,SAAc,KAAK,aAAa,CAAC,UAAU,CAAC,SAAS,CAAC;AACpE,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,kBAAuB,KACtD,mBAAmB,CAAC,sBAAsB,CAAC,kBAAkB,CAAC;AACzD,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,mBAAwB,KACxD,mBAAmB,CAAC,uBAAuB,CAAC,mBAAmB,CAAC;AAC3D,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,MAAW,KAAK,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;;QAE9D,IAAS,CAAA,SAAA,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE;QAC3C,IAAM,CAAA,MAAA,GAAG,MAAM,UAAU,CAAC,MAAM,EAAE;QAClC,IAAqB,CAAA,qBAAA,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE;QACzE,IAAsB,CAAA,sBAAA,GAAG,MAAM,mBAAmB,CAAC,sBAAsB,EAAE;QAC3E,IAAS,CAAA,SAAA,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE;QAC3C,IAAiB,CAAA,iBAAA,GAAG,MAAM,qBAAqB,CAAC,iBAAiB,EAAE;QACnE,IAAc,CAAA,cAAA,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE;AACrD,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,KAAa,KAAK,aAAa,CAAC,aAAa,CAAC,KAAK,CAAC;QACrE,IAAwB,CAAA,wBAAA,GAAG,MAAM,cAAc,CAAC,wBAAwB,EAAE;QAC1E,IAAQ,CAAA,QAAA,GAAG,MAAM,YAAY,CAAC,QAAQ,EAAE;;AAExC,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAa,EAAE,KAAa,KAAK,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,KAAK,CAAC;AACvF,QAAA,IAAA,CAAA,YAAY,GAAG,CAAC,SAAc,KAAK,aAAa,CAAC,YAAY,CAAC,SAAS,CAAC;AACxE,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,iBAAyB,EAAE,KAAa,KACxE,mBAAmB,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAChE,QAAA,IAAA,CAAA,uBAAuB,GAAG,CAAC,iBAAyB,EAAE,KAAa,KACxE,mBAAmB,CAAC,uBAAuB,CAAC,iBAAiB,EAAE,KAAK,CAAC;AAChE,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAa,EAAE,MAAgB,KAAK,aAAa,CAAC,WAAW,CAAC,KAAK,EAAE,MAAM,CAAC;AAC3F,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,aAAqB,EAAE,KAAa,KACjE,qBAAqB,CAAC,oBAAoB,CAAC,aAAa,EAAE,KAAK,CAAC;AAC3D,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,eAAyB,KAAK,cAAc,CAAC,aAAa,CAAC,eAAe,CAAC;;AAE5F,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,KAAa,KAAK,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC;QACjE,IAAc,CAAA,cAAA,GAAG,MAAM,aAAa,CAAC,cAAc,EAAE;;AAErD,QAAA,IAAA,CAAA,qBAAqB,GAAG,CAAC,MAAe,KAC7C,sBAAsB,CAAC,qBAAqB,EAAE,MAAM,GAAG,CAAC,IAAI,CAAC,eAAe,EAAE;AACzE,QAAA,IAAA,CAAA,iBAAiB,GAAG,CAAC,MAAA,GAAkB,CAAC,IAAI,CAAC,OAAO,KAAK,cAAc,CAAC,iBAAiB,CAAC,MAAM,CAAC;AACjG,QAAA,IAAA,CAAA,oBAAoB,GAAG,CAAC,MAAA,GAAkB,CAAC,IAAI,CAAC,QAAQ,KAAK,cAAc,CAAC,oBAAoB,CAAC,MAAM,CAAC;AACxG,QAAA,IAAA,CAAA,sBAAsB,GAAG,CAAC,IAAY,KAAK,cAAc,CAAC,sBAAsB,CAAC,IAAI,CAAC;AACtF,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,KAAa,KAAK,sBAAsB,CAAC,UAAU,CAAC,KAAK,CAAC;AACxE,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,KAAa,KAAK,sBAAsB,CAAC,QAAQ,CAAC,KAAK,CAAC;AACpE,QAAA,IAAA,CAAA,UAAU,GAAG,CAClB,IAAA,GAA2C,KAAK,EAChD,KAAU,EACV,KAAgB,GAAA,IAAI,CAAC,MAAM,CAAC,YAAY,EACxC,OAAsB,IAAI,EAC1B,SAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,KACnC,WAAW,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,CAAC;AACtD,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,MAAsB,KAAK,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC;;AAE7E,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,UAAkB,KAAK,mBAAmB,CAAC,WAAW,CAAC,UAAU,CAAC;AACjF,QAAA,IAAA,CAAA,QAAQ,GAAG,CAAC,OAAe,KAAK,mBAAmB,CAAC,QAAQ,CAAC,OAAO,CAAC;QACrE,IAAwB,CAAA,wBAAA,GAAG,MAAM,mBAAmB,CAAC,wBAAwB,EAAE;QAC/E,IAAgC,CAAA,gCAAA,GAAG,MAAM,mBAAmB,CAAC,gCAAgC,EAAE;QAC/F,IAA6B,CAAA,6BAAA,GAAG,MAAM,mBAAmB,CAAC,6BAA6B,EAAE;QACzF,IAAqB,CAAA,qBAAA,GAAG,MAAM,mBAAmB,CAAC,qBAAqB,EAAE;QACzE,IAAkB,CAAA,kBAAA,GAAG,MAAM,mBAAmB,CAAC,kBAAkB,EAAE;AACnE,QAAA,IAAA,CAAA,cAAc,GAAG,CAAC,WAAiC,KAAK,mBAAmB,CAAC,cAAc,CAAC,WAAW,CAAC;AACvG,QAAA,IAAA,CAAA,WAAW,GAAG,CAAC,QAA4B,KAAK,mBAAmB,CAAC,WAAW,CAAC,QAAQ,CAAC;AACzF,QAAA,IAAA,CAAA,aAAa,GAAG,CAAC,eAAmC,KAAK,mBAAmB,CAAC,aAAa,CAAC,eAAe,CAAC;AAC3G,QAAA,IAAA,CAAA,UAAU,GAAG,CAAC,YAA8B,KAAK,mBAAmB,CAAC,UAAU,CAAC,YAAY,CAAC;;+GA1GzF,mCAAmC,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,UAAA,EAAA,CAAA,CAAA;AAAnC,IAAA,SAAA,IAAA,CAAA,KAAA,GAAA,EAAA,CAAA,qBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mCAAmC,cAFlC,MAAM,EAAA,CAAA,CAAA;;4FAEP,mCAAmC,EAAA,UAAA,EAAA,CAAA;kBAH/C,UAAU;AAAC,YAAA,IAAA,EAAA,CAAA;AACV,oBAAA,UAAU,EAAE,MAAM;AACnB,iBAAA;;;MCpBY,gBAAgB,CAAA;AAJ7B,IAAA,WAAA,GAAA;AAOqB,QAAA,IAAA,CAAA,SAAS,GAAsB,IAAI,YAAY,EAAE;AAOrE;IALC,QAAQ,GAAA;AACN,QAAA,IAAI,IAAI,CAAC,KAAK,EAAE;AACd,YAAA,UAAU,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC;;;+GAPpC,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;mGAAhB,gBAAgB,EAAA,YAAA,EAAA,KAAA,EAAA,QAAA,EAAA,WAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,OAAA,EAAA,EAAA,OAAA,EAAA,EAAA,SAAA,EAAA,SAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAJ5B,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,WAAW;AACrB,oBAAA,UAAU,EAAE;AACf,iBAAA;8BAEU,KAAK,EAAA,CAAA;sBAAb;gBAEkB,SAAS,EAAA,CAAA;sBAA3B,MAAM;uBAAC,SAAS;;;ACTnB;;AAEG;;ACFH;;AAEG;;;;"}