schematic-symbols 0.0.107 → 0.0.108
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -1
 - package/dist/index.js +305 -0
 - package/dist/index.js.map +1 -1
 - package/package.json +5 -2
 - package/symbols/crystal_4pin_horz.ts +11 -0
 - package/symbols/crystal_4pin_vert.ts +10 -0
 
    
        package/dist/index.js.map
    CHANGED
    
    | 
         @@ -1 +1 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            {"version":3,"sources":["../drawing/defineSymbol.ts","../assets/generated/ac_voltmeter.json","../symbols/ac_voltmeter_horz.ts","../drawing/rotateSymbol.ts","../symbols/ac_voltmeter_vert.ts","../assets/generated/avalanche_diode.json","../symbols/avalanche_diode_horz.ts","../symbols/avalanche_diode_vert.ts","../assets/generated/battery.json","../symbols/battery_horz.ts","../symbols/battery_vert.ts","../assets/generated/boxresistor.json","../drawing/modify-symbol/modify-symbol.ts","../symbols/boxresistor_down.ts","../symbols/boxresistor_left.ts","../symbols/boxresistor_right.ts","../symbols/boxresistor_up.ts","../assets/generated/capacitor.json","../symbols/capacitor_down.ts","../symbols/capacitor_right.ts","../symbols/capacitor_left.ts","../assets/generated/capacitor_polarized.json","../symbols/capacitor_polarized_down.ts","../symbols/capacitor_polarized_right.ts","../symbols/capacitor_polarized_left.ts","../symbols/capacitor_polarized_up.ts","../symbols/capacitor_up.ts","../assets/generated/constant_current_diode.json","../symbols/constant_current_diode_horz.ts","../symbols/constant_current_diode_vert.ts","../assets/generated/crystal.json","../symbols/crystal_horz.ts","../symbols/crystal_vert.ts","../assets/generated/darlington_pair_transistor.json","../symbols/darlington_pair_transistor_horz.ts","../symbols/darlington_pair_transistor_vert.ts","../assets/generated/dc_ammeter.json","../symbols/dc_ammeter_horz.ts","../symbols/dc_ammeter_vert.ts","../assets/generated/dc_voltmeter.json","../symbols/dc_voltmeter_horz.ts","../symbols/dc_voltmeter_vert.ts","../assets/generated/diac.json","../symbols/diac_horz.ts","../symbols/diac_vert.ts","../assets/generated/diode.json","../symbols/diode_right.ts","../symbols/diode_down.ts","../symbols/diode_left.ts","../symbols/diode_up.ts","../assets/generated/dpst_switch.json","../symbols/dpst_switch_horz.ts","../symbols/dpst_switch_vert.ts","../assets/generated/filled_diode.json","../symbols/filled_diode_horz.ts","../symbols/filled_diode_vert.ts","../assets/generated/frequency_meter.json","../symbols/frequency_meter_horz.ts","../symbols/frequency_meter_vert.ts","../assets/generated/fuse.json","../symbols/fuse_horz.ts","../symbols/fuse_vert.ts","../assets/generated/ground.json","../symbols/ground_horz.ts","../symbols/ground_vert.ts","../assets/generated/gunn_diode.json","../symbols/gunn_diode_horz.ts","../symbols/gunn_diode_vert.ts","../assets/generated/igbt_transistor.json","../symbols/igbt_transistor_horz.ts","../symbols/igbt_transistor_vert.ts","../assets/generated/illuminated_push_button_normally_open.json","../symbols/illuminated_push_button_normally_open_horz.ts","../symbols/illuminated_push_button_normally_open_vert.ts","../assets/generated/inductor.json","../symbols/inductor_right.ts","../symbols/inductor_up.ts","../symbols/inductor_down.ts","../symbols/inductor_left.ts","../assets/generated/laser_diode.json","../symbols/laser_diode_horz.ts","../symbols/laser_diode_vert.ts","../assets/generated/led.json","../symbols/led_right.ts","../symbols/led_down.ts","../symbols/led_left.ts","../symbols/led_up.ts","../assets/generated/light_dependent_resistor.json","../symbols/light_dependent_resistor_horz.ts","../symbols/light_dependent_resistor_vert.ts","../assets/generated/mosfet_depletion_normally_on.json","../symbols/mosfet_depletion_normally_on_horz.ts","../symbols/mosfet_depletion_normally_on_vert.ts","../assets/generated/mushroom_head_normally_open_momentary.json","../symbols/mushroom_head_normally_open_momentary_horz.ts","../symbols/mushroom_head_normally_open_momentary_vert.ts","../assets/generated/n_channel_d_mosfet_transistor.json","../symbols/n_channel_d_mosfet_transistor_horz.ts","../symbols/n_channel_d_mosfet_transistor_vert.ts","../assets/generated/n_channel_e_mosfet_transistor.json","../symbols/n_channel_e_mosfet_transistor_horz.ts","../symbols/n_channel_e_mosfet_transistor_vert.ts","../assets/generated/njfet_transistor.json","../symbols/njfet_transistor_horz.ts","../symbols/njfet_transistor_vert.ts","../assets/generated/npn_bipolar_transistor.json","../symbols/npn_bipolar_transistor_horz.ts","../symbols/npn_bipolar_transistor_vert.ts","../assets/generated/p_channel_d_mosfet_transistor.json","../symbols/p_channel_d_mosfet_transistor_horz.ts","../symbols/p_channel_d_mosfet_transistor_vert.ts","../assets/generated/p_channel_e_mosfet_transistor.json","../symbols/p_channel_e_mosfet_transistor_horz.ts","../symbols/p_channel_e_mosfet_transistor_vert.ts","../assets/generated/photodiode.json","../symbols/photodiode_horz.ts","../symbols/photodiode_vert.ts","../assets/generated/pjfet_transistor.json","../symbols/pjfet_transistor_horz.ts","../symbols/pjfet_transistor_vert.ts","../assets/generated/pnp_bipolar_transistor.json","../symbols/pnp_bipolar_transistor_horz.ts","../symbols/pnp_bipolar_transistor_vert.ts","../assets/generated/potentiometer.json","../symbols/potentiometer_horz.ts","../symbols/potentiometer_vert.ts","../assets/generated/potentiometer2.json","../symbols/potentiometer2_horz.ts","../symbols/potentiometer2_vert.ts","../assets/generated/power_factor_meter.json","../symbols/power_factor_meter_horz.ts","../symbols/power_factor_meter_vert.ts","../assets/generated/push_button_normally_closed_momentary.json","../symbols/push_button_normally_closed_momentary_horz.ts","../symbols/push_button_normally_closed_momentary_vert.ts","../assets/generated/push_button_normally_open_momentary.json","../symbols/push_button_normally_open_momentary_horz.ts","../symbols/push_button_normally_open_momentary_vert.ts","../assets/generated/rectifier_diode.json","../symbols/rectifier_diode_horz.ts","../symbols/rectifier_diode_vert.ts","../assets/generated/resonator.json","../symbols/resonator_horz.ts","../symbols/resonator_vert.ts","../assets/generated/schottky_diode.json","../symbols/schottky_diode_horz.ts","../symbols/schottky_diode_vert.ts","../assets/generated/silicon_controlled_rectifier.json","../symbols/silicon_controlled_rectifier_horz.ts","../symbols/silicon_controlled_rectifier_vert.ts","../assets/generated/SPDT_switch.json","../symbols/SPDT_switch_horz.ts","../symbols/SPDT_switch_vert.ts","../assets/generated/SPST_switch.json","../symbols/SPST_switch_horz.ts","../symbols/SPST_switch_vert.ts","../assets/generated/step_recovery_diode.json","../symbols/step_recovery_diode_horz.ts","../symbols/step_recovery_diode_vert.ts","../assets/generated/tachometer.json","../symbols/tachometer_horz.ts","../symbols/tachometer_vert.ts","../assets/generated/triac.json","../symbols/triac_horz.ts","../symbols/triac_vert.ts","../assets/generated/tunnel_diode.json","../symbols/tunnel_diode_horz.ts","../symbols/tunnel_diode_vert.ts","../assets/generated/unijunction_transistor.json","../symbols/unijunction_transistor_horz.ts","../symbols/unijunction_transistor_vert.ts","../assets/generated/var_meter.json","../symbols/var_meter_horz.ts","../symbols/var_meter_vert.ts","../assets/generated/varactor_diode.json","../symbols/varactor_diode_horz.ts","../symbols/varactor_diode_vert.ts","../assets/generated/varistor.json","../symbols/varistor_horz.ts","../symbols/varistor_vert.ts","../assets/generated/varmeter.json","../symbols/varmeter_horz.ts","../symbols/varmeter_vert.ts","../assets/generated/volt_meter.json","../symbols/volt_meter_horz.ts","../symbols/volt_meter_vert.ts","../assets/generated/watt_hour_meter.json","../symbols/watt_hour_meter_horz.ts","../symbols/watt_hour_meter_vert.ts","../assets/generated/wattmeter.json","../symbols/wattmeter_horz.ts","../symbols/wattmeter_vert.ts","../assets/generated/zener_diode.json","../symbols/zener_diode_horz.ts","../symbols/zener_diode_vert.ts","../generated/symbols-index.ts","../drawing/utils/makeYUpPositive.ts","../drawing/mapColor.ts","../drawing/pathToSvgD.ts","../drawing/getSvg.ts","../drawing/resizeSymbol.ts","../index.ts"],"sourcesContent":["import type { SchSymbol } from \"./types\"\n\nexport function defineSymbol(symbol: SchSymbol): SchSymbol {\n  return symbol\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.03018695000000049\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.03018695000000049\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.03018695000000049\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.03018695000000049\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09765764999999949,\n          \"y\": 0.12845085000000034\n        },\n        {\n          \"x\": -0.0011297500000011507,\n          \"y\": -0.06303624999999946\n        },\n        {\n          \"x\": -0.10778645000000164,\n          \"y\": 0.12845085000000034\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path17\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.002934749999999875,\n          \"y\": -0.13606674999999946\n        },\n        {\n          \"x\": 0.06869635000000063,\n          \"y\": -0.11019914999999947\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path18\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.06869635000000063,\n          \"y\": -0.11019914999999947\n        },\n        {\n          \"x\": 0.1403274500000009,\n          \"y\": -0.13606674999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path19\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1461968499999997,\n          \"y\": -0.13606674999999946\n        },\n        {\n          \"x\": -0.07456574999999921,\n          \"y\": -0.11019914999999947\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path20\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07456575000000054,\n          \"y\": -0.11019914999999947\n        },\n        {\n          \"x\": -0.0029346500000002607,\n          \"y\": -0.13606674999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17328624999999942,\n      \"y\": 0.39216264999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.40216264999999995\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.029334149999999948\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.030330549999999734\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.5021626499999999,\n    \"maxY\": 0.39216264999999995,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.5443252999999999,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0.05499999999999999\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03731525000000002,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/ac_voltmeter.json\"\n\nconst { paths, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotate, applyToPoint, transform, scale } from \"transformation-matrix\"\nimport type {\n  SchSymbol,\n  Primitive,\n  Point,\n  Port,\n  NinePointAnchor,\n} from \"./types\"\n\n// Update rotateAnchor to handle all anchor rotations based on orientation\nconst rotateRightFacingAnchor = (\n  anchor: NinePointAnchor,\n  newOrientation: \"up\" | \"down\" | \"left\" | \"right\" = \"right\",\n): NinePointAnchor => {\n  switch (newOrientation) {\n    case \"down\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_right\"\n        case \"middle_bottom\":\n          return \"middle_left\"\n        case \"middle_left\":\n          return \"middle_bottom\"\n        case \"middle_right\":\n          return \"middle_top\"\n      }\n      break\n    case \"up\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_left\"\n        case \"middle_bottom\":\n          return \"middle_right\"\n        case \"middle_left\":\n          return \"middle_top\"\n        case \"middle_right\":\n          return \"middle_bottom\"\n      }\n      break\n    case \"left\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_bottom\"\n        case \"middle_bottom\":\n          return \"middle_top\"\n        case \"middle_left\":\n          return \"middle_right\"\n        case \"middle_right\":\n          return \"middle_left\"\n      }\n      break\n    case \"right\":\n      return anchor // No change if orientation is \"right\"\n  }\n  return anchor\n}\n\nexport const flipSymbolOverXAxis = (\n  symbol: SchSymbol,\n  overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n  const { primitives, center, ports, size } = symbol\n  const transformMatrix = transform({\n    a: 1,\n    b: 0,\n    c: 0,\n    d: -1,\n    e: 0,\n    f: 2 * center.y,\n  })\n\n  const flippedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transformMatrix, point) as Point,\n          ),\n        }\n      case \"text\":\n        const flippedPoint = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        // Flip text anchors vertically\n        const anchorMap: Record<NinePointAnchor, NinePointAnchor> = {\n          top_left: \"bottom_left\",\n          top_right: \"bottom_right\",\n          bottom_left: \"top_left\",\n          bottom_right: \"top_right\",\n          center: \"center\",\n          middle_top: \"middle_bottom\",\n          middle_bottom: \"middle_top\",\n          middle_left: \"middle_left\",\n          middle_right: \"middle_right\",\n        }\n\n        return {\n          ...primitive,\n          x: flippedPoint.x,\n          y: flippedPoint.y,\n          anchor: anchorMap[primitive.anchor],\n        }\n      case \"circle\":\n      case \"box\":\n        const flippedCenter = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: flippedCenter.x,\n          y: flippedCenter.y,\n        }\n    }\n  })\n\n  const flippedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transformMatrix, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: flippedPrimitives,\n    center,\n    ports: flippedPorts,\n    size,\n    ...overrides,\n  }\n}\n\nexport const flipSymbolOverYAxis = (\n  symbol: SchSymbol,\n  overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n  const { primitives, center, ports, size } = symbol\n  const transformMatrix = transform({\n    a: -1,\n    b: 0,\n    c: 0,\n    d: 1,\n    e: 0,\n    f: 2 * center.x,\n  })\n\n  const flippedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transformMatrix, point) as Point,\n          ),\n        }\n      case \"text\":\n        const flippedPoint = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        // Flip text anchors horizontally\n        const anchorMap: Record<NinePointAnchor, NinePointAnchor> = {\n          top_left: \"top_right\",\n          top_right: \"top_left\",\n          bottom_left: \"bottom_right\",\n          bottom_right: \"bottom_left\",\n          center: \"center\",\n          middle_top: \"middle_top\",\n          middle_bottom: \"middle_bottom\",\n          middle_left: \"middle_right\",\n          middle_right: \"middle_left\",\n        }\n\n        return {\n          ...primitive,\n          x: flippedPoint.x,\n          y: flippedPoint.y,\n          anchor: anchorMap[primitive.anchor],\n        }\n      case \"circle\":\n      case \"box\":\n        const flippedCenter = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: flippedCenter.x,\n          y: flippedCenter.y,\n        }\n    }\n  })\n\n  const flippedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transformMatrix, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: flippedPrimitives,\n    center,\n    ports: flippedPorts,\n    size,\n    ...overrides,\n  }\n}\n\nexport const rotateRightFacingSymbol = (\n  symbol: SchSymbol,\n  opts: {\n    newOrientation?: \"up\" | \"down\" | \"left\" | \"right\"\n    overrides?: Partial<SchSymbol>\n  },\n): SchSymbol => {\n  const { newOrientation, overrides } = opts\n  // Assuming the default orientation is \"right\"\n  const angleMap = {\n    up: Math.PI / 2,\n    right: 0,\n    down: -Math.PI / 2,\n    left: -Math.PI,\n  }\n\n  const transform = rotate(\n    newOrientation ? angleMap[newOrientation] : Math.PI / 2,\n    symbol.center.x,\n    symbol.center.y,\n  )\n\n  const { primitives, center, size, ports } = symbol\n\n  const rotatedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transform, point) as Point,\n          ),\n        }\n      case \"text\":\n        const rotatedPoint = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        primitive.anchor = rotateRightFacingAnchor(\n          primitive.anchor,\n          newOrientation ?? \"right\",\n        )\n\n        return {\n          ...primitive,\n          x: rotatedPoint.x,\n          y: rotatedPoint.y,\n        }\n      case \"circle\":\n        const rotatedCenter = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: rotatedCenter.x,\n          y: rotatedCenter.y,\n        }\n      case \"box\":\n        const rotatedCorner = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: rotatedCorner.x,\n          y: rotatedCorner.y,\n          width: primitive.height,\n          height: primitive.width,\n        }\n    }\n  })\n\n  const rotatedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transform, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: rotatedPrimitives,\n    center,\n    ports: rotatedPorts,\n    size: {\n      width:\n        newOrientation === \"up\" || newOrientation === \"down\"\n          ? size.width\n          : size.height,\n      height:\n        newOrientation === \"up\" || newOrientation === \"down\"\n          ? size.height\n          : size.width,\n    },\n    ...overrides,\n  }\n}\n\n/**\n * @deprecated use rotateRightFacingSymbol instead\n */\nexport const rotateSymbol = (\n  symbol: SchSymbol,\n  orientation: \"up\" | \"down\" | \"left\" | \"right\" = \"down\",\n  overrides: Partial<SchSymbol> = {},\n): SchSymbol =>\n  rotateRightFacingSymbol(symbol, {\n    newOrientation: orientation,\n    overrides,\n  })\n","import { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\nimport ac_voltmeter_horz from \"./ac_voltmeter_horz\"\n\nconst rotatedSymbol = rotateRightFacingSymbol(ac_voltmeter_horz, {\n  newOrientation: \"up\",\n})\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.0390362999999998\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.09325540000000054\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17132800000000015\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.0390362999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.09325539999999921\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17132800000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17132800000000015\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.09325539999999921\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.0390362999999998\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.0390362999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.03895110000000024\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.03895110000000024\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17181090000000032\n        },\n        {\n          \"x\": 0.07768859999999966,\n          \"y\": 0.19542900000000052\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.21083259999999981,\n          \"y\": -0.1180321000000002\n        },\n        {\n          \"x\": 0.14512999999999954,\n          \"y\": -0.094414\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.26884529999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27884529999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.03992070000000081\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.03889609999999988\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.37884529999999994,\n    \"maxY\": 0.26884529999999995,\n    \"width\": 1.094611082,\n    \"height\": 0.2976905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 0.05499999999999999\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/avalanche_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateRightFacingSymbol, rotateSymbol } from \"drawing/rotateSymbol\"\nimport avalanche_diode_horz from \"./avalanche_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateRightFacingSymbol(avalanche_diode_horz, {\n  newOrientation: \"down\",\n})\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05901489999999909,\n          \"y\": 0.18831315000000015\n        },\n        {\n          \"x\": -0.05869489999999833,\n          \"y\": -0.11814524999999954\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.015375000000000805,\n          \"y\": 0.12533125000000034\n        },\n        {\n          \"x\": 0.016669000000000933,\n          \"y\": -0.05562075000000033\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.06443049999999961,\n          \"y\": 0.032673549999999496\n        },\n        {\n          \"x\": -0.4368029,\n          \"y\": 0.032673549999999496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4350822999999997,\n          \"y\": 0.03438825000000034\n        },\n        {\n          \"x\": 0.028285099999999952,\n          \"y\": 0.03438825000000034\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.027835099999999446,\n      \"y\": 0.26564474999999943\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.028373699999999502,\n      \"y\": -0.27564474999999966\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4458008,\n      \"y\": 0.033557849999999334\n    },\n    \"right1\": {\n      \"x\": 0.4458008,\n      \"y\": 0.03343344999999931\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.473959241,\n    \"maxX\": 0.473959241,\n    \"minY\": -0.37564474999999964,\n    \"maxY\": 0.26564474999999943,\n    \"width\": 0.947918482,\n    \"height\": 0.2912894999999991,\n    \"centerX\": 0,\n    \"centerY\": 0.055000000000000104\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/battery.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\nimport battery_horz from \"./battery_horz\"\n\nexport default rotateRightFacingSymbol(battery_horz, {\n  newOrientation: \"up\",\n})\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.511850799999999,\n          \"y\": 0.04616140000000257\n        },\n        {\n          \"x\": -0.24726749999999953,\n          \"y\": 0.04616140000000257\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2818991000000013,\n          \"y\": 0.04616140000000257\n        },\n        {\n          \"x\": 0.5464825000000006,\n          \"y\": 0.04616140000000257\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0173157000000006,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.2818990000000001,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.2818990000000001,\n          \"y\": -0.0861302999999971\n        },\n        {\n          \"x\": -0.24726770000000053,\n          \"y\": -0.0861302999999971\n        },\n        {\n          \"x\": -0.24726770000000053,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.017315699999998824,\n          \"y\": 0.17845310000000225\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0014247999999992267,\n      \"y\": 0.2499980000000015\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0004627999999997634,\n      \"y\": -0.24999799999999972\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5337907000000002,\n      \"y\": 0.04580520000000021\n    },\n    \"right1\": {\n      \"x\": 0.5337907000000004,\n      \"y\": 0.04525870000000154\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5619491410000002,\n    \"maxX\": 0.5619491410000004,\n    \"minY\": -0.24999799999999972,\n    \"maxY\": 0.2499980000000015,\n    \"width\": 1.1238982820000005,\n    \"height\": 0.4999960000000012,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {}\n}","import { NinePointAnchor, SchSymbol } from \"drawing/types\"\nimport { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\n\ninterface ModifySymbolBuilder {\n  changeTextAnchor(\n    text: \"{REF}\" | \"{VAL}\" | string,\n    newAnchor: NinePointAnchor,\n  ): ModifySymbolBuilder\n  rotateRightFacingSymbol(\n    newOrientation: \"up\" | \"down\" | \"left\" | \"right\",\n  ): ModifySymbolBuilder\n  labelPort(currentLabel: string, newLabels: string[]): ModifySymbolBuilder\n  build(): SchSymbol\n}\n\nclass SymbolModifier implements ModifySymbolBuilder {\n  private symbol: SchSymbol\n\n  constructor(symbol: SchSymbol) {\n    this.symbol = JSON.parse(JSON.stringify(symbol))\n  }\n\n  changeTextAnchor(\n    text: \"{REF}\" | \"{VAL}\" | string,\n    newAnchor: NinePointAnchor,\n  ): ModifySymbolBuilder {\n    this.symbol = {\n      ...this.symbol,\n      primitives: this.symbol.primitives.map((primitive) => {\n        if (primitive.type === \"text\" && primitive.text === text) {\n          return {\n            ...primitive,\n            anchor: newAnchor,\n          }\n        }\n        return primitive\n      }),\n    }\n    return this\n  }\n\n  labelPort(currentLabel: string, newLabels: string[]): ModifySymbolBuilder {\n    this.symbol = {\n      ...this.symbol,\n      ports: this.symbol.ports.map((port) => {\n        return port.labels.includes(currentLabel)\n          ? { ...port, labels: newLabels }\n          : port\n      }),\n    }\n    return this\n  }\n\n  rotateRightFacingSymbol(\n    newOrientation: \"up\" | \"down\" | \"left\" | \"right\",\n  ): ModifySymbolBuilder {\n    this.symbol = rotateRightFacingSymbol(this.symbol, {\n      newOrientation,\n    })\n    return this\n  }\n\n  build(): SchSymbol {\n    return this.symbol\n  }\n}\n\nexport const modifySymbol = (symbol: any): ModifySymbolBuilder => {\n  return new SymbolModifier({\n    ...symbol,\n    primitives: symbol.primitives ?? [\n      ...Object.values(symbol.paths ?? {}),\n      ...Object.values(symbol.texts ?? {}),\n      ...Object.values(symbol.circles ?? {}),\n      ...Object.values(symbol.rects ?? {}),\n    ],\n    ports:\n      symbol.ports ??\n      Object.entries(symbol.refblocks).flatMap(([key, refblock]) => {\n        return [{ ...(refblock as object), labels: [key] }]\n      }),\n    center: symbol.center ?? {\n      x: symbol.bounds.centerX,\n      y: symbol.bounds.centerY,\n    },\n    size: symbol.size ?? {\n      width: symbol.bounds.width,\n      height: symbol.bounds.height,\n    },\n  })\n}\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.16,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.16,\n      y: 0.2294553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.1594553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.1594553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.16,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.16,\n      y: 0.2294553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000002,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": 0.07314620000000005,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": -0.5353954999999999,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0731461999999996,\n          \"y\": 0.2818663500000014\n        },\n        {\n          \"x\": 0.07314620000000005,\n          \"y\": -0.24730024999999856\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": 0.2818663500000014\n        },\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": -0.24730024999999856\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864500000000056,\n      \"y\": 0.4200086500000033\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850500000000423,\n      \"y\": -0.42000864999999976\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093000000005,\n      \"y\": 0.01638025000000276\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": 0.016926950000001995\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5793677410000004,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.42000864999999976,\n    \"maxY\": 0.4200086500000033,\n    \"width\": 1.1587354820000004,\n    \"height\": 0.8400173000000031,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.2,\n      y: 0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.2,\n      y: 0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"right\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","import { isPrimitive } from \"drawing/typeguards\"\nimport { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"./capacitor_right\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","{\n  \"paths\": {\n    \"path27-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000007,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": 0.001333100000000531,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08560379999999945,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": -0.5353954999999995,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0024798999999995353,\n          \"y\": 0.28420285000000334\n        },\n        {\n          \"x\": -0.0024798999999995353,\n          \"y\": -0.247479349999999\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8704\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1433630999999993,\n          \"y\": -0.24400714999999806\n        },\n        {\n          \"x\": -0.1433630999999993,\n          \"y\": -0.24400714999999806\n        },\n        {\n          \"x\": -0.14262848833929928,\n          \"y\": -0.24277205092349807\n        },\n        {\n          \"x\": -0.1418975396743993,\n          \"y\": -0.2415360290679981\n        },\n        {\n          \"x\": -0.14117026348109932,\n          \"y\": -0.24029908349449816\n        },\n        {\n          \"x\": -0.14044666923519933,\n          \"y\": -0.23906121326399818\n        },\n        {\n          \"x\": -0.13972676641249931,\n          \"y\": -0.2378224174374982\n        },\n        {\n          \"x\": -0.1390105644887993,\n          \"y\": -0.23658269507599822\n        },\n        {\n          \"x\": -0.13829807293989932,\n          \"y\": -0.2353420452404983\n        },\n        {\n          \"x\": -0.13758930124159935,\n          \"y\": -0.23410046699199832\n        },\n        {\n          \"x\": -0.13688425886969938,\n          \"y\": -0.23285795939149836\n        },\n        {\n          \"x\": -0.13618295529999938,\n          \"y\": -0.23161452149999842\n        },\n        {\n          \"x\": -0.13548540000829937,\n          \"y\": -0.23037015237849842\n        },\n        {\n          \"x\": -0.13479160247039934,\n          \"y\": -0.22912485108799843\n        },\n        {\n          \"x\": -0.13410157216209936,\n          \"y\": -0.22787861668949844\n        },\n        {\n          \"x\": -0.1334153185591994,\n          \"y\": -0.22663144824399842\n        },\n        {\n          \"x\": -0.13273285113749936,\n          \"y\": -0.22538334481249844\n        },\n        {\n          \"x\": -0.13205417937279937,\n          \"y\": -0.22413430545599844\n        },\n        {\n          \"x\": -0.1313793127408994,\n          \"y\": -0.2228843292354985\n        },\n        {\n          \"x\": -0.1307082607175994,\n          \"y\": -0.22163341521199847\n        },\n        {\n          \"x\": -0.13004103277869938,\n          \"y\": -0.2203815624464985\n        },\n        {\n          \"x\": -0.1293776383999994,\n          \"y\": -0.21912876999999853\n        },\n        {\n          \"x\": -0.12871808705729942,\n          \"y\": -0.21787503693349855\n        },\n        {\n          \"x\": -0.12806238822639943,\n          \"y\": -0.21662036230799855\n        },\n        {\n          \"x\": -0.12741055138309942,\n          \"y\": -0.21536474518449858\n        },\n        {\n          \"x\": -0.12676258600319942,\n          \"y\": -0.21410818462399858\n        },\n        {\n          \"x\": -0.12611850156249946,\n          \"y\": -0.21285067968749863\n        },\n        {\n          \"x\": -0.12547830753679945,\n          \"y\": -0.21159222943599865\n        },\n        {\n          \"x\": -0.12484201340189946,\n          \"y\": -0.21033283293049862\n        },\n        {\n          \"x\": -0.12420962863359947,\n          \"y\": -0.20907248923199864\n        },\n        {\n          \"x\": -0.12358116270769948,\n          \"y\": -0.20781119740149864\n        },\n        {\n          \"x\": -0.12295662509999947,\n          \"y\": -0.20654895649999866\n        },\n        {\n          \"x\": -0.12233602528629947,\n          \"y\": -0.20528576558849868\n        },\n        {\n          \"x\": -0.12171937274239948,\n          \"y\": -0.20402162372799865\n        },\n        {\n          \"x\": -0.12110667694409948,\n          \"y\": -0.20275652997949864\n        },\n        {\n          \"x\": -0.12049794736719947,\n          \"y\": -0.2014904834039986\n        },\n        {\n          \"x\": -0.11989319348749948,\n          \"y\": -0.20022348306249865\n        },\n        {\n          \"x\": -0.11929242478079949,\n          \"y\": -0.19895552801599864\n        },\n        {\n          \"x\": -0.11869565072289952,\n          \"y\": -0.19768661732549864\n        },\n        {\n          \"x\": -0.11810288078959952,\n          \"y\": -0.19641675005199866\n        },\n        {\n          \"x\": -0.11751412445669952,\n          \"y\": -0.19514592525649863\n        },\n        {\n          \"x\": -0.1169293911999995,\n          \"y\": -0.1938741419999986\n        },\n        {\n          \"x\": -0.11634869049529953,\n          \"y\": -0.19260139934349865\n        },\n        {\n          \"x\": -0.11577203181839951,\n          \"y\": -0.1913276963479986\n        },\n        {\n          \"x\": -0.11519942464509951,\n          \"y\": -0.1900530320744986\n        },\n        {\n          \"x\": -0.11463087845119951,\n          \"y\": -0.18877740558399858\n        },\n        {\n          \"x\": -0.11406640271249952,\n          \"y\": -0.1875008159374986\n        },\n        {\n          \"x\": -0.11350600690479953,\n          \"y\": -0.18622326219599858\n        },\n        {\n          \"x\": -0.11294970050389953,\n          \"y\": -0.18494474342049858\n        },\n        {\n          \"x\": -0.11239749298559953,\n          \"y\": -0.1836652586719986\n        },\n        {\n          \"x\": -0.11184939382569953,\n          \"y\": -0.18238480701149856\n        },\n        {\n          \"x\": -0.11130541249999952,\n          \"y\": -0.18110338749999852\n        },\n        {\n          \"x\": -0.11076555848429954,\n          \"y\": -0.17982099919849853\n        },\n        {\n          \"x\": -0.11022984125439952,\n          \"y\": -0.1785376411679985\n        },\n        {\n          \"x\": -0.10969827028609953,\n          \"y\": -0.1772533124694985\n        },\n        {\n          \"x\": -0.10917085505519954,\n          \"y\": -0.17596801216399852\n        },\n        {\n          \"x\": -0.10864760503749954,\n          \"y\": -0.17468173931249847\n        },\n        {\n          \"x\": -0.10812852970879953,\n          \"y\": -0.17339449297599843\n        },\n        {\n          \"x\": -0.10761363854489954,\n          \"y\": -0.17210627221549843\n        },\n        {\n          \"x\": -0.10710294102159955,\n          \"y\": -0.17081707609199845\n        },\n        {\n          \"x\": -0.10659644661469955,\n          \"y\": -0.16952690366649845\n        },\n        {\n          \"x\": -0.10609416479999954,\n          \"y\": -0.1682357539999984\n        },\n        {\n          \"x\": -0.10559610505329955,\n          \"y\": -0.1669436261534984\n        },\n        {\n          \"x\": -0.10510227685039954,\n          \"y\": -0.1656505191879984\n        },\n        {\n          \"x\": -0.10461268966709955,\n          \"y\": -0.16435643216449838\n        },\n        {\n          \"x\": -0.10412735297919956,\n          \"y\": -0.16306136414399838\n        },\n        {\n          \"x\": -0.10364627626249956,\n          \"y\": -0.16176531418749837\n        },\n        {\n          \"x\": -0.10316946899279957,\n          \"y\": -0.16046828135599833\n        },\n        {\n          \"x\": -0.10269694064589956,\n          \"y\": -0.15917026471049833\n        },\n        {\n          \"x\": -0.10222870069759955,\n          \"y\": -0.1578712633119983\n        },\n        {\n          \"x\": -0.10176475862369955,\n          \"y\": -0.1565712762214983\n        },\n        {\n          \"x\": -0.10130512389999956,\n          \"y\": -0.1552703024999983\n        },\n        {\n          \"x\": -0.10084980600229956,\n          \"y\": -0.15396834120849828\n        },\n        {\n          \"x\": -0.10039881440639958,\n          \"y\": -0.15266539140799829\n        },\n        {\n          \"x\": -0.09995215858809957,\n          \"y\": -0.15136145215949826\n        },\n        {\n          \"x\": -0.09950984802319957,\n          \"y\": -0.15005652252399826\n        },\n        {\n          \"x\": -0.09907189218749957,\n          \"y\": -0.14875060156249825\n        },\n        {\n          \"x\": -0.09863830055679956,\n          \"y\": -0.14744368833599825\n        },\n        {\n          \"x\": -0.09820908260689958,\n          \"y\": -0.14613578190549825\n        },\n        {\n          \"x\": -0.09778424781359957,\n          \"y\": -0.14482688133199823\n        },\n        {\n          \"x\": -0.09736380565269957,\n          \"y\": -0.1435169856764982\n        },\n        {\n          \"x\": -0.09694776559999957,\n          \"y\": -0.1422060939999982\n        },\n        {\n          \"x\": -0.09653613713129958,\n          \"y\": -0.1408942053634982\n        },\n        {\n          \"x\": -0.09612892972239956,\n          \"y\": -0.13958131882799818\n        },\n        {\n          \"x\": -0.09572615284909958,\n          \"y\": -0.13826743345449818\n        },\n        {\n          \"x\": -0.09532781598719958,\n          \"y\": -0.13695254830399817\n        },\n        {\n          \"x\": -0.09493392861249958,\n          \"y\": -0.13563666243749817\n        },\n        {\n          \"x\": -0.09454450020079957,\n          \"y\": -0.13431977491599817\n        },\n        {\n          \"x\": -0.09415954022789956,\n          \"y\": -0.13300188480049818\n        },\n        {\n          \"x\": -0.09377905816959958,\n          \"y\": -0.13168299115199816\n        },\n        {\n          \"x\": -0.09340306350169958,\n          \"y\": -0.13036309303149818\n        },\n        {\n          \"x\": -0.09303156569999958,\n          \"y\": -0.12904218949999818\n        },\n        {\n          \"x\": -0.09266457424029959,\n          \"y\": -0.12772027961849816\n        },\n        {\n          \"x\": -0.09230209859839958,\n          \"y\": -0.12639736244799815\n        },\n        {\n          \"x\": -0.09194414825009957,\n          \"y\": -0.12507343704949817\n        },\n        {\n          \"x\": -0.09159073267119958,\n          \"y\": -0.12374850248399819\n        },\n        {\n          \"x\": -0.09124186133749958,\n          \"y\": -0.12242255781249818\n        },\n        {\n          \"x\": -0.09089754372479958,\n          \"y\": -0.12109560209599818\n        },\n        {\n          \"x\": -0.09055778930889957,\n          \"y\": -0.11976763439549819\n        },\n        {\n          \"x\": -0.09022260756559956,\n          \"y\": -0.11843865377199818\n        },\n        {\n          \"x\": -0.08989200797069956,\n          \"y\": -0.11710865928649819\n        },\n        {\n          \"x\": -0.08956599999999959,\n          \"y\": -0.11577764999999829\n        },\n        {\n          \"x\": -0.08956599999999959,\n          \"y\": -0.11577764999999829\n        },\n        {\n          \"x\": -0.08916166532269958,\n          \"y\": -0.1141015840276983\n        },\n        {\n          \"x\": -0.08876332646159957,\n          \"y\": -0.11242441110159831\n        },\n        {\n          \"x\": -0.08837097017289958,\n          \"y\": -0.11074614170789834\n        },\n        {\n          \"x\": -0.08798458321279957,\n          \"y\": -0.10906678633279836\n        },\n        {\n          \"x\": -0.08760415233749957,\n          \"y\": -0.10738635546249836\n        },\n        {\n          \"x\": -0.08722966430319957,\n          \"y\": -0.10570485958319836\n        },\n        {\n          \"x\": -0.08686110586609956,\n          \"y\": -0.10402230918109837\n        },\n        {\n          \"x\": -0.08649846378239957,\n          \"y\": -0.10233871474239843\n        },\n        {\n          \"x\": -0.0861417248082996,\n          \"y\": -0.10065408675329846\n        },\n        {\n          \"x\": -0.08579087569999959,\n          \"y\": -0.09896843569999846\n        },\n        {\n          \"x\": -0.08544590321369959,\n          \"y\": -0.09728177206869845\n        },\n        {\n          \"x\": -0.08510679410559958,\n          \"y\": -0.09559410634559845\n        },\n        {\n          \"x\": -0.08477353513189957,\n          \"y\": -0.09390544901689848\n        },\n        {\n          \"x\": -0.08444611304879956,\n          \"y\": -0.09221581056879849\n        },\n        {\n          \"x\": -0.08412451461249956,\n          \"y\": -0.0905252014874985\n        },\n        {\n          \"x\": -0.08380872657919955,\n          \"y\": -0.0888336322591985\n        },\n        {\n          \"x\": -0.08349873570509957,\n          \"y\": -0.08714111337009853\n        },\n        {\n          \"x\": -0.08319452874639957,\n          \"y\": -0.08544765530639854\n        },\n        {\n          \"x\": -0.08289609245929955,\n          \"y\": -0.08375326855429854\n        },\n        {\n          \"x\": -0.08260341359999955,\n          \"y\": -0.08205796359999856\n        },\n        {\n          \"x\": -0.08231647892469955,\n          \"y\": -0.08036175092969856\n        },\n        {\n          \"x\": -0.08203527518959956,\n          \"y\": -0.07866464102959857\n        },\n        {\n          \"x\": -0.08175978915089956,\n          \"y\": -0.07696664438589859\n        },\n        {\n          \"x\": -0.08149000756479956,\n          \"y\": -0.07526777148479862\n        },\n        {\n          \"x\": -0.08122591718749958,\n          \"y\": -0.07356803281249863\n        },\n        {\n          \"x\": -0.08096750477519957,\n          \"y\": -0.07186743885519864\n        },\n        {\n          \"x\": -0.08071475708409956,\n          \"y\": -0.07016600009909864\n        },\n        {\n          \"x\": -0.08046766087039958,\n          \"y\": -0.06846372703039866\n        },\n        {\n          \"x\": -0.08022620289029957,\n          \"y\": -0.06676063013529866\n        },\n        {\n          \"x\": -0.07999036989999955,\n          \"y\": -0.06505671989999867\n        },\n        {\n          \"x\": -0.07976014865569958,\n          \"y\": -0.06335200681069868\n        },\n        {\n          \"x\": -0.07953552591359955,\n          \"y\": -0.061646501353598705\n        },\n        {\n          \"x\": -0.07931648842989956,\n          \"y\": -0.0599402140148987\n        },\n        {\n          \"x\": -0.07910302296079955,\n          \"y\": -0.0582331552807987\n        },\n        {\n          \"x\": -0.07889511626249955,\n          \"y\": -0.05652533563749871\n        },\n        {\n          \"x\": -0.07869275509119955,\n          \"y\": -0.05481676557119872\n        },\n        {\n          \"x\": -0.07849592620309954,\n          \"y\": -0.053107455568098726\n        },\n        {\n          \"x\": -0.07830461635439954,\n          \"y\": -0.05139741611439873\n        },\n        {\n          \"x\": -0.07811881230129955,\n          \"y\": -0.049686657696298736\n        },\n        {\n          \"x\": -0.07793850079999953,\n          \"y\": -0.04797519079999873\n        },\n        {\n          \"x\": -0.07776366860669955,\n          \"y\": -0.04626302591169874\n        },\n        {\n          \"x\": -0.07759430247759955,\n          \"y\": -0.04455017351759874\n        },\n        {\n          \"x\": -0.07743038916889955,\n          \"y\": -0.042836644103898744\n        },\n        {\n          \"x\": -0.07727191543679954,\n          \"y\": -0.04112244815679875\n        },\n        {\n          \"x\": -0.07711886803749955,\n          \"y\": -0.039407596162498754\n        },\n        {\n          \"x\": -0.07697123372719955,\n          \"y\": -0.03769209860719875\n        },\n        {\n          \"x\": -0.07682899926209953,\n          \"y\": -0.035975965977098755\n        },\n        {\n          \"x\": -0.07669215139839955,\n          \"y\": -0.03425920875839876\n        },\n        {\n          \"x\": -0.07656067689229953,\n          \"y\": -0.032541837437298764\n        },\n        {\n          \"x\": -0.07643456249999953,\n          \"y\": -0.03082386249999876\n        },\n        {\n          \"x\": -0.07631379497769952,\n          \"y\": -0.029105294432698766\n        },\n        {\n          \"x\": -0.07619836108159952,\n          \"y\": -0.02738614372159877\n        },\n        {\n          \"x\": -0.07608824756789952,\n          \"y\": -0.02566642085289876\n        },\n        {\n          \"x\": -0.07598344119279953,\n          \"y\": -0.023946136312798766\n        },\n        {\n          \"x\": -0.07588392871249951,\n          \"y\": -0.02222530058749876\n        },\n        {\n          \"x\": -0.0757896968831995,\n          \"y\": -0.020503924163198756\n        },\n        {\n          \"x\": -0.07570073246109951,\n          \"y\": -0.01878201752609876\n        },\n        {\n          \"x\": -0.07561702220239952,\n          \"y\": -0.017059591162398753\n        },\n        {\n          \"x\": -0.07553855286329951,\n          \"y\": -0.015336655558298754\n        },\n        {\n          \"x\": -0.07546531119999951,\n          \"y\": -0.01361322119999875\n        },\n        {\n          \"x\": -0.07539728396869952,\n          \"y\": -0.011889298573698748\n        },\n        {\n          \"x\": -0.07533445792559951,\n          \"y\": -0.010164898165598747\n        },\n        {\n          \"x\": -0.07527681982689952,\n          \"y\": -0.008440030461898743\n        },\n        {\n          \"x\": -0.07522435642879952,\n          \"y\": -0.006714705948798734\n        },\n        {\n          \"x\": -0.07517705448749952,\n          \"y\": -0.004988935112498731\n        },\n        {\n          \"x\": -0.07513490075919951,\n          \"y\": -0.0032627284391987255\n        },\n        {\n          \"x\": -0.07509788200009951,\n          \"y\": -0.0015360964150987165\n        },\n        {\n          \"x\": -0.07506598496639952,\n          \"y\": 0.0001909504736012889\n        },\n        {\n          \"x\": -0.0750391964142995,\n          \"y\": 0.0019184017407012956\n        },\n        {\n          \"x\": -0.07501750309999951,\n          \"y\": 0.003646246900001303\n        },\n        {\n          \"x\": -0.07500089177969951,\n          \"y\": 0.00537447546530131\n        },\n        {\n          \"x\": -0.07498934920959952,\n          \"y\": 0.00710307695040132\n        },\n        {\n          \"x\": -0.0749828621458995,\n          \"y\": 0.00883204086910133\n        },\n        {\n          \"x\": -0.0749814173447995,\n          \"y\": 0.010561356735201338\n        },\n        {\n          \"x\": -0.07498500156249951,\n          \"y\": 0.012291014062501347\n        },\n        {\n          \"x\": -0.0749936015551995,\n          \"y\": 0.014021002364801359\n        },\n        {\n          \"x\": -0.07500720407909953,\n          \"y\": 0.015751311155901372\n        },\n        {\n          \"x\": -0.07502579589039951,\n          \"y\": 0.017481929949601384\n        },\n        {\n          \"x\": -0.0750493637452995,\n          \"y\": 0.01921284825970139\n        },\n        {\n          \"x\": -0.07507789439999951,\n          \"y\": 0.0209440556000014\n        },\n        {\n          \"x\": -0.0751113746106995,\n          \"y\": 0.022675541484301412\n        },\n        {\n          \"x\": -0.0751497911335995,\n          \"y\": 0.024407295426401427\n        },\n        {\n          \"x\": -0.07519313072489951,\n          \"y\": 0.02613930694010145\n        },\n        {\n          \"x\": -0.07524138014079951,\n          \"y\": 0.027871565539201462\n        },\n        {\n          \"x\": -0.07529452613749951,\n          \"y\": 0.029604060737501478\n        },\n        {\n          \"x\": -0.07535255547119951,\n          \"y\": 0.031336782048801484\n        },\n        {\n          \"x\": -0.0754154548980995,\n          \"y\": 0.0330697189869015\n        },\n        {\n          \"x\": -0.07548321117439952,\n          \"y\": 0.03480286106560152\n        },\n        {\n          \"x\": -0.07555581105629952,\n          \"y\": 0.03653619779870154\n        },\n        {\n          \"x\": -0.07563324129999952,\n          \"y\": 0.038269718700001565\n        },\n        {\n          \"x\": -0.07571548866169951,\n          \"y\": 0.04000341328330158\n        },\n        {\n          \"x\": -0.07580253989759951,\n          \"y\": 0.04173727106240159\n        },\n        {\n          \"x\": -0.07589438176389952,\n          \"y\": 0.043471281551101616\n        },\n        {\n          \"x\": -0.07599100101679952,\n          \"y\": 0.04520543426320164\n        },\n        {\n          \"x\": -0.07609238441249952,\n          \"y\": 0.04693971871250166\n        },\n        {\n          \"x\": -0.07619851870719953,\n          \"y\": 0.048674124412801674\n        },\n        {\n          \"x\": -0.07630939065709953,\n          \"y\": 0.0504086408779017\n        },\n        {\n          \"x\": -0.07642498701839952,\n          \"y\": 0.05214325762160172\n        },\n        {\n          \"x\": -0.07654529454729952,\n          \"y\": 0.05387796415770175\n        },\n        {\n          \"x\": -0.07667029999999952,\n          \"y\": 0.055612750000001654\n        },\n        {\n          \"x\": -0.07667029999999952,\n          \"y\": 0.055612750000001654\n        },\n        {\n          \"x\": -0.07680210846969952,\n          \"y\": 0.05708314936460168\n        },\n        {\n          \"x\": -0.07693595411759954,\n          \"y\": 0.05855396299680169\n        },\n        {\n          \"x\": -0.07707186730189955,\n          \"y\": 0.06002517220420173\n        },\n        {\n          \"x\": -0.07720987838079954,\n          \"y\": 0.06149675829440175\n        },\n        {\n          \"x\": -0.07735001771249954,\n          \"y\": 0.06296870257500178\n        },\n        {\n          \"x\": -0.07749231565519954,\n          \"y\": 0.06444098635360178\n        },\n        {\n          \"x\": -0.07763680256709955,\n          \"y\": 0.0659135909378018\n        },\n        {\n          \"x\": -0.07778350880639956,\n          \"y\": 0.06738649763520185\n        },\n        {\n          \"x\": -0.07793246473129956,\n          \"y\": 0.06885968775340187\n        },\n        {\n          \"x\": -0.07808370069999958,\n          \"y\": 0.07033314260000188\n        },\n        {\n          \"x\": -0.07823724707069958,\n          \"y\": 0.07180684348260188\n        },\n        {\n          \"x\": -0.07839313420159956,\n          \"y\": 0.07328077170880191\n        },\n        {\n          \"x\": -0.07855139245089958,\n          \"y\": 0.07475490858620194\n        },\n        {\n          \"x\": -0.07871205217679958,\n          \"y\": 0.07622923542240194\n        },\n        {\n          \"x\": -0.07887514373749958,\n          \"y\": 0.07770373352500196\n        },\n        {\n          \"x\": -0.07904069749119959,\n          \"y\": 0.07917838420160196\n        },\n        {\n          \"x\": -0.07920874379609959,\n          \"y\": 0.080653168759802\n        },\n        {\n          \"x\": -0.07937931301039959,\n          \"y\": 0.082128068507202\n        },\n        {\n          \"x\": -0.07955243549229958,\n          \"y\": 0.08360306475140203\n        },\n        {\n          \"x\": -0.0797281415999996,\n          \"y\": 0.085078138800002\n        },\n        {\n          \"x\": -0.0799064616916996,\n          \"y\": 0.08655327196060203\n        },\n        {\n          \"x\": -0.08008742612559962,\n          \"y\": 0.08802844554080204\n        },\n        {\n          \"x\": -0.08027106525989962,\n          \"y\": 0.08950364084820207\n        },\n        {\n          \"x\": -0.08045740945279962,\n          \"y\": 0.09097883919040207\n        },\n        {\n          \"x\": -0.08064648906249965,\n          \"y\": 0.0924540218750021\n        },\n        {\n          \"x\": -0.08083833444719964,\n          \"y\": 0.0939291702096021\n        },\n        {\n          \"x\": -0.08103297596509963,\n          \"y\": 0.09540426550180209\n        },\n        {\n          \"x\": -0.08123044397439966,\n          \"y\": 0.09687928905920212\n        },\n        {\n          \"x\": -0.08143076883329967,\n          \"y\": 0.09835422218940212\n        },\n        {\n          \"x\": -0.08163398089999965,\n          \"y\": 0.09982904620000212\n        },\n        {\n          \"x\": -0.08184011053269966,\n          \"y\": 0.10130374239860213\n        },\n        {\n          \"x\": -0.08204918808959966,\n          \"y\": 0.10277829209280215\n        },\n        {\n          \"x\": -0.08226124392889968,\n          \"y\": 0.10425267659020215\n        },\n        {\n          \"x\": -0.08247630840879966,\n          \"y\": 0.10572687719840214\n        },\n        {\n          \"x\": -0.08269441188749967,\n          \"y\": 0.10720087522500214\n        },\n        {\n          \"x\": -0.08291558472319968,\n          \"y\": 0.10867465197760214\n        },\n        {\n          \"x\": -0.0831398572740997,\n          \"y\": 0.11014818876380215\n        },\n        {\n          \"x\": -0.08336725989839969,\n          \"y\": 0.11162146689120216\n        },\n        {\n          \"x\": -0.0835978229542997,\n          \"y\": 0.11309446766740217\n        },\n        {\n          \"x\": -0.0838315767999997,\n          \"y\": 0.11456717240000215\n        },\n        {\n          \"x\": -0.08406855179369971,\n          \"y\": 0.11603956239660215\n        },\n        {\n          \"x\": -0.0843087782935997,\n          \"y\": 0.11751161896480215\n        },\n        {\n          \"x\": -0.08455228665789971,\n          \"y\": 0.11898332341220215\n        },\n        {\n          \"x\": -0.0847991072447997,\n          \"y\": 0.12045465704640215\n        },\n        {\n          \"x\": -0.08504927041249971,\n          \"y\": 0.12192560117500215\n        },\n        {\n          \"x\": -0.0853028065191997,\n          \"y\": 0.12339613710560214\n        },\n        {\n          \"x\": -0.08555974592309973,\n          \"y\": 0.12486624614580213\n        },\n        {\n          \"x\": -0.08582011898239973,\n          \"y\": 0.12633590960320215\n        },\n        {\n          \"x\": -0.08608395605529973,\n          \"y\": 0.12780510878540213\n        },\n        {\n          \"x\": -0.08635128749999971,\n          \"y\": 0.1292738250000021\n        },\n        {\n          \"x\": -0.08662214367469973,\n          \"y\": 0.1307420395546021\n        },\n        {\n          \"x\": -0.08689655493759973,\n          \"y\": 0.1322097337568021\n        },\n        {\n          \"x\": -0.08717455164689972,\n          \"y\": 0.13367688891420207\n        },\n        {\n          \"x\": -0.08745616416079972,\n          \"y\": 0.13514348633440207\n        },\n        {\n          \"x\": -0.08774142283749972,\n          \"y\": 0.13660950732500204\n        },\n        {\n          \"x\": -0.08803035803519974,\n          \"y\": 0.13807493319360203\n        },\n        {\n          \"x\": -0.08832300011209973,\n          \"y\": 0.13953974524780205\n        },\n        {\n          \"x\": -0.08861937942639975,\n          \"y\": 0.14100392479520202\n        },\n        {\n          \"x\": -0.08891952633629974,\n          \"y\": 0.14246745314340203\n        },\n        {\n          \"x\": -0.08922347119999974,\n          \"y\": 0.14393031160000203\n        },\n        {\n          \"x\": -0.08953124437569973,\n          \"y\": 0.145392481472602\n        },\n        {\n          \"x\": -0.08984287622159975,\n          \"y\": 0.14685394406880198\n        },\n        {\n          \"x\": -0.09015839709589976,\n          \"y\": 0.148314680696202\n        },\n        {\n          \"x\": -0.09047783735679976,\n          \"y\": 0.149774672662402\n        },\n        {\n          \"x\": -0.09080122736249976,\n          \"y\": 0.15123390127500197\n        },\n        {\n          \"x\": -0.09112859747119977,\n          \"y\": 0.15269234784160193\n        },\n        {\n          \"x\": -0.09145997804109976,\n          \"y\": 0.15414999366980195\n        },\n        {\n          \"x\": -0.09179539943039977,\n          \"y\": 0.15560682006720195\n        },\n        {\n          \"x\": -0.09213489199729977,\n          \"y\": 0.1570628083414019\n        },\n        {\n          \"x\": -0.09247848609999976,\n          \"y\": 0.1585179398000019\n        },\n        {\n          \"x\": -0.09282621209669975,\n          \"y\": 0.1599721957506019\n        },\n        {\n          \"x\": -0.09317810034559978,\n          \"y\": 0.1614255575008019\n        },\n        {\n          \"x\": -0.09353418120489977,\n          \"y\": 0.16287800635820185\n        },\n        {\n          \"x\": -0.09389448503279976,\n          \"y\": 0.16432952363040182\n        },\n        {\n          \"x\": -0.09425904218749978,\n          \"y\": 0.16578009062500182\n        },\n        {\n          \"x\": -0.09462788302719977,\n          \"y\": 0.1672296886496018\n        },\n        {\n          \"x\": -0.09500103791009978,\n          \"y\": 0.1686782990118018\n        },\n        {\n          \"x\": -0.09537853719439979,\n          \"y\": 0.17012590301920177\n        },\n        {\n          \"x\": -0.09576041123829979,\n          \"y\": 0.17157248197940175\n        },\n        {\n          \"x\": -0.09614669039999979,\n          \"y\": 0.17301801720000176\n        },\n        {\n          \"x\": -0.09653740503769978,\n          \"y\": 0.17446248998860173\n        },\n        {\n          \"x\": -0.0969325855095998,\n          \"y\": 0.17590588165280172\n        },\n        {\n          \"x\": -0.09733226217389979,\n          \"y\": 0.17734817350020168\n        },\n        {\n          \"x\": -0.09773646538879979,\n          \"y\": 0.1787893468384017\n        },\n        {\n          \"x\": -0.0981452255124998,\n          \"y\": 0.18022938297500168\n        },\n        {\n          \"x\": -0.0985585729031998,\n          \"y\": 0.18166826321760166\n        },\n        {\n          \"x\": -0.09897653791909979,\n          \"y\": 0.1831059688738016\n        },\n        {\n          \"x\": -0.09939915091839979,\n          \"y\": 0.1845424812512016\n        },\n        {\n          \"x\": -0.0998264422592998,\n          \"y\": 0.1859777816574016\n        },\n        {\n          \"x\": -0.1002584422999998,\n          \"y\": 0.1874118514000016\n        },\n        {\n          \"x\": -0.1006951813986998,\n          \"y\": 0.18884467178660155\n        },\n        {\n          \"x\": -0.1011366899135998,\n          \"y\": 0.19027622412480152\n        },\n        {\n          \"x\": -0.10158299820289979,\n          \"y\": 0.19170648972220153\n        },\n        {\n          \"x\": -0.1020341366247998,\n          \"y\": 0.1931354498864015\n        },\n        {\n          \"x\": -0.1024901355374998,\n          \"y\": 0.1945630859250015\n        },\n        {\n          \"x\": -0.1029510252991998,\n          \"y\": 0.19598937914560147\n        },\n        {\n          \"x\": -0.10341683626809982,\n          \"y\": 0.19741431085580147\n        },\n        {\n          \"x\": -0.1038875988023998,\n          \"y\": 0.19883786236320142\n        },\n        {\n          \"x\": -0.1043633432602998,\n          \"y\": 0.20026001497540138\n        },\n        {\n          \"x\": -0.10484409999999977,\n          \"y\": 0.2016807500000013\n        },\n        {\n          \"x\": -0.10484409999999977,\n          \"y\": 0.2016807500000013\n        },\n        {\n          \"x\": -0.10512829034499978,\n          \"y\": 0.20251255364660126\n        },\n        {\n          \"x\": -0.10541452131999979,\n          \"y\": 0.2033439212528012\n        },\n        {\n          \"x\": -0.10570279283499981,\n          \"y\": 0.2041748478182012\n        },\n        {\n          \"x\": -0.10599310479999982,\n          \"y\": 0.20500532834240115\n        },\n        {\n          \"x\": -0.10628545712499982,\n          \"y\": 0.20583535782500112\n        },\n        {\n          \"x\": -0.10657984971999983,\n          \"y\": 0.20666493126560112\n        },\n        {\n          \"x\": -0.10687628249499985,\n          \"y\": 0.2074940436638011\n        },\n        {\n          \"x\": -0.10717475535999986,\n          \"y\": 0.20832269001920106\n        },\n        {\n          \"x\": -0.10747526822499989,\n          \"y\": 0.2091508653314011\n        },\n        {\n          \"x\": -0.1077778209999999,\n          \"y\": 0.20997856460000103\n        },\n        {\n          \"x\": -0.10808241359499988,\n          \"y\": 0.21080578282460102\n        },\n        {\n          \"x\": -0.10838904591999989,\n          \"y\": 0.21163251500480096\n        },\n        {\n          \"x\": -0.10869771788499989,\n          \"y\": 0.212458756140201\n        },\n        {\n          \"x\": -0.10900842939999988,\n          \"y\": 0.21328450123040094\n        },\n        {\n          \"x\": -0.10932118037499987,\n          \"y\": 0.21410974527500093\n        },\n        {\n          \"x\": -0.10963597071999989,\n          \"y\": 0.21493448327360093\n        },\n        {\n          \"x\": -0.10995280034499992,\n          \"y\": 0.21575871022580093\n        },\n        {\n          \"x\": -0.1102716691599999,\n          \"y\": 0.2165824211312009\n        },\n        {\n          \"x\": -0.1105925770749999,\n          \"y\": 0.21740561098940095\n        },\n        {\n          \"x\": -0.11091552399999992,\n          \"y\": 0.21822827480000093\n        },\n        {\n          \"x\": -0.1112405098449999,\n          \"y\": 0.2190504075626009\n        },\n        {\n          \"x\": -0.11156753451999993,\n          \"y\": 0.21987200427680093\n        },\n        {\n          \"x\": -0.11189659793499994,\n          \"y\": 0.22069305994220095\n        },\n        {\n          \"x\": -0.11222769999999993,\n          \"y\": 0.22151356955840096\n        },\n        {\n          \"x\": -0.11256084062499995,\n          \"y\": 0.222333528125001\n        },\n        {\n          \"x\": -0.11289601971999996,\n          \"y\": 0.223152930641601\n        },\n        {\n          \"x\": -0.11323323719499996,\n          \"y\": 0.223971772107801\n        },\n        {\n          \"x\": -0.11357249295999995,\n          \"y\": 0.22479004752320103\n        },\n        {\n          \"x\": -0.11391378692499997,\n          \"y\": 0.22560775188740104\n        },\n        {\n          \"x\": -0.11425711899999995,\n          \"y\": 0.22642488020000104\n        },\n        {\n          \"x\": -0.11460248909499995,\n          \"y\": 0.22724142746060105\n        },\n        {\n          \"x\": -0.11494989711999995,\n          \"y\": 0.2280573886688011\n        },\n        {\n          \"x\": -0.11529934298499996,\n          \"y\": 0.22887275882420108\n        },\n        {\n          \"x\": -0.11565082659999995,\n          \"y\": 0.22968753292640107\n        },\n        {\n          \"x\": -0.11600434787499994,\n          \"y\": 0.23050170597500114\n        },\n        {\n          \"x\": -0.11635990671999996,\n          \"y\": 0.23131527296960114\n        },\n        {\n          \"x\": -0.11671750304499996,\n          \"y\": 0.23212822890980117\n        },\n        {\n          \"x\": -0.11707713675999995,\n          \"y\": 0.23294056879520117\n        },\n        {\n          \"x\": -0.11743880777499995,\n          \"y\": 0.2337522876254012\n        },\n        {\n          \"x\": -0.11780251599999993,\n          \"y\": 0.2345633804000012\n        },\n        {\n          \"x\": -0.11816826134499994,\n          \"y\": 0.23537384211860124\n        },\n        {\n          \"x\": -0.11853604371999993,\n          \"y\": 0.23618366778080127\n        },\n        {\n          \"x\": -0.11890586303499992,\n          \"y\": 0.2369928523862013\n        },\n        {\n          \"x\": -0.11927771919999992,\n          \"y\": 0.23780139093440128\n        },\n        {\n          \"x\": -0.11965161212499995,\n          \"y\": 0.23860927842500138\n        },\n        {\n          \"x\": -0.12002754171999992,\n          \"y\": 0.23941650985760138\n        },\n        {\n          \"x\": -0.12040550789499993,\n          \"y\": 0.24022308023180142\n        },\n        {\n          \"x\": -0.12078551055999992,\n          \"y\": 0.24102898454720142\n        },\n        {\n          \"x\": -0.12116754962499991,\n          \"y\": 0.24183421780340145\n        },\n        {\n          \"x\": -0.12155162499999989,\n          \"y\": 0.24263877500000142\n        },\n        {\n          \"x\": -0.1219377365949999,\n          \"y\": 0.2434426511366015\n        },\n        {\n          \"x\": -0.1223258843199999,\n          \"y\": 0.2442458412128015\n        },\n        {\n          \"x\": -0.1227160680849999,\n          \"y\": 0.24504834022820154\n        },\n        {\n          \"x\": -0.12310828779999988,\n          \"y\": 0.24585014318240156\n        },\n        {\n          \"x\": -0.12350254337499987,\n          \"y\": 0.24665124507500158\n        },\n        {\n          \"x\": -0.12389883471999988,\n          \"y\": 0.24745164090560162\n        },\n        {\n          \"x\": -0.12429716174499987,\n          \"y\": 0.24825132567380165\n        },\n        {\n          \"x\": -0.12469752435999987,\n          \"y\": 0.2490502943792017\n        },\n        {\n          \"x\": -0.12509992247499988,\n          \"y\": 0.2498485420214017\n        },\n        {\n          \"x\": -0.12550435599999984,\n          \"y\": 0.25064606360000175\n        },\n        {\n          \"x\": -0.12591082484499985,\n          \"y\": 0.25144285411460177\n        },\n        {\n          \"x\": -0.12631932891999986,\n          \"y\": 0.2522389085648018\n        },\n        {\n          \"x\": -0.12672986813499987,\n          \"y\": 0.25303422195020187\n        },\n        {\n          \"x\": -0.12714244239999986,\n          \"y\": 0.25382878927040187\n        },\n        {\n          \"x\": -0.12755705162499986,\n          \"y\": 0.25462260552500193\n        },\n        {\n          \"x\": -0.12797369571999986,\n          \"y\": 0.25541566571360197\n        },\n        {\n          \"x\": -0.12839237459499983,\n          \"y\": 0.256207964835802\n        },\n        {\n          \"x\": -0.12881308815999984,\n          \"y\": 0.256999497891202\n        },\n        {\n          \"x\": -0.12923583632499985,\n          \"y\": 0.2577902598794021\n        },\n        {\n          \"x\": -0.12966061899999984,\n          \"y\": 0.2585802458000021\n        },\n        {\n          \"x\": -0.13008743609499984,\n          \"y\": 0.25936945065260214\n        },\n        {\n          \"x\": -0.13051628751999986,\n          \"y\": 0.2601578694368022\n        },\n        {\n          \"x\": -0.13094717318499982,\n          \"y\": 0.26094549715220217\n        },\n        {\n          \"x\": -0.13138009299999984,\n          \"y\": 0.26173232879840225\n        },\n        {\n          \"x\": -0.13181504687499984,\n          \"y\": 0.2625183593750023\n        },\n        {\n          \"x\": -0.13225203471999986,\n          \"y\": 0.2633035838816023\n        },\n        {\n          \"x\": -0.13269105644499984,\n          \"y\": 0.26408799731780236\n        },\n        {\n          \"x\": -0.13313211195999985,\n          \"y\": 0.26487159468320237\n        },\n        {\n          \"x\": -0.13357520117499982,\n          \"y\": 0.2656543709774024\n        },\n        {\n          \"x\": -0.13402032399999986,\n          \"y\": 0.26643632120000244\n        },\n        {\n          \"x\": -0.13446748034499983,\n          \"y\": 0.26721744035060246\n        },\n        {\n          \"x\": -0.13491667011999983,\n          \"y\": 0.26799772342880246\n        },\n        {\n          \"x\": -0.13536789323499984,\n          \"y\": 0.2687771654342025\n        },\n        {\n          \"x\": -0.13582114959999986,\n          \"y\": 0.2695557613664026\n        },\n        {\n          \"x\": -0.13627643912499987,\n          \"y\": 0.27033350622500263\n        },\n        {\n          \"x\": -0.13673376171999985,\n          \"y\": 0.27111039500960266\n        },\n        {\n          \"x\": -0.13719311729499983,\n          \"y\": 0.2718864227198026\n        },\n        {\n          \"x\": -0.13765450575999985,\n          \"y\": 0.2726615843552027\n        },\n        {\n          \"x\": -0.13811792702499986,\n          \"y\": 0.2734358749154028\n        },\n        {\n          \"x\": -0.1385833809999999,\n          \"y\": 0.2742092894000028\n        },\n        {\n          \"x\": -0.13905086759499988,\n          \"y\": 0.2749818228086028\n        },\n        {\n          \"x\": -0.1395203867199999,\n          \"y\": 0.2757534701408028\n        },\n        {\n          \"x\": -0.1399919382849999,\n          \"y\": 0.27652422639620283\n        },\n        {\n          \"x\": -0.14046552219999991,\n          \"y\": 0.27729408657440285\n        },\n        {\n          \"x\": -0.1409411383749999,\n          \"y\": 0.2780630456750029\n        },\n        {\n          \"x\": -0.1414187867199999,\n          \"y\": 0.2788310986976029\n        },\n        {\n          \"x\": -0.14189846714499993,\n          \"y\": 0.27959824064180294\n        },\n        {\n          \"x\": -0.14238017955999993,\n          \"y\": 0.2803644665072029\n        },\n        {\n          \"x\": -0.1428639238749999,\n          \"y\": 0.28112977129340294\n        },\n        {\n          \"x\": -0.1433496999999999,\n          \"y\": 0.28189415000000295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"rect1577-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.26345180000000035,\n          \"y\": 0.2455934500000012\n        },\n        {\n          \"x\": 0.12298460000000011,\n          \"y\": 0.2455934500000012\n        },\n        {\n          \"x\": 0.12298460000000011,\n          \"y\": 0.2505664500000009\n        },\n        {\n          \"x\": 0.26345180000000035,\n          \"y\": 0.2505664500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"rect1577-4-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19576130000000003,\n          \"y\": 0.31834525000000014\n        },\n        {\n          \"x\": 0.19576130000000003,\n          \"y\": 0.17787805000000034\n        },\n        {\n          \"x\": 0.1907882999999999,\n          \"y\": 0.17787805000000034\n        },\n        {\n          \"x\": 0.1907882999999999,\n          \"y\": 0.31834525000000014\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864499999999612,\n      \"y\": 0.4200086500000033\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850499999999979,\n      \"y\": -0.42000864999999976\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093,\n      \"y\": 0.016380250000000984\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": 0.016926950000001995\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.579367741,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.42000864999999976,\n    \"maxY\": 0.4200086500000033,\n    \"width\": 1.158735482,\n    \"height\": 0.8400173000000031,\n    \"centerX\": 0,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/capacitor_polarized.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.2,\n      y: 0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.3,\n      y: 0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"assets/generated/capacitor_polarized.json\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"./capacitor_polarized_right\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","import svgJson from \"assets/generated/capacitor_polarized.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.1,\n      y: -0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.2,\n      y: -0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"up\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.2,\n      y: -0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.2,\n      y: -0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"up\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.02897970000000072\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.02897970000000072\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.02897970000000072\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.02897970000000072\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.2923763000000008\n        },\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": -0.23441689999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.021208049999999812,\n      \"y\": 0.3692298999999999\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.3692298999999999\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.028126900000000177\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.029123299999999963\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.3692298999999999,\n    \"maxY\": 0.3692298999999999,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.7384597999999998,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03610800000000025,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/constant_current_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/constant_current_diode.json\"\n\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000002,\n          \"y\": -0.012283099999995883\n        },\n        {\n          \"x\": 0.13246630000000037,\n          \"y\": -0.012283099999995883\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.14263049999999966,\n          \"y\": -0.012283099999995883\n        },\n        {\n          \"x\": -0.5353954999999999,\n          \"y\": -0.012283099999995883\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12606289999999998,\n          \"y\": -0.2768663999999976\n        },\n        {\n          \"x\": 0.12606290000000042,\n          \"y\": 0.2523002000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07263109999999973,\n          \"y\": -0.27614569999999716\n        },\n        {\n          \"x\": 0.07263110000000017,\n          \"y\": 0.253020900000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13852050000000027,\n          \"y\": -0.2768663999999976\n        },\n        {\n          \"x\": -0.13852049999999982,\n          \"y\": 0.2523002000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08244070000000026,\n          \"y\": -0.27777869999999893\n        },\n        {\n          \"x\": -0.08244069999999981,\n          \"y\": 0.2513879000000028\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07253150000000019,\n          \"y\": -0.27761959999999597\n        },\n        {\n          \"x\": -0.08185069999999994,\n          \"y\": -0.27761959999999597\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0721257000000004,\n          \"y\": 0.255806800000002\n        },\n        {\n          \"x\": -0.08225649999999973,\n          \"y\": 0.255806800000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864500000000056,\n      \"y\": -0.4150086999999978\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850500000000423,\n      \"y\": 0.4250087000000011\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093000000002,\n      \"y\": -0.011380399999998403\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": -0.011926899999997076\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5793677410000002,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.5150086999999978,\n    \"maxY\": 0.4250087000000011,\n    \"width\": 1.1587354820000002,\n    \"height\": 1,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": -0.04499999999999832\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/crystal.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","import svgJson from \"assets/generated/crystal.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9942486145,\n          \"y\": -1.6422072295000003\n        },\n        {\n          \"x\": 2.0984258145,\n          \"y\": -1.6428272295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.1030704145000003,\n          \"y\": -1.4809259295000001\n        },\n        {\n          \"x\": 2.1026604145,\n          \"y\": -1.8041042295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2218770145,\n          \"y\": -1.4969414295\n        },\n        {\n          \"x\": 2.1063461145,\n          \"y\": -1.5757354295000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2286252145,\n          \"y\": -1.7819395295000002\n        },\n        {\n          \"x\": 2.1136540145000002,\n          \"y\": -1.7033263295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2273251145,\n          \"y\": -1.4948802295\n        },\n        {\n          \"x\": 2.2284101145,\n          \"y\": -1.1518438295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2276017145,\n          \"y\": -1.9567437295\n        },\n        {\n          \"x\": 2.2281317145,\n          \"y\": -1.7888340295000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"arrow-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.1704797145,\n          \"y\": -1.6991380295000003\n        },\n        {\n          \"x\": 2.1275815145,\n          \"y\": -1.7604028295000003\n        },\n        {\n          \"x\": 2.1917009144999997,\n          \"y\": -1.7601828295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.5978828145000001,\n          \"y\": -1.5020091295000002\n        },\n        {\n          \"x\": 1.8597023145000002,\n          \"y\": -1.5035561295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.8686937145000002,\n          \"y\": -1.3411936295000002\n        },\n        {\n          \"x\": 1.8682837145,\n          \"y\": -1.6643719295000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9875004145000004,\n          \"y\": -1.3572092295000002\n        },\n        {\n          \"x\": 1.8719693145,\n          \"y\": -1.4360031295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9942486145,\n          \"y\": -1.6422072295000003\n        },\n        {\n          \"x\": 1.8792773145000001,\n          \"y\": -1.5635940295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"arrow-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9361028144999999,\n          \"y\": -1.5594057295000003\n        },\n        {\n          \"x\": 1.8932048145,\n          \"y\": -1.6206705295000003\n        },\n        {\n          \"x\": 1.9573242144999998,\n          \"y\": -1.6204505295000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9943087144999998,\n          \"y\": -1.3539494295000003\n        },\n        {\n          \"x\": 2.2269582145,\n          \"y\": -1.3556534295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 1.8805772145,\n      \"y\": -1.9423669295000003\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 1.8845380145,\n      \"y\": -1.1387692295000003\n    }\n  },\n  \"refblocks\": {\n    \"right1\": {\n      \"x\": 2.2278617145000004,\n      \"y\": -1.9651412295000004\n    },\n    \"right2\": {\n      \"x\": 1.5977076145000002,\n      \"y\": -1.5027827295000002\n    },\n    \"right3\": {\n      \"x\": 2.2278680145,\n      \"y\": -1.1403971295000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": 1.5810976555000003,\n    \"maxX\": 2.3461148445,\n    \"minY\": -1.9817511885000003,\n    \"maxY\": -1.1237871705000002,\n    \"width\": 0.7650171889999999,\n    \"height\": 0.8579640180000001,\n    \"centerX\": 1.9636062500000002,\n    \"centerY\": -1.5527691795000003\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 2.0463372145000003,\n      \"y\": -1.5363384295000002,\n      \"radius\": 0.29977763,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/darlington_pair_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"right2\", [\"1\"])\n  .labelPort(\"right3\", [\"2\"])\n  .labelPort(\"right1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/darlington_pair_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nsvgJson.bounds.width += 0.3\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"right2\", [\"1\"])\n  .labelPort(\"right3\", [\"2\"])\n  .labelPort(\"right1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12447409999999959,\n          \"y\": 0.0852510999999998\n        },\n        {\n          \"x\": 0.11626639999999999,\n          \"y\": 0.0852510999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.4472267999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.3470985000000004\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"A\",\n      \"x\": 0,\n      \"y\": -0.1\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": 0\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": -0.08525110000000002,\n    \"maxY\": 0.0852510999999998,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": -1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0,\n      \"y\": 0,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dc_ammeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: 0, y: 0.01, anchor: \"center\", fontSize: 0.3 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dc_ammeter_horz from \"./dc_ammeter_horz\"\nimport { PathPrimitive, Primitive, TextPrimitive } from \"drawing/types\"\n\nfunction isPathPrimitive(value: any): value is PathPrimitive {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    value.type === \"path\" &&\n    Array.isArray(value.points) &&\n    typeof value.color === \"string\"\n  )\n}\n\nfunction isTextPrimitive(value: any): value is TextPrimitive {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    value.type === \"text\" &&\n    typeof value.text === \"string\" &&\n    typeof value.x === \"number\" &&\n    typeof value.y === \"number\" &&\n    typeof value.anchor === \"string\"\n  )\n}\n\nconst { 6: letter, 2: underline, ...rest } = dc_ammeter_horz.primitives\n\nif (isPathPrimitive(underline)) {\n  underline.points.map((p) => {\n    p.y += 0.05\n  })\n}\n\nif (isTextPrimitive(letter)) {\n  letter.y += 0.025\n}\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...dc_ammeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter, underline],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09442299999999992,\n          \"y\": -0.13438304999999984\n        },\n        {\n          \"x\": -0.004364400000000712,\n          \"y\": 0.05710404999999996\n        },\n        {\n          \"x\": -0.1110211000000012,\n          \"y\": -0.13438304999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12447409999999959,\n          \"y\": 0.13438304999999984\n        },\n        {\n          \"x\": 0.11626639999999999,\n          \"y\": 0.13438304999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.39809484999999944\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.39623045000000046\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": 0\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": -0.13438304999999984,\n    \"maxY\": 0.13438304999999984,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0,\n      \"y\": 0,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dc_voltmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dc_voltmeter_horz from \"./dc_voltmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 2: letter, 3: underline, ...rest } = dc_voltmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...dc_voltmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter, underline],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5176700499999997,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": -0.10888805000000024,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1031184499999993,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": 0.5246894499999994,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09343985000000021,\n          \"y\": -0.14620634999999882\n        },\n        {\n          \"x\": -0.0930998500000002,\n          \"y\": 0.2583405500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08519034999999908,\n          \"y\": -0.14503384999999902\n        },\n        {\n          \"x\": 0.08553034999999909,\n          \"y\": 0.2595130500000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08315755000000014,\n          \"y\": 0.055934450000000524\n        },\n        {\n          \"x\": -0.08415755000000047,\n          \"y\": -0.14678124999999964\n        },\n        {\n          \"x\": 0.08653524999999984,\n          \"y\": -0.05104664999999953\n        },\n        {\n          \"x\": -0.08126175000000035,\n          \"y\": 0.05647715000000031\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07661224999999927,\n          \"y\": 0.256654450000001\n        },\n        {\n          \"x\": 0.07761224999999983,\n          \"y\": 0.05393885000000109\n        },\n        {\n          \"x\": -0.0930805500000007,\n          \"y\": 0.1496734500000012\n        },\n        {\n          \"x\": 0.07471644999999949,\n          \"y\": 0.25719715000000143\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0316381500000007,\n      \"y\": 0.41683614999999996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.03022294999999975,\n      \"y\": -0.41683614999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": 0.04089205000000051\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": 0.04188845000000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.41683614999999996,\n    \"maxY\": 0.41683614999999996,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.8336722999999999,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": 0.048873150000000365,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/diac.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diac_horz from \"./diac_horz\"\n\nconst rotatedSymbol = rotateSymbol(diac_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nref.y = 0\nval.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000132\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825539999999776\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.08825539999999776\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797,\n          \"y\": 0.04395110000000102\n        },\n        {\n          \"x\": 0.14967160000000002,\n          \"y\": 0.04395110000000102\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384529999999785\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999999524,\n      \"y\": -0.2738453000000014\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.0449206999999987\n    },\n    \"right1\": {\n      \"x\": 0.5191471000000001,\n      \"y\": 0.043896100000001326\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055410000001,\n    \"minY\": -0.2738453000000014,\n    \"maxY\": 0.27384529999999785,\n    \"width\": 1.0946110820000001,\n    \"height\": 0.5476905999999993,\n    \"centerX\": 0,\n    \"centerY\": -1.7763568394002505e-15\n  },\n  \"circles\": {}\n}\n","import svgJson from \"assets/generated/diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .labelPort(\"left1\", [\"1\", \"pos\"])\n  .labelPort(\"right1\", [\"2\", \"neg\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"down\")\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"left\")\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"up\")\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622268000000006,\n          \"y\": 0.06287995000000057\n        },\n        {\n          \"x\": -0.1357978000000004,\n          \"y\": 0.06287995000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12009950000000069,\n          \"y\": 0.061349450000000916\n        },\n        {\n          \"x\": 0.10307889999999986,\n          \"y\": 0.2010388500000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795640000000064,\n          \"y\": 0.06287995000000057\n        },\n        {\n          \"x\": 0.36869780000000096,\n          \"y\": 0.06287995000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622270999999999,\n          \"y\": -0.16866424999999907\n        },\n        {\n          \"x\": -0.1357980999999997,\n          \"y\": -0.16866424999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12009979999999998,\n          \"y\": -0.17019474999999962\n        },\n        {\n          \"x\": 0.10307860000000058,\n          \"y\": -0.03050534999999921\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795610000000002,\n          \"y\": -0.16866424999999907\n        },\n        {\n          \"x\": 0.3686968000000006,\n          \"y\": -0.16866424999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.1958158999999995,\n      \"y\": 0.39716265000000006\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.029144200000000398,\n      \"y\": -0.39716264999999984\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": -0.12356020000000001,\n      \"y\": -0.17345394999999963\n    },\n    \"bottom2\": {\n      \"x\": 0.1153169000000005,\n      \"y\": -0.17345394999999963\n    },\n    \"left1\": {\n      \"x\": -0.37614279999999956,\n      \"y\": -0.16951715000000012\n    },\n    \"left2\": {\n      \"x\": -0.12356020000000001,\n      \"y\": 0.05809054999999996\n    },\n    \"left3\": {\n      \"x\": -0.37614279999999956,\n      \"y\": 0.06202735000000037\n    },\n    \"right1\": {\n      \"x\": 0.37614279999999933,\n      \"y\": -0.16852074999999966\n    },\n    \"right2\": {\n      \"x\": 0.1153169000000005,\n      \"y\": 0.05809054999999996\n    },\n    \"right3\": {\n      \"x\": 0.37614279999999933,\n      \"y\": 0.06302374999999993\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.40430124099999953,\n    \"maxX\": 0.4043012409999993,\n    \"minY\": -0.39716264999999984,\n    \"maxY\": 0.39716265000000006,\n    \"width\": 0.8086024819999988,\n    \"height\": 0.7943252999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dpst_switch.json\"\nimport { Primitive } from \"drawing/types\"\n\nsvgJson.bounds.width += 0.2\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\", \"left1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left3, labels: [\"3\", \"left3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\", \"right1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right3, labels: [\"4\", \"right3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dpst_switch_horz from \"./dpst_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(dpst_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.35\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.541495829500001,\n          \"y\": 0.044368009536419395\n        },\n        {\n          \"x\": -0.21998262950000114,\n          \"y\": 0.044368009536419395\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14450697049999905,\n          \"y\": 0.052237309536419474\n        },\n        {\n          \"x\": 0.46379767049999976,\n          \"y\": 0.052237309536419474\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13965347050000032,\n          \"y\": -0.14937819046358025\n        },\n        {\n          \"x\": 0.13854747050000027,\n          \"y\": 0.2538388095364199\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.212703829500001,\n          \"y\": 0.2732984095364195\n        },\n        {\n          \"x\": -0.2147708295000006,\n          \"y\": -0.1493854904635803\n        },\n        {\n          \"x\": 0.13782137049999887,\n          \"y\": 0.050231709536419755\n        },\n        {\n          \"x\": -0.2087893295000005,\n          \"y\": 0.27442980953642016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.08906882950000083,\n      \"y\": 0.38011220953641867\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0685314901614209,\n      \"y\": -0.38011220953641844\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"\",\n      \"x\": 0.5884896704999998,\n      \"y\": -0.3288545904635811\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5603312294999999,\n      \"y\": 0.04351520953641885\n    },\n    \"right1\": {\n      \"x\": 0.47524967049999955,\n      \"y\": 0.05238090953641872\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5884896704999999,\n    \"maxX\": 0.5884896704999998,\n    \"minY\": -0.38011220953641844,\n    \"maxY\": 0.38011220953641867,\n    \"width\": 1.1769793409999996,\n    \"height\": 0.7602244190728371,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/filled_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport filled_diode_horz from \"./filled_diode_horz\"\n\nexport default rotateSymbol(filled_diode_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Hz\",\n      \"x\": 0,\n      \"y\": -0.035\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/frequency_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: 0, y: 0.01, anchor: \"center\", fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport frequency_meter_horz from \"./frequency_meter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = frequency_meter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...frequency_meter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path10\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5283037500000001,\n          \"y\": 0.036413650000000075\n        },\n        {\n          \"x\": 0.5300302500000003,\n          \"y\": 0.036413650000000075\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path14\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0008652499999994845,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.2654482499999995,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.2654482499999995,\n          \"y\": -0.0958780499999996\n        },\n        {\n          \"x\": -0.2637187499999998,\n          \"y\": -0.0958780499999996\n        },\n        {\n          \"x\": -0.2637187499999998,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.0008652499999994845,\n          \"y\": 0.16870534999999975\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.008263949999999909,\n      \"y\": 0.23591724999999997\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1716539500000005,\n      \"y\": -0.23591724999999997\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5345548500000001,\n      \"y\": 0.03946054999999937\n    },\n    \"right1\": {\n      \"x\": 0.5345548500000001,\n      \"y\": 0.0352561499999986\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5627132910000001,\n    \"maxX\": 0.5627132910000001,\n    \"minY\": -0.23591724999999997,\n    \"maxY\": 0.23591724999999997,\n    \"width\": 1.1254265820000002,\n    \"height\": 0.47183449999999993,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/fuse.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.2,\n      anchor: \"middle_top\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport fuse_horz from \"./fuse_horz\"\n\nexport default rotateSymbol(fuse_horz)\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.33997010000000016,\n          \"y\": 0.4545300000000001\n        },\n        {\n          \"x\": -0.03997010000000012,\n          \"y\": 0.4545300000000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.02032289999999981,\n          \"y\": 0.25053000000000014\n        },\n        {\n          \"x\": -0.020322900000000033,\n          \"y\": 0.65053\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.050000000000000044,\n          \"y\": 0.3005300000000002\n        },\n        {\n          \"x\": 0.050000000000000044,\n          \"y\": 0.60053\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1499999999999997,\n          \"y\": 0.40053000000000005\n        },\n        {\n          \"x\": 0.1499999999999997,\n          \"y\": 0.5005300000000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.44999999999999996,\n      \"y\": -0.6505299999999998\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.44999999999999973,\n      \"y\": 0.35053\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": -0.33997010000000016,\n      \"y\": 0.4545300000000001\n    },\n    \"top2\": {\n      \"x\": 0.17000000000000015,\n      \"y\": 0.4535300000000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.44999999999999996,\n    \"maxX\": 0.44999999999999973,\n    \"minY\": -0.6505299999999998,\n    \"maxY\": 0.65053,\n    \"width\": 0.8999999999999997,\n    \"height\": 1.3010599999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/ground.json\"\nimport { Primitive } from \"drawing/types\"\nimport { rotateSymbol } from \"drawing/rotateSymbol\"\n\n// Extract paths, bounds, etc.\nconst { paths, circles, bounds, refblocks } = svgJson\n\n// Horizontal orientation symbol\nexport const horizontalSymbol = defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\", // REF label for horizontal\n      x: -0.1, // Adjust this for the horizontal positioning of REF\n      y: 0.8, // Adjust this for the vertical positioning of REF\n      anchor: \"middle_bottom\", // Horizontal anchor for REF\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\", // VAL label for horizontal\n      x: -0.1, // Adjust for horizontal positioning of VAL\n      y: 0.1, // Adjust for vertical positioning of VAL\n      anchor: \"middle_top\", // Horizontal anchor for VAL\n    },\n  ] as Primitive[],\n  ports: [{ ...refblocks.top1, labels: [\"1\"] }],\n  size: { width: 1, height: 1 },\n  center: { x: 0, y: 0.4 },\n})\n\n// Vertical orientation symbol\n\n// Export vertical symbol (rotated 90 degrees from original)\nexport default horizontalSymbol\n","import groundHorz from \"./ground_horz\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(groundHorz).rotateRightFacingSymbol(\"down\").build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.49895505000000084,\n          \"y\": 0.035186950000000605\n        },\n        {\n          \"x\": -0.177441850000001,\n          \"y\": 0.035186950000000605\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18704774999999918,\n          \"y\": 0.043056250000000684\n        },\n        {\n          \"x\": 0.5063384499999999,\n          \"y\": 0.043056250000000684\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3067105499999998,\n          \"y\": 0.19836805000000046\n        },\n        {\n          \"x\": -0.3084575500000002,\n          \"y\": -0.10569684999999973\n        },\n        {\n          \"x\": -0.01040014999999972,\n          \"y\": 0.03790115000000038\n        },\n        {\n          \"x\": -0.3034011499999991,\n          \"y\": 0.1991819500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3324594500000002,\n          \"y\": 0.19920585000000046\n        },\n        {\n          \"x\": 0.33420945000000013,\n          \"y\": -0.10485904999999973\n        },\n        {\n          \"x\": 0.03615254999999973,\n          \"y\": 0.03873895000000038\n        },\n        {\n          \"x\": 0.32915344999999974,\n          \"y\": 0.2000197500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.042716749999999415,\n      \"y\": 0.3158462499999999\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.035355149999999336,\n      \"y\": -0.3158462499999999\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5177904499999998,\n      \"y\": 0.03433415000000006\n    },\n    \"right1\": {\n      \"x\": 0.5177904499999997,\n      \"y\": 0.04319984999999993\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5459488909999998,\n    \"maxX\": 0.5459488909999997,\n    \"minY\": -0.3158462499999999,\n    \"maxY\": 0.3158462499999999,\n    \"width\": 1.0918977819999993,\n    \"height\": 0.6316924999999998,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/gunn_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nimport svgJson from \"assets/generated/gunn_diode.json\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850944445000005,\n          \"y\": 0.0010025000000009054\n        },\n        {\n          \"x\": -0.006525044499999799,\n          \"y\": -0.0016204999999989145\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": 0.19027400000000116\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": -0.17787549999999852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.01002445549999953,\n          \"y\": -0.12022799999999911\n        },\n        {\n          \"x\": 0.01002445549999953,\n          \"y\": 0.1443554000000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28374995550000004,\n          \"y\": -0.2462579999999992\n        },\n        {\n          \"x\": 0.2831499554999999,\n          \"y\": -0.5425888999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": 0.5370061000000012\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": 0.2678117000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1731829554999995,\n          \"y\": -0.2153930999999989\n        },\n        {\n          \"x\": 0.2780310554999992,\n          \"y\": -0.23045039999999894\n        },\n        {\n          \"x\": 0.2324710554999987,\n          \"y\": -0.14155709999999888\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path17\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07704605550000054,\n          \"y\": -0.08544359999999895\n        },\n        {\n          \"x\": 0.2325688555000005,\n          \"y\": -0.19774119999999895\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.11255990000000127\n        },\n        {\n          \"x\": 0.28369465549999884,\n          \"y\": 0.2606293000000013\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.006566644499999885,\n      \"y\": 0.35624680000000075\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.020614555499999687,\n      \"y\": -0.4202180999999998\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": 0.5566011000000001\n    },\n    \"bottom1\": {\n      \"x\": 0.2823318555000005,\n      \"y\": -0.5566010999999997\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.00014970000000036343\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5847595409999997,\n    \"maxY\": 0.584759541,\n    \"width\": 0.8543363709999996,\n    \"height\": 1.1695190819999999,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 1.6653345369377348e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": 0.008130800000000438,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/igbt_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport igbt_transistor_horz from \"./igbt_transistor_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(igbt_transistor_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = 0.45\nref.y += 0.065\nval.y += 0.065\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path12-1-8-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": -0.022408499999999165\n        },\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": -0.10240850000000101\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.48740694999999956,\n          \"y\": -0.18547949999999958\n        },\n        {\n          \"x\": -0.1731006500000003,\n          \"y\": -0.18547949999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023792949999999813,\n          \"y\": 0.17183650000000128\n        },\n        {\n          \"x\": 0.023792949999999813,\n          \"y\": 0.10518850000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.14922445000000018,\n          \"y\": -0.032671500000001075\n        },\n        {\n          \"x\": 0.19549865000000022,\n          \"y\": -0.18509050000000116\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19549885000000078,\n          \"y\": -0.18509050000000116\n        },\n        {\n          \"x\": 0.4881437499999999,\n          \"y\": -0.18509050000000116\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": 0.11939749999999982\n        },\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": 0.017597499999999044\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.050463500000001105\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-3-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.050463500000001105\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.10724749999999972\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path14-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011640198644880861,\n          \"y\": 0.2824489119921765\n        },\n        {\n          \"x\": 0.01182744133211866,\n          \"y\": 0.25421423950368016\n        },\n        {\n          \"x\": 0.035295081309120846,\n          \"y\": 0.22597956701517674\n        },\n        {\n          \"x\": 0.05876272128612037,\n          \"y\": 0.19774489452667865\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path14-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011818241440559873,\n          \"y\": 0.19775449269853418\n        },\n        {\n          \"x\": 0.01171692178543804,\n          \"y\": 0.22592735480803405\n        },\n        {\n          \"x\": 0.03525208501144128,\n          \"y\": 0.25410021691753926\n        },\n        {\n          \"x\": 0.058787248237439194,\n          \"y\": 0.2822730790270338\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.010987250000000337,\n      \"y\": 0.3808714999999978\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05578094999999994,\n      \"y\": -0.3808714999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4717985499999999,\n      \"y\": -0.1854504999999982\n    },\n    \"right1\": {\n      \"x\": 0.4717985499999999,\n      \"y\": -0.18547650000000182\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4999569909999999,\n    \"maxX\": 0.4999569909999999,\n    \"minY\": -0.3808714999999996,\n    \"maxY\": 0.3808714999999978,\n    \"width\": 0.9999139819999998,\n    \"height\": 0.7617429999999974,\n    \"centerX\": 0,\n    \"centerY\": -8.881784197001252e-16\n  },\n  \"circles\": {\n    \"path9\": {\n      \"type\": \"circle\",\n      \"x\": 0.02379285000000042,\n      \"y\": 0.24000550000000054,\n      \"radius\": 0.059920847,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/illuminated_push_button_normally_open.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport illuminated_push_button_normally_open_horz from \"./illuminated_push_button_normally_open_horz\"\n\nconst rotatedSymbol = rotateSymbol(illuminated_push_button_normally_open_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path8698\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.20003504999999944,\n          \"y\": -0.023826854587889912\n        },\n        {\n          \"x\": -0.20252458999999945,\n          \"y\": -0.018993393814014044\n        },\n        {\n          \"x\": -0.20501412999999943,\n          \"y\": -0.014174384106555204\n        },\n        {\n          \"x\": -0.2075036699999995,\n          \"y\": -0.009384187436300498\n        },\n        {\n          \"x\": -0.20999320999999949,\n          \"y\": -0.004636988132081332\n        },\n        {\n          \"x\": -0.2124827499999995,\n          \"y\": 0.00005329457033053167\n        },\n        {\n          \"x\": -0.2149722899999995,\n          \"y\": 0.004673092344940186\n        },\n        {\n          \"x\": -0.2174618299999995,\n          \"y\": 0.009209271428771242\n        },\n        {\n          \"x\": -0.21995136999999956,\n          \"y\": 0.013649213595881985\n        },\n        {\n          \"x\": -0.22244090999999955,\n          \"y\": 0.01798089395292432\n        },\n        {\n          \"x\": -0.22493044999999956,\n          \"y\": 0.022192955076609913\n        },\n        {\n          \"x\": -0.22741998999999957,\n          \"y\": 0.02627477703600152\n        },\n        {\n          \"x\": -0.22990952999999958,\n          \"y\": 0.030216542867918667\n        },\n        {\n          \"x\": -0.2323990699999996,\n          \"y\": 0.03400929910178016\n        },\n        {\n          \"x\": -0.2348886099999996,\n          \"y\": 0.03764501096072756\n        },\n        {\n          \"x\": -0.23737814999999962,\n          \"y\": 0.04111661189869628\n        },\n        {\n          \"x\": -0.23986768999999963,\n          \"y\": 0.04441804716802203\n        },\n        {\n          \"x\": -0.24235722999999965,\n          \"y\": 0.04754431114897349\n        },\n        {\n          \"x\": -0.24484676999999966,\n          \"y\": 0.05049147821106258\n        },\n        {\n          \"x\": -0.24733630999999967,\n          \"y\": 0.053256726915861724\n        },\n        {\n          \"x\": -0.24982584999999968,\n          \"y\": 0.05583835741211009\n        },\n        {\n          \"x\": -0.2523153899999997,\n          \"y\": 0.05823580191586174\n        },\n        {\n          \"x\": -0.2548049299999997,\n          \"y\": 0.060449628211062575\n        },\n        {\n          \"x\": -0.2572944699999997,\n          \"y\": 0.0624815361489735\n        },\n        {\n          \"x\": -0.25978400999999973,\n          \"y\": 0.06433434716802203\n        },\n        {\n          \"x\": -0.26227354999999974,\n          \"y\": 0.06601198689869628\n        },\n        {\n          \"x\": -0.26476308999999976,\n          \"y\": 0.06751946096072757\n        },\n        {\n          \"x\": -0.26725262999999977,\n          \"y\": 0.06886282410178016\n        },\n        {\n          \"x\": -0.2697421699999998,\n          \"y\": 0.07004914286791866\n        },\n        {\n          \"x\": -0.2722317099999998,\n          \"y\": 0.0710864520360015\n        },\n        {\n          \"x\": -0.2747212499999998,\n          \"y\": 0.07198370507660991\n        },\n        {\n          \"x\": -0.2772107899999998,\n          \"y\": 0.07275071895292433\n        },\n        {\n          \"x\": -0.27970032999999983,\n          \"y\": 0.07339811359588198\n        },\n        {\n          \"x\": -0.28218986999999984,\n          \"y\": 0.07393724642877124\n        },\n        {\n          \"x\": -0.28467940999999986,\n          \"y\": 0.07438014234494018\n        },\n        {\n          \"x\": -0.28716894999999987,\n          \"y\": 0.07473941957033053\n        },\n        {\n          \"x\": -0.2896584899999999,\n          \"y\": 0.07502821186791866\n        },\n        {\n          \"x\": -0.2921480299999999,\n          \"y\": 0.07526008756369952\n        },\n        {\n          \"x\": -0.2946375699999999,\n          \"y\": 0.07544896589344477\n        },\n        {\n          \"x\": -0.2971271099999999,\n          \"y\": 0.07560903118598594\n        },\n        {\n          \"x\": -0.29961664999999993,\n          \"y\": 0.07575464541211008\n        },\n        {\n          \"x\": -0.3021061874999999,\n          \"y\": 0.07560903118598594\n        },\n        {\n          \"x\": -0.30459572499999993,\n          \"y\": 0.07544896589344477\n        },\n        {\n          \"x\": -0.3070852624999999,\n          \"y\": 0.07526008756369951\n        },\n        {\n          \"x\": -0.30957479999999993,\n          \"y\": 0.07502821186791866\n        },\n        {\n          \"x\": -0.31206433749999984,\n          \"y\": 0.07473941957033052\n        },\n        {\n          \"x\": -0.3145538749999998,\n          \"y\": 0.07438014234494018\n        },\n        {\n          \"x\": -0.31704341249999984,\n          \"y\": 0.07393724642877124\n        },\n        {\n          \"x\": -0.31953294999999987,\n          \"y\": 0.07339811359588198\n        },\n        {\n          \"x\": -0.32202248749999984,\n          \"y\": 0.07275071895292431\n        },\n        {\n          \"x\": -0.3245120249999998,\n          \"y\": 0.07198370507660991\n        },\n        {\n          \"x\": -0.3270015624999998,\n          \"y\": 0.0710864520360015\n        },\n        {\n          \"x\": -0.32949109999999976,\n          \"y\": 0.07004914286791866\n        },\n        {\n          \"x\": -0.33198063749999984,\n          \"y\": 0.06886282410178016\n        },\n        {\n          \"x\": -0.33447017499999976,\n          \"y\": 0.06751946096072757\n        },\n        {\n          \"x\": -0.3369597124999998,\n          \"y\": 0.06601198689869628\n        },\n        {\n          \"x\": -0.33944924999999976,\n          \"y\": 0.06433434716802203\n        },\n        {\n          \"x\": -0.34193878749999973,\n          \"y\": 0.06248153614897349\n        },\n        {\n          \"x\": -0.34442832499999976,\n          \"y\": 0.06044962821106258\n        },\n        {\n          \"x\": -0.3469178624999997,\n          \"y\": 0.05823580191586174\n        },\n        {\n          \"x\": -0.3494073999999997,\n          \"y\": 0.05583835741211009\n        },\n        {\n          \"x\": -0.35189693749999973,\n          \"y\": 0.053256726915861724\n        },\n        {\n          \"x\": -0.35438647499999965,\n          \"y\": 0.050491478211062576\n        },\n        {\n          \"x\": -0.3568760124999997,\n          \"y\": 0.0475443111489735\n        },\n        {\n          \"x\": -0.35936554999999964,\n          \"y\": 0.04441804716802203\n        },\n        {\n          \"x\": -0.3618550874999996,\n          \"y\": 0.04111661189869628\n        },\n        {\n          \"x\": -0.36434462499999964,\n          \"y\": 0.03764501096072756\n        },\n        {\n          \"x\": -0.36683416249999967,\n          \"y\": 0.03400929910178016\n        },\n        {\n          \"x\": -0.3693236999999996,\n          \"y\": 0.030216542867918673\n        },\n        {\n          \"x\": -0.3718132374999996,\n          \"y\": 0.02627477703600152\n        },\n        {\n          \"x\": -0.3743027749999996,\n          \"y\": 0.022192955076609917\n        },\n        {\n          \"x\": -0.37679231249999956,\n          \"y\": 0.017980893952924324\n        },\n        {\n          \"x\": -0.3792818499999996,\n          \"y\": 0.013649213595881985\n        },\n        {\n          \"x\": -0.3817713874999995,\n          \"y\": 0.00920927142877125\n        },\n        {\n          \"x\": -0.38426092499999953,\n          \"y\": 0.004673092344940191\n        },\n        {\n          \"x\": -0.38675046249999956,\n          \"y\": 0.00005329457033053514\n        },\n        {\n          \"x\": -0.38923999999999953,\n          \"y\": -0.004636988132081328\n        },\n        {\n          \"x\": -0.39172953749999956,\n          \"y\": -0.009384187436300498\n        },\n        {\n          \"x\": -0.3942190749999995,\n          \"y\": -0.014174384106555197\n        },\n        {\n          \"x\": -0.3967086124999995,\n          \"y\": -0.01899339381401404\n        },\n        {\n          \"x\": -0.3991981499999995,\n          \"y\": -0.023826854587889912\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8700\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.000872049999999458,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": -0.0033615874999994412,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": -0.0058511249999994245,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": -0.008340662499999407,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": -0.010830199999999391,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": -0.013319737499999373,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": -0.015809274999999356,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": -0.018298812499999338,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": -0.020788349999999324,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": -0.023277887499999306,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": -0.02576742499999929,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": -0.02825696249999927,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": -0.030746499999999254,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": -0.03323603749999924,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": -0.03572557499999922,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": -0.038215112499999204,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": -0.04070464999999919,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": -0.04319418749999917,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": -0.045683724999999155,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": -0.048173262499999134,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": -0.05066279999999912,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": -0.053152337499999106,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": -0.055641874999999084,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": -0.05813141249999907,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": -0.06062094999999905,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": -0.06311048749999904,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": -0.06560002499999902,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": -0.068089562499999,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": -0.07057909999999898,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": -0.07306863749999896,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": -0.07555817499999895,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": -0.07804771249999894,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": -0.08053724999999892,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": -0.0830267874999989,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": -0.08551632499999888,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": -0.08800586249999887,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": -0.09049539999999885,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": -0.09298493749999884,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": -0.09547447499999881,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": -0.0979640124999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": -0.10045354999999878,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": -0.1029430899999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": -0.1054326299999988,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": -0.10792216999999882,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": -0.11041170999999883,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": -0.11290124999999884,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": -0.11539078999999886,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": -0.11788032999999885,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": -0.1203698699999989,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": -0.12285940999999889,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": -0.1253489499999989,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": -0.12783848999999892,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": -0.13032802999999893,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": -0.13281756999999894,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": -0.13530710999999895,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": -0.13779664999999897,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": -0.14028618999999898,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": -0.142775729999999,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": -0.145265269999999,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": -0.14775480999999901,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": -0.15024434999999903,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": -0.15273388999999904,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": -0.15522342999999905,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": -0.15771296999999906,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": -0.16020250999999908,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": -0.1626920499999991,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": -0.1651815899999991,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": -0.16767112999999914,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": -0.1701606699999991,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": -0.17265020999999914,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": -0.17513974999999915,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": -0.17762928999999916,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": -0.1801188299999992,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": -0.18260836999999916,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": -0.1850979099999992,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": -0.1875874499999992,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": -0.19007698999999922,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": -0.19256652999999926,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": -0.19505606999999922,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": -0.19754560999999926,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": -0.20003514999999927,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8702\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19829105000000036,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": 0.19580151000000035,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": 0.1933119700000003,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": 0.19082243000000035,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.1883328900000003,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.1858433500000003,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": 0.18335381000000028,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": 0.18086427000000024,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": 0.1783747300000003,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": 0.17588519000000025,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.17339565000000023,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": 0.17090611000000022,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.16841657000000018,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": 0.16592703000000023,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.16343749000000019,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.16094795000000017,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.15845841000000016,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.15596887000000015,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": 0.15347933000000014,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": 0.15098979000000012,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.1485002500000001,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.1460107100000001,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.1435211700000001,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": 0.14103163000000007,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": 0.13854209000000006,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.13605255000000005,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.13356301000000004,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.13107347000000003,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.12858393,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.12609439,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.12360484999999999,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.12111530999999998,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.11862576999999996,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.11613622999999995,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.11364668999999994,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.11115714999999993,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": 0.10866760999999991,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.1061780699999999,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": 0.10368852999999989,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.10119898999999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.09870944999999987,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": 0.09621991249999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.0937303749999999,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.09124083749999992,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": 0.08875129999999994,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.08626176249999995,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": 0.08377222499999996,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.08128268749999998,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.07879315,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.07630361250000002,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.07381407500000003,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.07132453750000005,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.06883500000000006,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.06634546250000009,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.0638559250000001,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.06136638750000012,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.05887685000000013,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.05638731250000015,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": 0.053897775000000175,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": 0.05140823750000019,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.048918700000000204,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.04642916250000022,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.04393962500000023,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": 0.04145008750000026,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": 0.038960550000000274,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.03647101250000029,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.0339814750000003,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.03149193750000032,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.02900240000000034,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": 0.02651286250000036,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.024023325000000373,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": 0.021533787500000387,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.019044250000000405,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": 0.016554712500000426,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": 0.014065175000000442,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": 0.011575637500000457,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": 0.009086100000000473,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.006596562500000487,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.004107025000000513,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": 0.0016174875000005274,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": -0.000872049999999458,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8704\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.39745405000000034,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": 0.3949645125000003,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": 0.39247497500000034,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": 0.3899854375000004,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.38749590000000045,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.3850063625000004,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": 0.3825168250000004,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": 0.3800272875000004,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": 0.3775377500000005,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": 0.37504821250000053,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.3725586750000005,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": 0.3700691375000005,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.3675796000000005,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": 0.3650900625000006,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.3626005250000006,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.3601109875000006,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.35762145000000056,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.3551319125000006,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": 0.3526423750000007,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": 0.3501528375000007,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.3476633000000007,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.34517376250000065,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.34268422500000073,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": 0.3401946875000007,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": 0.3377051500000008,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.33521561250000076,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.33272607500000073,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.3302365375000008,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.3277470000000008,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.3252574625000008,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.32276792500000084,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.32027838750000087,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.3177888500000009,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.3152993125000009,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.3128097750000009,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.31032023750000093,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": 0.30783070000000096,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.305341162500001,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": 0.30285162500000096,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.300362087500001,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.297872550000001,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": 0.29538301000000095,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.292893470000001,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.290403930000001,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": 0.287914390000001,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.28542485000000095,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": 0.2829353100000009,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.2804457700000009,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.2779562300000009,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.2754666900000009,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.2729771500000009,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.2704876100000009,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.26799807000000087,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.26550853000000085,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.26301899000000084,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.26052945000000083,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.2580399100000008,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.2555503700000008,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": 0.2530608300000008,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": 0.2505712900000008,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.24808175000000077,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.24559221000000075,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.24310267000000074,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": 0.24061313000000073,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": 0.23812359000000072,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.2356340500000007,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.2331445100000007,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.23065497000000068,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.22816543000000067,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": 0.22567589000000066,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.22318635000000064,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": 0.22069681000000063,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.21820727000000062,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": 0.2157177300000006,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": 0.2132281900000006,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": 0.21073865000000058,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": 0.20824911000000057,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.20575957000000056,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.20327003000000055,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": 0.20078049000000053,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": 0.19829095000000052,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8706\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4023286499999996,\n          \"y\": -0.022544054587890106\n        },\n        {\n          \"x\": -0.5293590499999994,\n          \"y\": -0.022544054587890106\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8706-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5261604500000003,\n          \"y\": -0.027111054587890093\n        },\n        {\n          \"x\": 0.39913004999999946,\n          \"y\": -0.027111054587890093\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0040821499999992295,\n      \"y\": 0.22997364541210996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.004252755294839927,\n      \"y\": -0.22997364541210996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5504428500000003,\n      \"y\": -0.021272154587890446\n    },\n    \"right1\": {\n      \"x\": 0.5504428500000005,\n      \"y\": -0.026521254587889898\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5786012910000002,\n    \"maxX\": 0.5786012910000005,\n    \"minY\": -0.22997364541210996,\n    \"maxY\": 0.22997364541210996,\n    \"width\": 1.1572025820000007,\n    \"height\": 0.4599472908242199,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/inductor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport inductor_right from \"./inductor_right\"\n\nexport default rotateSymbol(inductor_right, \"up\")\n","import { flipSymbolOverXAxis } from \"drawing/rotateSymbol\"\nimport inductor_up from \"./inductor_up\"\n\nexport default flipSymbolOverXAxis(inductor_up)\n","import { flipSymbolOverYAxis } from \"drawing/rotateSymbol\"\nimport inductor_right from \"./inductor_right\"\n\nexport default flipSymbolOverYAxis(inductor_right)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000006,\n          \"y\": -0.05991764999999982\n        },\n        {\n          \"x\": -0.14891374999999996,\n          \"y\": -0.06254064999999964\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.048856449999999496\n        },\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": -0.18114814999999918\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": 0.08343525000000018\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.048856449999999496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": -0.18114814999999984\n        },\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": 0.08343525000000018\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": 0.08343525000000018\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.18114814999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13582535000000018,\n          \"y\": -0.04942524999999942\n        },\n        {\n          \"x\": 0.533952450000001,\n          \"y\": -0.059917649999999156\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.02944535000000048,\n          \"y\": 0.39378525000000053\n        },\n        {\n          \"x\": -0.05325954999999993,\n          \"y\": 0.4660362500000006\n        },\n        {\n          \"x\": -0.07725114999999949,\n          \"y\": 0.39386225000000086\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05361965000000035,\n          \"y\": 0.27387525000000035\n        },\n        {\n          \"x\": -0.053592050000000446,\n          \"y\": 0.2865022500000003\n        },\n        {\n          \"x\": -0.05330205000000077,\n          \"y\": 0.41436425000000066\n        },\n        {\n          \"x\": -0.05311205000000019,\n          \"y\": 0.4152642500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-8-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.06865195000000024,\n          \"y\": 0.39378525000000053\n        },\n        {\n          \"x\": 0.044837750000000565,\n          \"y\": 0.4660362500000006\n        },\n        {\n          \"x\": 0.02084615000000123,\n          \"y\": 0.39386225000000086\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-5-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.044477650000000146,\n          \"y\": 0.27387525000000035\n        },\n        {\n          \"x\": 0.044505250000000274,\n          \"y\": 0.2865022500000003\n        },\n        {\n          \"x\": 0.04479524999999995,\n          \"y\": 0.41436425000000066\n        },\n        {\n          \"x\": 0.04498525000000053,\n          \"y\": 0.4152642500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.03124844999999965,\n          \"y\": 0.05895145000000013\n        },\n        {\n          \"x\": 0.03124844999999965,\n          \"y\": -0.16452955000000036\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.25206924999999947,\n      \"y\": 0.3769550499999994\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.006614550000000552,\n      \"y\": -0.4660362500000004\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": -0.060770450000000364\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": -0.0597740500000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.4660362500000004,\n    \"maxY\": 0.4660362500000006,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.932072500000001,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": -0.05278935000000051,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/laser_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nsvgJson.bounds.width += 0.2\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport laser_diode_horz from \"./laser_diode_horz\"\n\nconst rotatedSymbol = rotateSymbol(laser_diode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{VAL}\")!\n\nref.x = -0.52\nref.anchor = \"middle_right\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path45\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.003696399999999045\n        },\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": -0.13598810000000228\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12763670000000094,\n          \"y\": -0.003920199999999596\n        },\n        {\n          \"x\": 0.5265564000000009,\n          \"y\": -0.003920199999999596\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path46\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": 0.12859530000000063\n        },\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.003696399999999045\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path47\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": -0.13598810000000228\n        },\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": 0.12859530000000063\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path48\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": 0.12859530000000063\n        },\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.13598810000000228\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path49\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13076959999999938,\n          \"y\": -0.003696399999999045\n        },\n        {\n          \"x\": -0.5256007999999994,\n          \"y\": -0.003696399999999045\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1557438999999996,\n          \"y\": 0.28545279999999806\n        },\n        {\n          \"x\": -0.2530861999999994,\n          \"y\": 0.3023319999999998\n        },\n        {\n          \"x\": -0.21878339999999952,\n          \"y\": 0.20956920000000068\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08000449999999937,\n          \"y\": 0.16590799999999817\n        },\n        {\n          \"x\": -0.09202799999999911,\n          \"y\": 0.1748410000000007\n        },\n        {\n          \"x\": -0.2137844999999996,\n          \"y\": 0.26529680000000155\n        },\n        {\n          \"x\": -0.2144144999999993,\n          \"y\": 0.2662468000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.021722400000000697,\n          \"y\": 0.30658939999999646\n        },\n        {\n          \"x\": -0.07561989999999952,\n          \"y\": 0.3234685999999982\n        },\n        {\n          \"x\": -0.04131709999999922,\n          \"y\": 0.23070579999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09746180000000093,\n          \"y\": 0.18704459999999656\n        },\n        {\n          \"x\": 0.08543830000000074,\n          \"y\": 0.19597759999999909\n        },\n        {\n          \"x\": -0.0363181999999993,\n          \"y\": 0.28643339999999995\n        },\n        {\n          \"x\": -0.03694819999999943,\n          \"y\": 0.2873833999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009561699999999451,\n      \"y\": -0.3234685999999982\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.31464070000000044,\n      \"y\": 0.22386570000000106\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5362092999999997,\n      \"y\": -0.004432900000001183\n    },\n    \"right1\": {\n      \"x\": 0.5362093000000003,\n      \"y\": -0.004886400000003732\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5643677409999996,\n    \"maxX\": 0.5643677410000003,\n    \"minY\": -0.3234685999999982,\n    \"maxY\": 0.3234685999999982,\n    \"width\": 1.128735482,\n    \"height\": 0.6469371999999964,\n    \"centerX\": 3.3306690738754696e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/led.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.bottom1, anchor: \"middle_top\" },\n    { ...texts.right1, anchor: \"middle_bottom\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nexport default rotateSymbol(led_right, \"down\")\n","import { flipSymbolOverYAxis, rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nexport default flipSymbolOverYAxis(led_right)\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nconst baseSymbol = rotateSymbol(led_right, \"up\")\n\n// Flip path25-0 and path78 over X axis\nconst modifiedSymbol = {\n  ...baseSymbol,\n  primitives: baseSymbol.primitives.map((primitive) => {\n    if (\n      primitive.type === \"path\" &&\n      (primitive.points.length === 3 || primitive.points.length === 4)\n    ) {\n      // This matches both the triangle shape (path25-0) and path78\n      return {\n        ...primitive,\n        points: primitive.points.map((point) => ({\n          x: point.x,\n          y: -point.y + 2 * baseSymbol.center.y,\n        })),\n      }\n    }\n    return primitive\n  }),\n}\n\nexport default modifiedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5053201665812097,\n          \"y\": -0.010839730805804138\n        },\n        {\n          \"x\": -0.1829962316128657,\n          \"y\": -0.010839730805804138\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": -0.11471502212593476\n        },\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": 0.07736981415388478\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": -0.11632056223474518\n        },\n        {\n          \"x\": 0.16018133830019532,\n          \"y\": -0.11632056223474518\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": 0.07736981415388478\n        },\n        {\n          \"x\": 0.16018133830019532,\n          \"y\": 0.07736981415388478\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.17205869804197382,\n          \"y\": -0.010839950577224311\n        },\n        {\n          \"x\": 0.5116721586832798,\n          \"y\": -0.010839950577224311\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-2-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.16064490317338742,\n          \"y\": -0.11622177498145403\n        },\n        {\n          \"x\": 0.16064490317338742,\n          \"y\": 0.07727135655772521\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.40391896081308554,\n          \"y\": -0.2111951150487743\n        },\n        {\n          \"x\": -0.32538818309991635,\n          \"y\": -0.1776462385858042\n        },\n        {\n          \"x\": -0.33843942905204627,\n          \"y\": -0.26928059146906413\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4470989190253618,\n          \"y\": -0.3351265263866847\n        },\n        {\n          \"x\": -0.4385525777085817,\n          \"y\": -0.32468848279378437\n        },\n        {\n          \"x\": -0.3520048317368336,\n          \"y\": -0.21897414423109507\n        },\n        {\n          \"x\": -0.3516268465799328,\n          \"y\": -0.21798517284109487\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.30220674110432255,\n          \"y\": -0.3403193953841548\n        },\n        {\n          \"x\": -0.22367596339115314,\n          \"y\": -0.30677051892118534\n        },\n        {\n          \"x\": -0.23672720934328306,\n          \"y\": -0.3984048718044453\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3453866993165988,\n          \"y\": -0.464250806722065\n        },\n        {\n          \"x\": -0.3368403579998187,\n          \"y\": -0.45381276312916397\n        },\n        {\n          \"x\": -0.2502926120280704,\n          \"y\": -0.34809842456647466\n        },\n        {\n          \"x\": -0.24991462687116983,\n          \"y\": -0.34710945317647446\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.1679477702432366,\n      \"y\": -0.40859918889256375\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.006410773639930811,\n      \"y\": 0.464250806722065\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5247194309452994,\n      \"y\": -0.009902515585214156\n    },\n    \"right1\": {\n      \"x\": 0.5247194309452992,\n      \"y\": -0.010997416799653603\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5520103866874645,\n    \"maxX\": 0.5520103866874643,\n    \"minY\": -0.5085991888925637,\n    \"maxY\": 0.464250806722065,\n    \"width\": 1.1040207733749288,\n    \"height\": 0.6228499956146287,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": -0.022174191085249373\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.003646732950281173,\n      \"y\": -0.018672603986024328,\n      \"radius\": 0.2796529289238723,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/light_dependent_resistor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_left\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport light_dependent_resistor_horz from \"./light_dependent_resistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(light_dependent_resistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path208\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.13154093999999894\n        },\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": -0.13304206000000107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path209\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": -0.13304206000000107\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.13154093999999894\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path210\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": -0.13304206000000107\n        },\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": -0.13304206000000107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path211\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": 0.13154093999999894\n        },\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": 0.13154093999999894\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path212\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.39762406000000006\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": -0.39762406000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path213\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.39612494\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.39612494\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path214\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.5284169399999996\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.18445994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path215\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.5299150600000004\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.0007480600000011606\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path216\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": -0.39762469000000067\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.3961256399999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path217\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": 0.2638359399999999\n        },\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": -0.26533006000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path218\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": -0.2653310599999994\n        },\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": 0.26383493999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path219\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5417394294999998,\n          \"y\": -0.26533006000000015\n        },\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": -0.2653320600000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path220\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": -0.18595506000000128\n        },\n        {\n          \"x\": 0.11971897050000013,\n          \"y\": -0.18595506000000128\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path221\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": 0.18446093999999924\n        },\n        {\n          \"x\": 0.11971897050000013,\n          \"y\": 0.18446093999999924\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path222\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.06548942950000036,\n          \"y\": -0.0007480600000011606\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.0007480600000011606\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.5715500704999998,\n      \"y\": 0.02044358999999929\n    },\n    \"right2\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.5701646705000005,\n      \"y\": 0.2085436499999993\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.12018067049999992,\n      \"y\": 0.5432738300000004\n    },\n    \"bottom1\": {\n      \"x\": 0.11982247050000083,\n      \"y\": -0.5432738300000004\n    },\n    \"left1\": {\n      \"x\": -0.5433916295000003,\n      \"y\": -0.2663988600000007\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5715500705000003,\n    \"maxX\": 0.5715500704999998,\n    \"minY\": -0.5714322710000004,\n    \"maxY\": 0.5714322710000004,\n    \"width\": 1.1431001410000001,\n    \"height\": 1.1428645420000008,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/mosfet_depletion_normally_on.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.right1, anchor: \"middle_left\" },\n    { ...texts.right2, anchor: \"middle_left\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width + 0.4, height: bounds.height },\n  center: { x: bounds.centerX + 0.2, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mosfet_depletion_normally_on_horz from \"./mosfet_depletion_normally_on_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mosfet_depletion_normally_on_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_top\"\nval.anchor = \"middle_top\"\n\nref.x = val.x\n\nval.y += 0.15\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path12-1-8-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.005962250000000502,\n          \"y\": 0.06921149999999976\n        },\n        {\n          \"x\": 0.005962250000000502,\n          \"y\": -0.005086499999999106\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.48740705000000073,\n          \"y\": -0.09299450000000142\n        },\n        {\n          \"x\": -0.17310075000000058,\n          \"y\": -0.09299450000000142\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.16008695000000017,\n          \"y\": -0.010660500000000184\n        },\n        {\n          \"x\": 0.1719709499999995,\n          \"y\": -0.010660500000000184\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1954987499999996,\n          \"y\": -0.09260549999999945\n        },\n        {\n          \"x\": 0.4881436499999996,\n          \"y\": -0.09260549999999945\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09950044999999985,\n          \"y\": 0.05839450000000035\n        },\n        {\n          \"x\": -0.09950104999999976,\n          \"y\": 0.06197449999999982\n        },\n        {\n          \"x\": -0.09932044999999956,\n          \"y\": 0.06550449999999941\n        },\n        {\n          \"x\": -0.09896044999999987,\n          \"y\": 0.0690104999999992\n        },\n        {\n          \"x\": -0.09860045000000017,\n          \"y\": 0.07250049999999852\n        },\n        {\n          \"x\": -0.09806045000000019,\n          \"y\": 0.07593049999999835\n        },\n        {\n          \"x\": -0.09735344999999995,\n          \"y\": 0.07929949999999941\n        },\n        {\n          \"x\": -0.09663345000000056,\n          \"y\": 0.08265950000000011\n        },\n        {\n          \"x\": -0.09578045000000035,\n          \"y\": 0.08599949999999978\n        },\n        {\n          \"x\": -0.09475245000000054,\n          \"y\": 0.08924949999999932\n        },\n        {\n          \"x\": -0.09379245000000047,\n          \"y\": 0.09255949999999835\n        },\n        {\n          \"x\": -0.09254545000000025,\n          \"y\": 0.09567949999999925\n        },\n        {\n          \"x\": -0.09120844999999989,\n          \"y\": 0.09877950000000091\n        },\n        {\n          \"x\": -0.08986644999999971,\n          \"y\": 0.10186950000000117\n        },\n        {\n          \"x\": -0.08839545000000015,\n          \"y\": 0.10492949999999901\n        },\n        {\n          \"x\": -0.08675845000000049,\n          \"y\": 0.10783949999999898\n        },\n        {\n          \"x\": -0.08506245000000057,\n          \"y\": 0.11069950000000084\n        },\n        {\n          \"x\": -0.08334244999999996,\n          \"y\": 0.11360950000000081\n        },\n        {\n          \"x\": -0.08146945000000017,\n          \"y\": 0.11638949999999859\n        },\n        {\n          \"x\": -0.0795824500000002,\n          \"y\": 0.11916949999999993\n        },\n        {\n          \"x\": -0.07752845000000086,\n          \"y\": 0.12180949999999946\n        },\n        {\n          \"x\": -0.07546944999999994,\n          \"y\": 0.12442949999999975\n        },\n        {\n          \"x\": -0.07325945000000011,\n          \"y\": 0.12693950000000065\n        },\n        {\n          \"x\": -0.07104145000000006,\n          \"y\": 0.129449499999998\n        },\n        {\n          \"x\": -0.06867544999999975,\n          \"y\": 0.13182950000000027\n        },\n        {\n          \"x\": -0.06628845000000005,\n          \"y\": 0.1341695000000005\n        },\n        {\n          \"x\": -0.06379544999999975,\n          \"y\": 0.1364194999999988\n        },\n        {\n          \"x\": -0.06114145000000004,\n          \"y\": 0.13848950000000038\n        },\n        {\n          \"x\": -0.05848745000000033,\n          \"y\": 0.1405694999999998\n        },\n        {\n          \"x\": -0.05584345000000024,\n          \"y\": 0.14261950000000034\n        },\n        {\n          \"x\": -0.05306845000000049,\n          \"y\": 0.14449950000000022\n        },\n        {\n          \"x\": -0.05029345000000074,\n          \"y\": 0.14639950000000113\n        },\n        {\n          \"x\": -0.04738844999999969,\n          \"y\": 0.14811950000000174\n        },\n        {\n          \"x\": -0.04437445000000029,\n          \"y\": 0.14969949999999876\n        },\n        {\n          \"x\": -0.04134744999999995,\n          \"y\": 0.1513194999999996\n        },\n        {\n          \"x\": -0.038316449999999946,\n          \"y\": 0.15275949999999838\n        },\n        {\n          \"x\": -0.03515645000000056,\n          \"y\": 0.15407949999999992\n        },\n        {\n          \"x\": -0.03204444999999989,\n          \"y\": 0.15536950000000083\n        },\n        {\n          \"x\": -0.028770450000000558,\n          \"y\": 0.15655950000000018\n        },\n        {\n          \"x\": -0.025468450000000864,\n          \"y\": 0.15757949999999887\n        },\n        {\n          \"x\": -0.02213745000000067,\n          \"y\": 0.15863950000000138\n        },\n        {\n          \"x\": -0.018790450000000014,\n          \"y\": 0.15942949999999811\n        },\n        {\n          \"x\": -0.01536325000000005,\n          \"y\": 0.16012949999999826\n        },\n        {\n          \"x\": -0.011980249999999693,\n          \"y\": 0.16082950000000018\n        },\n        {\n          \"x\": -0.008442250000000762,\n          \"y\": 0.16141949999999916\n        },\n        {\n          \"x\": -0.004890650000000107,\n          \"y\": 0.1617494999999991\n        },\n        {\n          \"x\": -0.0013406500000003874,\n          \"y\": 0.16204949999999663\n        },\n        {\n          \"x\": 0.002252350000000014,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.005893849999999645,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.009534849999998762,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.013136849999999534,\n          \"y\": 0.16204949999999663\n        },\n        {\n          \"x\": 0.016683149999999536,\n          \"y\": 0.1617494999999991\n        },\n        {\n          \"x\": 0.020231149999998976,\n          \"y\": 0.1614494999999998\n        },\n        {\n          \"x\": 0.023727149999999142,\n          \"y\": 0.16104949999999896\n        },\n        {\n          \"x\": 0.02715474999999934,\n          \"y\": 0.16012949999999826\n        },\n        {\n          \"x\": 0.03057874999999921,\n          \"y\": 0.15952949999999966\n        },\n        {\n          \"x\": 0.03395574999999962,\n          \"y\": 0.15867949999999986\n        },\n        {\n          \"x\": 0.03725995000000015,\n          \"y\": 0.15758950000000027\n        },\n        {\n          \"x\": 0.0405679499999998,\n          \"y\": 0.15652949999999954\n        },\n        {\n          \"x\": 0.04379994999999948,\n          \"y\": 0.15541949999999893\n        },\n        {\n          \"x\": 0.04695294999999966,\n          \"y\": 0.15409950000000094\n        },\n        {\n          \"x\": 0.050101949999999285,\n          \"y\": 0.15280950000000004\n        },\n        {\n          \"x\": 0.053191949999999544,\n          \"y\": 0.1513194999999996\n        },\n        {\n          \"x\": 0.05617794999999948,\n          \"y\": 0.1497395000000008\n        },\n        {\n          \"x\": 0.05916694999999983,\n          \"y\": 0.14811950000000174\n        },\n        {\n          \"x\": 0.06206694999999929,\n          \"y\": 0.14639950000000113\n        },\n        {\n          \"x\": 0.06487294999999982,\n          \"y\": 0.1445595000000015\n        },\n        {\n          \"x\": 0.06767095000000012,\n          \"y\": 0.14269950000000264\n        },\n        {\n          \"x\": 0.07038294999999994,\n          \"y\": 0.14069950000000198\n        },\n        {\n          \"x\": 0.07299194999999958,\n          \"y\": 0.1385795000000023\n        },\n        {\n          \"x\": 0.07560095000000011,\n          \"y\": 0.13645950000000262\n        },\n        {\n          \"x\": 0.07809294999999938,\n          \"y\": 0.13420950000000254\n        },\n        {\n          \"x\": 0.08047994999999997,\n          \"y\": 0.13187950000000193\n        },\n        {\n          \"x\": 0.08287894999999956,\n          \"y\": 0.1295395000000017\n        },\n        {\n          \"x\": 0.08515495000000062,\n          \"y\": 0.12706950000000106\n        },\n        {\n          \"x\": 0.08729294999999926,\n          \"y\": 0.12451950000000167\n        },\n        {\n          \"x\": 0.08944594999999911,\n          \"y\": 0.12192950000000202\n        },\n        {\n          \"x\": 0.0914679499999993,\n          \"y\": 0.11930950000000173\n        },\n        {\n          \"x\": 0.09337295000000001,\n          \"y\": 0.1165295000000004\n        },\n        {\n          \"x\": 0.0971669499999992,\n          \"y\": 0.11101949999999938\n        },\n        {\n          \"x\": 0.10043494999999947,\n          \"y\": 0.10512450000000229\n        },\n        {\n          \"x\": 0.10311494999999926,\n          \"y\": 0.09890950000000132\n        },\n        {\n          \"x\": 0.10444094999999987,\n          \"y\": 0.09581950000000106\n        },\n        {\n          \"x\": 0.10564094999999973,\n          \"y\": 0.09262950000000103\n        },\n        {\n          \"x\": 0.10667494999999949,\n          \"y\": 0.08935950000000226\n        },\n        {\n          \"x\": 0.10769994999999977,\n          \"y\": 0.08610950000000273\n        },\n        {\n          \"x\": 0.1085699499999997,\n          \"y\": 0.08279950000000369\n        },\n        {\n          \"x\": 0.10927795000000007,\n          \"y\": 0.07942950000000337\n        },\n        {\n          \"x\": 0.10999794999999946,\n          \"y\": 0.07605950000000128\n        },\n        {\n          \"x\": 0.11051994999999959,\n          \"y\": 0.07262950000000146\n        },\n        {\n          \"x\": 0.11088394999999984,\n          \"y\": 0.06913950000000213\n        },\n        {\n          \"x\": 0.11124394999999954,\n          \"y\": 0.0656495000000028\n        },\n        {\n          \"x\": 0.11142394999999983,\n          \"y\": 0.062099500000002195\n        },\n        {\n          \"x\": 0.11142394999999983,\n          \"y\": 0.05854350000000075\n        },\n        {\n          \"x\": 0.10483595000000001,\n          \"y\": 0.05853049999999982\n        },\n        {\n          \"x\": 0.0982479500000002,\n          \"y\": 0.058516500000001415\n        },\n        {\n          \"x\": 0.09164495000000006,\n          \"y\": 0.058518500000001694\n        },\n        {\n          \"x\": 0.08505695000000024,\n          \"y\": 0.05850850000000207\n        },\n        {\n          \"x\": 0.078453950000001,\n          \"y\": 0.058509500000001324\n        },\n        {\n          \"x\": 0.07186595000000029,\n          \"y\": 0.058496500000000395\n        },\n        {\n          \"x\": 0.06526295000000104,\n          \"y\": 0.05849750000000142\n        },\n        {\n          \"x\": 0.058674950000001225,\n          \"y\": 0.058485499999999746\n        },\n        {\n          \"x\": 0.05208695000000052,\n          \"y\": 0.058473499999999845\n        },\n        {\n          \"x\": 0.04548395000000127,\n          \"y\": 0.058475500000000125\n        },\n        {\n          \"x\": 0.038895950000001456,\n          \"y\": 0.05846150000000172\n        },\n        {\n          \"x\": 0.03230795000000075,\n          \"y\": 0.058448499999999015\n        },\n        {\n          \"x\": 0.025704950000001503,\n          \"y\": 0.058453499999998826\n        },\n        {\n          \"x\": 0.019101950000001366,\n          \"y\": 0.05845449999999808\n        },\n        {\n          \"x\": 0.01251395000000155,\n          \"y\": 0.05844149999999715\n        },\n        {\n          \"x\": 0.005925950000001734,\n          \"y\": 0.058427499999998744\n        },\n        {\n          \"x\": -0.0006560499999990199,\n          \"y\": 0.05842149999999968\n        },\n        {\n          \"x\": -0.007240049999999165,\n          \"y\": 0.05841449999999959\n        },\n        {\n          \"x\": -0.01382404999999931,\n          \"y\": 0.05840850000000053\n        },\n        {\n          \"x\": -0.020406049999999176,\n          \"y\": 0.05840250000000147\n        },\n        {\n          \"x\": -0.02699004999999932,\n          \"y\": 0.058394500000002125\n        },\n        {\n          \"x\": -0.03357404999999947,\n          \"y\": 0.05838950000000409\n        },\n        {\n          \"x\": -0.04015604999999933,\n          \"y\": 0.05838350000000503\n        },\n        {\n          \"x\": -0.04674004999999948,\n          \"y\": 0.05837450000000466\n        },\n        {\n          \"x\": -0.05332205000000023,\n          \"y\": 0.058368500000005596\n        },\n        {\n          \"x\": -0.05990605000000038,\n          \"y\": 0.058360500000006255\n        },\n        {\n          \"x\": -0.06649005000000052,\n          \"y\": 0.058355500000006444\n        },\n        {\n          \"x\": -0.07307205000000039,\n          \"y\": 0.05834950000000738\n        },\n        {\n          \"x\": -0.07965605000000053,\n          \"y\": 0.05834150000000804\n        },\n        {\n          \"x\": -0.08624005000000068,\n          \"y\": 0.05833550000000898\n        },\n        {\n          \"x\": -0.09282205000000143,\n          \"y\": 0.05833050000001094\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.01254745000000046,\n      \"y\": 0.26612850000000243\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.16130964999999975,\n      \"y\": -0.2661284999999989\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4717985499999999,\n      \"y\": -0.09296750000000031\n    },\n    \"right1\": {\n      \"x\": 0.4717985499999999,\n      \"y\": -0.09299249999999937\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4999569909999999,\n    \"maxX\": 0.4999569909999999,\n    \"minY\": -0.2661284999999989,\n    \"maxY\": 0.26612850000000243,\n    \"width\": 0.9999139819999998,\n    \"height\": 0.5322570000000013,\n    \"centerX\": 0,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/mushroom_head_normally_open_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] },\n    { ...refblocks.right1, labels: [\"2\"] },\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX + 0.006, y: bounds.centerY + 0.06 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mushroom_head_normally_open_momentary_horz from \"./mushroom_head_normally_open_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mushroom_head_normally_open_momentary_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x - 0.03\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09373835550000087,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.09280835550000122,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.27419885550000034,\n          \"y\": 0.04077644999999963\n        },\n        {\n          \"x\": 0.27419885550000034,\n          \"y\": -0.030615650000000327\n        },\n        {\n          \"x\": 0.2024438555000001,\n          \"y\": 0.004662050000000084\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.16715385000000005\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.10592255000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/n_channel_d_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport n_channel_d_mosfet_transistor_horz from \"./n_channel_d_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(n_channel_d_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.14677165000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": -0.06899565000000041\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09440455549999993,\n          \"y\": 0.07703174999999951\n        },\n        {\n          \"x\": 0.09311455549999992,\n          \"y\": 0.15480774999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.03486995000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": 0.042906049999999585\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2741991554999996,\n          \"y\": 0.040776550000000134\n        },\n        {\n          \"x\": 0.2741991554999996,\n          \"y\": -0.030615549999999825\n        },\n        {\n          \"x\": 0.2024441554999994,\n          \"y\": 0.004662350000000037\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.10847375000000059\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/n_channel_e_mosfet_transistor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport n_channel_e_mosfet_transistor_horz from \"./n_channel_e_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(n_channel_e_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38509374449999945,\n          \"y\": 0.00367374999999992\n        },\n        {\n          \"x\": 0.05876225550000025,\n          \"y\": 0.00629674999999974\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2912404555000001,\n          \"y\": 0.5298821500000002\n        },\n        {\n          \"x\": 0.29184045550000004,\n          \"y\": 0.10355795000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": -0.06153284999999986\n        },\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": 0.06535114999999969\n        },\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": 0.0026521499999998532\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.15156024449999927,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0393233555000001,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.29108805550000105,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.004526550000000462\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/njfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport njfet_transistor_horz from \"./njfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(njfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850939444999988,\n          \"y\": -0.0036735999999999436\n        },\n        {\n          \"x\": 0.0587620555000008,\n          \"y\": -0.0062965999999997635\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07400475550000118,\n          \"y\": 0.2689528999999997\n        },\n        {\n          \"x\": 0.07335475550000092,\n          \"y\": -0.2789230000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2754149555000005,\n          \"y\": 0.24180210000000013\n        },\n        {\n          \"x\": 0.07955815550000045,\n          \"y\": 0.10822479999999968\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2868554555000009,\n          \"y\": -0.24134789999999984\n        },\n        {\n          \"x\": 0.09194705550000082,\n          \"y\": -0.10807689999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": 0.25311099999999964\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": 0.5377640999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": -0.5376890000000012\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": -0.25303590000000065\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1882816555000013,\n          \"y\": -0.10097660000000008\n        },\n        {\n          \"x\": 0.11555775550000158,\n          \"y\": -0.20483720000000027\n        },\n        {\n          \"x\": 0.22425775550000182,\n          \"y\": -0.20446720000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.07802354449999971,\n      \"y\": 0.3596647999999991\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0679100444999996,\n      \"y\": -0.4129789000000006\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.28556045550000064,\n      \"y\": 0.5519250999999994\n    },\n    \"bottom1\": {\n      \"x\": 0.285560455500002,\n      \"y\": -0.5519250999999992\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": -0.004526300000000871\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.4271681855000001,\n    \"minY\": -0.5800835409999991,\n    \"maxY\": 0.5800835409999994,\n    \"width\": 0.8543363709999998,\n    \"height\": 1.1601670819999985,\n    \"centerX\": 1.3877787807814457e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605550000007,\n      \"y\": 0.003454799999999203,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/npn_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport svgJson from \"assets/generated/npn_bipolar_transistor.json\"\nimport npn_bipolar_transistor_horz from \"./npn_bipolar_transistor_horz\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst rotatedSymbol = rotateSymbol(npn_bipolar_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09373835550000087,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.09280835550000122,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": -0.03061555000000049\n        },\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": 0.04077654999999947\n        },\n        {\n          \"x\": 0.2741990554999998,\n          \"y\": 0.0054987499999992195\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.16715385000000005\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.10592255000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/p_channel_d_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport p_channel_d_mosfet_transistor_horz from \"./p_channel_d_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(p_channel_d_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.14677165000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": -0.06899565000000041\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09440455549999993,\n          \"y\": 0.07703174999999951\n        },\n        {\n          \"x\": 0.09311455549999992,\n          \"y\": 0.15480774999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.03486995000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": 0.042906049999999585\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": -0.03061555000000049\n        },\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": 0.04077654999999947\n        },\n        {\n          \"x\": 0.2741990554999998,\n          \"y\": 0.0054987499999992195\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.10847375000000059\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/p_channel_e_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport p_channel_e_mosfet_transistor_horz from \"./p_channel_e_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(p_channel_e_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": -0.012413549999999773\n        },\n        {\n          \"x\": -0.14891374999999973,\n          \"y\": -0.015036549999999593\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.001352349999999447\n        },\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": -0.13364404999999913\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": 0.13093935000000023\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.001352349999999447\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": -0.1336440499999998\n        },\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": 0.13093935000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": 0.13093935000000023\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.1336440499999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1358253500000004,\n          \"y\": -0.001921149999999372\n        },\n        {\n          \"x\": 0.533952450000001,\n          \"y\": -0.012413549999999107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19839785000000076,\n          \"y\": 0.37576625000000075\n        },\n        {\n          \"x\": 0.16262485000000027,\n          \"y\": 0.28367475000000053\n        },\n        {\n          \"x\": 0.26033484999999956,\n          \"y\": 0.2989800500000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3305468500000004,\n          \"y\": 0.4264014500000006\n        },\n        {\n          \"x\": 0.31941585000000017,\n          \"y\": 0.4163797500000006\n        },\n        {\n          \"x\": 0.20669285000000048,\n          \"y\": 0.3148875500000008\n        },\n        {\n          \"x\": 0.20564285000000115,\n          \"y\": 0.31448755000000084\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.34573984999999974,\n          \"y\": 0.3493283500000002\n        },\n        {\n          \"x\": 0.30996684999999946,\n          \"y\": 0.25723684999999996\n        },\n        {\n          \"x\": 0.40767644999999963,\n          \"y\": 0.27254215000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.47788845000000046,\n          \"y\": 0.39996355000000006\n        },\n        {\n          \"x\": 0.46675745000000024,\n          \"y\": 0.38994185000000003\n        },\n        {\n          \"x\": 0.35403445000000033,\n          \"y\": 0.2884496500000002\n        },\n        {\n          \"x\": 0.352984450000001,\n          \"y\": 0.2880496500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.10246254999999982,\n      \"y\": 0.34693914999999986\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0012544500000004621,\n      \"y\": -0.4264014500000004\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": -0.013266350000000315\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": -0.012269950000000529\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.4264014500000004,\n    \"maxY\": 0.4264014500000006,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.852802900000001,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": -0.005285250000000241,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/photodiode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport photodiode_horz from \"./photodiode_horz\"\n\nconst rotatedSymbol = rotateSymbol(photodiode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38509374449999945,\n          \"y\": 0.00367374999999992\n        },\n        {\n          \"x\": 0.05876225550000025,\n          \"y\": 0.00629674999999974\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2912404555000001,\n          \"y\": 0.5298821500000002\n        },\n        {\n          \"x\": 0.29184045550000004,\n          \"y\": 0.10355795000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": 0.06535114999999969\n        },\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": -0.06153284999999986\n        },\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": 0.001166149999999977\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.15156024449999927,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0393233555000001,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.29108805550000105,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.004526550000000462\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/pjfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport pjfet_transistor_horz from \"./pjfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(pjfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850939444999988,\n          \"y\": -0.0036735999999999436\n        },\n        {\n          \"x\": 0.0587620555000008,\n          \"y\": -0.0062965999999997635\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07400475550000118,\n          \"y\": 0.2689528999999997\n        },\n        {\n          \"x\": 0.07335475550000092,\n          \"y\": -0.2789230000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2754149555000005,\n          \"y\": 0.24180210000000013\n        },\n        {\n          \"x\": 0.07955815550000045,\n          \"y\": 0.10822479999999968\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2868554555000009,\n          \"y\": -0.24134789999999984\n        },\n        {\n          \"x\": 0.09194705550000082,\n          \"y\": -0.10807689999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": 0.25311099999999964\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": 0.5377640999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": -0.5376890000000012\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": -0.25303590000000065\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.15155145550000038,\n          \"y\": -0.2268796000000004\n        },\n        {\n          \"x\": 0.2242753555000001,\n          \"y\": -0.12301900000000021\n        },\n        {\n          \"x\": 0.11557535549999942,\n          \"y\": -0.12338900000000042\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.08351674449999891,\n      \"y\": 0.37335419999999897\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0679100444999996,\n      \"y\": -0.4129789000000006\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.28556045550000064,\n      \"y\": 0.5519250999999994\n    },\n    \"bottom1\": {\n      \"x\": 0.285560455500002,\n      \"y\": -0.5519250999999992\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": -0.004526300000000871\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.4271681855000001,\n    \"minY\": -0.5800835409999991,\n    \"maxY\": 0.5800835409999994,\n    \"width\": 0.8543363709999998,\n    \"height\": 1.1601670819999985,\n    \"centerX\": 1.3877787807814457e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605550000007,\n      \"y\": 0.003454799999999203,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/pnp_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"bottom1\", [\"2\"])\n  .labelPort(\"top1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport pnp_bipolar_transistor_horz from \"./pnp_bipolar_transistor_horz\"\nimport svgJson from \"assets/generated/pnp_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst rotatedSymbol = rotateSymbol(pnp_bipolar_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"bottom1\", [\"2\"])\n  .labelPort(\"top1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": 0.32749349347032286\n        },\n        {\n          \"x\": -0.25568957329611974,\n          \"y\": 0.13794979950157282\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": 0.26431229398676837\n        },\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": 0.32749349347032286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556895732961204,\n          \"y\": 0.13794979950157416\n        },\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": 0.26431229398676837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556896210551609,\n          \"y\": 0.39067474071292196\n        },\n        {\n          \"x\": -0.12932712656996737,\n          \"y\": 0.26431224622772653\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199237641156438,\n          \"y\": 0.2000781031672434\n        },\n        {\n          \"x\": -0.5084145145074668,\n          \"y\": 0.011587352775420667\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011560829633404435,\n          \"y\": 0.5083596562436202\n        },\n        {\n          \"x\": -0.19004023433272543,\n          \"y\": 0.3298802515442989\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": -0.3220463011874377\n        },\n        {\n          \"x\": -0.38205182549842887,\n          \"y\": -0.2588651017038819\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": -0.13250260721868767\n        },\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": -0.3220463011874377\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205182549842753,\n          \"y\": -0.258865101703881\n        },\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": -0.13250260721868767\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12932688428707984,\n          \"y\": -0.2588650539448407\n        },\n        {\n          \"x\": -0.25568937877227516,\n          \"y\": -0.38522754843003404\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199235218327583,\n          \"y\": -0.19463091088435758\n        },\n        {\n          \"x\": -0.508414272224581,\n          \"y\": -0.006140160492534852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011641968756381349,\n          \"y\": -0.5029938453665972\n        },\n        {\n          \"x\": -0.1901213734557028,\n          \"y\": -0.3245144406672762\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.322578868470321,\n          \"y\": 0.19315369881256328\n        },\n        {\n          \"x\": 0.13303517450157099,\n          \"y\": 0.2563348982961191\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": 0.3826973927813131\n        },\n        {\n          \"x\": 0.322578868470321,\n          \"y\": 0.19315369881256328\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13303517450157232,\n          \"y\": 0.2563348982961198\n        },\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": 0.3826973927813131\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.38576011571292,\n          \"y\": 0.2563349460551603\n        },\n        {\n          \"x\": 0.2593976212277247,\n          \"y\": 0.12997245156996673\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19516347816724133,\n          \"y\": 0.3205690891156432\n        },\n        {\n          \"x\": 0.006672727775418608,\n          \"y\": 0.509059839507466\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5034450312436185,\n          \"y\": 0.012206154633403798\n        },\n        {\n          \"x\": 0.32496562654429706,\n          \"y\": 0.19068555933272457\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": -0.19326390652967795\n        },\n        {\n          \"x\": 0.25884082670387976,\n          \"y\": -0.382807600498428\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": -0.25644510601323245\n        },\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": -0.19326390652967795\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588408267038793,\n          \"y\": -0.38280760049842666\n        },\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": -0.25644510601323245\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588407789448386,\n          \"y\": -0.13008265928707896\n        },\n        {\n          \"x\": 0.38520327343003213,\n          \"y\": -0.2564451537722743\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19460663588435567,\n          \"y\": -0.3206792968327574\n        },\n        {\n          \"x\": 0.0061158854925329464,\n          \"y\": -0.5091700472245801\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5029695703665951,\n          \"y\": -0.012397743756380697\n        },\n        {\n          \"x\": 0.3244901656672745,\n          \"y\": -0.19087714845570192\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.2872803000000015,\n      \"y\": 0.4564494249999992\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.2872803000000015,\n      \"y\": -0.4960514750000007\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.0005126999999993664,\n      \"y\": 0.5191475\n    },\n    \"bottom1\": {\n      \"x\": -0.0005123000000009093,\n      \"y\": -0.5191475000000001\n    },\n    \"left1\": {\n      \"x\": -0.5191472999999998,\n      \"y\": 0.0005123250000014234\n    },\n    \"right1\": {\n      \"x\": 0.5191473000000002,\n      \"y\": -0.0005123749999977889\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473057409999997,\n    \"maxX\": 0.5473057410000002,\n    \"minY\": -0.5473059410000001,\n    \"maxY\": 0.547305941,\n    \"width\": 1.094611482,\n    \"height\": 1.0946118820000001,\n    \"centerX\": 2.220446049250313e-16,\n    \"centerY\": -5.551115123125783e-17\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/potentiometer.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.bottom1, y: 0.35, anchor: \"middle_top\" },\n    { ...texts.top1, anchor: \"middle_left\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width + 0.05, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer_horz from \"./potentiometer_horz\"\n\nconst rotated = rotateSymbol(potentiometer_horz)\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path18\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.53224045,\n          \"y\": -0.0008545000000008685\n        },\n        {\n          \"x\": -0.26765715000000023,\n          \"y\": -0.0008545000000008685\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path19\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2615098499999995,\n          \"y\": -0.0008545000000008685\n        },\n        {\n          \"x\": 0.5260934499999994,\n          \"y\": -0.0008545000000008685\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path20\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0030722500000006647,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": 0.2615107499999998,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": 0.2615107499999998,\n          \"y\": -0.13314619999999877\n        },\n        {\n          \"x\": -0.26765624999999993,\n          \"y\": -0.13314619999999877\n        },\n        {\n          \"x\": -0.26765624999999993,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": -0.0030722499999988884,\n          \"y\": 0.1314371999999988\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path23\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2782993499999993,\n          \"y\": -0.2822274\n        },\n        {\n          \"x\": 0.17598844999999885,\n          \"y\": -0.25486950000000164\n        },\n        {\n          \"x\": 0.25094144999999823,\n          \"y\": -0.1799165000000027\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path24\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2882692499999995,\n          \"y\": -0.2921307000000013\n        },\n        {\n          \"x\": 0.25467554999999953,\n          \"y\": -0.16634940000000142\n        },\n        {\n          \"x\": 0.16229264999999948,\n          \"y\": -0.25853690000000284\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path26\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2985911500000009,\n          \"y\": 0.2921307000000013\n        },\n        {\n          \"x\": 0.22988164999999938,\n          \"y\": -0.2328032000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.055041669999999154,\n      \"y\": 0.2009376800000009\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.10019643000000089,\n      \"y\": -0.27857531999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5346914500000006,\n      \"y\": -0.0013439000000019519\n    },\n    \"right1\": {\n      \"x\": 0.5346914500000004,\n      \"y\": -0.001956599999999753\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5628498910000006,\n    \"maxX\": 0.5628498910000004,\n    \"minY\": -0.2921307000000013,\n    \"maxY\": 0.2921307000000013,\n    \"width\": 1.125699782000001,\n    \"height\": 0.5842614000000026,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/potentiometer2.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.bottom1, anchor: \"middle_top\" },\n    { ...texts.top1, anchor: \"middle_bottom\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer2_horz from \"./potentiometer2_horz\"\n\nconst rotated = rotateSymbol(potentiometer2_horz)\n\nconst texts = rotated.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\nref.anchor = \"middle_left\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.02812460000000061\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.02812460000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.02812460000000061\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.02812460000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.16215344999999948,\n      \"y\": 0.39517610000000025\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003375049999999602,\n      \"y\": -0.39517610000000003\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"COS φ\",\n      \"x\": -0.1453603499999998,\n      \"y\": 0.013845600000000235\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.027271800000000068\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.028268199999999855\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.39517610000000003,\n    \"maxY\": 0.39517610000000025,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.7903522000000003,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03525290000000014,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/power_factor_meter.json\"\nimport { ninePointAnchorToSvgAnchor } from \"drawing/ninePointAnchorToSvgAnchor\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    // { ...texts.top1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.15,\n      y: -0.42330070000000064,\n      anchor: \"middle_top\",\n    },\n    // { ...texts.bottom1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.15,\n      y: 0.42330070000000064,\n      anchor: \"middle_bottom\",\n    },\n    // { ...texts.left1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"COS φ\",\n      x: 0,\n      y: 0.014279000000000375,\n      anchor: \"center\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport power_factor_meter_horz from \"./power_factor_meter_horz\"\nimport { text } from \"drawing/text\"\n\nconst rotatedSymbol = rotateSymbol(power_factor_meter_horz)\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\nconst ref = texts.find((t) => t.text === \"{REF}\")!\nconst val = texts.find((t) => t.text === \"{VAL}\")!\nconst text_cos = texts.find((t) => t.text === \"COS φ\")!\nref.x = 0.35\nref.y = 0\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\nval.x = -0.35\nval.y = 0\ntext_cos.x = 0\ntext_cos.y = 0\ntext_cos.anchor = \"center\"\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path12-1-8-6-9-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.030446500000000043\n        },\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": -0.0859464999999986\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4867871500000014,\n          \"y\": -0.0510704999999998\n        },\n        {\n          \"x\": -0.17248085000000124,\n          \"y\": -0.0510704999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.15916995000000078,\n          \"y\": -0.0915204999999979\n        },\n        {\n          \"x\": 0.1810634499999999,\n          \"y\": -0.0915204999999979\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19611864999999984,\n          \"y\": -0.05109549999999885\n        },\n        {\n          \"x\": 0.48876354999999894,\n          \"y\": -0.05109549999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.007320949999999549,\n      \"y\": 0.22461850000000005\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1606897500000004,\n      \"y\": -0.22461849999999828\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.47241845000000104,\n      \"y\": -0.05104349999999869\n    },\n    \"right1\": {\n      \"x\": 0.47241845000000016,\n      \"y\": -0.051482499999998765\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.500576891000001,\n    \"maxX\": 0.5005768910000001,\n    \"minY\": -0.22461849999999828,\n    \"maxY\": 0.22461850000000005,\n    \"width\": 1.0011537820000012,\n    \"height\": 0.44923699999999833,\n    \"centerX\": -4.440892098500626e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {\n    \"circle-2\": {\n      \"type\": \"circle\",\n      \"x\": -0.14387115000000072,\n      \"y\": -0.05130149999999922,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"circle\": {\n      \"type\": \"circle\",\n      \"x\": 0.16803074999999978,\n      \"y\": -0.05007949999999717,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_closed_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_left\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_closed_momentary_horz from \"./push_button_normally_closed_momentary_horz\"\n\nexport default rotateSymbol(push_button_normally_closed_momentary_horz, \"up\")\n","{\n  \"paths\": {\n    \"path12-1-8-6-9-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.15281650000000013\n        },\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.036423500000001496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4867871500000014,\n          \"y\": -0.0510704999999998\n        },\n        {\n          \"x\": -0.17248085000000124,\n          \"y\": -0.0510704999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.15916995000000078,\n          \"y\": 0.030849500000000418\n        },\n        {\n          \"x\": 0.1810634499999999,\n          \"y\": 0.030849500000000418\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19611864999999984,\n          \"y\": -0.05109549999999885\n        },\n        {\n          \"x\": 0.48876354999999894,\n          \"y\": -0.05109549999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.007320949999999549,\n      \"y\": 0.22461850000000005\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1606897500000004,\n      \"y\": -0.22461849999999828\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.47241845000000104,\n      \"y\": -0.05104349999999869\n    },\n    \"right1\": {\n      \"x\": 0.47241845000000016,\n      \"y\": -0.051482499999998765\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.500576891000001,\n    \"maxX\": 0.5005768910000001,\n    \"minY\": -0.22461849999999828,\n    \"maxY\": 0.22461850000000005,\n    \"width\": 1.0011537820000012,\n    \"height\": 0.44923699999999833,\n    \"centerX\": -4.440892098500626e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {\n    \"circle-2\": {\n      \"type\": \"circle\",\n      \"x\": -0.14387115000000072,\n      \"y\": -0.05130149999999922,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"circle\": {\n      \"type\": \"circle\",\n      \"x\": 0.16803074999999978,\n      \"y\": -0.05007949999999717,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_open_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_left\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_open_momentary_horz from \"./push_button_normally_open_momentary_horz\"\n\nexport default rotateSymbol(push_button_normally_open_momentary_horz, \"up\")\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": -0.32749349347032286\n        },\n        {\n          \"x\": -0.25568957329611974,\n          \"y\": -0.13794979950157282\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": -0.26431229398676837\n        },\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": -0.32749349347032286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556895732961204,\n          \"y\": -0.13794979950157416\n        },\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": -0.26431229398676837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556896210551609,\n          \"y\": -0.39067474071292196\n        },\n        {\n          \"x\": -0.12932712656996737,\n          \"y\": -0.26431224622772653\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199237641156438,\n          \"y\": -0.2000781031672434\n        },\n        {\n          \"x\": -0.5084145145074668,\n          \"y\": -0.011587352775420667\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011560829633404435,\n          \"y\": -0.5083596562436202\n        },\n        {\n          \"x\": -0.19004023433272543,\n          \"y\": -0.3298802515442989\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": 0.3220463011874377\n        },\n        {\n          \"x\": -0.38205182549842887,\n          \"y\": 0.2588651017038819\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": 0.13250260721868767\n        },\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": 0.3220463011874377\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205182549842753,\n          \"y\": 0.258865101703881\n        },\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": 0.13250260721868767\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12932688428707984,\n          \"y\": 0.2588650539448407\n        },\n        {\n          \"x\": -0.25568937877227516,\n          \"y\": 0.38522754843003404\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199235218327583,\n          \"y\": 0.19463091088435758\n        },\n        {\n          \"x\": -0.508414272224581,\n          \"y\": 0.006140160492534852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011641968756381349,\n          \"y\": 0.5029938453665972\n        },\n        {\n          \"x\": -0.1901213734557028,\n          \"y\": 0.3245144406672762\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.322578868470321,\n          \"y\": -0.19315369881256328\n        },\n        {\n          \"x\": 0.13303517450157099,\n          \"y\": -0.2563348982961191\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": -0.3826973927813131\n        },\n        {\n          \"x\": 0.322578868470321,\n          \"y\": -0.19315369881256328\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13303517450157232,\n          \"y\": -0.2563348982961198\n        },\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": -0.3826973927813131\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.38576011571292,\n          \"y\": -0.2563349460551603\n        },\n        {\n          \"x\": 0.2593976212277247,\n          \"y\": -0.12997245156996673\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19516347816724133,\n          \"y\": -0.3205690891156432\n        },\n        {\n          \"x\": 0.006672727775418608,\n          \"y\": -0.509059839507466\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5034450312436185,\n          \"y\": -0.012206154633403798\n        },\n        {\n          \"x\": 0.32496562654429706,\n          \"y\": -0.19068555933272457\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": 0.19326390652967795\n        },\n        {\n          \"x\": 0.25884082670387976,\n          \"y\": 0.382807600498428\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": 0.25644510601323245\n        },\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": 0.19326390652967795\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588408267038793,\n          \"y\": 0.38280760049842666\n        },\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": 0.25644510601323245\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588407789448386,\n          \"y\": 0.13008265928707896\n        },\n        {\n          \"x\": 0.38520327343003213,\n          \"y\": 0.2564451537722743\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19460663588435567,\n          \"y\": 0.3206792968327574\n        },\n        {\n          \"x\": 0.0061158854925329464,\n          \"y\": 0.5091700472245801\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5029695703665951,\n          \"y\": 0.012397743756380697\n        },\n        {\n          \"x\": 0.3244901656672745,\n          \"y\": 0.19087714845570192\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.2872803000000015,\n      \"y\": -0.4564494249999992\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.2872803000000015,\n      \"y\": 0.4960514750000007\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.0005126999999993664,\n      \"y\": -0.5191475\n    },\n    \"bottom1\": {\n      \"x\": -0.0005123000000009093,\n      \"y\": 0.5191475000000001\n    },\n    \"left1\": {\n      \"x\": -0.5191472999999998,\n      \"y\": -0.0005123250000014234\n    },\n    \"right1\": {\n      \"x\": 0.5191473000000002,\n      \"y\": 0.0005123749999977889\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473057409999997,\n    \"maxX\": 0.5473057410000002,\n    \"minY\": -0.5564494249999992,\n    \"maxY\": 0.5473059410000001,\n    \"width\": 1.094611482,\n    \"height\": 1.1037553659999992,\n    \"centerX\": 2.220446049250313e-16,\n    \"centerY\": -0.004571741999999546\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/rectifier_diode.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"4\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import type { TextPrimitive } from \"drawing\"\nimport { rotateSymbol } from \"drawing/rotateSymbol\"\nimport rectifier_diode_horz from \"./rectifier_diode_horz\"\n\nconst rotated = rotateSymbol(rectifier_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.7635944500000007,\n          \"y\": 0.28495445000000075\n        },\n        {\n          \"x\": 0.3138028500000005,\n          \"y\": 0.28495445000000075\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.301017949999999,\n          \"y\": 0.02024775000000112\n        },\n        {\n          \"x\": -0.7508096499999994,\n          \"y\": 0.02024775000000112\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3010179499999994,\n          \"y\": -0.34304865000000007\n        },\n        {\n          \"x\": -0.301017949999999,\n          \"y\": 0.2848310499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path27-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.7729788499999999,\n          \"y\": -0.34624514999999967\n        },\n        {\n          \"x\": 0.32318725000000015,\n          \"y\": -0.34624514999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07279374999999932,\n          \"y\": 0.28481924999999997\n        },\n        {\n          \"x\": -0.2983350499999995,\n          \"y\": 0.28481924999999997\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.33114835000000076,\n          \"y\": 0.284840449999999\n        },\n        {\n          \"x\": 0.10560705000000059,\n          \"y\": 0.284840449999999\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.055820049999999455,\n          \"y\": 0.17265845000000013\n        },\n        {\n          \"x\": -0.055820049999999455,\n          \"y\": 0.39819974999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09396265000000081,\n          \"y\": 0.17268285000000105\n        },\n        {\n          \"x\": 0.09396265000000081,\n          \"y\": 0.3982241500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07296184999999955,\n          \"y\": -0.3463701499999985\n        },\n        {\n          \"x\": -0.2985031499999997,\n          \"y\": -0.3463701499999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.33098025000000053,\n          \"y\": -0.3463489500000012\n        },\n        {\n          \"x\": 0.10543895000000036,\n          \"y\": -0.3463489500000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05598814999999968,\n          \"y\": -0.4585309500000001\n        },\n        {\n          \"x\": -0.05598814999999968,\n          \"y\": -0.2329896499999986\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09379455000000014,\n          \"y\": -0.45850655000000096\n        },\n        {\n          \"x\": 0.09379455000000014,\n          \"y\": -0.23296525000000123\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-92\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3315317500000008,\n          \"y\": -0.12063885000000063\n        },\n        {\n          \"x\": 0.33153175000000035,\n          \"y\": -0.34618015000000035\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3315105500000004,\n          \"y\": 0.28330324999999945\n        },\n        {\n          \"x\": 0.3315105500000004,\n          \"y\": 0.05776194999999973\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.44369255000000063,\n          \"y\": -0.1036651500000012\n        },\n        {\n          \"x\": 0.21815125000000046,\n          \"y\": -0.1036651500000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4436681500000006,\n          \"y\": 0.04611754999999995\n        },\n        {\n          \"x\": 0.21812685000000043,\n          \"y\": 0.04611754999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.44235445000000073,\n          \"y\": -0.06667004999999904\n        },\n        {\n          \"x\": 0.21681315000000057,\n          \"y\": -0.06667004999999904\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4429695500000004,\n          \"y\": 0.007559849999998036\n        },\n        {\n          \"x\": 0.4430214500000007,\n          \"y\": -0.06634914999999886\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-4-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.21634305000000031,\n          \"y\": 0.008546850000001882\n        },\n        {\n          \"x\": 0.21639495000000064,\n          \"y\": -0.06536215000000212\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4429537500000005,\n          \"y\": 0.009130850000000024\n        },\n        {\n          \"x\": 0.21741245000000076,\n          \"y\": 0.009130850000000024\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.01596175000000022,\n      \"y\": -0.5308501500000009\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.013116750000000454,\n      \"y\": 0.5408501499999989\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.7666234499999998,\n      \"y\": 0.0211504499999986\n    },\n    \"right1\": {\n      \"x\": 0.7666234500000004,\n      \"y\": -0.344347250000002\n    },\n    \"right2\": {\n      \"x\": 0.7572390499999999,\n      \"y\": 0.2868523500000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.7947818909999997,\n    \"maxX\": 0.7947818910000004,\n    \"minY\": -0.6308501500000009,\n    \"maxY\": 0.5408501499999989,\n    \"width\": 1.5895637820000001,\n    \"height\": 1.1717003,\n    \"centerX\": 3.3306690738754696e-16,\n    \"centerY\": -0.045000000000000984\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/resonator.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    // { ...texts.top1, anchor: \"middle_left\" },\n    // { ...texts.bottom1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.01596175000000022,\n      y: -0.5308501500000009,\n      anchor: \"middle_bottom\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.013116750000000454,\n      y: 0.5408501499999989,\n      anchor: \"middle_top\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right2, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport resonator_horz from \"./resonator_horz\"\n\nexport default rotateSymbol(resonator_horz)\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458930000000048,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.11999399999999905,\n          \"y\": -0.0882552000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": 0.1763281999999997\n        },\n        {\n          \"x\": 0.14458929999999914,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": -0.0882552000000012\n        },\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": 0.17632819999999816\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1435300000000006,\n          \"y\": 0.17844679999999968\n        },\n        {\n          \"x\": 0.14458899999999986,\n          \"y\": -0.08825519999999965\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219870000000044,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.5168690000000005,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233800999999991,\n          \"y\": 0.043951299999999804\n        },\n        {\n          \"x\": 0.14967199999999892,\n          \"y\": 0.043951299999999804\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2075533999999999,\n          \"y\": 0.17973149999999904\n        },\n        {\n          \"x\": 0.14341080000000028,\n          \"y\": 0.17864949999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2093444999999996,\n          \"y\": 0.1301679\n        },\n        {\n          \"x\": 0.20797049999999984,\n          \"y\": 0.17950350000000048\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07978989999999953,\n          \"y\": -0.09023340000000024\n        },\n        {\n          \"x\": 0.14313979999999948,\n          \"y\": -0.09001340000000013\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-9-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07764390000000043,\n          \"y\": -0.04104850000000004\n        },\n        {\n          \"x\": 0.0790179000000002,\n          \"y\": -0.09038410000000074\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999994495,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384530000000007\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471,\n      \"y\": 0.044920799999999206\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.547305541,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384530000000007,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.0946110819999997,\n    \"height\": 0.5476906000000001,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/schottky_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .labelPort(\"left1\", [\"1\", \"pos\"])\n  .labelPort(\"right1\", [\"2\", \"neg\"])\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport schottky_diode_horz from \"./schottky_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(schottky_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.49895505000000084,\n          \"y\": 0.04174485000000061\n        },\n        {\n          \"x\": -0.177441850000001,\n          \"y\": 0.04174485000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18704774999999918,\n          \"y\": 0.04961415000000069\n        },\n        {\n          \"x\": 0.5063384499999999,\n          \"y\": 0.04961415000000069\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18219425000000045,\n          \"y\": -0.15200134999999904\n        },\n        {\n          \"x\": 0.1810882500000004,\n          \"y\": 0.2512156500000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18646324999999986,\n          \"y\": 0.0047866500000004475\n        },\n        {\n          \"x\": 0.34602244999999954,\n          \"y\": -0.13539324999999924\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3463884499999992,\n          \"y\": -0.14077354999999936\n        },\n        {\n          \"x\": 0.3447284499999994,\n          \"y\": -0.3343437499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.17016305000000087,\n          \"y\": 0.2706752500000007\n        },\n        {\n          \"x\": -0.17223005000000047,\n          \"y\": -0.15200864999999908\n        },\n        {\n          \"x\": 0.180362149999999,\n          \"y\": 0.04760855000000097\n        },\n        {\n          \"x\": -0.16624855000000038,\n          \"y\": 0.27180665000000137\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.22312565000000006,\n      \"y\": 0.38273545\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.11142554999999987,\n      \"y\": -0.38273544999999976\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": 0.3445824499999999,\n      \"y\": -0.34953845000000006\n    },\n    \"left1\": {\n      \"x\": -0.5177904499999998,\n      \"y\": 0.04089205000000007\n    },\n    \"right1\": {\n      \"x\": 0.5177904499999997,\n      \"y\": 0.049757749999999934\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5459488909999998,\n    \"maxX\": 0.5459488909999997,\n    \"minY\": -0.38273544999999976,\n    \"maxY\": 0.38273545,\n    \"width\": 1.0918977819999993,\n    \"height\": 0.7654708999999997,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/silicon_controlled_rectifier.json\"\nimport { TextPrimitive } from \"drawing/types\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport silicon_controlled_rectifier_horz from \"./silicon_controlled_rectifier_horz\"\n\nconst rotatedSymbol = rotateSymbol(silicon_controlled_rectifier_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3543583500000005,\n          \"y\": 0.03204385000000087\n        },\n        {\n          \"x\": -0.12792935000000005,\n          \"y\": 0.03204385000000087\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path-1-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1133669500000003,\n          \"y\": 0.0321987500000005\n        },\n        {\n          \"x\": 0.11208324999999997,\n          \"y\": 0.14600155000000048\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1043477500000003,\n          \"y\": -0.0645130499999993\n        },\n        {\n          \"x\": 0.34508875000000017,\n          \"y\": -0.0645130499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12008575000000055,\n          \"y\": 0.17214665000000062\n        },\n        {\n          \"x\": 0.3608267500000004,\n          \"y\": 0.17214665000000062\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17853294999999947,\n      \"y\": 0.39716265000000006\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.011861250000000378,\n      \"y\": -0.39716264999999984\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.10744654999999947,\n      \"y\": 0.17214664999999973\n    },\n    \"left1\": {\n      \"x\": -0.3682737499999995,\n      \"y\": 0.03204385000000021\n    },\n    \"left2\": {\n      \"x\": -0.11569114999999996,\n      \"y\": 0.03204385000000021\n    },\n    \"right1\": {\n      \"x\": 0.3682737499999995,\n      \"y\": -0.06451304999999996\n    },\n    \"right2\": {\n      \"x\": 0.10744725000000055,\n      \"y\": -0.06451304999999996\n    },\n    \"right3\": {\n      \"x\": 0.3682737499999995,\n      \"y\": 0.17214664999999973\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.3964321909999995,\n    \"maxX\": 0.3964321909999995,\n    \"minY\": -0.39716264999999984,\n    \"maxY\": 0.39716265000000006,\n    \"width\": 0.792864381999999,\n    \"height\": 0.7943252999999999,\n    \"centerX\": 0,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/SPDT_switch.json\"\nimport { Primitive } from \"drawing/types\"\n\nsvgJson.bounds.width += 0.2\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: -0.01 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: -0.01 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right2, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport SPDT_switch_horz from \"./SPDT_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(SPDT_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.3\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622273500000006,\n          \"y\": -0.0018583499999986763\n        },\n        {\n          \"x\": -0.13579835000000018,\n          \"y\": -0.0018583499999986763\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12010005000000046,\n          \"y\": -0.0033888499999992217\n        },\n        {\n          \"x\": 0.10307834999999987,\n          \"y\": 0.13630055000000119\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795584999999932,\n          \"y\": -0.0018583499999986763\n        },\n        {\n          \"x\": 0.3686967499999996,\n          \"y\": -0.0018583499999986763\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.03688484999999986,\n      \"y\": 0.25026835000000003\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.02235315000000071,\n      \"y\": -0.25026835000000003\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.12356015000000009,\n      \"y\": -0.006648049999999239\n    },\n    \"left2\": {\n      \"x\": -0.37614274999999964,\n      \"y\": -0.002711249999999721\n    },\n    \"right1\": {\n      \"x\": 0.11531695000000042,\n      \"y\": -0.006648049999999239\n    },\n    \"right2\": {\n      \"x\": 0.37614274999999964,\n      \"y\": -0.0017148499999992683\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4043011909999996,\n    \"maxX\": 0.4043011909999996,\n    \"minY\": -0.25026835000000003,\n    \"maxY\": 0.25026835000000003,\n    \"width\": 0.8086023819999992,\n    \"height\": 0.5005367000000001,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/SPST_switch.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\ndelete (svgJson.refblocks as any).left1\ndelete (svgJson.refblocks as any).right1\nsvgJson.bounds.width += 0.2\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left2\", [\"1\"])\n  .labelPort(\"right2\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport SPST_switch_horz from \"./SPST_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(SPST_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.3\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000132\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825539999999776\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.08825539999999776\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797,\n          \"y\": 0.04395110000000102\n        },\n        {\n          \"x\": 0.14967160000000002,\n          \"y\": 0.04395110000000102\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19156529999999972,\n          \"y\": -0.0884020999999997\n        },\n        {\n          \"x\": 0.14591529999999908,\n          \"y\": -0.08876210000000029\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-5-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19233440000000046,\n          \"y\": -0.1355493999999986\n        },\n        {\n          \"x\": 0.19197439999999988,\n          \"y\": -0.08989940000000018\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384529999999785\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999999524,\n      \"y\": -0.2738453000000014\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.0449206999999987\n    },\n    \"right1\": {\n      \"x\": 0.5191471000000001,\n      \"y\": 0.043896100000001326\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055410000001,\n    \"minY\": -0.2738453000000014,\n    \"maxY\": 0.27384529999999785,\n    \"width\": 1.0946110820000001,\n    \"height\": 0.5476905999999993,\n    \"centerX\": 0,\n    \"centerY\": -1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/step_recovery_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport step_recovery_diode_horz from \"./step_recovery_diode_horz\"\n\nexport default rotateSymbol(step_recovery_diode_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"RPM\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/tachometer.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, y: 0.01, anchor: \"center\", fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport tachometer_horz from \"./tachometer_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = tachometer_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...tachometer_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5176700499999997,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": -0.10888805000000024,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1031184499999993,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": 0.5246894499999994,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09343985000000021,\n          \"y\": -0.14620634999999882\n        },\n        {\n          \"x\": -0.0930998500000002,\n          \"y\": 0.2583405500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08519034999999908,\n          \"y\": -0.14503384999999902\n        },\n        {\n          \"x\": 0.08553034999999909,\n          \"y\": 0.2595130500000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08315755000000014,\n          \"y\": 0.055934450000000524\n        },\n        {\n          \"x\": -0.08415755000000047,\n          \"y\": -0.14678124999999964\n        },\n        {\n          \"x\": 0.08653524999999984,\n          \"y\": -0.05104664999999953\n        },\n        {\n          \"x\": -0.08126175000000035,\n          \"y\": 0.05647715000000031\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07661224999999927,\n          \"y\": 0.256654450000001\n        },\n        {\n          \"x\": 0.07761224999999983,\n          \"y\": 0.05393885000000109\n        },\n        {\n          \"x\": -0.0930805500000007,\n          \"y\": 0.1496734500000012\n        },\n        {\n          \"x\": 0.07471644999999949,\n          \"y\": 0.25719715000000143\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09001085000000009,\n          \"y\": -0.05964874999999914\n        },\n        {\n          \"x\": 0.2707999499999998,\n          \"y\": -0.1711147499999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.27291134999999955,\n          \"y\": -0.17591894999999935\n        },\n        {\n          \"x\": 0.27124034999999935,\n          \"y\": -0.30168314999999923\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.0077081499999991365,\n      \"y\": 0.41683614999999996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.03022294999999975,\n      \"y\": -0.41683614999999996\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": 0.27223905000000026,\n      \"y\": -0.3087962499999999\n    },\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": 0.04089205000000051\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": 0.04188845000000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.41683614999999996,\n    \"maxY\": 0.41683614999999996,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.8336722999999999,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": 0.048873150000000365,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/triac.json\"\nimport { TextPrimitive } from \"drawing/types\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport triac_horz from \"./triac_horz\"\n\nconst rotatedSymbol = rotateSymbol(triac_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nref.y = 0\nval.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.0882553999999991\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.0882553999999991\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.043951100000000354\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.043951100000000354\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17681090000000044\n        },\n        {\n          \"x\": 0.07728679999999954,\n          \"y\": 0.17632089999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1446069000000001,\n          \"y\": -0.08908179999999888\n        },\n        {\n          \"x\": 0.0785024999999997,\n          \"y\": -0.08957179999999942\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384529999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.044920700000000924\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384529999999985,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.094611082,\n    \"height\": 0.5476905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/tunnel_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport tunnel_diode_horz from \"./tunnel_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(tunnel_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3274461945,\n          \"y\": 0.20527883627037657\n        },\n        {\n          \"x\": -0.021085194500000348,\n          \"y\": 0.007570136270376837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2331163055000003,\n          \"y\": 0.1251673362703769\n        },\n        {\n          \"x\": 0.2320633055000001,\n          \"y\": 0.3759855362703768\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23221610549999938,\n          \"y\": -0.0818845637296235\n        },\n        {\n          \"x\": 0.2311631054999992,\n          \"y\": -0.33270276372962315\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.013263894499999873,\n          \"y\": -0.1792007637296229\n        },\n        {\n          \"x\": -0.012923894499999866,\n          \"y\": 0.2253461362703768\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23222970550000066,\n          \"y\": 0.12047013627037662\n        },\n        {\n          \"x\": -0.011307094499999115,\n          \"y\": 0.11996013627037683\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1124341944999998,\n          \"y\": 0.131359936270377\n        },\n        {\n          \"x\": -0.16993279449999954,\n          \"y\": 0.039004036270377185\n        },\n        {\n          \"x\": -0.05822649449999928,\n          \"y\": 0.03212003627037707\n        },\n        {\n          \"x\": -0.11133889449999979,\n          \"y\": 0.13104553627037707\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-3-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23230320549999983,\n          \"y\": -0.08329316372962325\n        },\n        {\n          \"x\": -0.011233594499999944,\n          \"y\": -0.07900616372962332\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.19541139450000045,\n      \"y\": 0.389088136270376\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.031363394499999364,\n      \"y\": -0.42359956372962415\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2317438004035266,\n      \"y\": 0.3954411227296242\n    },\n    \"bottom1\": {\n      \"x\": 0.2308431668082036,\n      \"y\": -0.35215823360635445\n    },\n    \"left1\": {\n      \"x\": -0.34055979449999985,\n      \"y\": 0.21512343627037622\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.3687182354999998,\n    \"maxX\": 0.3687182354999999,\n    \"minY\": -0.42359956372962415,\n    \"maxY\": 0.42359956372962415,\n    \"width\": 0.7374364709999996,\n    \"height\": 0.8471991274592483,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.08017610549999987,\n      \"y\": 0.006746336270376352,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/unijunction_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport unijunction_transistor_horz from \"./unijunction_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(unijunction_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\n\nref.y = 0.1\n\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nval.y = 0.1\nval.x = -0.4\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Var\",\n      \"x\": -0.19436529999999896,\n      \"y\": 0.07249430000000023\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/var_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      ...texts.top1,\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      ...texts.bottom1,\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: -0.02, y: 0.01, fontSize: 0.2, anchor: \"center\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport var_meter_horz from \"./var_meter_horz\"\n\nexport default rotateSymbol(var_meter_horz)\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08342510000000014,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.18115819999999938,\n          \"y\": -0.0882552000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": 0.1763281999999997\n        },\n        {\n          \"x\": 0.08342509999999881,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": -0.0882552000000012\n        },\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": 0.17632819999999816\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0949504999999995,\n          \"y\": 0.17485119999999976\n        },\n        {\n          \"x\": 0.09600949999999897,\n          \"y\": -0.09185079999999957\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1954338999999996,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.5191807000000004,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5253116,\n          \"y\": 0.043951299999999804\n        },\n        {\n          \"x\": 0.20527070000000047,\n          \"y\": 0.043951299999999804\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1854899999999995,\n          \"y\": 0.1748848999999999\n        },\n        {\n          \"x\": 0.18654899999999874,\n          \"y\": -0.09181709999999943\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999994495,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384530000000007\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471,\n      \"y\": 0.044920799999999206\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.547305541,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384530000000007,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.0946110819999997,\n    \"height\": 0.5476906000000001,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varactor_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varactor_diode_horz from \"./varactor_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(varactor_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5245830500000004,\n          \"y\": 0.004659100000001359\n        },\n        {\n          \"x\": -0.25999975000000086,\n          \"y\": 0.004659100000001359\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": 0.004659100000001359\n        },\n        {\n          \"x\": 0.5337505499999997,\n          \"y\": 0.004659100000001359\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": -0.23346590000000056\n        },\n        {\n          \"x\": -0.25999974999999953,\n          \"y\": 0.2427841000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.37500025000000026,\n          \"y\": -0.23346590000000056\n        },\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": -0.23346590000000056\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.004585150000000482,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.26916815000000094,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.26916815000000094,\n          \"y\": -0.1276325000000007\n        },\n        {\n          \"x\": -0.2599988499999988,\n          \"y\": -0.1276325000000007\n        },\n        {\n          \"x\": -0.2599988499999988,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.004585150000001814,\n          \"y\": 0.13695090000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.05849044999999986,\n      \"y\": 0.25166549999999965\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.008507150000000685,\n      \"y\": -0.25166549999999965\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5392315500000002,\n      \"y\": 0.002969399999999567\n    },\n    \"right1\": {\n      \"x\": 0.5392315500000002,\n      \"y\": 0.005339799999999784\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5673899910000002,\n    \"maxX\": 0.5673899910000002,\n    \"minY\": -0.25166549999999965,\n    \"maxY\": 0.25166549999999965,\n    \"width\": 1.1347799820000004,\n    \"height\": 0.5033309999999993,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/varistor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    {\n      ...refblocks.left1,\n      labels: [\"1\", \"-\"],\n    },\n    {\n      ...refblocks.right1,\n      labels: [\"2\", \"+\"],\n    },\n  ],\n  size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varistor_horz from \"./varistor_horz\"\n\nexport default rotateSymbol(varistor_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Var\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.02, fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varmeter_horz from \"./varmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = varmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...varmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.031252300000000455\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.031252300000000455\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09765764999999949,\n          \"y\": 0.1295162000000003\n        },\n        {\n          \"x\": -0.0011297500000011507,\n          \"y\": -0.061970899999999496\n        },\n        {\n          \"x\": -0.10778645000000164,\n          \"y\": 0.1295162000000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.031252300000000455\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.031252300000000455\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.021146249999999478,\n      \"y\": 0.4010973\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.4010973\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.030399499999999913\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.0313958999999997\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.4010973,\n    \"maxY\": 0.4010973,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.8021946,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03838059999999999,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/volt_meter.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, circles, refblocks } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport volt_meter_horz from \"./volt_meter_horz\"\n\nexport default rotateSymbol(volt_meter_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Wh\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/watt_hour_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.01, fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport watt_hour_meter_horz from \"./watt_hour_meter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = watt_hour_meter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...watt_hour_meter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"W\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/wattmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.01, fontSize: 0.3 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport wattmeter_horz from \"./wattmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = wattmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...wattmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.0882553999999991\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.0882553999999991\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.043951100000000354\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.043951100000000354\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17681090000000044\n        },\n        {\n          \"x\": 0.07728679999999954,\n          \"y\": 0.17632089999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384529999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.044920700000000924\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384529999999985,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.094611082,\n    \"height\": 0.5476905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/zener_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport zener_diode_horz from \"./zener_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(zener_diode_horz)\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import _ac_voltmeter_horz from \"./../symbols/ac_voltmeter_horz\"\nimport _ac_voltmeter_vert from \"./../symbols/ac_voltmeter_vert\"\nimport _avalanche_diode_horz from \"./../symbols/avalanche_diode_horz\"\nimport _avalanche_diode_vert from \"./../symbols/avalanche_diode_vert\"\nimport _battery_horz from \"./../symbols/battery_horz\"\nimport _battery_vert from \"./../symbols/battery_vert\"\nimport _boxresistor_down from \"./../symbols/boxresistor_down\"\nimport _boxresistor_left from \"./../symbols/boxresistor_left\"\nimport _boxresistor_right from \"./../symbols/boxresistor_right\"\nimport _boxresistor_up from \"./../symbols/boxresistor_up\"\nimport _capacitor_down from \"./../symbols/capacitor_down\"\nimport _capacitor_left from \"./../symbols/capacitor_left\"\nimport _capacitor_polarized_down from \"./../symbols/capacitor_polarized_down\"\nimport _capacitor_polarized_left from \"./../symbols/capacitor_polarized_left\"\nimport _capacitor_polarized_right from \"./../symbols/capacitor_polarized_right\"\nimport _capacitor_polarized_up from \"./../symbols/capacitor_polarized_up\"\nimport _capacitor_right from \"./../symbols/capacitor_right\"\nimport _capacitor_up from \"./../symbols/capacitor_up\"\nimport _constant_current_diode_horz from \"./../symbols/constant_current_diode_horz\"\nimport _constant_current_diode_vert from \"./../symbols/constant_current_diode_vert\"\nimport _crystal_horz from \"./../symbols/crystal_horz\"\nimport _crystal_vert from \"./../symbols/crystal_vert\"\nimport _darlington_pair_transistor_horz from \"./../symbols/darlington_pair_transistor_horz\"\nimport _darlington_pair_transistor_vert from \"./../symbols/darlington_pair_transistor_vert\"\nimport _dc_ammeter_horz from \"./../symbols/dc_ammeter_horz\"\nimport _dc_ammeter_vert from \"./../symbols/dc_ammeter_vert\"\nimport _dc_voltmeter_horz from \"./../symbols/dc_voltmeter_horz\"\nimport _dc_voltmeter_vert from \"./../symbols/dc_voltmeter_vert\"\nimport _diac_horz from \"./../symbols/diac_horz\"\nimport _diac_vert from \"./../symbols/diac_vert\"\nimport _diode_down from \"./../symbols/diode_down\"\nimport _diode_left from \"./../symbols/diode_left\"\nimport _diode_right from \"./../symbols/diode_right\"\nimport _diode_up from \"./../symbols/diode_up\"\nimport _dpst_switch_horz from \"./../symbols/dpst_switch_horz\"\nimport _dpst_switch_vert from \"./../symbols/dpst_switch_vert\"\nimport _filled_diode_horz from \"./../symbols/filled_diode_horz\"\nimport _filled_diode_vert from \"./../symbols/filled_diode_vert\"\nimport _frequency_meter_horz from \"./../symbols/frequency_meter_horz\"\nimport _frequency_meter_vert from \"./../symbols/frequency_meter_vert\"\nimport _fuse_horz from \"./../symbols/fuse_horz\"\nimport _fuse_vert from \"./../symbols/fuse_vert\"\nimport _ground_horz from \"./../symbols/ground_horz\"\nimport _ground_vert from \"./../symbols/ground_vert\"\nimport _gunn_diode_horz from \"./../symbols/gunn_diode_horz\"\nimport _gunn_diode_vert from \"./../symbols/gunn_diode_vert\"\nimport _igbt_transistor_horz from \"./../symbols/igbt_transistor_horz\"\nimport _igbt_transistor_vert from \"./../symbols/igbt_transistor_vert\"\nimport _illuminated_push_button_normally_open_horz from \"./../symbols/illuminated_push_button_normally_open_horz\"\nimport _illuminated_push_button_normally_open_vert from \"./../symbols/illuminated_push_button_normally_open_vert\"\nimport _inductor_down from \"./../symbols/inductor_down\"\nimport _inductor_left from \"./../symbols/inductor_left\"\nimport _inductor_right from \"./../symbols/inductor_right\"\nimport _inductor_up from \"./../symbols/inductor_up\"\nimport _laser_diode_horz from \"./../symbols/laser_diode_horz\"\nimport _laser_diode_vert from \"./../symbols/laser_diode_vert\"\nimport _led_down from \"./../symbols/led_down\"\nimport _led_left from \"./../symbols/led_left\"\nimport _led_right from \"./../symbols/led_right\"\nimport _led_up from \"./../symbols/led_up\"\nimport _light_dependent_resistor_horz from \"./../symbols/light_dependent_resistor_horz\"\nimport _light_dependent_resistor_vert from \"./../symbols/light_dependent_resistor_vert\"\nimport _mosfet_depletion_normally_on_horz from \"./../symbols/mosfet_depletion_normally_on_horz\"\nimport _mosfet_depletion_normally_on_vert from \"./../symbols/mosfet_depletion_normally_on_vert\"\nimport _mushroom_head_normally_open_momentary_horz from \"./../symbols/mushroom_head_normally_open_momentary_horz\"\nimport _mushroom_head_normally_open_momentary_vert from \"./../symbols/mushroom_head_normally_open_momentary_vert\"\nimport _n_channel_d_mosfet_transistor_horz from \"./../symbols/n_channel_d_mosfet_transistor_horz\"\nimport _n_channel_d_mosfet_transistor_vert from \"./../symbols/n_channel_d_mosfet_transistor_vert\"\nimport _n_channel_e_mosfet_transistor_horz from \"./../symbols/n_channel_e_mosfet_transistor_horz\"\nimport _n_channel_e_mosfet_transistor_vert from \"./../symbols/n_channel_e_mosfet_transistor_vert\"\nimport _njfet_transistor_horz from \"./../symbols/njfet_transistor_horz\"\nimport _njfet_transistor_vert from \"./../symbols/njfet_transistor_vert\"\nimport _npn_bipolar_transistor_horz from \"./../symbols/npn_bipolar_transistor_horz\"\nimport _npn_bipolar_transistor_vert from \"./../symbols/npn_bipolar_transistor_vert\"\nimport _p_channel_d_mosfet_transistor_horz from \"./../symbols/p_channel_d_mosfet_transistor_horz\"\nimport _p_channel_d_mosfet_transistor_vert from \"./../symbols/p_channel_d_mosfet_transistor_vert\"\nimport _p_channel_e_mosfet_transistor_horz from \"./../symbols/p_channel_e_mosfet_transistor_horz\"\nimport _p_channel_e_mosfet_transistor_vert from \"./../symbols/p_channel_e_mosfet_transistor_vert\"\nimport _photodiode_horz from \"./../symbols/photodiode_horz\"\nimport _photodiode_vert from \"./../symbols/photodiode_vert\"\nimport _pjfet_transistor_horz from \"./../symbols/pjfet_transistor_horz\"\nimport _pjfet_transistor_vert from \"./../symbols/pjfet_transistor_vert\"\nimport _pnp_bipolar_transistor_horz from \"./../symbols/pnp_bipolar_transistor_horz\"\nimport _pnp_bipolar_transistor_vert from \"./../symbols/pnp_bipolar_transistor_vert\"\nimport _potentiometer_horz from \"./../symbols/potentiometer_horz\"\nimport _potentiometer_vert from \"./../symbols/potentiometer_vert\"\nimport _potentiometer2_horz from \"./../symbols/potentiometer2_horz\"\nimport _potentiometer2_vert from \"./../symbols/potentiometer2_vert\"\nimport _power_factor_meter_horz from \"./../symbols/power_factor_meter_horz\"\nimport _power_factor_meter_vert from \"./../symbols/power_factor_meter_vert\"\nimport _push_button_normally_closed_momentary_horz from \"./../symbols/push_button_normally_closed_momentary_horz\"\nimport _push_button_normally_closed_momentary_vert from \"./../symbols/push_button_normally_closed_momentary_vert\"\nimport _push_button_normally_open_momentary_horz from \"./../symbols/push_button_normally_open_momentary_horz\"\nimport _push_button_normally_open_momentary_vert from \"./../symbols/push_button_normally_open_momentary_vert\"\nimport _rectifier_diode_horz from \"./../symbols/rectifier_diode_horz\"\nimport _rectifier_diode_vert from \"./../symbols/rectifier_diode_vert\"\nimport _resonator_horz from \"./../symbols/resonator_horz\"\nimport _resonator_vert from \"./../symbols/resonator_vert\"\nimport _schottky_diode_horz from \"./../symbols/schottky_diode_horz\"\nimport _schottky_diode_vert from \"./../symbols/schottky_diode_vert\"\nimport _silicon_controlled_rectifier_horz from \"./../symbols/silicon_controlled_rectifier_horz\"\nimport _silicon_controlled_rectifier_vert from \"./../symbols/silicon_controlled_rectifier_vert\"\nimport _SPDT_switch_horz from \"./../symbols/SPDT_switch_horz\"\nimport _SPDT_switch_vert from \"./../symbols/SPDT_switch_vert\"\nimport _SPST_switch_horz from \"./../symbols/SPST_switch_horz\"\nimport _SPST_switch_vert from \"./../symbols/SPST_switch_vert\"\nimport _step_recovery_diode_horz from \"./../symbols/step_recovery_diode_horz\"\nimport _step_recovery_diode_vert from \"./../symbols/step_recovery_diode_vert\"\nimport _tachometer_horz from \"./../symbols/tachometer_horz\"\nimport _tachometer_vert from \"./../symbols/tachometer_vert\"\nimport _triac_horz from \"./../symbols/triac_horz\"\nimport _triac_vert from \"./../symbols/triac_vert\"\nimport _tunnel_diode_horz from \"./../symbols/tunnel_diode_horz\"\nimport _tunnel_diode_vert from \"./../symbols/tunnel_diode_vert\"\nimport _unijunction_transistor_horz from \"./../symbols/unijunction_transistor_horz\"\nimport _unijunction_transistor_vert from \"./../symbols/unijunction_transistor_vert\"\nimport _var_meter_horz from \"./../symbols/var_meter_horz\"\nimport _var_meter_vert from \"./../symbols/var_meter_vert\"\nimport _varactor_diode_horz from \"./../symbols/varactor_diode_horz\"\nimport _varactor_diode_vert from \"./../symbols/varactor_diode_vert\"\nimport _varistor_horz from \"./../symbols/varistor_horz\"\nimport _varistor_vert from \"./../symbols/varistor_vert\"\nimport _varmeter_horz from \"./../symbols/varmeter_horz\"\nimport _varmeter_vert from \"./../symbols/varmeter_vert\"\nimport _volt_meter_horz from \"./../symbols/volt_meter_horz\"\nimport _volt_meter_vert from \"./../symbols/volt_meter_vert\"\nimport _watt_hour_meter_horz from \"./../symbols/watt_hour_meter_horz\"\nimport _watt_hour_meter_vert from \"./../symbols/watt_hour_meter_vert\"\nimport _wattmeter_horz from \"./../symbols/wattmeter_horz\"\nimport _wattmeter_vert from \"./../symbols/wattmeter_vert\"\nimport _zener_diode_horz from \"./../symbols/zener_diode_horz\"\nimport _zener_diode_vert from \"./../symbols/zener_diode_vert\"\n\nexport default {\n  \"ac_voltmeter_horz\": _ac_voltmeter_horz,\n  \"ac_voltmeter_vert\": _ac_voltmeter_vert,\n  \"avalanche_diode_horz\": _avalanche_diode_horz,\n  \"avalanche_diode_vert\": _avalanche_diode_vert,\n  \"battery_horz\": _battery_horz,\n  \"battery_vert\": _battery_vert,\n  \"boxresistor_down\": _boxresistor_down,\n  \"boxresistor_left\": _boxresistor_left,\n  \"boxresistor_right\": _boxresistor_right,\n  \"boxresistor_up\": _boxresistor_up,\n  \"capacitor_down\": _capacitor_down,\n  \"capacitor_left\": _capacitor_left,\n  \"capacitor_polarized_down\": _capacitor_polarized_down,\n  \"capacitor_polarized_left\": _capacitor_polarized_left,\n  \"capacitor_polarized_right\": _capacitor_polarized_right,\n  \"capacitor_polarized_up\": _capacitor_polarized_up,\n  \"capacitor_right\": _capacitor_right,\n  \"capacitor_up\": _capacitor_up,\n  \"constant_current_diode_horz\": _constant_current_diode_horz,\n  \"constant_current_diode_vert\": _constant_current_diode_vert,\n  \"crystal_horz\": _crystal_horz,\n  \"crystal_vert\": _crystal_vert,\n  \"darlington_pair_transistor_horz\": _darlington_pair_transistor_horz,\n  \"darlington_pair_transistor_vert\": _darlington_pair_transistor_vert,\n  \"dc_ammeter_horz\": _dc_ammeter_horz,\n  \"dc_ammeter_vert\": _dc_ammeter_vert,\n  \"dc_voltmeter_horz\": _dc_voltmeter_horz,\n  \"dc_voltmeter_vert\": _dc_voltmeter_vert,\n  \"diac_horz\": _diac_horz,\n  \"diac_vert\": _diac_vert,\n  \"diode_down\": _diode_down,\n  \"diode_left\": _diode_left,\n  \"diode_right\": _diode_right,\n  \"diode_up\": _diode_up,\n  \"dpst_switch_horz\": _dpst_switch_horz,\n  \"dpst_switch_vert\": _dpst_switch_vert,\n  \"filled_diode_horz\": _filled_diode_horz,\n  \"filled_diode_vert\": _filled_diode_vert,\n  \"frequency_meter_horz\": _frequency_meter_horz,\n  \"frequency_meter_vert\": _frequency_meter_vert,\n  \"fuse_horz\": _fuse_horz,\n  \"fuse_vert\": _fuse_vert,\n  \"ground_horz\": _ground_horz,\n  \"ground_vert\": _ground_vert,\n  \"gunn_diode_horz\": _gunn_diode_horz,\n  \"gunn_diode_vert\": _gunn_diode_vert,\n  \"igbt_transistor_horz\": _igbt_transistor_horz,\n  \"igbt_transistor_vert\": _igbt_transistor_vert,\n  \"illuminated_push_button_normally_open_horz\": _illuminated_push_button_normally_open_horz,\n  \"illuminated_push_button_normally_open_vert\": _illuminated_push_button_normally_open_vert,\n  \"inductor_down\": _inductor_down,\n  \"inductor_left\": _inductor_left,\n  \"inductor_right\": _inductor_right,\n  \"inductor_up\": _inductor_up,\n  \"laser_diode_horz\": _laser_diode_horz,\n  \"laser_diode_vert\": _laser_diode_vert,\n  \"led_down\": _led_down,\n  \"led_left\": _led_left,\n  \"led_right\": _led_right,\n  \"led_up\": _led_up,\n  \"light_dependent_resistor_horz\": _light_dependent_resistor_horz,\n  \"light_dependent_resistor_vert\": _light_dependent_resistor_vert,\n  \"mosfet_depletion_normally_on_horz\": _mosfet_depletion_normally_on_horz,\n  \"mosfet_depletion_normally_on_vert\": _mosfet_depletion_normally_on_vert,\n  \"mushroom_head_normally_open_momentary_horz\": _mushroom_head_normally_open_momentary_horz,\n  \"mushroom_head_normally_open_momentary_vert\": _mushroom_head_normally_open_momentary_vert,\n  \"n_channel_d_mosfet_transistor_horz\": _n_channel_d_mosfet_transistor_horz,\n  \"n_channel_d_mosfet_transistor_vert\": _n_channel_d_mosfet_transistor_vert,\n  \"n_channel_e_mosfet_transistor_horz\": _n_channel_e_mosfet_transistor_horz,\n  \"n_channel_e_mosfet_transistor_vert\": _n_channel_e_mosfet_transistor_vert,\n  \"njfet_transistor_horz\": _njfet_transistor_horz,\n  \"njfet_transistor_vert\": _njfet_transistor_vert,\n  \"npn_bipolar_transistor_horz\": _npn_bipolar_transistor_horz,\n  \"npn_bipolar_transistor_vert\": _npn_bipolar_transistor_vert,\n  \"p_channel_d_mosfet_transistor_horz\": _p_channel_d_mosfet_transistor_horz,\n  \"p_channel_d_mosfet_transistor_vert\": _p_channel_d_mosfet_transistor_vert,\n  \"p_channel_e_mosfet_transistor_horz\": _p_channel_e_mosfet_transistor_horz,\n  \"p_channel_e_mosfet_transistor_vert\": _p_channel_e_mosfet_transistor_vert,\n  \"photodiode_horz\": _photodiode_horz,\n  \"photodiode_vert\": _photodiode_vert,\n  \"pjfet_transistor_horz\": _pjfet_transistor_horz,\n  \"pjfet_transistor_vert\": _pjfet_transistor_vert,\n  \"pnp_bipolar_transistor_horz\": _pnp_bipolar_transistor_horz,\n  \"pnp_bipolar_transistor_vert\": _pnp_bipolar_transistor_vert,\n  \"potentiometer_horz\": _potentiometer_horz,\n  \"potentiometer_vert\": _potentiometer_vert,\n  \"potentiometer2_horz\": _potentiometer2_horz,\n  \"potentiometer2_vert\": _potentiometer2_vert,\n  \"power_factor_meter_horz\": _power_factor_meter_horz,\n  \"power_factor_meter_vert\": _power_factor_meter_vert,\n  \"push_button_normally_closed_momentary_horz\": _push_button_normally_closed_momentary_horz,\n  \"push_button_normally_closed_momentary_vert\": _push_button_normally_closed_momentary_vert,\n  \"push_button_normally_open_momentary_horz\": _push_button_normally_open_momentary_horz,\n  \"push_button_normally_open_momentary_vert\": _push_button_normally_open_momentary_vert,\n  \"rectifier_diode_horz\": _rectifier_diode_horz,\n  \"rectifier_diode_vert\": _rectifier_diode_vert,\n  \"resonator_horz\": _resonator_horz,\n  \"resonator_vert\": _resonator_vert,\n  \"schottky_diode_horz\": _schottky_diode_horz,\n  \"schottky_diode_vert\": _schottky_diode_vert,\n  \"silicon_controlled_rectifier_horz\": _silicon_controlled_rectifier_horz,\n  \"silicon_controlled_rectifier_vert\": _silicon_controlled_rectifier_vert,\n  \"SPDT_switch_horz\": _SPDT_switch_horz,\n  \"SPDT_switch_vert\": _SPDT_switch_vert,\n  \"SPST_switch_horz\": _SPST_switch_horz,\n  \"SPST_switch_vert\": _SPST_switch_vert,\n  \"step_recovery_diode_horz\": _step_recovery_diode_horz,\n  \"step_recovery_diode_vert\": _step_recovery_diode_vert,\n  \"tachometer_horz\": _tachometer_horz,\n  \"tachometer_vert\": _tachometer_vert,\n  \"triac_horz\": _triac_horz,\n  \"triac_vert\": _triac_vert,\n  \"tunnel_diode_horz\": _tunnel_diode_horz,\n  \"tunnel_diode_vert\": _tunnel_diode_vert,\n  \"unijunction_transistor_horz\": _unijunction_transistor_horz,\n  \"unijunction_transistor_vert\": _unijunction_transistor_vert,\n  \"var_meter_horz\": _var_meter_horz,\n  \"var_meter_vert\": _var_meter_vert,\n  \"varactor_diode_horz\": _varactor_diode_horz,\n  \"varactor_diode_vert\": _varactor_diode_vert,\n  \"varistor_horz\": _varistor_horz,\n  \"varistor_vert\": _varistor_vert,\n  \"varmeter_horz\": _varmeter_horz,\n  \"varmeter_vert\": _varmeter_vert,\n  \"volt_meter_horz\": _volt_meter_horz,\n  \"volt_meter_vert\": _volt_meter_vert,\n  \"watt_hour_meter_horz\": _watt_hour_meter_horz,\n  \"watt_hour_meter_vert\": _watt_hour_meter_vert,\n  \"wattmeter_horz\": _wattmeter_horz,\n  \"wattmeter_vert\": _wattmeter_vert,\n  \"zener_diode_horz\": _zener_diode_horz,\n  \"zener_diode_vert\": _zener_diode_vert\n}","import { NinePointAnchor } from \"drawing/types\"\n\n/**\n * In Inkscape and Websites, Y-up is NEGATIVE- meaning e.g. y=10 is BELOW y=0.\n *\n * Our symbols are defined with Y-up POSITIVE, meaning e.g. y=10 is ABOVE y=0.\n *\n * This function helps flip y positions so that you can convert from schematic\n * symbol coordinates to SVG coordinates.\n */\nexport const makeYUpPositive = (y: number, yUpPositive: boolean = true) => {\n  return yUpPositive ? -y : y\n}\n\n/**\n * This function gives an intermediate anchor flip that can be used to determine\n * how anchors should be interpreted when flipping in the Y-axis.\n *\n * It converts top_left -> bottom_left etc.\n *\n * y=1            top_left  -------\n * y=0               |             |\n * y=-1               -------------\n *\n * Y-up Negative\n *\n * y=-1               -------------\n * y=0               |             |\n * y=1              bottom_left  --\n */\nexport const flipAnchorOverYAxis = (anchor: NinePointAnchor) => {\n  if (anchor === \"top_left\") return \"bottom_left\"\n  if (anchor === \"top_right\") return \"bottom_right\"\n  if (anchor === \"bottom_left\") return \"top_left\"\n  if (anchor === \"bottom_right\") return \"top_right\"\n  if (anchor === \"middle_top\") return \"middle_bottom\"\n  if (anchor === \"middle_bottom\") return \"middle_top\"\n  return anchor\n}\n\nexport const makeAnchorYUpPositive = (\n  anchor: NinePointAnchor,\n  yUpPositive: boolean = true,\n) => {\n  return yUpPositive ? flipAnchorOverYAxis(anchor) : anchor\n}\n","export const mapColor = (color: string) => {\n  switch (color) {\n    case \"primary\":\n      return \"black\"\n    case \"secondary\":\n      return \"gray\"\n    default:\n      return color\n  }\n}\n","import type { Point } from \"drawing\"\nimport { makeYUpPositive } from \"./utils/makeYUpPositive\"\n\nexport function pathToSvgD(\n  points: Point[],\n  {\n    closed = false,\n    yUpPositive = true,\n  }: {\n    closed?: boolean\n    yUpPositive?: boolean\n  },\n): string {\n  const pathCommands = points\n    .map(\n      (point, index) =>\n        `${index === 0 ? \"M\" : \"L\"}${point.x},${makeYUpPositive(point.y, yUpPositive)}`,\n    )\n    .join(\" \")\n\n  return closed ? `${pathCommands} Z` : pathCommands\n}\n","import { makeAnchorYUpPositive, makeYUpPositive } from \"./utils/makeYUpPositive\"\nimport { mapColor } from \"./mapColor\"\nimport { pathToSvgD } from \"./pathToSvgD\"\nimport type { Point, Port, SchSymbol, TextPrimitive } from \"./types\"\n\nfunction createDiamondElement(\n  center: Point,\n  size = 0.05,\n  yUpPositive: boolean = true,\n): string {\n  const { x, y } = center\n  const halfSize = size / 2\n  return `<path d=\"M ${x} ${makeYUpPositive(y, yUpPositive) - halfSize} L ${x + halfSize} ${makeYUpPositive(y, yUpPositive)} L ${x} ${\n    makeYUpPositive(y, yUpPositive) + halfSize\n  } L ${x - halfSize} ${makeYUpPositive(y, yUpPositive)} Z\" fill=\"green\" />`\n}\n\nfunction createTextElement(\n  primitive: TextPrimitive,\n  { yUpPositive }: { yUpPositive?: boolean },\n): {\n  text: string\n  anchor: string\n} {\n  const { x, y, text, fontSize = 0.1, anchor } = primitive\n  let textAnchor: string\n  const dx = 0\n  let dy = 0\n\n  const capHeight = fontSize * 0.75\n\n  switch (anchor) {\n    case \"top_left\":\n      textAnchor = \"start\"\n      dy = fontSize\n      break\n    case \"top_right\":\n      textAnchor = \"end\"\n      dy = fontSize\n      break\n    case \"bottom_left\":\n      textAnchor = \"start\"\n      break\n    case \"bottom_right\":\n      textAnchor = \"end\"\n      break\n    case \"center\":\n      textAnchor = \"middle\"\n      dy = fontSize / 2\n      break\n    case \"middle_top\":\n      textAnchor = \"middle\"\n      dy = capHeight\n      break\n    case \"middle_bottom\":\n      textAnchor = \"middle\"\n      break\n    case \"middle_left\":\n      textAnchor = \"start\"\n      dy = capHeight / 2\n      break\n    case \"middle_right\":\n      textAnchor = \"end\"\n      dy = capHeight / 2\n      break\n  }\n\n  return {\n    text: `<text x=\"${x}\" y=\"${makeYUpPositive(y, yUpPositive)}\" dx=\"${dx}\" dy=\"${dy}\" text-anchor=\"${textAnchor}\" style=\"font: ${\n      fontSize ?? 0.1\n    }px monospace; fill: ${mapColor(\"primary\")}\">${text}</text>`,\n    anchor: `<rect x=\"${x - 0.025 / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) - 0.025 / 2\n    }\" width=\"0.025\" height=\"0.025\" fill=\"blue\" />`,\n  }\n}\n\nfunction createPortElement(\n  port: Port,\n  { yUpPositive }: { yUpPositive?: boolean },\n): string {\n  const { x, y, labels } = port\n  const rectSize = 0.05\n  const labelFontSize = 0.08\n  const label = labels[0] || \"\"\n\n  return `\n    <rect x=\"${x - rectSize / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) - rectSize / 2\n    }\" width=\"${rectSize}\" height=\"${rectSize}\" fill=\"red\" />\n    <text x=\"${x - labelFontSize / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) + rectSize + labelFontSize / 2\n    }\" text-anchor=\"middle\" style=\"font: ${labelFontSize}px monospace; fill: #833;\">${label}</text>\n  `\n}\n\nexport function getInnerSvg(\n  symbol: SchSymbol,\n  options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n  const { debug = false } = options\n  const { primitives, size, ports } = symbol\n  const svgElements = primitives.map((primitive) => {\n    switch (primitive.type) {\n      case \"path\":\n        return `<path d=\"${pathToSvgD(primitive.points, {\n          closed: primitive.closed,\n          yUpPositive: true,\n        })}\" fill=\"${\n          primitive.fill ? mapColor(primitive.color) : \"none\"\n        }\" stroke=\"${mapColor(\n          primitive.color,\n        )}\" stroke-width=\"0.02\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />`\n      case \"text\":\n        const textElements = createTextElement(primitive, { yUpPositive: true })\n        return textElements.text + (debug ? textElements.anchor : \"\")\n      case \"circle\":\n        return `<circle cx=\"${primitive.x}\" cy=\"${makeYUpPositive(primitive.y, true)}\" r=\"${\n          primitive.radius\n        }\" fill=\"${primitive.fill ? mapColor(primitive.color) : \"none\"}\" ${\n          !primitive.fill\n            ? `stroke=\"${mapColor(primitive.color)}\" stroke-width=\"0.02\"`\n            : \"\"\n        } />`\n      case \"box\":\n        return `<rect x=\"${primitive.x}\" y=\"${makeYUpPositive(primitive.y)}\" width=\"${\n          primitive.width\n        }\" height=\"${primitive.height}\" fill=\"${mapColor(\"primary\")}\" />`\n      default:\n        return \"\"\n    }\n  })\n\n  const portElements = ports\n    .map((p) => createPortElement(p, { yUpPositive: true }))\n    .join(\"\\n    \")\n\n  const centerDiamond = createDiamondElement(symbol.center)\n\n  return [svgElements.join(\"\\n    \"), portElements, centerDiamond].join(\"\\n\")\n}\n\nexport function getSvg(\n  symbol: SchSymbol,\n  options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n  const { size } = symbol\n  const innerSvg = getInnerSvg(symbol, options)\n\n  // Use the center and the size to calculate the viewBox\n  const bufferMultiple = 1.2\n  const w = size.width * bufferMultiple\n  const h = size.height * bufferMultiple\n  const viewBox = {\n    x: symbol.center.x - w / 2,\n    y: makeYUpPositive(symbol.center.y, true) - h / 2,\n    width: w,\n    height: h,\n  }\n\n  if (options.width && !options.height) {\n    options.height = options.width! * (viewBox.height / viewBox.width)\n  } else if (!options.width && options.height) {\n    options.width = options.height! * (viewBox.width / viewBox.height)\n  } else if (!options.width && !options.height) {\n    options.width = viewBox.width\n    options.height = viewBox.height\n  }\n\n  return `<svg width=\"${options.width}\" height=\"${options.height}\" viewBox=\"${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}\" xmlns=\"http://www.w3.org/2000/svg\">${innerSvg}</svg>`\n}\n","import type { SchSymbol } from \"./types\"\n\nexport function resizeSymbol(\n  symbol: SchSymbol,\n  newSize: { width?: number; height?: number },\n): SchSymbol {\n  const { width: oldWidth, height: oldHeight } = symbol.size\n  let scaleX = 1,\n    scaleY = 1\n\n  if (newSize.width && newSize.height) {\n    scaleX = newSize.width / oldWidth\n    scaleY = newSize.height / oldHeight\n  } else if (newSize.width) {\n    scaleX = scaleY = newSize.width / oldWidth\n  } else if (newSize.height) {\n    scaleX = scaleY = newSize.height / oldHeight\n  }\n\n  const resizedPrimitives = symbol.primitives.map((primitive) => {\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map((p) => ({\n            x: p.x * scaleX,\n            y: p.y * scaleY,\n          })),\n        }\n      case \"text\":\n      case \"circle\":\n        return {\n          ...primitive,\n          x: primitive.x * scaleX,\n          y: primitive.y * scaleY,\n        }\n      case \"box\":\n        return {\n          ...primitive,\n          x: primitive.x * scaleX,\n          y: primitive.y * scaleY,\n          width: primitive.width * scaleX,\n          height: primitive.height * scaleY,\n        }\n      default:\n        return primitive\n    }\n  })\n\n  return {\n    ...symbol,\n    primitives: resizedPrimitives,\n    center: {\n      x: symbol.center.x * scaleX,\n      y: symbol.center.y * scaleY,\n    },\n    ports: symbol.ports.map((port) => ({\n      ...port,\n      x: port.x * scaleX,\n      y: port.y * scaleY,\n    })),\n    size: {\n      width: oldWidth * scaleX,\n      height: oldHeight * scaleY,\n    },\n  }\n}\n","import symbols from \"./generated/symbols-index\"\n\nexport type {\n  SchSymbol,\n  BoxPrimitive,\n  CirclePrimitive,\n  PathPrimitive,\n  TextPrimitive,\n} from \"./drawing/types\"\nimport { getSvg, getInnerSvg, resizeSymbol } from \"./drawing\"\n\nimport { BaseSymbolName } from \"./generated/base-symbol-names\"\n\n/**\n * Utility for easier autocomplete:\n *\n * ```ts\n * BASE_SYMBOLS.boxresistor // \"boxresistor\"\n * ```\n */\nexport const BASE_SYMBOLS: Record<BaseSymbolName, BaseSymbolName> =\n  Object.fromEntries(Object.keys(symbols).map((k) => [k, k])) as any\n\nexport { symbols, getSvg, getInnerSvg, resizeSymbol, BaseSymbolName }\n"],"mappings":"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AK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GA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;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK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AK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GA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","names":["transform","paths","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotatedSymbol","paths","texts","bounds","refblocks","circles","letter","underline","rest","isPrimitive","rotatedSymbol","rotatedSymbol","texts","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","paths","circles","bounds","refblocks","paths","texts","bounds","refblocks","circles","rotated","ref","val","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","rotated","paths","texts","bounds","refblocks","rotated","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","circles","refblocks","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","rotated","ref","val"]}
         
     | 
| 
      
 1 
     | 
    
         
            +
            {"version":3,"sources":["../drawing/defineSymbol.ts","../assets/generated/ac_voltmeter.json","../symbols/ac_voltmeter_horz.ts","../drawing/rotateSymbol.ts","../symbols/ac_voltmeter_vert.ts","../assets/generated/avalanche_diode.json","../symbols/avalanche_diode_horz.ts","../symbols/avalanche_diode_vert.ts","../assets/generated/battery.json","../symbols/battery_horz.ts","../symbols/battery_vert.ts","../assets/generated/boxresistor.json","../drawing/modify-symbol/modify-symbol.ts","../symbols/boxresistor_down.ts","../symbols/boxresistor_left.ts","../symbols/boxresistor_right.ts","../symbols/boxresistor_up.ts","../assets/generated/capacitor.json","../symbols/capacitor_down.ts","../symbols/capacitor_right.ts","../symbols/capacitor_left.ts","../assets/generated/capacitor_polarized.json","../symbols/capacitor_polarized_down.ts","../symbols/capacitor_polarized_right.ts","../symbols/capacitor_polarized_left.ts","../symbols/capacitor_polarized_up.ts","../symbols/capacitor_up.ts","../assets/generated/constant_current_diode.json","../symbols/constant_current_diode_horz.ts","../symbols/constant_current_diode_vert.ts","../assets/generated/crystal_4pin.json","../symbols/crystal_4pin_horz.ts","../symbols/crystal_4pin_vert.ts","../assets/generated/crystal.json","../symbols/crystal_horz.ts","../symbols/crystal_vert.ts","../assets/generated/darlington_pair_transistor.json","../symbols/darlington_pair_transistor_horz.ts","../symbols/darlington_pair_transistor_vert.ts","../assets/generated/dc_ammeter.json","../symbols/dc_ammeter_horz.ts","../symbols/dc_ammeter_vert.ts","../assets/generated/dc_voltmeter.json","../symbols/dc_voltmeter_horz.ts","../symbols/dc_voltmeter_vert.ts","../assets/generated/diac.json","../symbols/diac_horz.ts","../symbols/diac_vert.ts","../assets/generated/diode.json","../symbols/diode_right.ts","../symbols/diode_down.ts","../symbols/diode_left.ts","../symbols/diode_up.ts","../assets/generated/dpst_switch.json","../symbols/dpst_switch_horz.ts","../symbols/dpst_switch_vert.ts","../assets/generated/filled_diode.json","../symbols/filled_diode_horz.ts","../symbols/filled_diode_vert.ts","../assets/generated/frequency_meter.json","../symbols/frequency_meter_horz.ts","../symbols/frequency_meter_vert.ts","../assets/generated/fuse.json","../symbols/fuse_horz.ts","../symbols/fuse_vert.ts","../assets/generated/ground.json","../symbols/ground_horz.ts","../symbols/ground_vert.ts","../assets/generated/gunn_diode.json","../symbols/gunn_diode_horz.ts","../symbols/gunn_diode_vert.ts","../assets/generated/igbt_transistor.json","../symbols/igbt_transistor_horz.ts","../symbols/igbt_transistor_vert.ts","../assets/generated/illuminated_push_button_normally_open.json","../symbols/illuminated_push_button_normally_open_horz.ts","../symbols/illuminated_push_button_normally_open_vert.ts","../assets/generated/inductor.json","../symbols/inductor_right.ts","../symbols/inductor_up.ts","../symbols/inductor_down.ts","../symbols/inductor_left.ts","../assets/generated/laser_diode.json","../symbols/laser_diode_horz.ts","../symbols/laser_diode_vert.ts","../assets/generated/led.json","../symbols/led_right.ts","../symbols/led_down.ts","../symbols/led_left.ts","../symbols/led_up.ts","../assets/generated/light_dependent_resistor.json","../symbols/light_dependent_resistor_horz.ts","../symbols/light_dependent_resistor_vert.ts","../assets/generated/mosfet_depletion_normally_on.json","../symbols/mosfet_depletion_normally_on_horz.ts","../symbols/mosfet_depletion_normally_on_vert.ts","../assets/generated/mushroom_head_normally_open_momentary.json","../symbols/mushroom_head_normally_open_momentary_horz.ts","../symbols/mushroom_head_normally_open_momentary_vert.ts","../assets/generated/n_channel_d_mosfet_transistor.json","../symbols/n_channel_d_mosfet_transistor_horz.ts","../symbols/n_channel_d_mosfet_transistor_vert.ts","../assets/generated/n_channel_e_mosfet_transistor.json","../symbols/n_channel_e_mosfet_transistor_horz.ts","../symbols/n_channel_e_mosfet_transistor_vert.ts","../assets/generated/njfet_transistor.json","../symbols/njfet_transistor_horz.ts","../symbols/njfet_transistor_vert.ts","../assets/generated/npn_bipolar_transistor.json","../symbols/npn_bipolar_transistor_horz.ts","../symbols/npn_bipolar_transistor_vert.ts","../assets/generated/p_channel_d_mosfet_transistor.json","../symbols/p_channel_d_mosfet_transistor_horz.ts","../symbols/p_channel_d_mosfet_transistor_vert.ts","../assets/generated/p_channel_e_mosfet_transistor.json","../symbols/p_channel_e_mosfet_transistor_horz.ts","../symbols/p_channel_e_mosfet_transistor_vert.ts","../assets/generated/photodiode.json","../symbols/photodiode_horz.ts","../symbols/photodiode_vert.ts","../assets/generated/pjfet_transistor.json","../symbols/pjfet_transistor_horz.ts","../symbols/pjfet_transistor_vert.ts","../assets/generated/pnp_bipolar_transistor.json","../symbols/pnp_bipolar_transistor_horz.ts","../symbols/pnp_bipolar_transistor_vert.ts","../assets/generated/potentiometer.json","../symbols/potentiometer_horz.ts","../symbols/potentiometer_vert.ts","../assets/generated/potentiometer2.json","../symbols/potentiometer2_horz.ts","../symbols/potentiometer2_vert.ts","../assets/generated/power_factor_meter.json","../symbols/power_factor_meter_horz.ts","../symbols/power_factor_meter_vert.ts","../assets/generated/push_button_normally_closed_momentary.json","../symbols/push_button_normally_closed_momentary_horz.ts","../symbols/push_button_normally_closed_momentary_vert.ts","../assets/generated/push_button_normally_open_momentary.json","../symbols/push_button_normally_open_momentary_horz.ts","../symbols/push_button_normally_open_momentary_vert.ts","../assets/generated/rectifier_diode.json","../symbols/rectifier_diode_horz.ts","../symbols/rectifier_diode_vert.ts","../assets/generated/resonator.json","../symbols/resonator_horz.ts","../symbols/resonator_vert.ts","../assets/generated/schottky_diode.json","../symbols/schottky_diode_horz.ts","../symbols/schottky_diode_vert.ts","../assets/generated/silicon_controlled_rectifier.json","../symbols/silicon_controlled_rectifier_horz.ts","../symbols/silicon_controlled_rectifier_vert.ts","../assets/generated/SPDT_switch.json","../symbols/SPDT_switch_horz.ts","../symbols/SPDT_switch_vert.ts","../assets/generated/SPST_switch.json","../symbols/SPST_switch_horz.ts","../symbols/SPST_switch_vert.ts","../assets/generated/step_recovery_diode.json","../symbols/step_recovery_diode_horz.ts","../symbols/step_recovery_diode_vert.ts","../assets/generated/tachometer.json","../symbols/tachometer_horz.ts","../symbols/tachometer_vert.ts","../assets/generated/triac.json","../symbols/triac_horz.ts","../symbols/triac_vert.ts","../assets/generated/tunnel_diode.json","../symbols/tunnel_diode_horz.ts","../symbols/tunnel_diode_vert.ts","../assets/generated/unijunction_transistor.json","../symbols/unijunction_transistor_horz.ts","../symbols/unijunction_transistor_vert.ts","../assets/generated/var_meter.json","../symbols/var_meter_horz.ts","../symbols/var_meter_vert.ts","../assets/generated/varactor_diode.json","../symbols/varactor_diode_horz.ts","../symbols/varactor_diode_vert.ts","../assets/generated/varistor.json","../symbols/varistor_horz.ts","../symbols/varistor_vert.ts","../assets/generated/varmeter.json","../symbols/varmeter_horz.ts","../symbols/varmeter_vert.ts","../assets/generated/volt_meter.json","../symbols/volt_meter_horz.ts","../symbols/volt_meter_vert.ts","../assets/generated/watt_hour_meter.json","../symbols/watt_hour_meter_horz.ts","../symbols/watt_hour_meter_vert.ts","../assets/generated/wattmeter.json","../symbols/wattmeter_horz.ts","../symbols/wattmeter_vert.ts","../assets/generated/zener_diode.json","../symbols/zener_diode_horz.ts","../symbols/zener_diode_vert.ts","../generated/symbols-index.ts","../drawing/utils/makeYUpPositive.ts","../drawing/mapColor.ts","../drawing/pathToSvgD.ts","../drawing/getSvg.ts","../drawing/resizeSymbol.ts","../index.ts"],"sourcesContent":["import type { SchSymbol } from \"./types\"\n\nexport function defineSymbol(symbol: SchSymbol): SchSymbol {\n  return symbol\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.03018695000000049\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.03018695000000049\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.03018695000000049\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.03018695000000049\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09765764999999949,\n          \"y\": 0.12845085000000034\n        },\n        {\n          \"x\": -0.0011297500000011507,\n          \"y\": -0.06303624999999946\n        },\n        {\n          \"x\": -0.10778645000000164,\n          \"y\": 0.12845085000000034\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path17\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.002934749999999875,\n          \"y\": -0.13606674999999946\n        },\n        {\n          \"x\": 0.06869635000000063,\n          \"y\": -0.11019914999999947\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path18\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.06869635000000063,\n          \"y\": -0.11019914999999947\n        },\n        {\n          \"x\": 0.1403274500000009,\n          \"y\": -0.13606674999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path19\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1461968499999997,\n          \"y\": -0.13606674999999946\n        },\n        {\n          \"x\": -0.07456574999999921,\n          \"y\": -0.11019914999999947\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path20\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07456575000000054,\n          \"y\": -0.11019914999999947\n        },\n        {\n          \"x\": -0.0029346500000002607,\n          \"y\": -0.13606674999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17328624999999942,\n      \"y\": 0.39216264999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.40216264999999995\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.029334149999999948\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.030330549999999734\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.5021626499999999,\n    \"maxY\": 0.39216264999999995,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.5443252999999999,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0.05499999999999999\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03731525000000002,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/ac_voltmeter.json\"\n\nconst { paths, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotate, applyToPoint, transform, scale } from \"transformation-matrix\"\nimport type {\n  SchSymbol,\n  Primitive,\n  Point,\n  Port,\n  NinePointAnchor,\n} from \"./types\"\n\n// Update rotateAnchor to handle all anchor rotations based on orientation\nconst rotateRightFacingAnchor = (\n  anchor: NinePointAnchor,\n  newOrientation: \"up\" | \"down\" | \"left\" | \"right\" = \"right\",\n): NinePointAnchor => {\n  switch (newOrientation) {\n    case \"down\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_right\"\n        case \"middle_bottom\":\n          return \"middle_left\"\n        case \"middle_left\":\n          return \"middle_bottom\"\n        case \"middle_right\":\n          return \"middle_top\"\n      }\n      break\n    case \"up\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_left\"\n        case \"middle_bottom\":\n          return \"middle_right\"\n        case \"middle_left\":\n          return \"middle_top\"\n        case \"middle_right\":\n          return \"middle_bottom\"\n      }\n      break\n    case \"left\":\n      switch (anchor) {\n        case \"middle_top\":\n          return \"middle_bottom\"\n        case \"middle_bottom\":\n          return \"middle_top\"\n        case \"middle_left\":\n          return \"middle_right\"\n        case \"middle_right\":\n          return \"middle_left\"\n      }\n      break\n    case \"right\":\n      return anchor // No change if orientation is \"right\"\n  }\n  return anchor\n}\n\nexport const flipSymbolOverXAxis = (\n  symbol: SchSymbol,\n  overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n  const { primitives, center, ports, size } = symbol\n  const transformMatrix = transform({\n    a: 1,\n    b: 0,\n    c: 0,\n    d: -1,\n    e: 0,\n    f: 2 * center.y,\n  })\n\n  const flippedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transformMatrix, point) as Point,\n          ),\n        }\n      case \"text\":\n        const flippedPoint = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        // Flip text anchors vertically\n        const anchorMap: Record<NinePointAnchor, NinePointAnchor> = {\n          top_left: \"bottom_left\",\n          top_right: \"bottom_right\",\n          bottom_left: \"top_left\",\n          bottom_right: \"top_right\",\n          center: \"center\",\n          middle_top: \"middle_bottom\",\n          middle_bottom: \"middle_top\",\n          middle_left: \"middle_left\",\n          middle_right: \"middle_right\",\n        }\n\n        return {\n          ...primitive,\n          x: flippedPoint.x,\n          y: flippedPoint.y,\n          anchor: anchorMap[primitive.anchor],\n        }\n      case \"circle\":\n      case \"box\":\n        const flippedCenter = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: flippedCenter.x,\n          y: flippedCenter.y,\n        }\n    }\n  })\n\n  const flippedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transformMatrix, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: flippedPrimitives,\n    center,\n    ports: flippedPorts,\n    size,\n    ...overrides,\n  }\n}\n\nexport const flipSymbolOverYAxis = (\n  symbol: SchSymbol,\n  overrides?: Partial<SchSymbol>,\n): SchSymbol => {\n  const { primitives, center, ports, size } = symbol\n  const transformMatrix = transform({\n    a: -1,\n    b: 0,\n    c: 0,\n    d: 1,\n    e: 0,\n    f: 2 * center.x,\n  })\n\n  const flippedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transformMatrix, point) as Point,\n          ),\n        }\n      case \"text\":\n        const flippedPoint = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        // Flip text anchors horizontally\n        const anchorMap: Record<NinePointAnchor, NinePointAnchor> = {\n          top_left: \"top_right\",\n          top_right: \"top_left\",\n          bottom_left: \"bottom_right\",\n          bottom_right: \"bottom_left\",\n          center: \"center\",\n          middle_top: \"middle_top\",\n          middle_bottom: \"middle_bottom\",\n          middle_left: \"middle_right\",\n          middle_right: \"middle_left\",\n        }\n\n        return {\n          ...primitive,\n          x: flippedPoint.x,\n          y: flippedPoint.y,\n          anchor: anchorMap[primitive.anchor],\n        }\n      case \"circle\":\n      case \"box\":\n        const flippedCenter = applyToPoint(transformMatrix, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: flippedCenter.x,\n          y: flippedCenter.y,\n        }\n    }\n  })\n\n  const flippedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transformMatrix, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: flippedPrimitives,\n    center,\n    ports: flippedPorts,\n    size,\n    ...overrides,\n  }\n}\n\nexport const rotateRightFacingSymbol = (\n  symbol: SchSymbol,\n  opts: {\n    newOrientation?: \"up\" | \"down\" | \"left\" | \"right\"\n    overrides?: Partial<SchSymbol>\n  },\n): SchSymbol => {\n  const { newOrientation, overrides } = opts\n  // Assuming the default orientation is \"right\"\n  const angleMap = {\n    up: Math.PI / 2,\n    right: 0,\n    down: -Math.PI / 2,\n    left: -Math.PI,\n  }\n\n  const transform = rotate(\n    newOrientation ? angleMap[newOrientation] : Math.PI / 2,\n    symbol.center.x,\n    symbol.center.y,\n  )\n\n  const { primitives, center, size, ports } = symbol\n\n  const rotatedPrimitives = primitives.map((primitive): Primitive => {\n    primitive = { ...primitive }\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map(\n            (point) => applyToPoint(transform, point) as Point,\n          ),\n        }\n      case \"text\":\n        const rotatedPoint = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n\n        primitive.anchor = rotateRightFacingAnchor(\n          primitive.anchor,\n          newOrientation ?? \"right\",\n        )\n\n        return {\n          ...primitive,\n          x: rotatedPoint.x,\n          y: rotatedPoint.y,\n        }\n      case \"circle\":\n        const rotatedCenter = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: rotatedCenter.x,\n          y: rotatedCenter.y,\n        }\n      case \"box\":\n        const rotatedCorner = applyToPoint(transform, {\n          x: primitive.x,\n          y: primitive.y,\n        }) as Point\n        return {\n          ...primitive,\n          x: rotatedCorner.x,\n          y: rotatedCorner.y,\n          width: primitive.height,\n          height: primitive.width,\n        }\n    }\n  })\n\n  const rotatedPorts = ports.map(\n    (port): Port => ({\n      ...port,\n      ...(applyToPoint(transform, port) as Point),\n    }),\n  )\n\n  return {\n    primitives: rotatedPrimitives,\n    center,\n    ports: rotatedPorts,\n    size: {\n      width:\n        newOrientation === \"up\" || newOrientation === \"down\"\n          ? size.width\n          : size.height,\n      height:\n        newOrientation === \"up\" || newOrientation === \"down\"\n          ? size.height\n          : size.width,\n    },\n    ...overrides,\n  }\n}\n\n/**\n * @deprecated use rotateRightFacingSymbol instead\n */\nexport const rotateSymbol = (\n  symbol: SchSymbol,\n  orientation: \"up\" | \"down\" | \"left\" | \"right\" = \"down\",\n  overrides: Partial<SchSymbol> = {},\n): SchSymbol =>\n  rotateRightFacingSymbol(symbol, {\n    newOrientation: orientation,\n    overrides,\n  })\n","import { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\nimport ac_voltmeter_horz from \"./ac_voltmeter_horz\"\n\nconst rotatedSymbol = rotateRightFacingSymbol(ac_voltmeter_horz, {\n  newOrientation: \"up\",\n})\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.0390362999999998\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.09325540000000054\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17132800000000015\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.0390362999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.09325539999999921\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17132800000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17132800000000015\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.09325539999999921\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.0390362999999998\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.0390362999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.03895110000000024\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.03895110000000024\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17181090000000032\n        },\n        {\n          \"x\": 0.07768859999999966,\n          \"y\": 0.19542900000000052\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.21083259999999981,\n          \"y\": -0.1180321000000002\n        },\n        {\n          \"x\": 0.14512999999999954,\n          \"y\": -0.094414\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.26884529999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27884529999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.03992070000000081\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.03889609999999988\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.37884529999999994,\n    \"maxY\": 0.26884529999999995,\n    \"width\": 1.094611082,\n    \"height\": 0.2976905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 0.05499999999999999\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/avalanche_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateRightFacingSymbol, rotateSymbol } from \"drawing/rotateSymbol\"\nimport avalanche_diode_horz from \"./avalanche_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateRightFacingSymbol(avalanche_diode_horz, {\n  newOrientation: \"down\",\n})\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05901489999999909,\n          \"y\": 0.18831315000000015\n        },\n        {\n          \"x\": -0.05869489999999833,\n          \"y\": -0.11814524999999954\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.015375000000000805,\n          \"y\": 0.12533125000000034\n        },\n        {\n          \"x\": 0.016669000000000933,\n          \"y\": -0.05562075000000033\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.06443049999999961,\n          \"y\": 0.032673549999999496\n        },\n        {\n          \"x\": -0.4368029,\n          \"y\": 0.032673549999999496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4350822999999997,\n          \"y\": 0.03438825000000034\n        },\n        {\n          \"x\": 0.028285099999999952,\n          \"y\": 0.03438825000000034\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.027835099999999446,\n      \"y\": 0.26564474999999943\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.028373699999999502,\n      \"y\": -0.27564474999999966\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4458008,\n      \"y\": 0.033557849999999334\n    },\n    \"right1\": {\n      \"x\": 0.4458008,\n      \"y\": 0.03343344999999931\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.473959241,\n    \"maxX\": 0.473959241,\n    \"minY\": -0.37564474999999964,\n    \"maxY\": 0.26564474999999943,\n    \"width\": 0.947918482,\n    \"height\": 0.2912894999999991,\n    \"centerX\": 0,\n    \"centerY\": 0.055000000000000104\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/battery.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\nimport battery_horz from \"./battery_horz\"\n\nexport default rotateRightFacingSymbol(battery_horz, {\n  newOrientation: \"up\",\n})\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.511850799999999,\n          \"y\": 0.04616140000000257\n        },\n        {\n          \"x\": -0.24726749999999953,\n          \"y\": 0.04616140000000257\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2818991000000013,\n          \"y\": 0.04616140000000257\n        },\n        {\n          \"x\": 0.5464825000000006,\n          \"y\": 0.04616140000000257\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0173157000000006,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.2818990000000001,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.2818990000000001,\n          \"y\": -0.0861302999999971\n        },\n        {\n          \"x\": -0.24726770000000053,\n          \"y\": -0.0861302999999971\n        },\n        {\n          \"x\": -0.24726770000000053,\n          \"y\": 0.17845310000000225\n        },\n        {\n          \"x\": 0.017315699999998824,\n          \"y\": 0.17845310000000225\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0014247999999992267,\n      \"y\": 0.2499980000000015\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0004627999999997634,\n      \"y\": -0.24999799999999972\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5337907000000002,\n      \"y\": 0.04580520000000021\n    },\n    \"right1\": {\n      \"x\": 0.5337907000000004,\n      \"y\": 0.04525870000000154\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5619491410000002,\n    \"maxX\": 0.5619491410000004,\n    \"minY\": -0.24999799999999972,\n    \"maxY\": 0.2499980000000015,\n    \"width\": 1.1238982820000005,\n    \"height\": 0.4999960000000012,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {}\n}","import { NinePointAnchor, SchSymbol } from \"drawing/types\"\nimport { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\n\ninterface ModifySymbolBuilder {\n  changeTextAnchor(\n    text: \"{REF}\" | \"{VAL}\" | string,\n    newAnchor: NinePointAnchor,\n  ): ModifySymbolBuilder\n  rotateRightFacingSymbol(\n    newOrientation: \"up\" | \"down\" | \"left\" | \"right\",\n  ): ModifySymbolBuilder\n  labelPort(currentLabel: string, newLabels: string[]): ModifySymbolBuilder\n  build(): SchSymbol\n}\n\nclass SymbolModifier implements ModifySymbolBuilder {\n  private symbol: SchSymbol\n\n  constructor(symbol: SchSymbol) {\n    this.symbol = JSON.parse(JSON.stringify(symbol))\n  }\n\n  changeTextAnchor(\n    text: \"{REF}\" | \"{VAL}\" | string,\n    newAnchor: NinePointAnchor,\n  ): ModifySymbolBuilder {\n    this.symbol = {\n      ...this.symbol,\n      primitives: this.symbol.primitives.map((primitive) => {\n        if (primitive.type === \"text\" && primitive.text === text) {\n          return {\n            ...primitive,\n            anchor: newAnchor,\n          }\n        }\n        return primitive\n      }),\n    }\n    return this\n  }\n\n  labelPort(currentLabel: string, newLabels: string[]): ModifySymbolBuilder {\n    this.symbol = {\n      ...this.symbol,\n      ports: this.symbol.ports.map((port) => {\n        return port.labels.includes(currentLabel)\n          ? { ...port, labels: newLabels }\n          : port\n      }),\n    }\n    return this\n  }\n\n  rotateRightFacingSymbol(\n    newOrientation: \"up\" | \"down\" | \"left\" | \"right\",\n  ): ModifySymbolBuilder {\n    this.symbol = rotateRightFacingSymbol(this.symbol, {\n      newOrientation,\n    })\n    return this\n  }\n\n  build(): SchSymbol {\n    return this.symbol\n  }\n}\n\nexport const modifySymbol = (symbol: any): ModifySymbolBuilder => {\n  return new SymbolModifier({\n    ...symbol,\n    primitives: symbol.primitives ?? [\n      ...Object.values(symbol.paths ?? {}),\n      ...Object.values(symbol.texts ?? {}),\n      ...Object.values(symbol.circles ?? {}),\n      ...Object.values(symbol.rects ?? {}),\n    ],\n    ports:\n      symbol.ports ??\n      Object.entries(symbol.refblocks).flatMap(([key, refblock]) => {\n        return [{ ...(refblock as object), labels: [key] }]\n      }),\n    center: symbol.center ?? {\n      x: symbol.bounds.centerX,\n      y: symbol.bounds.centerY,\n    },\n    size: symbol.size ?? {\n      width: symbol.bounds.width,\n      height: symbol.bounds.height,\n    },\n  })\n}\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.16,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.16,\n      y: 0.2294553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.1594553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.1594553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/boxresistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.16,\n      y: 0.2294553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.16,\n      y: 0.2294553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000002,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": 0.07314620000000005,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": -0.5353954999999999,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0731461999999996,\n          \"y\": 0.2818663500000014\n        },\n        {\n          \"x\": 0.07314620000000005,\n          \"y\": -0.24730024999999856\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": 0.2818663500000014\n        },\n        {\n          \"x\": -0.0856037999999999,\n          \"y\": -0.24730024999999856\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864500000000056,\n      \"y\": 0.4200086500000033\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850500000000423,\n      \"y\": -0.42000864999999976\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093000000005,\n      \"y\": 0.01638025000000276\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": 0.016926950000001995\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5793677410000004,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.42000864999999976,\n    \"maxY\": 0.4200086500000033,\n    \"width\": 1.1587354820000004,\n    \"height\": 0.8400173000000031,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.2,\n      y: 0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.2,\n      y: 0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"right\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","import { isPrimitive } from \"drawing/typeguards\"\nimport { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"./capacitor_right\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","{\n  \"paths\": {\n    \"path27-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000007,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": 0.001333100000000531,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08560379999999945,\n          \"y\": 0.017283050000003186\n        },\n        {\n          \"x\": -0.5353954999999995,\n          \"y\": 0.017283050000003186\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0024798999999995353,\n          \"y\": 0.28420285000000334\n        },\n        {\n          \"x\": -0.0024798999999995353,\n          \"y\": -0.247479349999999\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8704\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1433630999999993,\n          \"y\": -0.24400714999999806\n        },\n        {\n          \"x\": -0.1433630999999993,\n          \"y\": -0.24400714999999806\n        },\n        {\n          \"x\": -0.14262848833929928,\n          \"y\": -0.24277205092349807\n        },\n        {\n          \"x\": -0.1418975396743993,\n          \"y\": -0.2415360290679981\n        },\n        {\n          \"x\": -0.14117026348109932,\n          \"y\": -0.24029908349449816\n        },\n        {\n          \"x\": -0.14044666923519933,\n          \"y\": -0.23906121326399818\n        },\n        {\n          \"x\": -0.13972676641249931,\n          \"y\": -0.2378224174374982\n        },\n        {\n          \"x\": -0.1390105644887993,\n          \"y\": -0.23658269507599822\n        },\n        {\n          \"x\": -0.13829807293989932,\n          \"y\": -0.2353420452404983\n        },\n        {\n          \"x\": -0.13758930124159935,\n          \"y\": -0.23410046699199832\n        },\n        {\n          \"x\": -0.13688425886969938,\n          \"y\": -0.23285795939149836\n        },\n        {\n          \"x\": -0.13618295529999938,\n          \"y\": -0.23161452149999842\n        },\n        {\n          \"x\": -0.13548540000829937,\n          \"y\": -0.23037015237849842\n        },\n        {\n          \"x\": -0.13479160247039934,\n          \"y\": -0.22912485108799843\n        },\n        {\n          \"x\": -0.13410157216209936,\n          \"y\": -0.22787861668949844\n        },\n        {\n          \"x\": -0.1334153185591994,\n          \"y\": -0.22663144824399842\n        },\n        {\n          \"x\": -0.13273285113749936,\n          \"y\": -0.22538334481249844\n        },\n        {\n          \"x\": -0.13205417937279937,\n          \"y\": -0.22413430545599844\n        },\n        {\n          \"x\": -0.1313793127408994,\n          \"y\": -0.2228843292354985\n        },\n        {\n          \"x\": -0.1307082607175994,\n          \"y\": -0.22163341521199847\n        },\n        {\n          \"x\": -0.13004103277869938,\n          \"y\": -0.2203815624464985\n        },\n        {\n          \"x\": -0.1293776383999994,\n          \"y\": -0.21912876999999853\n        },\n        {\n          \"x\": -0.12871808705729942,\n          \"y\": -0.21787503693349855\n        },\n        {\n          \"x\": -0.12806238822639943,\n          \"y\": -0.21662036230799855\n        },\n        {\n          \"x\": -0.12741055138309942,\n          \"y\": -0.21536474518449858\n        },\n        {\n          \"x\": -0.12676258600319942,\n          \"y\": -0.21410818462399858\n        },\n        {\n          \"x\": -0.12611850156249946,\n          \"y\": -0.21285067968749863\n        },\n        {\n          \"x\": -0.12547830753679945,\n          \"y\": -0.21159222943599865\n        },\n        {\n          \"x\": -0.12484201340189946,\n          \"y\": -0.21033283293049862\n        },\n        {\n          \"x\": -0.12420962863359947,\n          \"y\": -0.20907248923199864\n        },\n        {\n          \"x\": -0.12358116270769948,\n          \"y\": -0.20781119740149864\n        },\n        {\n          \"x\": -0.12295662509999947,\n          \"y\": -0.20654895649999866\n        },\n        {\n          \"x\": -0.12233602528629947,\n          \"y\": -0.20528576558849868\n        },\n        {\n          \"x\": -0.12171937274239948,\n          \"y\": -0.20402162372799865\n        },\n        {\n          \"x\": -0.12110667694409948,\n          \"y\": -0.20275652997949864\n        },\n        {\n          \"x\": -0.12049794736719947,\n          \"y\": -0.2014904834039986\n        },\n        {\n          \"x\": -0.11989319348749948,\n          \"y\": -0.20022348306249865\n        },\n        {\n          \"x\": -0.11929242478079949,\n          \"y\": -0.19895552801599864\n        },\n        {\n          \"x\": -0.11869565072289952,\n          \"y\": -0.19768661732549864\n        },\n        {\n          \"x\": -0.11810288078959952,\n          \"y\": -0.19641675005199866\n        },\n        {\n          \"x\": -0.11751412445669952,\n          \"y\": -0.19514592525649863\n        },\n        {\n          \"x\": -0.1169293911999995,\n          \"y\": -0.1938741419999986\n        },\n        {\n          \"x\": -0.11634869049529953,\n          \"y\": -0.19260139934349865\n        },\n        {\n          \"x\": -0.11577203181839951,\n          \"y\": -0.1913276963479986\n        },\n        {\n          \"x\": -0.11519942464509951,\n          \"y\": -0.1900530320744986\n        },\n        {\n          \"x\": -0.11463087845119951,\n          \"y\": -0.18877740558399858\n        },\n        {\n          \"x\": -0.11406640271249952,\n          \"y\": -0.1875008159374986\n        },\n        {\n          \"x\": -0.11350600690479953,\n          \"y\": -0.18622326219599858\n        },\n        {\n          \"x\": -0.11294970050389953,\n          \"y\": -0.18494474342049858\n        },\n        {\n          \"x\": -0.11239749298559953,\n          \"y\": -0.1836652586719986\n        },\n        {\n          \"x\": -0.11184939382569953,\n          \"y\": -0.18238480701149856\n        },\n        {\n          \"x\": -0.11130541249999952,\n          \"y\": -0.18110338749999852\n        },\n        {\n          \"x\": -0.11076555848429954,\n          \"y\": -0.17982099919849853\n        },\n        {\n          \"x\": -0.11022984125439952,\n          \"y\": -0.1785376411679985\n        },\n        {\n          \"x\": -0.10969827028609953,\n          \"y\": -0.1772533124694985\n        },\n        {\n          \"x\": -0.10917085505519954,\n          \"y\": -0.17596801216399852\n        },\n        {\n          \"x\": -0.10864760503749954,\n          \"y\": -0.17468173931249847\n        },\n        {\n          \"x\": -0.10812852970879953,\n          \"y\": -0.17339449297599843\n        },\n        {\n          \"x\": -0.10761363854489954,\n          \"y\": -0.17210627221549843\n        },\n        {\n          \"x\": -0.10710294102159955,\n          \"y\": -0.17081707609199845\n        },\n        {\n          \"x\": -0.10659644661469955,\n          \"y\": -0.16952690366649845\n        },\n        {\n          \"x\": -0.10609416479999954,\n          \"y\": -0.1682357539999984\n        },\n        {\n          \"x\": -0.10559610505329955,\n          \"y\": -0.1669436261534984\n        },\n        {\n          \"x\": -0.10510227685039954,\n          \"y\": -0.1656505191879984\n        },\n        {\n          \"x\": -0.10461268966709955,\n          \"y\": -0.16435643216449838\n        },\n        {\n          \"x\": -0.10412735297919956,\n          \"y\": -0.16306136414399838\n        },\n        {\n          \"x\": -0.10364627626249956,\n          \"y\": -0.16176531418749837\n        },\n        {\n          \"x\": -0.10316946899279957,\n          \"y\": -0.16046828135599833\n        },\n        {\n          \"x\": -0.10269694064589956,\n          \"y\": -0.15917026471049833\n        },\n        {\n          \"x\": -0.10222870069759955,\n          \"y\": -0.1578712633119983\n        },\n        {\n          \"x\": -0.10176475862369955,\n          \"y\": -0.1565712762214983\n        },\n        {\n          \"x\": -0.10130512389999956,\n          \"y\": -0.1552703024999983\n        },\n        {\n          \"x\": -0.10084980600229956,\n          \"y\": -0.15396834120849828\n        },\n        {\n          \"x\": -0.10039881440639958,\n          \"y\": -0.15266539140799829\n        },\n        {\n          \"x\": -0.09995215858809957,\n          \"y\": -0.15136145215949826\n        },\n        {\n          \"x\": -0.09950984802319957,\n          \"y\": -0.15005652252399826\n        },\n        {\n          \"x\": -0.09907189218749957,\n          \"y\": -0.14875060156249825\n        },\n        {\n          \"x\": -0.09863830055679956,\n          \"y\": -0.14744368833599825\n        },\n        {\n          \"x\": -0.09820908260689958,\n          \"y\": -0.14613578190549825\n        },\n        {\n          \"x\": -0.09778424781359957,\n          \"y\": -0.14482688133199823\n        },\n        {\n          \"x\": -0.09736380565269957,\n          \"y\": -0.1435169856764982\n        },\n        {\n          \"x\": -0.09694776559999957,\n          \"y\": -0.1422060939999982\n        },\n        {\n          \"x\": -0.09653613713129958,\n          \"y\": -0.1408942053634982\n        },\n        {\n          \"x\": -0.09612892972239956,\n          \"y\": -0.13958131882799818\n        },\n        {\n          \"x\": -0.09572615284909958,\n          \"y\": -0.13826743345449818\n        },\n        {\n          \"x\": -0.09532781598719958,\n          \"y\": -0.13695254830399817\n        },\n        {\n          \"x\": -0.09493392861249958,\n          \"y\": -0.13563666243749817\n        },\n        {\n          \"x\": -0.09454450020079957,\n          \"y\": -0.13431977491599817\n        },\n        {\n          \"x\": -0.09415954022789956,\n          \"y\": -0.13300188480049818\n        },\n        {\n          \"x\": -0.09377905816959958,\n          \"y\": -0.13168299115199816\n        },\n        {\n          \"x\": -0.09340306350169958,\n          \"y\": -0.13036309303149818\n        },\n        {\n          \"x\": -0.09303156569999958,\n          \"y\": -0.12904218949999818\n        },\n        {\n          \"x\": -0.09266457424029959,\n          \"y\": -0.12772027961849816\n        },\n        {\n          \"x\": -0.09230209859839958,\n          \"y\": -0.12639736244799815\n        },\n        {\n          \"x\": -0.09194414825009957,\n          \"y\": -0.12507343704949817\n        },\n        {\n          \"x\": -0.09159073267119958,\n          \"y\": -0.12374850248399819\n        },\n        {\n          \"x\": -0.09124186133749958,\n          \"y\": -0.12242255781249818\n        },\n        {\n          \"x\": -0.09089754372479958,\n          \"y\": -0.12109560209599818\n        },\n        {\n          \"x\": -0.09055778930889957,\n          \"y\": -0.11976763439549819\n        },\n        {\n          \"x\": -0.09022260756559956,\n          \"y\": -0.11843865377199818\n        },\n        {\n          \"x\": -0.08989200797069956,\n          \"y\": -0.11710865928649819\n        },\n        {\n          \"x\": -0.08956599999999959,\n          \"y\": -0.11577764999999829\n        },\n        {\n          \"x\": -0.08956599999999959,\n          \"y\": -0.11577764999999829\n        },\n        {\n          \"x\": -0.08916166532269958,\n          \"y\": -0.1141015840276983\n        },\n        {\n          \"x\": -0.08876332646159957,\n          \"y\": -0.11242441110159831\n        },\n        {\n          \"x\": -0.08837097017289958,\n          \"y\": -0.11074614170789834\n        },\n        {\n          \"x\": -0.08798458321279957,\n          \"y\": -0.10906678633279836\n        },\n        {\n          \"x\": -0.08760415233749957,\n          \"y\": -0.10738635546249836\n        },\n        {\n          \"x\": -0.08722966430319957,\n          \"y\": -0.10570485958319836\n        },\n        {\n          \"x\": -0.08686110586609956,\n          \"y\": -0.10402230918109837\n        },\n        {\n          \"x\": -0.08649846378239957,\n          \"y\": -0.10233871474239843\n        },\n        {\n          \"x\": -0.0861417248082996,\n          \"y\": -0.10065408675329846\n        },\n        {\n          \"x\": -0.08579087569999959,\n          \"y\": -0.09896843569999846\n        },\n        {\n          \"x\": -0.08544590321369959,\n          \"y\": -0.09728177206869845\n        },\n        {\n          \"x\": -0.08510679410559958,\n          \"y\": -0.09559410634559845\n        },\n        {\n          \"x\": -0.08477353513189957,\n          \"y\": -0.09390544901689848\n        },\n        {\n          \"x\": -0.08444611304879956,\n          \"y\": -0.09221581056879849\n        },\n        {\n          \"x\": -0.08412451461249956,\n          \"y\": -0.0905252014874985\n        },\n        {\n          \"x\": -0.08380872657919955,\n          \"y\": -0.0888336322591985\n        },\n        {\n          \"x\": -0.08349873570509957,\n          \"y\": -0.08714111337009853\n        },\n        {\n          \"x\": -0.08319452874639957,\n          \"y\": -0.08544765530639854\n        },\n        {\n          \"x\": -0.08289609245929955,\n          \"y\": -0.08375326855429854\n        },\n        {\n          \"x\": -0.08260341359999955,\n          \"y\": -0.08205796359999856\n        },\n        {\n          \"x\": -0.08231647892469955,\n          \"y\": -0.08036175092969856\n        },\n        {\n          \"x\": -0.08203527518959956,\n          \"y\": -0.07866464102959857\n        },\n        {\n          \"x\": -0.08175978915089956,\n          \"y\": -0.07696664438589859\n        },\n        {\n          \"x\": -0.08149000756479956,\n          \"y\": -0.07526777148479862\n        },\n        {\n          \"x\": -0.08122591718749958,\n          \"y\": -0.07356803281249863\n        },\n        {\n          \"x\": -0.08096750477519957,\n          \"y\": -0.07186743885519864\n        },\n        {\n          \"x\": -0.08071475708409956,\n          \"y\": -0.07016600009909864\n        },\n        {\n          \"x\": -0.08046766087039958,\n          \"y\": -0.06846372703039866\n        },\n        {\n          \"x\": -0.08022620289029957,\n          \"y\": -0.06676063013529866\n        },\n        {\n          \"x\": -0.07999036989999955,\n          \"y\": -0.06505671989999867\n        },\n        {\n          \"x\": -0.07976014865569958,\n          \"y\": -0.06335200681069868\n        },\n        {\n          \"x\": -0.07953552591359955,\n          \"y\": -0.061646501353598705\n        },\n        {\n          \"x\": -0.07931648842989956,\n          \"y\": -0.0599402140148987\n        },\n        {\n          \"x\": -0.07910302296079955,\n          \"y\": -0.0582331552807987\n        },\n        {\n          \"x\": -0.07889511626249955,\n          \"y\": -0.05652533563749871\n        },\n        {\n          \"x\": -0.07869275509119955,\n          \"y\": -0.05481676557119872\n        },\n        {\n          \"x\": -0.07849592620309954,\n          \"y\": -0.053107455568098726\n        },\n        {\n          \"x\": -0.07830461635439954,\n          \"y\": -0.05139741611439873\n        },\n        {\n          \"x\": -0.07811881230129955,\n          \"y\": -0.049686657696298736\n        },\n        {\n          \"x\": -0.07793850079999953,\n          \"y\": -0.04797519079999873\n        },\n        {\n          \"x\": -0.07776366860669955,\n          \"y\": -0.04626302591169874\n        },\n        {\n          \"x\": -0.07759430247759955,\n          \"y\": -0.04455017351759874\n        },\n        {\n          \"x\": -0.07743038916889955,\n          \"y\": -0.042836644103898744\n        },\n        {\n          \"x\": -0.07727191543679954,\n          \"y\": -0.04112244815679875\n        },\n        {\n          \"x\": -0.07711886803749955,\n          \"y\": -0.039407596162498754\n        },\n        {\n          \"x\": -0.07697123372719955,\n          \"y\": -0.03769209860719875\n        },\n        {\n          \"x\": -0.07682899926209953,\n          \"y\": -0.035975965977098755\n        },\n        {\n          \"x\": -0.07669215139839955,\n          \"y\": -0.03425920875839876\n        },\n        {\n          \"x\": -0.07656067689229953,\n          \"y\": -0.032541837437298764\n        },\n        {\n          \"x\": -0.07643456249999953,\n          \"y\": -0.03082386249999876\n        },\n        {\n          \"x\": -0.07631379497769952,\n          \"y\": -0.029105294432698766\n        },\n        {\n          \"x\": -0.07619836108159952,\n          \"y\": -0.02738614372159877\n        },\n        {\n          \"x\": -0.07608824756789952,\n          \"y\": -0.02566642085289876\n        },\n        {\n          \"x\": -0.07598344119279953,\n          \"y\": -0.023946136312798766\n        },\n        {\n          \"x\": -0.07588392871249951,\n          \"y\": -0.02222530058749876\n        },\n        {\n          \"x\": -0.0757896968831995,\n          \"y\": -0.020503924163198756\n        },\n        {\n          \"x\": -0.07570073246109951,\n          \"y\": -0.01878201752609876\n        },\n        {\n          \"x\": -0.07561702220239952,\n          \"y\": -0.017059591162398753\n        },\n        {\n          \"x\": -0.07553855286329951,\n          \"y\": -0.015336655558298754\n        },\n        {\n          \"x\": -0.07546531119999951,\n          \"y\": -0.01361322119999875\n        },\n        {\n          \"x\": -0.07539728396869952,\n          \"y\": -0.011889298573698748\n        },\n        {\n          \"x\": -0.07533445792559951,\n          \"y\": -0.010164898165598747\n        },\n        {\n          \"x\": -0.07527681982689952,\n          \"y\": -0.008440030461898743\n        },\n        {\n          \"x\": -0.07522435642879952,\n          \"y\": -0.006714705948798734\n        },\n        {\n          \"x\": -0.07517705448749952,\n          \"y\": -0.004988935112498731\n        },\n        {\n          \"x\": -0.07513490075919951,\n          \"y\": -0.0032627284391987255\n        },\n        {\n          \"x\": -0.07509788200009951,\n          \"y\": -0.0015360964150987165\n        },\n        {\n          \"x\": -0.07506598496639952,\n          \"y\": 0.0001909504736012889\n        },\n        {\n          \"x\": -0.0750391964142995,\n          \"y\": 0.0019184017407012956\n        },\n        {\n          \"x\": -0.07501750309999951,\n          \"y\": 0.003646246900001303\n        },\n        {\n          \"x\": -0.07500089177969951,\n          \"y\": 0.00537447546530131\n        },\n        {\n          \"x\": -0.07498934920959952,\n          \"y\": 0.00710307695040132\n        },\n        {\n          \"x\": -0.0749828621458995,\n          \"y\": 0.00883204086910133\n        },\n        {\n          \"x\": -0.0749814173447995,\n          \"y\": 0.010561356735201338\n        },\n        {\n          \"x\": -0.07498500156249951,\n          \"y\": 0.012291014062501347\n        },\n        {\n          \"x\": -0.0749936015551995,\n          \"y\": 0.014021002364801359\n        },\n        {\n          \"x\": -0.07500720407909953,\n          \"y\": 0.015751311155901372\n        },\n        {\n          \"x\": -0.07502579589039951,\n          \"y\": 0.017481929949601384\n        },\n        {\n          \"x\": -0.0750493637452995,\n          \"y\": 0.01921284825970139\n        },\n        {\n          \"x\": -0.07507789439999951,\n          \"y\": 0.0209440556000014\n        },\n        {\n          \"x\": -0.0751113746106995,\n          \"y\": 0.022675541484301412\n        },\n        {\n          \"x\": -0.0751497911335995,\n          \"y\": 0.024407295426401427\n        },\n        {\n          \"x\": -0.07519313072489951,\n          \"y\": 0.02613930694010145\n        },\n        {\n          \"x\": -0.07524138014079951,\n          \"y\": 0.027871565539201462\n        },\n        {\n          \"x\": -0.07529452613749951,\n          \"y\": 0.029604060737501478\n        },\n        {\n          \"x\": -0.07535255547119951,\n          \"y\": 0.031336782048801484\n        },\n        {\n          \"x\": -0.0754154548980995,\n          \"y\": 0.0330697189869015\n        },\n        {\n          \"x\": -0.07548321117439952,\n          \"y\": 0.03480286106560152\n        },\n        {\n          \"x\": -0.07555581105629952,\n          \"y\": 0.03653619779870154\n        },\n        {\n          \"x\": -0.07563324129999952,\n          \"y\": 0.038269718700001565\n        },\n        {\n          \"x\": -0.07571548866169951,\n          \"y\": 0.04000341328330158\n        },\n        {\n          \"x\": -0.07580253989759951,\n          \"y\": 0.04173727106240159\n        },\n        {\n          \"x\": -0.07589438176389952,\n          \"y\": 0.043471281551101616\n        },\n        {\n          \"x\": -0.07599100101679952,\n          \"y\": 0.04520543426320164\n        },\n        {\n          \"x\": -0.07609238441249952,\n          \"y\": 0.04693971871250166\n        },\n        {\n          \"x\": -0.07619851870719953,\n          \"y\": 0.048674124412801674\n        },\n        {\n          \"x\": -0.07630939065709953,\n          \"y\": 0.0504086408779017\n        },\n        {\n          \"x\": -0.07642498701839952,\n          \"y\": 0.05214325762160172\n        },\n        {\n          \"x\": -0.07654529454729952,\n          \"y\": 0.05387796415770175\n        },\n        {\n          \"x\": -0.07667029999999952,\n          \"y\": 0.055612750000001654\n        },\n        {\n          \"x\": -0.07667029999999952,\n          \"y\": 0.055612750000001654\n        },\n        {\n          \"x\": -0.07680210846969952,\n          \"y\": 0.05708314936460168\n        },\n        {\n          \"x\": -0.07693595411759954,\n          \"y\": 0.05855396299680169\n        },\n        {\n          \"x\": -0.07707186730189955,\n          \"y\": 0.06002517220420173\n        },\n        {\n          \"x\": -0.07720987838079954,\n          \"y\": 0.06149675829440175\n        },\n        {\n          \"x\": -0.07735001771249954,\n          \"y\": 0.06296870257500178\n        },\n        {\n          \"x\": -0.07749231565519954,\n          \"y\": 0.06444098635360178\n        },\n        {\n          \"x\": -0.07763680256709955,\n          \"y\": 0.0659135909378018\n        },\n        {\n          \"x\": -0.07778350880639956,\n          \"y\": 0.06738649763520185\n        },\n        {\n          \"x\": -0.07793246473129956,\n          \"y\": 0.06885968775340187\n        },\n        {\n          \"x\": -0.07808370069999958,\n          \"y\": 0.07033314260000188\n        },\n        {\n          \"x\": -0.07823724707069958,\n          \"y\": 0.07180684348260188\n        },\n        {\n          \"x\": -0.07839313420159956,\n          \"y\": 0.07328077170880191\n        },\n        {\n          \"x\": -0.07855139245089958,\n          \"y\": 0.07475490858620194\n        },\n        {\n          \"x\": -0.07871205217679958,\n          \"y\": 0.07622923542240194\n        },\n        {\n          \"x\": -0.07887514373749958,\n          \"y\": 0.07770373352500196\n        },\n        {\n          \"x\": -0.07904069749119959,\n          \"y\": 0.07917838420160196\n        },\n        {\n          \"x\": -0.07920874379609959,\n          \"y\": 0.080653168759802\n        },\n        {\n          \"x\": -0.07937931301039959,\n          \"y\": 0.082128068507202\n        },\n        {\n          \"x\": -0.07955243549229958,\n          \"y\": 0.08360306475140203\n        },\n        {\n          \"x\": -0.0797281415999996,\n          \"y\": 0.085078138800002\n        },\n        {\n          \"x\": -0.0799064616916996,\n          \"y\": 0.08655327196060203\n        },\n        {\n          \"x\": -0.08008742612559962,\n          \"y\": 0.08802844554080204\n        },\n        {\n          \"x\": -0.08027106525989962,\n          \"y\": 0.08950364084820207\n        },\n        {\n          \"x\": -0.08045740945279962,\n          \"y\": 0.09097883919040207\n        },\n        {\n          \"x\": -0.08064648906249965,\n          \"y\": 0.0924540218750021\n        },\n        {\n          \"x\": -0.08083833444719964,\n          \"y\": 0.0939291702096021\n        },\n        {\n          \"x\": -0.08103297596509963,\n          \"y\": 0.09540426550180209\n        },\n        {\n          \"x\": -0.08123044397439966,\n          \"y\": 0.09687928905920212\n        },\n        {\n          \"x\": -0.08143076883329967,\n          \"y\": 0.09835422218940212\n        },\n        {\n          \"x\": -0.08163398089999965,\n          \"y\": 0.09982904620000212\n        },\n        {\n          \"x\": -0.08184011053269966,\n          \"y\": 0.10130374239860213\n        },\n        {\n          \"x\": -0.08204918808959966,\n          \"y\": 0.10277829209280215\n        },\n        {\n          \"x\": -0.08226124392889968,\n          \"y\": 0.10425267659020215\n        },\n        {\n          \"x\": -0.08247630840879966,\n          \"y\": 0.10572687719840214\n        },\n        {\n          \"x\": -0.08269441188749967,\n          \"y\": 0.10720087522500214\n        },\n        {\n          \"x\": -0.08291558472319968,\n          \"y\": 0.10867465197760214\n        },\n        {\n          \"x\": -0.0831398572740997,\n          \"y\": 0.11014818876380215\n        },\n        {\n          \"x\": -0.08336725989839969,\n          \"y\": 0.11162146689120216\n        },\n        {\n          \"x\": -0.0835978229542997,\n          \"y\": 0.11309446766740217\n        },\n        {\n          \"x\": -0.0838315767999997,\n          \"y\": 0.11456717240000215\n        },\n        {\n          \"x\": -0.08406855179369971,\n          \"y\": 0.11603956239660215\n        },\n        {\n          \"x\": -0.0843087782935997,\n          \"y\": 0.11751161896480215\n        },\n        {\n          \"x\": -0.08455228665789971,\n          \"y\": 0.11898332341220215\n        },\n        {\n          \"x\": -0.0847991072447997,\n          \"y\": 0.12045465704640215\n        },\n        {\n          \"x\": -0.08504927041249971,\n          \"y\": 0.12192560117500215\n        },\n        {\n          \"x\": -0.0853028065191997,\n          \"y\": 0.12339613710560214\n        },\n        {\n          \"x\": -0.08555974592309973,\n          \"y\": 0.12486624614580213\n        },\n        {\n          \"x\": -0.08582011898239973,\n          \"y\": 0.12633590960320215\n        },\n        {\n          \"x\": -0.08608395605529973,\n          \"y\": 0.12780510878540213\n        },\n        {\n          \"x\": -0.08635128749999971,\n          \"y\": 0.1292738250000021\n        },\n        {\n          \"x\": -0.08662214367469973,\n          \"y\": 0.1307420395546021\n        },\n        {\n          \"x\": -0.08689655493759973,\n          \"y\": 0.1322097337568021\n        },\n        {\n          \"x\": -0.08717455164689972,\n          \"y\": 0.13367688891420207\n        },\n        {\n          \"x\": -0.08745616416079972,\n          \"y\": 0.13514348633440207\n        },\n        {\n          \"x\": -0.08774142283749972,\n          \"y\": 0.13660950732500204\n        },\n        {\n          \"x\": -0.08803035803519974,\n          \"y\": 0.13807493319360203\n        },\n        {\n          \"x\": -0.08832300011209973,\n          \"y\": 0.13953974524780205\n        },\n        {\n          \"x\": -0.08861937942639975,\n          \"y\": 0.14100392479520202\n        },\n        {\n          \"x\": -0.08891952633629974,\n          \"y\": 0.14246745314340203\n        },\n        {\n          \"x\": -0.08922347119999974,\n          \"y\": 0.14393031160000203\n        },\n        {\n          \"x\": -0.08953124437569973,\n          \"y\": 0.145392481472602\n        },\n        {\n          \"x\": -0.08984287622159975,\n          \"y\": 0.14685394406880198\n        },\n        {\n          \"x\": -0.09015839709589976,\n          \"y\": 0.148314680696202\n        },\n        {\n          \"x\": -0.09047783735679976,\n          \"y\": 0.149774672662402\n        },\n        {\n          \"x\": -0.09080122736249976,\n          \"y\": 0.15123390127500197\n        },\n        {\n          \"x\": -0.09112859747119977,\n          \"y\": 0.15269234784160193\n        },\n        {\n          \"x\": -0.09145997804109976,\n          \"y\": 0.15414999366980195\n        },\n        {\n          \"x\": -0.09179539943039977,\n          \"y\": 0.15560682006720195\n        },\n        {\n          \"x\": -0.09213489199729977,\n          \"y\": 0.1570628083414019\n        },\n        {\n          \"x\": -0.09247848609999976,\n          \"y\": 0.1585179398000019\n        },\n        {\n          \"x\": -0.09282621209669975,\n          \"y\": 0.1599721957506019\n        },\n        {\n          \"x\": -0.09317810034559978,\n          \"y\": 0.1614255575008019\n        },\n        {\n          \"x\": -0.09353418120489977,\n          \"y\": 0.16287800635820185\n        },\n        {\n          \"x\": -0.09389448503279976,\n          \"y\": 0.16432952363040182\n        },\n        {\n          \"x\": -0.09425904218749978,\n          \"y\": 0.16578009062500182\n        },\n        {\n          \"x\": -0.09462788302719977,\n          \"y\": 0.1672296886496018\n        },\n        {\n          \"x\": -0.09500103791009978,\n          \"y\": 0.1686782990118018\n        },\n        {\n          \"x\": -0.09537853719439979,\n          \"y\": 0.17012590301920177\n        },\n        {\n          \"x\": -0.09576041123829979,\n          \"y\": 0.17157248197940175\n        },\n        {\n          \"x\": -0.09614669039999979,\n          \"y\": 0.17301801720000176\n        },\n        {\n          \"x\": -0.09653740503769978,\n          \"y\": 0.17446248998860173\n        },\n        {\n          \"x\": -0.0969325855095998,\n          \"y\": 0.17590588165280172\n        },\n        {\n          \"x\": -0.09733226217389979,\n          \"y\": 0.17734817350020168\n        },\n        {\n          \"x\": -0.09773646538879979,\n          \"y\": 0.1787893468384017\n        },\n        {\n          \"x\": -0.0981452255124998,\n          \"y\": 0.18022938297500168\n        },\n        {\n          \"x\": -0.0985585729031998,\n          \"y\": 0.18166826321760166\n        },\n        {\n          \"x\": -0.09897653791909979,\n          \"y\": 0.1831059688738016\n        },\n        {\n          \"x\": -0.09939915091839979,\n          \"y\": 0.1845424812512016\n        },\n        {\n          \"x\": -0.0998264422592998,\n          \"y\": 0.1859777816574016\n        },\n        {\n          \"x\": -0.1002584422999998,\n          \"y\": 0.1874118514000016\n        },\n        {\n          \"x\": -0.1006951813986998,\n          \"y\": 0.18884467178660155\n        },\n        {\n          \"x\": -0.1011366899135998,\n          \"y\": 0.19027622412480152\n        },\n        {\n          \"x\": -0.10158299820289979,\n          \"y\": 0.19170648972220153\n        },\n        {\n          \"x\": -0.1020341366247998,\n          \"y\": 0.1931354498864015\n        },\n        {\n          \"x\": -0.1024901355374998,\n          \"y\": 0.1945630859250015\n        },\n        {\n          \"x\": -0.1029510252991998,\n          \"y\": 0.19598937914560147\n        },\n        {\n          \"x\": -0.10341683626809982,\n          \"y\": 0.19741431085580147\n        },\n        {\n          \"x\": -0.1038875988023998,\n          \"y\": 0.19883786236320142\n        },\n        {\n          \"x\": -0.1043633432602998,\n          \"y\": 0.20026001497540138\n        },\n        {\n          \"x\": -0.10484409999999977,\n          \"y\": 0.2016807500000013\n        },\n        {\n          \"x\": -0.10484409999999977,\n          \"y\": 0.2016807500000013\n        },\n        {\n          \"x\": -0.10512829034499978,\n          \"y\": 0.20251255364660126\n        },\n        {\n          \"x\": -0.10541452131999979,\n          \"y\": 0.2033439212528012\n        },\n        {\n          \"x\": -0.10570279283499981,\n          \"y\": 0.2041748478182012\n        },\n        {\n          \"x\": -0.10599310479999982,\n          \"y\": 0.20500532834240115\n        },\n        {\n          \"x\": -0.10628545712499982,\n          \"y\": 0.20583535782500112\n        },\n        {\n          \"x\": -0.10657984971999983,\n          \"y\": 0.20666493126560112\n        },\n        {\n          \"x\": -0.10687628249499985,\n          \"y\": 0.2074940436638011\n        },\n        {\n          \"x\": -0.10717475535999986,\n          \"y\": 0.20832269001920106\n        },\n        {\n          \"x\": -0.10747526822499989,\n          \"y\": 0.2091508653314011\n        },\n        {\n          \"x\": -0.1077778209999999,\n          \"y\": 0.20997856460000103\n        },\n        {\n          \"x\": -0.10808241359499988,\n          \"y\": 0.21080578282460102\n        },\n        {\n          \"x\": -0.10838904591999989,\n          \"y\": 0.21163251500480096\n        },\n        {\n          \"x\": -0.10869771788499989,\n          \"y\": 0.212458756140201\n        },\n        {\n          \"x\": -0.10900842939999988,\n          \"y\": 0.21328450123040094\n        },\n        {\n          \"x\": -0.10932118037499987,\n          \"y\": 0.21410974527500093\n        },\n        {\n          \"x\": -0.10963597071999989,\n          \"y\": 0.21493448327360093\n        },\n        {\n          \"x\": -0.10995280034499992,\n          \"y\": 0.21575871022580093\n        },\n        {\n          \"x\": -0.1102716691599999,\n          \"y\": 0.2165824211312009\n        },\n        {\n          \"x\": -0.1105925770749999,\n          \"y\": 0.21740561098940095\n        },\n        {\n          \"x\": -0.11091552399999992,\n          \"y\": 0.21822827480000093\n        },\n        {\n          \"x\": -0.1112405098449999,\n          \"y\": 0.2190504075626009\n        },\n        {\n          \"x\": -0.11156753451999993,\n          \"y\": 0.21987200427680093\n        },\n        {\n          \"x\": -0.11189659793499994,\n          \"y\": 0.22069305994220095\n        },\n        {\n          \"x\": -0.11222769999999993,\n          \"y\": 0.22151356955840096\n        },\n        {\n          \"x\": -0.11256084062499995,\n          \"y\": 0.222333528125001\n        },\n        {\n          \"x\": -0.11289601971999996,\n          \"y\": 0.223152930641601\n        },\n        {\n          \"x\": -0.11323323719499996,\n          \"y\": 0.223971772107801\n        },\n        {\n          \"x\": -0.11357249295999995,\n          \"y\": 0.22479004752320103\n        },\n        {\n          \"x\": -0.11391378692499997,\n          \"y\": 0.22560775188740104\n        },\n        {\n          \"x\": -0.11425711899999995,\n          \"y\": 0.22642488020000104\n        },\n        {\n          \"x\": -0.11460248909499995,\n          \"y\": 0.22724142746060105\n        },\n        {\n          \"x\": -0.11494989711999995,\n          \"y\": 0.2280573886688011\n        },\n        {\n          \"x\": -0.11529934298499996,\n          \"y\": 0.22887275882420108\n        },\n        {\n          \"x\": -0.11565082659999995,\n          \"y\": 0.22968753292640107\n        },\n        {\n          \"x\": -0.11600434787499994,\n          \"y\": 0.23050170597500114\n        },\n        {\n          \"x\": -0.11635990671999996,\n          \"y\": 0.23131527296960114\n        },\n        {\n          \"x\": -0.11671750304499996,\n          \"y\": 0.23212822890980117\n        },\n        {\n          \"x\": -0.11707713675999995,\n          \"y\": 0.23294056879520117\n        },\n        {\n          \"x\": -0.11743880777499995,\n          \"y\": 0.2337522876254012\n        },\n        {\n          \"x\": -0.11780251599999993,\n          \"y\": 0.2345633804000012\n        },\n        {\n          \"x\": -0.11816826134499994,\n          \"y\": 0.23537384211860124\n        },\n        {\n          \"x\": -0.11853604371999993,\n          \"y\": 0.23618366778080127\n        },\n        {\n          \"x\": -0.11890586303499992,\n          \"y\": 0.2369928523862013\n        },\n        {\n          \"x\": -0.11927771919999992,\n          \"y\": 0.23780139093440128\n        },\n        {\n          \"x\": -0.11965161212499995,\n          \"y\": 0.23860927842500138\n        },\n        {\n          \"x\": -0.12002754171999992,\n          \"y\": 0.23941650985760138\n        },\n        {\n          \"x\": -0.12040550789499993,\n          \"y\": 0.24022308023180142\n        },\n        {\n          \"x\": -0.12078551055999992,\n          \"y\": 0.24102898454720142\n        },\n        {\n          \"x\": -0.12116754962499991,\n          \"y\": 0.24183421780340145\n        },\n        {\n          \"x\": -0.12155162499999989,\n          \"y\": 0.24263877500000142\n        },\n        {\n          \"x\": -0.1219377365949999,\n          \"y\": 0.2434426511366015\n        },\n        {\n          \"x\": -0.1223258843199999,\n          \"y\": 0.2442458412128015\n        },\n        {\n          \"x\": -0.1227160680849999,\n          \"y\": 0.24504834022820154\n        },\n        {\n          \"x\": -0.12310828779999988,\n          \"y\": 0.24585014318240156\n        },\n        {\n          \"x\": -0.12350254337499987,\n          \"y\": 0.24665124507500158\n        },\n        {\n          \"x\": -0.12389883471999988,\n          \"y\": 0.24745164090560162\n        },\n        {\n          \"x\": -0.12429716174499987,\n          \"y\": 0.24825132567380165\n        },\n        {\n          \"x\": -0.12469752435999987,\n          \"y\": 0.2490502943792017\n        },\n        {\n          \"x\": -0.12509992247499988,\n          \"y\": 0.2498485420214017\n        },\n        {\n          \"x\": -0.12550435599999984,\n          \"y\": 0.25064606360000175\n        },\n        {\n          \"x\": -0.12591082484499985,\n          \"y\": 0.25144285411460177\n        },\n        {\n          \"x\": -0.12631932891999986,\n          \"y\": 0.2522389085648018\n        },\n        {\n          \"x\": -0.12672986813499987,\n          \"y\": 0.25303422195020187\n        },\n        {\n          \"x\": -0.12714244239999986,\n          \"y\": 0.25382878927040187\n        },\n        {\n          \"x\": -0.12755705162499986,\n          \"y\": 0.25462260552500193\n        },\n        {\n          \"x\": -0.12797369571999986,\n          \"y\": 0.25541566571360197\n        },\n        {\n          \"x\": -0.12839237459499983,\n          \"y\": 0.256207964835802\n        },\n        {\n          \"x\": -0.12881308815999984,\n          \"y\": 0.256999497891202\n        },\n        {\n          \"x\": -0.12923583632499985,\n          \"y\": 0.2577902598794021\n        },\n        {\n          \"x\": -0.12966061899999984,\n          \"y\": 0.2585802458000021\n        },\n        {\n          \"x\": -0.13008743609499984,\n          \"y\": 0.25936945065260214\n        },\n        {\n          \"x\": -0.13051628751999986,\n          \"y\": 0.2601578694368022\n        },\n        {\n          \"x\": -0.13094717318499982,\n          \"y\": 0.26094549715220217\n        },\n        {\n          \"x\": -0.13138009299999984,\n          \"y\": 0.26173232879840225\n        },\n        {\n          \"x\": -0.13181504687499984,\n          \"y\": 0.2625183593750023\n        },\n        {\n          \"x\": -0.13225203471999986,\n          \"y\": 0.2633035838816023\n        },\n        {\n          \"x\": -0.13269105644499984,\n          \"y\": 0.26408799731780236\n        },\n        {\n          \"x\": -0.13313211195999985,\n          \"y\": 0.26487159468320237\n        },\n        {\n          \"x\": -0.13357520117499982,\n          \"y\": 0.2656543709774024\n        },\n        {\n          \"x\": -0.13402032399999986,\n          \"y\": 0.26643632120000244\n        },\n        {\n          \"x\": -0.13446748034499983,\n          \"y\": 0.26721744035060246\n        },\n        {\n          \"x\": -0.13491667011999983,\n          \"y\": 0.26799772342880246\n        },\n        {\n          \"x\": -0.13536789323499984,\n          \"y\": 0.2687771654342025\n        },\n        {\n          \"x\": -0.13582114959999986,\n          \"y\": 0.2695557613664026\n        },\n        {\n          \"x\": -0.13627643912499987,\n          \"y\": 0.27033350622500263\n        },\n        {\n          \"x\": -0.13673376171999985,\n          \"y\": 0.27111039500960266\n        },\n        {\n          \"x\": -0.13719311729499983,\n          \"y\": 0.2718864227198026\n        },\n        {\n          \"x\": -0.13765450575999985,\n          \"y\": 0.2726615843552027\n        },\n        {\n          \"x\": -0.13811792702499986,\n          \"y\": 0.2734358749154028\n        },\n        {\n          \"x\": -0.1385833809999999,\n          \"y\": 0.2742092894000028\n        },\n        {\n          \"x\": -0.13905086759499988,\n          \"y\": 0.2749818228086028\n        },\n        {\n          \"x\": -0.1395203867199999,\n          \"y\": 0.2757534701408028\n        },\n        {\n          \"x\": -0.1399919382849999,\n          \"y\": 0.27652422639620283\n        },\n        {\n          \"x\": -0.14046552219999991,\n          \"y\": 0.27729408657440285\n        },\n        {\n          \"x\": -0.1409411383749999,\n          \"y\": 0.2780630456750029\n        },\n        {\n          \"x\": -0.1414187867199999,\n          \"y\": 0.2788310986976029\n        },\n        {\n          \"x\": -0.14189846714499993,\n          \"y\": 0.27959824064180294\n        },\n        {\n          \"x\": -0.14238017955999993,\n          \"y\": 0.2803644665072029\n        },\n        {\n          \"x\": -0.1428639238749999,\n          \"y\": 0.28112977129340294\n        },\n        {\n          \"x\": -0.1433496999999999,\n          \"y\": 0.28189415000000295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"rect1577-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.26345180000000035,\n          \"y\": 0.2455934500000012\n        },\n        {\n          \"x\": 0.12298460000000011,\n          \"y\": 0.2455934500000012\n        },\n        {\n          \"x\": 0.12298460000000011,\n          \"y\": 0.2505664500000009\n        },\n        {\n          \"x\": 0.26345180000000035,\n          \"y\": 0.2505664500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"rect1577-4-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19576130000000003,\n          \"y\": 0.31834525000000014\n        },\n        {\n          \"x\": 0.19576130000000003,\n          \"y\": 0.17787805000000034\n        },\n        {\n          \"x\": 0.1907882999999999,\n          \"y\": 0.17787805000000034\n        },\n        {\n          \"x\": 0.1907882999999999,\n          \"y\": 0.31834525000000014\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864499999999612,\n      \"y\": 0.4200086500000033\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850499999999979,\n      \"y\": -0.42000864999999976\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093,\n      \"y\": 0.016380250000000984\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": 0.016926950000001995\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.579367741,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.42000864999999976,\n    \"maxY\": 0.4200086500000033,\n    \"width\": 1.158735482,\n    \"height\": 0.8400173000000031,\n    \"centerX\": 0,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/capacitor_polarized.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.2,\n      y: 0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.3,\n      y: 0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"down\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"assets/generated/capacitor_polarized.json\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { modifySymbol } from \"../drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"./capacitor_polarized_right\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .rotateRightFacingSymbol(\"left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","import svgJson from \"assets/generated/capacitor_polarized.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.1,\n      y: -0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.2,\n      y: -0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"up\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","import svgJson from \"assets/generated/capacitor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.2,\n      y: -0.2094553499999995,\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.2,\n      y: -0.2094553499999995,\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .rotateRightFacingSymbol(\"up\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.02897970000000072\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.02897970000000072\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.02897970000000072\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.02897970000000072\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.2923763000000008\n        },\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": -0.23441689999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.021208049999999812,\n      \"y\": 0.3692298999999999\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.3692298999999999\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.028126900000000177\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.029123299999999963\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.3692298999999999,\n    \"maxY\": 0.3692298999999999,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.7384597999999998,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03610800000000025,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/constant_current_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/constant_current_diode.json\"\n\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.52188525,\n          \"y\": -0.010083950000000286\n        },\n        {\n          \"x\": 0.1314137500000001,\n          \"y\": -0.010083950000000286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12501034999999971,\n          \"y\": 0.25449935000000146\n        },\n        {\n          \"x\": 0.12501035000000016,\n          \"y\": -0.2746672499999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07157854999999946,\n          \"y\": 0.253778650000001\n        },\n        {\n          \"x\": 0.07157854999999991,\n          \"y\": -0.27538794999999716\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13957305000000053,\n          \"y\": 0.25449935000000146\n        },\n        {\n          \"x\": -0.1395730500000001,\n          \"y\": -0.2746672499999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08349325000000052,\n          \"y\": 0.25541165000000277\n        },\n        {\n          \"x\": -0.08349325000000007,\n          \"y\": -0.27375494999999894\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07147894999999993,\n          \"y\": 0.2552525499999998\n        },\n        {\n          \"x\": -0.0829032500000002,\n          \"y\": 0.2552525499999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07107315000000014,\n          \"y\": -0.27817384999999817\n        },\n        {\n          \"x\": -0.08330905,\n          \"y\": -0.27817384999999817\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.21327535000000042,\n          \"y\": 0.31803495000000304\n        },\n        {\n          \"x\": 0.19712464999999968,\n          \"y\": 0.31807695\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.003324649999999707,\n          \"y\": 0.694594949999999\n        },\n        {\n          \"x\": 0.003324649999999707,\n          \"y\": 0.3310069500000008\n        },\n        {\n          \"x\": 0.003324649999999707,\n          \"y\": 0.3209089500000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.21327535000000042,\n          \"y\": 0.3180639499999991\n        },\n        {\n          \"x\": -0.21327535000000042,\n          \"y\": 0.2498769499999991\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19712464999999968,\n          \"y\": 0.31807695\n        },\n        {\n          \"x\": 0.19712464999999968,\n          \"y\": 0.24987695000000443\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19226054999999942,\n          \"y\": -0.3468980499999983\n        },\n        {\n          \"x\": -0.21813945000000068,\n          \"y\": -0.3469400500000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.024339450000000262,\n          \"y\": -0.7234580499999996\n        },\n        {\n          \"x\": -0.024339450000000262,\n          \"y\": -0.3598700499999996\n        },\n        {\n          \"x\": -0.024339450000000262,\n          \"y\": -0.34977205000000033\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19226054999999942,\n          \"y\": -0.3469270499999997\n        },\n        {\n          \"x\": 0.19226054999999942,\n          \"y\": -0.2787400499999979\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-8-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.21813955000000096,\n          \"y\": -0.34694015\n        },\n        {\n          \"x\": -0.21813955000000096,\n          \"y\": -0.27874015000000085\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.14368304999999992,\n          \"y\": -0.010083950000000286\n        },\n        {\n          \"x\": -0.5364480500000002,\n          \"y\": -0.010083950000000286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.38155925000000046,\n      \"y\": 0.09576035000000083\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.3369813499999994,\n      \"y\": -0.17868404999999754\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.0032092499999998303,\n      \"y\": 0.7114137500000002\n    },\n    \"bottom1\": {\n      \"x\": -0.02355145000000025,\n      \"y\": -0.7114137500000002\n    },\n    \"left1\": {\n      \"x\": -0.5415391500000004,\n      \"y\": -0.00607074999999746\n    },\n    \"right1\": {\n      \"x\": 0.5415391499999997,\n      \"y\": -0.012221549999997805\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5696975910000004,\n    \"maxX\": 0.5696975909999997,\n    \"minY\": -0.7395721910000002,\n    \"maxY\": 0.7395721910000002,\n    \"width\": 1.1393951820000001,\n    \"height\": 1.4791443820000003,\n    \"centerX\": -3.3306690738754696e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/crystal_4pin.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .labelPort(\"top1\", [\"2\", \"gnd1\"])\n  .labelPort(\"bottom1\", [\"4\", \"gnd2\"])\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"bottom_right\")\n  .changeTextAnchor(\"{VAL}\", \"top_left\")\n  .build()\n","import crystal_4pin_horz from \"./crystal_4pin_horz\"\nimport { rotateRightFacingSymbol } from \"drawing/rotateSymbol\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\nimport svgJson from \"assets/generated/crystal_4pin.json\"\n\nexport default modifySymbol(crystal_4pin_horz)\n  .rotateRightFacingSymbol(\"up\")\n  .changeTextAnchor(\"{REF}\", \"top_right\")\n  .changeTextAnchor(\"{VAL}\", \"bottom_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5229378000000002,\n          \"y\": -0.012283099999995883\n        },\n        {\n          \"x\": 0.13246630000000037,\n          \"y\": -0.012283099999995883\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.14263049999999966,\n          \"y\": -0.012283099999995883\n        },\n        {\n          \"x\": -0.5353954999999999,\n          \"y\": -0.012283099999995883\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12606289999999998,\n          \"y\": -0.2768663999999976\n        },\n        {\n          \"x\": 0.12606290000000042,\n          \"y\": 0.2523002000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07263109999999973,\n          \"y\": -0.27614569999999716\n        },\n        {\n          \"x\": 0.07263110000000017,\n          \"y\": 0.253020900000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13852050000000027,\n          \"y\": -0.2768663999999976\n        },\n        {\n          \"x\": -0.13852049999999982,\n          \"y\": 0.2523002000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08244070000000026,\n          \"y\": -0.27777869999999893\n        },\n        {\n          \"x\": -0.08244069999999981,\n          \"y\": 0.2513879000000028\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07253150000000019,\n          \"y\": -0.27761959999999597\n        },\n        {\n          \"x\": -0.08185069999999994,\n          \"y\": -0.27761959999999597\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-2-7-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0721257000000004,\n          \"y\": 0.255806800000002\n        },\n        {\n          \"x\": -0.08225649999999973,\n          \"y\": 0.255806800000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.012864500000000056,\n      \"y\": -0.4150086999999978\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003850500000000423,\n      \"y\": 0.4250087000000011\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5512093000000002,\n      \"y\": -0.011380399999998403\n    },\n    \"right1\": {\n      \"x\": 0.5512093,\n      \"y\": -0.011926899999997076\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5793677410000002,\n    \"maxX\": 0.579367741,\n    \"minY\": -0.5150086999999978,\n    \"maxY\": 0.4250087000000011,\n    \"width\": 1.1587354820000002,\n    \"height\": 1,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": -0.04499999999999832\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/crystal.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_bottom\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_top\")\n  .build()\n","import svgJson from \"assets/generated/crystal.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_left\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9942486145,\n          \"y\": -1.6422072295000003\n        },\n        {\n          \"x\": 2.0984258145,\n          \"y\": -1.6428272295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.1030704145000003,\n          \"y\": -1.4809259295000001\n        },\n        {\n          \"x\": 2.1026604145,\n          \"y\": -1.8041042295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2218770145,\n          \"y\": -1.4969414295\n        },\n        {\n          \"x\": 2.1063461145,\n          \"y\": -1.5757354295000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2286252145,\n          \"y\": -1.7819395295000002\n        },\n        {\n          \"x\": 2.1136540145000002,\n          \"y\": -1.7033263295\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2273251145,\n          \"y\": -1.4948802295\n        },\n        {\n          \"x\": 2.2284101145,\n          \"y\": -1.1518438295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.2276017145,\n          \"y\": -1.9567437295\n        },\n        {\n          \"x\": 2.2281317145,\n          \"y\": -1.7888340295000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"arrow-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 2.1704797145,\n          \"y\": -1.6991380295000003\n        },\n        {\n          \"x\": 2.1275815145,\n          \"y\": -1.7604028295000003\n        },\n        {\n          \"x\": 2.1917009144999997,\n          \"y\": -1.7601828295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.5978828145000001,\n          \"y\": -1.5020091295000002\n        },\n        {\n          \"x\": 1.8597023145000002,\n          \"y\": -1.5035561295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.8686937145000002,\n          \"y\": -1.3411936295000002\n        },\n        {\n          \"x\": 1.8682837145,\n          \"y\": -1.6643719295000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9875004145000004,\n          \"y\": -1.3572092295000002\n        },\n        {\n          \"x\": 1.8719693145,\n          \"y\": -1.4360031295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9942486145,\n          \"y\": -1.6422072295000003\n        },\n        {\n          \"x\": 1.8792773145000001,\n          \"y\": -1.5635940295000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"arrow-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9361028144999999,\n          \"y\": -1.5594057295000003\n        },\n        {\n          \"x\": 1.8932048145,\n          \"y\": -1.6206705295000003\n        },\n        {\n          \"x\": 1.9573242144999998,\n          \"y\": -1.6204505295000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 1.9943087144999998,\n          \"y\": -1.3539494295000003\n        },\n        {\n          \"x\": 2.2269582145,\n          \"y\": -1.3556534295000002\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 1.8805772145,\n      \"y\": -1.9423669295000003\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 1.8845380145,\n      \"y\": -1.1387692295000003\n    }\n  },\n  \"refblocks\": {\n    \"right1\": {\n      \"x\": 2.2278617145000004,\n      \"y\": -1.9651412295000004\n    },\n    \"right2\": {\n      \"x\": 1.5977076145000002,\n      \"y\": -1.5027827295000002\n    },\n    \"right3\": {\n      \"x\": 2.2278680145,\n      \"y\": -1.1403971295000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": 1.5810976555000003,\n    \"maxX\": 2.3461148445,\n    \"minY\": -1.9817511885000003,\n    \"maxY\": -1.1237871705000002,\n    \"width\": 0.7650171889999999,\n    \"height\": 0.8579640180000001,\n    \"centerX\": 1.9636062500000002,\n    \"centerY\": -1.5527691795000003\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 2.0463372145000003,\n      \"y\": -1.5363384295000002,\n      \"radius\": 0.29977763,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/darlington_pair_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"right2\", [\"1\"])\n  .labelPort(\"right3\", [\"2\"])\n  .labelPort(\"right1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import svgJson from \"assets/generated/darlington_pair_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nsvgJson.bounds.width += 0.3\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"right2\", [\"1\"])\n  .labelPort(\"right3\", [\"2\"])\n  .labelPort(\"right1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12447409999999959,\n          \"y\": 0.0852510999999998\n        },\n        {\n          \"x\": 0.11626639999999999,\n          \"y\": 0.0852510999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.4472267999999995\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.3470985000000004\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"A\",\n      \"x\": 0,\n      \"y\": -0.1\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": 0\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": -0.08525110000000002,\n    \"maxY\": 0.0852510999999998,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": -1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0,\n      \"y\": 0,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dc_ammeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: 0, y: 0.01, anchor: \"center\", fontSize: 0.3 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dc_ammeter_horz from \"./dc_ammeter_horz\"\nimport { PathPrimitive, Primitive, TextPrimitive } from \"drawing/types\"\n\nfunction isPathPrimitive(value: any): value is PathPrimitive {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    value.type === \"path\" &&\n    Array.isArray(value.points) &&\n    typeof value.color === \"string\"\n  )\n}\n\nfunction isTextPrimitive(value: any): value is TextPrimitive {\n  return (\n    typeof value === \"object\" &&\n    value !== null &&\n    value.type === \"text\" &&\n    typeof value.text === \"string\" &&\n    typeof value.x === \"number\" &&\n    typeof value.y === \"number\" &&\n    typeof value.anchor === \"string\"\n  )\n}\n\nconst { 6: letter, 2: underline, ...rest } = dc_ammeter_horz.primitives\n\nif (isPathPrimitive(underline)) {\n  underline.points.map((p) => {\n    p.y += 0.05\n  })\n}\n\nif (isTextPrimitive(letter)) {\n  letter.y += 0.025\n}\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...dc_ammeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter, underline],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09442299999999992,\n          \"y\": -0.13438304999999984\n        },\n        {\n          \"x\": -0.004364400000000712,\n          \"y\": 0.05710404999999996\n        },\n        {\n          \"x\": -0.1110211000000012,\n          \"y\": -0.13438304999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12447409999999959,\n          \"y\": 0.13438304999999984\n        },\n        {\n          \"x\": 0.11626639999999999,\n          \"y\": 0.13438304999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.39809484999999944\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.39623045000000046\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": 0\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": -0.13438304999999984,\n    \"maxY\": 0.13438304999999984,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0,\n      \"y\": 0,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dc_voltmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dc_voltmeter_horz from \"./dc_voltmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 2: letter, 3: underline, ...rest } = dc_voltmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...dc_voltmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter, underline],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5176700499999997,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": -0.10888805000000024,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1031184499999993,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": 0.5246894499999994,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09343985000000021,\n          \"y\": -0.14620634999999882\n        },\n        {\n          \"x\": -0.0930998500000002,\n          \"y\": 0.2583405500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08519034999999908,\n          \"y\": -0.14503384999999902\n        },\n        {\n          \"x\": 0.08553034999999909,\n          \"y\": 0.2595130500000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08315755000000014,\n          \"y\": 0.055934450000000524\n        },\n        {\n          \"x\": -0.08415755000000047,\n          \"y\": -0.14678124999999964\n        },\n        {\n          \"x\": 0.08653524999999984,\n          \"y\": -0.05104664999999953\n        },\n        {\n          \"x\": -0.08126175000000035,\n          \"y\": 0.05647715000000031\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07661224999999927,\n          \"y\": 0.256654450000001\n        },\n        {\n          \"x\": 0.07761224999999983,\n          \"y\": 0.05393885000000109\n        },\n        {\n          \"x\": -0.0930805500000007,\n          \"y\": 0.1496734500000012\n        },\n        {\n          \"x\": 0.07471644999999949,\n          \"y\": 0.25719715000000143\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0316381500000007,\n      \"y\": 0.41683614999999996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.03022294999999975,\n      \"y\": -0.41683614999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": 0.04089205000000051\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": 0.04188845000000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.41683614999999996,\n    \"maxY\": 0.41683614999999996,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.8336722999999999,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": 0.048873150000000365,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/diac.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diac_horz from \"./diac_horz\"\n\nconst rotatedSymbol = rotateSymbol(diac_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nref.y = 0\nval.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000132\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825539999999776\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.08825539999999776\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797,\n          \"y\": 0.04395110000000102\n        },\n        {\n          \"x\": 0.14967160000000002,\n          \"y\": 0.04395110000000102\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384529999999785\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999999524,\n      \"y\": -0.2738453000000014\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.0449206999999987\n    },\n    \"right1\": {\n      \"x\": 0.5191471000000001,\n      \"y\": 0.043896100000001326\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055410000001,\n    \"minY\": -0.2738453000000014,\n    \"maxY\": 0.27384529999999785,\n    \"width\": 1.0946110820000001,\n    \"height\": 0.5476905999999993,\n    \"centerX\": 0,\n    \"centerY\": -1.7763568394002505e-15\n  },\n  \"circles\": {}\n}\n","import svgJson from \"assets/generated/diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .labelPort(\"left1\", [\"1\", \"pos\"])\n  .labelPort(\"right1\", [\"2\", \"neg\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"down\")\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"left\")\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport diode_right from \"./diode_right\"\n\nexport default rotateSymbol(diode_right, \"up\")\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622268000000006,\n          \"y\": 0.06287995000000057\n        },\n        {\n          \"x\": -0.1357978000000004,\n          \"y\": 0.06287995000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12009950000000069,\n          \"y\": 0.061349450000000916\n        },\n        {\n          \"x\": 0.10307889999999986,\n          \"y\": 0.2010388500000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795640000000064,\n          \"y\": 0.06287995000000057\n        },\n        {\n          \"x\": 0.36869780000000096,\n          \"y\": 0.06287995000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622270999999999,\n          \"y\": -0.16866424999999907\n        },\n        {\n          \"x\": -0.1357980999999997,\n          \"y\": -0.16866424999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12009979999999998,\n          \"y\": -0.17019474999999962\n        },\n        {\n          \"x\": 0.10307860000000058,\n          \"y\": -0.03050534999999921\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795610000000002,\n          \"y\": -0.16866424999999907\n        },\n        {\n          \"x\": 0.3686968000000006,\n          \"y\": -0.16866424999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.1958158999999995,\n      \"y\": 0.39716265000000006\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.029144200000000398,\n      \"y\": -0.39716264999999984\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": -0.12356020000000001,\n      \"y\": -0.17345394999999963\n    },\n    \"bottom2\": {\n      \"x\": 0.1153169000000005,\n      \"y\": -0.17345394999999963\n    },\n    \"left1\": {\n      \"x\": -0.37614279999999956,\n      \"y\": -0.16951715000000012\n    },\n    \"left2\": {\n      \"x\": -0.12356020000000001,\n      \"y\": 0.05809054999999996\n    },\n    \"left3\": {\n      \"x\": -0.37614279999999956,\n      \"y\": 0.06202735000000037\n    },\n    \"right1\": {\n      \"x\": 0.37614279999999933,\n      \"y\": -0.16852074999999966\n    },\n    \"right2\": {\n      \"x\": 0.1153169000000005,\n      \"y\": 0.05809054999999996\n    },\n    \"right3\": {\n      \"x\": 0.37614279999999933,\n      \"y\": 0.06302374999999993\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.40430124099999953,\n    \"maxX\": 0.4043012409999993,\n    \"minY\": -0.39716264999999984,\n    \"maxY\": 0.39716265000000006,\n    \"width\": 0.8086024819999988,\n    \"height\": 0.7943252999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/dpst_switch.json\"\nimport { Primitive } from \"drawing/types\"\n\nsvgJson.bounds.width += 0.2\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\", \"left1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left3, labels: [\"3\", \"left3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\", \"right1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right3, labels: [\"4\", \"right3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport dpst_switch_horz from \"./dpst_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(dpst_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.35\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.541495829500001,\n          \"y\": 0.044368009536419395\n        },\n        {\n          \"x\": -0.21998262950000114,\n          \"y\": 0.044368009536419395\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14450697049999905,\n          \"y\": 0.052237309536419474\n        },\n        {\n          \"x\": 0.46379767049999976,\n          \"y\": 0.052237309536419474\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13965347050000032,\n          \"y\": -0.14937819046358025\n        },\n        {\n          \"x\": 0.13854747050000027,\n          \"y\": 0.2538388095364199\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.212703829500001,\n          \"y\": 0.2732984095364195\n        },\n        {\n          \"x\": -0.2147708295000006,\n          \"y\": -0.1493854904635803\n        },\n        {\n          \"x\": 0.13782137049999887,\n          \"y\": 0.050231709536419755\n        },\n        {\n          \"x\": -0.2087893295000005,\n          \"y\": 0.27442980953642016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.08906882950000083,\n      \"y\": 0.38011220953641867\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0685314901614209,\n      \"y\": -0.38011220953641844\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"\",\n      \"x\": 0.5884896704999998,\n      \"y\": -0.3288545904635811\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5603312294999999,\n      \"y\": 0.04351520953641885\n    },\n    \"right1\": {\n      \"x\": 0.47524967049999955,\n      \"y\": 0.05238090953641872\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5884896704999999,\n    \"maxX\": 0.5884896704999998,\n    \"minY\": -0.38011220953641844,\n    \"maxY\": 0.38011220953641867,\n    \"width\": 1.1769793409999996,\n    \"height\": 0.7602244190728371,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/filled_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport filled_diode_horz from \"./filled_diode_horz\"\n\nexport default rotateSymbol(filled_diode_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Hz\",\n      \"x\": 0,\n      \"y\": -0.035\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/frequency_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: 0, y: 0.01, anchor: \"center\", fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport frequency_meter_horz from \"./frequency_meter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = frequency_meter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...frequency_meter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path10\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5283037500000001,\n          \"y\": 0.036413650000000075\n        },\n        {\n          \"x\": 0.5300302500000003,\n          \"y\": 0.036413650000000075\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path14\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0008652499999994845,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.2654482499999995,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.2654482499999995,\n          \"y\": -0.0958780499999996\n        },\n        {\n          \"x\": -0.2637187499999998,\n          \"y\": -0.0958780499999996\n        },\n        {\n          \"x\": -0.2637187499999998,\n          \"y\": 0.16870534999999975\n        },\n        {\n          \"x\": 0.0008652499999994845,\n          \"y\": 0.16870534999999975\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.008263949999999909,\n      \"y\": 0.23591724999999997\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1716539500000005,\n      \"y\": -0.23591724999999997\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5345548500000001,\n      \"y\": 0.03946054999999937\n    },\n    \"right1\": {\n      \"x\": 0.5345548500000001,\n      \"y\": 0.0352561499999986\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5627132910000001,\n    \"maxX\": 0.5627132910000001,\n    \"minY\": -0.23591724999999997,\n    \"maxY\": 0.23591724999999997,\n    \"width\": 1.1254265820000002,\n    \"height\": 0.47183449999999993,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/fuse.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: -0.2,\n      anchor: \"middle_top\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport fuse_horz from \"./fuse_horz\"\n\nexport default rotateSymbol(fuse_horz)\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.33997010000000016,\n          \"y\": 0.4545300000000001\n        },\n        {\n          \"x\": -0.03997010000000012,\n          \"y\": 0.4545300000000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.02032289999999981,\n          \"y\": 0.25053000000000014\n        },\n        {\n          \"x\": -0.020322900000000033,\n          \"y\": 0.65053\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.050000000000000044,\n          \"y\": 0.3005300000000002\n        },\n        {\n          \"x\": 0.050000000000000044,\n          \"y\": 0.60053\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1499999999999997,\n          \"y\": 0.40053000000000005\n        },\n        {\n          \"x\": 0.1499999999999997,\n          \"y\": 0.5005300000000001\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.44999999999999996,\n      \"y\": -0.6505299999999998\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.44999999999999973,\n      \"y\": 0.35053\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": -0.33997010000000016,\n      \"y\": 0.4545300000000001\n    },\n    \"top2\": {\n      \"x\": 0.17000000000000015,\n      \"y\": 0.4535300000000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.44999999999999996,\n    \"maxX\": 0.44999999999999973,\n    \"minY\": -0.6505299999999998,\n    \"maxY\": 0.65053,\n    \"width\": 0.8999999999999997,\n    \"height\": 1.3010599999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/ground.json\"\nimport { Primitive } from \"drawing/types\"\nimport { rotateSymbol } from \"drawing/rotateSymbol\"\n\n// Extract paths, bounds, etc.\nconst { paths, circles, bounds, refblocks } = svgJson\n\n// Horizontal orientation symbol\nexport const horizontalSymbol = defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\", // REF label for horizontal\n      x: -0.1, // Adjust this for the horizontal positioning of REF\n      y: 0.8, // Adjust this for the vertical positioning of REF\n      anchor: \"middle_bottom\", // Horizontal anchor for REF\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\", // VAL label for horizontal\n      x: -0.1, // Adjust for horizontal positioning of VAL\n      y: 0.1, // Adjust for vertical positioning of VAL\n      anchor: \"middle_top\", // Horizontal anchor for VAL\n    },\n  ] as Primitive[],\n  ports: [{ ...refblocks.top1, labels: [\"1\"] }],\n  size: { width: 1, height: 1 },\n  center: { x: 0, y: 0.4 },\n})\n\n// Vertical orientation symbol\n\n// Export vertical symbol (rotated 90 degrees from original)\nexport default horizontalSymbol\n","import groundHorz from \"./ground_horz\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(groundHorz).rotateRightFacingSymbol(\"down\").build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.49895505000000084,\n          \"y\": 0.035186950000000605\n        },\n        {\n          \"x\": -0.177441850000001,\n          \"y\": 0.035186950000000605\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18704774999999918,\n          \"y\": 0.043056250000000684\n        },\n        {\n          \"x\": 0.5063384499999999,\n          \"y\": 0.043056250000000684\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3067105499999998,\n          \"y\": 0.19836805000000046\n        },\n        {\n          \"x\": -0.3084575500000002,\n          \"y\": -0.10569684999999973\n        },\n        {\n          \"x\": -0.01040014999999972,\n          \"y\": 0.03790115000000038\n        },\n        {\n          \"x\": -0.3034011499999991,\n          \"y\": 0.1991819500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3324594500000002,\n          \"y\": 0.19920585000000046\n        },\n        {\n          \"x\": 0.33420945000000013,\n          \"y\": -0.10485904999999973\n        },\n        {\n          \"x\": 0.03615254999999973,\n          \"y\": 0.03873895000000038\n        },\n        {\n          \"x\": 0.32915344999999974,\n          \"y\": 0.2000197500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.042716749999999415,\n      \"y\": 0.3158462499999999\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.035355149999999336,\n      \"y\": -0.3158462499999999\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5177904499999998,\n      \"y\": 0.03433415000000006\n    },\n    \"right1\": {\n      \"x\": 0.5177904499999997,\n      \"y\": 0.04319984999999993\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5459488909999998,\n    \"maxX\": 0.5459488909999997,\n    \"minY\": -0.3158462499999999,\n    \"maxY\": 0.3158462499999999,\n    \"width\": 1.0918977819999993,\n    \"height\": 0.6316924999999998,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/gunn_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nimport svgJson from \"assets/generated/gunn_diode.json\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850944445000005,\n          \"y\": 0.0010025000000009054\n        },\n        {\n          \"x\": -0.006525044499999799,\n          \"y\": -0.0016204999999989145\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": 0.19027400000000116\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": -0.17787549999999852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.01002445549999953,\n          \"y\": -0.12022799999999911\n        },\n        {\n          \"x\": 0.01002445549999953,\n          \"y\": 0.1443554000000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28374995550000004,\n          \"y\": -0.2462579999999992\n        },\n        {\n          \"x\": 0.2831499554999999,\n          \"y\": -0.5425888999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": 0.5370061000000012\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": 0.2678117000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1731829554999995,\n          \"y\": -0.2153930999999989\n        },\n        {\n          \"x\": 0.2780310554999992,\n          \"y\": -0.23045039999999894\n        },\n        {\n          \"x\": 0.2324710554999987,\n          \"y\": -0.14155709999999888\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path17\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07704605550000054,\n          \"y\": -0.08544359999999895\n        },\n        {\n          \"x\": 0.2325688555000005,\n          \"y\": -0.19774119999999895\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.11255990000000127\n        },\n        {\n          \"x\": 0.28369465549999884,\n          \"y\": 0.2606293000000013\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.006566644499999885,\n      \"y\": 0.35624680000000075\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.020614555499999687,\n      \"y\": -0.4202180999999998\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": 0.5566011000000001\n    },\n    \"bottom1\": {\n      \"x\": 0.2823318555000005,\n      \"y\": -0.5566010999999997\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.00014970000000036343\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5847595409999997,\n    \"maxY\": 0.584759541,\n    \"width\": 0.8543363709999996,\n    \"height\": 1.1695190819999999,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 1.6653345369377348e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": 0.008130800000000438,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/igbt_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport igbt_transistor_horz from \"./igbt_transistor_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(igbt_transistor_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = 0.45\nref.y += 0.065\nval.y += 0.065\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path12-1-8-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": -0.022408499999999165\n        },\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": -0.10240850000000101\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.48740694999999956,\n          \"y\": -0.18547949999999958\n        },\n        {\n          \"x\": -0.1731006500000003,\n          \"y\": -0.18547949999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023792949999999813,\n          \"y\": 0.17183650000000128\n        },\n        {\n          \"x\": 0.023792949999999813,\n          \"y\": 0.10518850000000057\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.14922445000000018,\n          \"y\": -0.032671500000001075\n        },\n        {\n          \"x\": 0.19549865000000022,\n          \"y\": -0.18509050000000116\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19549885000000078,\n          \"y\": -0.18509050000000116\n        },\n        {\n          \"x\": 0.4881437499999999,\n          \"y\": -0.18509050000000116\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": 0.11939749999999982\n        },\n        {\n          \"x\": 0.023137150000000162,\n          \"y\": 0.017597499999999044\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.050463500000001105\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-3-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.050463500000001105\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-6-9-4-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08312335000000015,\n          \"y\": 0.10724749999999972\n        },\n        {\n          \"x\": -0.03684904999999983,\n          \"y\": 0.10724749999999972\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path14-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011640198644880861,\n          \"y\": 0.2824489119921765\n        },\n        {\n          \"x\": 0.01182744133211866,\n          \"y\": 0.25421423950368016\n        },\n        {\n          \"x\": 0.035295081309120846,\n          \"y\": 0.22597956701517674\n        },\n        {\n          \"x\": 0.05876272128612037,\n          \"y\": 0.19774489452667865\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path14-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011818241440559873,\n          \"y\": 0.19775449269853418\n        },\n        {\n          \"x\": 0.01171692178543804,\n          \"y\": 0.22592735480803405\n        },\n        {\n          \"x\": 0.03525208501144128,\n          \"y\": 0.25410021691753926\n        },\n        {\n          \"x\": 0.058787248237439194,\n          \"y\": 0.2822730790270338\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.010987250000000337,\n      \"y\": 0.3808714999999978\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05578094999999994,\n      \"y\": -0.3808714999999996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4717985499999999,\n      \"y\": -0.1854504999999982\n    },\n    \"right1\": {\n      \"x\": 0.4717985499999999,\n      \"y\": -0.18547650000000182\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4999569909999999,\n    \"maxX\": 0.4999569909999999,\n    \"minY\": -0.3808714999999996,\n    \"maxY\": 0.3808714999999978,\n    \"width\": 0.9999139819999998,\n    \"height\": 0.7617429999999974,\n    \"centerX\": 0,\n    \"centerY\": -8.881784197001252e-16\n  },\n  \"circles\": {\n    \"path9\": {\n      \"type\": \"circle\",\n      \"x\": 0.02379285000000042,\n      \"y\": 0.24000550000000054,\n      \"radius\": 0.059920847,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/illuminated_push_button_normally_open.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport illuminated_push_button_normally_open_horz from \"./illuminated_push_button_normally_open_horz\"\n\nconst rotatedSymbol = rotateSymbol(illuminated_push_button_normally_open_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path8698\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.20003504999999944,\n          \"y\": -0.023826854587889912\n        },\n        {\n          \"x\": -0.20252458999999945,\n          \"y\": -0.018993393814014044\n        },\n        {\n          \"x\": -0.20501412999999943,\n          \"y\": -0.014174384106555204\n        },\n        {\n          \"x\": -0.2075036699999995,\n          \"y\": -0.009384187436300498\n        },\n        {\n          \"x\": -0.20999320999999949,\n          \"y\": -0.004636988132081332\n        },\n        {\n          \"x\": -0.2124827499999995,\n          \"y\": 0.00005329457033053167\n        },\n        {\n          \"x\": -0.2149722899999995,\n          \"y\": 0.004673092344940186\n        },\n        {\n          \"x\": -0.2174618299999995,\n          \"y\": 0.009209271428771242\n        },\n        {\n          \"x\": -0.21995136999999956,\n          \"y\": 0.013649213595881985\n        },\n        {\n          \"x\": -0.22244090999999955,\n          \"y\": 0.01798089395292432\n        },\n        {\n          \"x\": -0.22493044999999956,\n          \"y\": 0.022192955076609913\n        },\n        {\n          \"x\": -0.22741998999999957,\n          \"y\": 0.02627477703600152\n        },\n        {\n          \"x\": -0.22990952999999958,\n          \"y\": 0.030216542867918667\n        },\n        {\n          \"x\": -0.2323990699999996,\n          \"y\": 0.03400929910178016\n        },\n        {\n          \"x\": -0.2348886099999996,\n          \"y\": 0.03764501096072756\n        },\n        {\n          \"x\": -0.23737814999999962,\n          \"y\": 0.04111661189869628\n        },\n        {\n          \"x\": -0.23986768999999963,\n          \"y\": 0.04441804716802203\n        },\n        {\n          \"x\": -0.24235722999999965,\n          \"y\": 0.04754431114897349\n        },\n        {\n          \"x\": -0.24484676999999966,\n          \"y\": 0.05049147821106258\n        },\n        {\n          \"x\": -0.24733630999999967,\n          \"y\": 0.053256726915861724\n        },\n        {\n          \"x\": -0.24982584999999968,\n          \"y\": 0.05583835741211009\n        },\n        {\n          \"x\": -0.2523153899999997,\n          \"y\": 0.05823580191586174\n        },\n        {\n          \"x\": -0.2548049299999997,\n          \"y\": 0.060449628211062575\n        },\n        {\n          \"x\": -0.2572944699999997,\n          \"y\": 0.0624815361489735\n        },\n        {\n          \"x\": -0.25978400999999973,\n          \"y\": 0.06433434716802203\n        },\n        {\n          \"x\": -0.26227354999999974,\n          \"y\": 0.06601198689869628\n        },\n        {\n          \"x\": -0.26476308999999976,\n          \"y\": 0.06751946096072757\n        },\n        {\n          \"x\": -0.26725262999999977,\n          \"y\": 0.06886282410178016\n        },\n        {\n          \"x\": -0.2697421699999998,\n          \"y\": 0.07004914286791866\n        },\n        {\n          \"x\": -0.2722317099999998,\n          \"y\": 0.0710864520360015\n        },\n        {\n          \"x\": -0.2747212499999998,\n          \"y\": 0.07198370507660991\n        },\n        {\n          \"x\": -0.2772107899999998,\n          \"y\": 0.07275071895292433\n        },\n        {\n          \"x\": -0.27970032999999983,\n          \"y\": 0.07339811359588198\n        },\n        {\n          \"x\": -0.28218986999999984,\n          \"y\": 0.07393724642877124\n        },\n        {\n          \"x\": -0.28467940999999986,\n          \"y\": 0.07438014234494018\n        },\n        {\n          \"x\": -0.28716894999999987,\n          \"y\": 0.07473941957033053\n        },\n        {\n          \"x\": -0.2896584899999999,\n          \"y\": 0.07502821186791866\n        },\n        {\n          \"x\": -0.2921480299999999,\n          \"y\": 0.07526008756369952\n        },\n        {\n          \"x\": -0.2946375699999999,\n          \"y\": 0.07544896589344477\n        },\n        {\n          \"x\": -0.2971271099999999,\n          \"y\": 0.07560903118598594\n        },\n        {\n          \"x\": -0.29961664999999993,\n          \"y\": 0.07575464541211008\n        },\n        {\n          \"x\": -0.3021061874999999,\n          \"y\": 0.07560903118598594\n        },\n        {\n          \"x\": -0.30459572499999993,\n          \"y\": 0.07544896589344477\n        },\n        {\n          \"x\": -0.3070852624999999,\n          \"y\": 0.07526008756369951\n        },\n        {\n          \"x\": -0.30957479999999993,\n          \"y\": 0.07502821186791866\n        },\n        {\n          \"x\": -0.31206433749999984,\n          \"y\": 0.07473941957033052\n        },\n        {\n          \"x\": -0.3145538749999998,\n          \"y\": 0.07438014234494018\n        },\n        {\n          \"x\": -0.31704341249999984,\n          \"y\": 0.07393724642877124\n        },\n        {\n          \"x\": -0.31953294999999987,\n          \"y\": 0.07339811359588198\n        },\n        {\n          \"x\": -0.32202248749999984,\n          \"y\": 0.07275071895292431\n        },\n        {\n          \"x\": -0.3245120249999998,\n          \"y\": 0.07198370507660991\n        },\n        {\n          \"x\": -0.3270015624999998,\n          \"y\": 0.0710864520360015\n        },\n        {\n          \"x\": -0.32949109999999976,\n          \"y\": 0.07004914286791866\n        },\n        {\n          \"x\": -0.33198063749999984,\n          \"y\": 0.06886282410178016\n        },\n        {\n          \"x\": -0.33447017499999976,\n          \"y\": 0.06751946096072757\n        },\n        {\n          \"x\": -0.3369597124999998,\n          \"y\": 0.06601198689869628\n        },\n        {\n          \"x\": -0.33944924999999976,\n          \"y\": 0.06433434716802203\n        },\n        {\n          \"x\": -0.34193878749999973,\n          \"y\": 0.06248153614897349\n        },\n        {\n          \"x\": -0.34442832499999976,\n          \"y\": 0.06044962821106258\n        },\n        {\n          \"x\": -0.3469178624999997,\n          \"y\": 0.05823580191586174\n        },\n        {\n          \"x\": -0.3494073999999997,\n          \"y\": 0.05583835741211009\n        },\n        {\n          \"x\": -0.35189693749999973,\n          \"y\": 0.053256726915861724\n        },\n        {\n          \"x\": -0.35438647499999965,\n          \"y\": 0.050491478211062576\n        },\n        {\n          \"x\": -0.3568760124999997,\n          \"y\": 0.0475443111489735\n        },\n        {\n          \"x\": -0.35936554999999964,\n          \"y\": 0.04441804716802203\n        },\n        {\n          \"x\": -0.3618550874999996,\n          \"y\": 0.04111661189869628\n        },\n        {\n          \"x\": -0.36434462499999964,\n          \"y\": 0.03764501096072756\n        },\n        {\n          \"x\": -0.36683416249999967,\n          \"y\": 0.03400929910178016\n        },\n        {\n          \"x\": -0.3693236999999996,\n          \"y\": 0.030216542867918673\n        },\n        {\n          \"x\": -0.3718132374999996,\n          \"y\": 0.02627477703600152\n        },\n        {\n          \"x\": -0.3743027749999996,\n          \"y\": 0.022192955076609917\n        },\n        {\n          \"x\": -0.37679231249999956,\n          \"y\": 0.017980893952924324\n        },\n        {\n          \"x\": -0.3792818499999996,\n          \"y\": 0.013649213595881985\n        },\n        {\n          \"x\": -0.3817713874999995,\n          \"y\": 0.00920927142877125\n        },\n        {\n          \"x\": -0.38426092499999953,\n          \"y\": 0.004673092344940191\n        },\n        {\n          \"x\": -0.38675046249999956,\n          \"y\": 0.00005329457033053514\n        },\n        {\n          \"x\": -0.38923999999999953,\n          \"y\": -0.004636988132081328\n        },\n        {\n          \"x\": -0.39172953749999956,\n          \"y\": -0.009384187436300498\n        },\n        {\n          \"x\": -0.3942190749999995,\n          \"y\": -0.014174384106555197\n        },\n        {\n          \"x\": -0.3967086124999995,\n          \"y\": -0.01899339381401404\n        },\n        {\n          \"x\": -0.3991981499999995,\n          \"y\": -0.023826854587889912\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8700\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.000872049999999458,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": -0.0033615874999994412,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": -0.0058511249999994245,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": -0.008340662499999407,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": -0.010830199999999391,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": -0.013319737499999373,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": -0.015809274999999356,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": -0.018298812499999338,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": -0.020788349999999324,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": -0.023277887499999306,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": -0.02576742499999929,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": -0.02825696249999927,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": -0.030746499999999254,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": -0.03323603749999924,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": -0.03572557499999922,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": -0.038215112499999204,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": -0.04070464999999919,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": -0.04319418749999917,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": -0.045683724999999155,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": -0.048173262499999134,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": -0.05066279999999912,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": -0.053152337499999106,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": -0.055641874999999084,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": -0.05813141249999907,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": -0.06062094999999905,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": -0.06311048749999904,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": -0.06560002499999902,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": -0.068089562499999,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": -0.07057909999999898,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": -0.07306863749999896,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": -0.07555817499999895,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": -0.07804771249999894,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": -0.08053724999999892,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": -0.0830267874999989,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": -0.08551632499999888,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": -0.08800586249999887,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": -0.09049539999999885,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": -0.09298493749999884,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": -0.09547447499999881,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": -0.0979640124999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": -0.10045354999999878,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": -0.1029430899999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": -0.1054326299999988,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": -0.10792216999999882,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": -0.11041170999999883,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": -0.11290124999999884,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": -0.11539078999999886,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": -0.11788032999999885,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": -0.1203698699999989,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": -0.12285940999999889,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": -0.1253489499999989,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": -0.12783848999999892,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": -0.13032802999999893,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": -0.13281756999999894,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": -0.13530710999999895,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": -0.13779664999999897,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": -0.14028618999999898,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": -0.142775729999999,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": -0.145265269999999,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": -0.14775480999999901,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": -0.15024434999999903,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": -0.15273388999999904,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": -0.15522342999999905,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": -0.15771296999999906,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": -0.16020250999999908,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": -0.1626920499999991,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": -0.1651815899999991,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": -0.16767112999999914,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": -0.1701606699999991,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": -0.17265020999999914,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": -0.17513974999999915,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": -0.17762928999999916,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": -0.1801188299999992,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": -0.18260836999999916,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": -0.1850979099999992,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": -0.1875874499999992,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": -0.19007698999999922,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": -0.19256652999999926,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": -0.19505606999999922,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": -0.19754560999999926,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": -0.20003514999999927,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8702\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19829105000000036,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": 0.19580151000000035,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": 0.1933119700000003,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": 0.19082243000000035,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.1883328900000003,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.1858433500000003,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": 0.18335381000000028,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": 0.18086427000000024,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": 0.1783747300000003,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": 0.17588519000000025,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.17339565000000023,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": 0.17090611000000022,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.16841657000000018,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": 0.16592703000000023,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.16343749000000019,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.16094795000000017,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.15845841000000016,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.15596887000000015,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": 0.15347933000000014,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": 0.15098979000000012,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.1485002500000001,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.1460107100000001,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.1435211700000001,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": 0.14103163000000007,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": 0.13854209000000006,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.13605255000000005,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.13356301000000004,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.13107347000000003,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.12858393,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.12609439,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.12360484999999999,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.12111530999999998,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.11862576999999996,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.11613622999999995,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.11364668999999994,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.11115714999999993,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": 0.10866760999999991,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.1061780699999999,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": 0.10368852999999989,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.10119898999999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.09870944999999987,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": 0.09621991249999988,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.0937303749999999,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.09124083749999992,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": 0.08875129999999994,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.08626176249999995,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": 0.08377222499999996,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.08128268749999998,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.07879315,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.07630361250000002,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.07381407500000003,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.07132453750000005,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.06883500000000006,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.06634546250000009,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.0638559250000001,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.06136638750000012,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.05887685000000013,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.05638731250000015,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": 0.053897775000000175,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": 0.05140823750000019,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.048918700000000204,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.04642916250000022,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.04393962500000023,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": 0.04145008750000026,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": 0.038960550000000274,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.03647101250000029,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.0339814750000003,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.03149193750000032,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.02900240000000034,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": 0.02651286250000036,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.024023325000000373,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": 0.021533787500000387,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.019044250000000405,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": 0.016554712500000426,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": 0.014065175000000442,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": 0.011575637500000457,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": 0.009086100000000473,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.006596562500000487,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.004107025000000513,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": 0.0016174875000005274,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": -0.000872049999999458,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8704\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.39745405000000034,\n          \"y\": -0.02382615458789039\n        },\n        {\n          \"x\": 0.3949645125000003,\n          \"y\": -0.01899269131401453\n        },\n        {\n          \"x\": 0.39247497500000034,\n          \"y\": -0.014173679106555696\n        },\n        {\n          \"x\": 0.3899854375000004,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.38749590000000045,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.3850063625000004,\n          \"y\": 0.00005400707033003174\n        },\n        {\n          \"x\": 0.3825168250000004,\n          \"y\": 0.004673807344939683\n        },\n        {\n          \"x\": 0.3800272875000004,\n          \"y\": 0.009209988928770731\n        },\n        {\n          \"x\": 0.3775377500000005,\n          \"y\": 0.013649933595881476\n        },\n        {\n          \"x\": 0.37504821250000053,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.3725586750000005,\n          \"y\": 0.022193680076609393\n        },\n        {\n          \"x\": 0.3700691375000005,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.3675796000000005,\n          \"y\": 0.030217272867918137\n        },\n        {\n          \"x\": 0.3650900625000006,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.3626005250000006,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.3601109875000006,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.35762145000000056,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.3551319125000006,\n          \"y\": 0.04754505364897295\n        },\n        {\n          \"x\": 0.3526423750000007,\n          \"y\": 0.05049222321106203\n        },\n        {\n          \"x\": 0.3501528375000007,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.3476633000000007,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.34517376250000065,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.34268422500000073,\n          \"y\": 0.06045038321106201\n        },\n        {\n          \"x\": 0.3401946875000007,\n          \"y\": 0.06248229364897292\n        },\n        {\n          \"x\": 0.3377051500000008,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.33521561250000076,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.33272607500000073,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.3302365375000008,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.3277470000000008,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.3252574625000008,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.32276792500000084,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.32027838750000087,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.3177888500000009,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.3152993125000009,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.3128097750000009,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.31032023750000093,\n          \"y\": 0.07474020707032991\n        },\n        {\n          \"x\": 0.30783070000000096,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.305341162500001,\n          \"y\": 0.07526088006369888\n        },\n        {\n          \"x\": 0.30285162500000096,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.300362087500001,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.297872550000001,\n          \"y\": 0.07575544541210943\n        },\n        {\n          \"x\": 0.29538301000000095,\n          \"y\": 0.0756098286859853\n        },\n        {\n          \"x\": 0.292893470000001,\n          \"y\": 0.07544976089344414\n        },\n        {\n          \"x\": 0.290403930000001,\n          \"y\": 0.07526088006369887\n        },\n        {\n          \"x\": 0.287914390000001,\n          \"y\": 0.07502900186791804\n        },\n        {\n          \"x\": 0.28542485000000095,\n          \"y\": 0.0747402070703299\n        },\n        {\n          \"x\": 0.2829353100000009,\n          \"y\": 0.07438092734493956\n        },\n        {\n          \"x\": 0.2804457700000009,\n          \"y\": 0.07393802892877062\n        },\n        {\n          \"x\": 0.2779562300000009,\n          \"y\": 0.07339889359588138\n        },\n        {\n          \"x\": 0.2754666900000009,\n          \"y\": 0.07275149645292371\n        },\n        {\n          \"x\": 0.2729771500000009,\n          \"y\": 0.0719844800766093\n        },\n        {\n          \"x\": 0.2704876100000009,\n          \"y\": 0.07108722453600091\n        },\n        {\n          \"x\": 0.26799807000000087,\n          \"y\": 0.07004991286791806\n        },\n        {\n          \"x\": 0.26550853000000085,\n          \"y\": 0.06886359160177957\n        },\n        {\n          \"x\": 0.26301899000000084,\n          \"y\": 0.06752022596072697\n        },\n        {\n          \"x\": 0.26052945000000083,\n          \"y\": 0.0660127493986957\n        },\n        {\n          \"x\": 0.2580399100000008,\n          \"y\": 0.06433510716802145\n        },\n        {\n          \"x\": 0.2555503700000008,\n          \"y\": 0.06248229364897291\n        },\n        {\n          \"x\": 0.2530608300000008,\n          \"y\": 0.06045038321106202\n        },\n        {\n          \"x\": 0.2505712900000008,\n          \"y\": 0.05823655441586117\n        },\n        {\n          \"x\": 0.24808175000000077,\n          \"y\": 0.055839107412109526\n        },\n        {\n          \"x\": 0.24559221000000075,\n          \"y\": 0.05325747441586117\n        },\n        {\n          \"x\": 0.24310267000000074,\n          \"y\": 0.05049222321106202\n        },\n        {\n          \"x\": 0.24061313000000073,\n          \"y\": 0.047545053648972956\n        },\n        {\n          \"x\": 0.23812359000000072,\n          \"y\": 0.04441878716802149\n        },\n        {\n          \"x\": 0.2356340500000007,\n          \"y\": 0.04111734939869574\n        },\n        {\n          \"x\": 0.2331445100000007,\n          \"y\": 0.03764574596072702\n        },\n        {\n          \"x\": 0.23065497000000068,\n          \"y\": 0.034010031601779636\n        },\n        {\n          \"x\": 0.22816543000000067,\n          \"y\": 0.03021727286791814\n        },\n        {\n          \"x\": 0.22567589000000066,\n          \"y\": 0.026275504536001\n        },\n        {\n          \"x\": 0.22318635000000064,\n          \"y\": 0.022193680076609396\n        },\n        {\n          \"x\": 0.22069681000000063,\n          \"y\": 0.017981616452923805\n        },\n        {\n          \"x\": 0.21820727000000062,\n          \"y\": 0.013649933595881474\n        },\n        {\n          \"x\": 0.2157177300000006,\n          \"y\": 0.00920998892877074\n        },\n        {\n          \"x\": 0.2132281900000006,\n          \"y\": 0.0046738073449396865\n        },\n        {\n          \"x\": 0.21073865000000058,\n          \"y\": 0.00005400707033003521\n        },\n        {\n          \"x\": 0.20824911000000057,\n          \"y\": -0.004636278132081827\n        },\n        {\n          \"x\": 0.20575957000000056,\n          \"y\": -0.009383479936300985\n        },\n        {\n          \"x\": 0.20327003000000055,\n          \"y\": -0.01417367910655569\n        },\n        {\n          \"x\": 0.20078049000000053,\n          \"y\": -0.018992691314014522\n        },\n        {\n          \"x\": 0.19829095000000052,\n          \"y\": -0.02382615458789039\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8706\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4023286499999996,\n          \"y\": -0.022544054587890106\n        },\n        {\n          \"x\": -0.5293590499999994,\n          \"y\": -0.022544054587890106\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8706-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5261604500000003,\n          \"y\": -0.027111054587890093\n        },\n        {\n          \"x\": 0.39913004999999946,\n          \"y\": -0.027111054587890093\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0040821499999992295,\n      \"y\": 0.22997364541210996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.004252755294839927,\n      \"y\": -0.22997364541210996\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5504428500000003,\n      \"y\": -0.021272154587890446\n    },\n    \"right1\": {\n      \"x\": 0.5504428500000005,\n      \"y\": -0.026521254587889898\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5786012910000002,\n    \"maxX\": 0.5786012910000005,\n    \"minY\": -0.22997364541210996,\n    \"maxY\": 0.22997364541210996,\n    \"width\": 1.1572025820000007,\n    \"height\": 0.4599472908242199,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/inductor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport inductor_right from \"./inductor_right\"\n\nexport default rotateSymbol(inductor_right, \"up\")\n","import { flipSymbolOverXAxis } from \"drawing/rotateSymbol\"\nimport inductor_up from \"./inductor_up\"\n\nexport default flipSymbolOverXAxis(inductor_up)\n","import { flipSymbolOverYAxis } from \"drawing/rotateSymbol\"\nimport inductor_right from \"./inductor_right\"\n\nexport default flipSymbolOverYAxis(inductor_right)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000006,\n          \"y\": -0.05991764999999982\n        },\n        {\n          \"x\": -0.14891374999999996,\n          \"y\": -0.06254064999999964\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.048856449999999496\n        },\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": -0.18114814999999918\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": 0.08343525000000018\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.048856449999999496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": -0.18114814999999984\n        },\n        {\n          \"x\": -0.13236425000000063,\n          \"y\": 0.08343525000000018\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": 0.08343525000000018\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.18114814999999984\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13582535000000018,\n          \"y\": -0.04942524999999942\n        },\n        {\n          \"x\": 0.533952450000001,\n          \"y\": -0.059917649999999156\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.02944535000000048,\n          \"y\": 0.39378525000000053\n        },\n        {\n          \"x\": -0.05325954999999993,\n          \"y\": 0.4660362500000006\n        },\n        {\n          \"x\": -0.07725114999999949,\n          \"y\": 0.39386225000000086\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05361965000000035,\n          \"y\": 0.27387525000000035\n        },\n        {\n          \"x\": -0.053592050000000446,\n          \"y\": 0.2865022500000003\n        },\n        {\n          \"x\": -0.05330205000000077,\n          \"y\": 0.41436425000000066\n        },\n        {\n          \"x\": -0.05311205000000019,\n          \"y\": 0.4152642500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-8-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.06865195000000024,\n          \"y\": 0.39378525000000053\n        },\n        {\n          \"x\": 0.044837750000000565,\n          \"y\": 0.4660362500000006\n        },\n        {\n          \"x\": 0.02084615000000123,\n          \"y\": 0.39386225000000086\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-5-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.044477650000000146,\n          \"y\": 0.27387525000000035\n        },\n        {\n          \"x\": 0.044505250000000274,\n          \"y\": 0.2865022500000003\n        },\n        {\n          \"x\": 0.04479524999999995,\n          \"y\": 0.41436425000000066\n        },\n        {\n          \"x\": 0.04498525000000053,\n          \"y\": 0.4152642500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.03124844999999965,\n          \"y\": 0.05895145000000013\n        },\n        {\n          \"x\": 0.03124844999999965,\n          \"y\": -0.16452955000000036\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.25206924999999947,\n      \"y\": 0.3769550499999994\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.006614550000000552,\n      \"y\": -0.4660362500000004\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": -0.060770450000000364\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": -0.0597740500000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.4660362500000004,\n    \"maxY\": 0.4660362500000006,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.932072500000001,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": -0.05278935000000051,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/laser_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nsvgJson.bounds.width += 0.2\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport laser_diode_horz from \"./laser_diode_horz\"\n\nconst rotatedSymbol = rotateSymbol(laser_diode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{VAL}\")!\n\nref.x = -0.52\nref.anchor = \"middle_right\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path45\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.003696399999999045\n        },\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": -0.13598810000000228\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12763670000000094,\n          \"y\": -0.003920199999999596\n        },\n        {\n          \"x\": 0.5265564000000009,\n          \"y\": -0.003920199999999596\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path46\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": 0.12859530000000063\n        },\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.003696399999999045\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path47\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": -0.13598810000000228\n        },\n        {\n          \"x\": -0.12872579999999934,\n          \"y\": 0.12859530000000063\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path48\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": 0.12859530000000063\n        },\n        {\n          \"x\": 0.13585750000000063,\n          \"y\": -0.13598810000000228\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path49\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.13076959999999938,\n          \"y\": -0.003696399999999045\n        },\n        {\n          \"x\": -0.5256007999999994,\n          \"y\": -0.003696399999999045\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1557438999999996,\n          \"y\": 0.28545279999999806\n        },\n        {\n          \"x\": -0.2530861999999994,\n          \"y\": 0.3023319999999998\n        },\n        {\n          \"x\": -0.21878339999999952,\n          \"y\": 0.20956920000000068\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08000449999999937,\n          \"y\": 0.16590799999999817\n        },\n        {\n          \"x\": -0.09202799999999911,\n          \"y\": 0.1748410000000007\n        },\n        {\n          \"x\": -0.2137844999999996,\n          \"y\": 0.26529680000000155\n        },\n        {\n          \"x\": -0.2144144999999993,\n          \"y\": 0.2662468000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.021722400000000697,\n          \"y\": 0.30658939999999646\n        },\n        {\n          \"x\": -0.07561989999999952,\n          \"y\": 0.3234685999999982\n        },\n        {\n          \"x\": -0.04131709999999922,\n          \"y\": 0.23070579999999907\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09746180000000093,\n          \"y\": 0.18704459999999656\n        },\n        {\n          \"x\": 0.08543830000000074,\n          \"y\": 0.19597759999999909\n        },\n        {\n          \"x\": -0.0363181999999993,\n          \"y\": 0.28643339999999995\n        },\n        {\n          \"x\": -0.03694819999999943,\n          \"y\": 0.2873833999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009561699999999451,\n      \"y\": -0.3234685999999982\n    },\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.31464070000000044,\n      \"y\": 0.22386570000000106\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5362092999999997,\n      \"y\": -0.004432900000001183\n    },\n    \"right1\": {\n      \"x\": 0.5362093000000003,\n      \"y\": -0.004886400000003732\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5643677409999996,\n    \"maxX\": 0.5643677410000003,\n    \"minY\": -0.3234685999999982,\n    \"maxY\": 0.3234685999999982,\n    \"width\": 1.128735482,\n    \"height\": 0.6469371999999964,\n    \"centerX\": 3.3306690738754696e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/led.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.bottom1, anchor: \"middle_top\" },\n    { ...texts.right1, anchor: \"middle_bottom\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nexport default rotateSymbol(led_right, \"down\")\n","import { flipSymbolOverYAxis, rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nexport default flipSymbolOverYAxis(led_right)\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport led_right from \"./led_right\"\n\nconst baseSymbol = rotateSymbol(led_right, \"up\")\n\n// Flip path25-0 and path78 over X axis\nconst modifiedSymbol = {\n  ...baseSymbol,\n  primitives: baseSymbol.primitives.map((primitive) => {\n    if (\n      primitive.type === \"path\" &&\n      (primitive.points.length === 3 || primitive.points.length === 4)\n    ) {\n      // This matches both the triangle shape (path25-0) and path78\n      return {\n        ...primitive,\n        points: primitive.points.map((point) => ({\n          x: point.x,\n          y: -point.y + 2 * baseSymbol.center.y,\n        })),\n      }\n    }\n    return primitive\n  }),\n}\n\nexport default modifiedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5053201665812097,\n          \"y\": -0.010839730805804138\n        },\n        {\n          \"x\": -0.1829962316128657,\n          \"y\": -0.010839730805804138\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": -0.11471502212593476\n        },\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": 0.07736981415388478\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": -0.11632056223474518\n        },\n        {\n          \"x\": 0.16018133830019532,\n          \"y\": -0.11632056223474518\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1674747072814866,\n          \"y\": 0.07736981415388478\n        },\n        {\n          \"x\": 0.16018133830019532,\n          \"y\": 0.07736981415388478\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.17205869804197382,\n          \"y\": -0.010839950577224311\n        },\n        {\n          \"x\": 0.5116721586832798,\n          \"y\": -0.010839950577224311\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-2-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.16064490317338742,\n          \"y\": -0.11622177498145403\n        },\n        {\n          \"x\": 0.16064490317338742,\n          \"y\": 0.07727135655772521\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.40391896081308554,\n          \"y\": -0.2111951150487743\n        },\n        {\n          \"x\": -0.32538818309991635,\n          \"y\": -0.1776462385858042\n        },\n        {\n          \"x\": -0.33843942905204627,\n          \"y\": -0.26928059146906413\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4470989190253618,\n          \"y\": -0.3351265263866847\n        },\n        {\n          \"x\": -0.4385525777085817,\n          \"y\": -0.32468848279378437\n        },\n        {\n          \"x\": -0.3520048317368336,\n          \"y\": -0.21897414423109507\n        },\n        {\n          \"x\": -0.3516268465799328,\n          \"y\": -0.21798517284109487\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.30220674110432255,\n          \"y\": -0.3403193953841548\n        },\n        {\n          \"x\": -0.22367596339115314,\n          \"y\": -0.30677051892118534\n        },\n        {\n          \"x\": -0.23672720934328306,\n          \"y\": -0.3984048718044453\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3453866993165988,\n          \"y\": -0.464250806722065\n        },\n        {\n          \"x\": -0.3368403579998187,\n          \"y\": -0.45381276312916397\n        },\n        {\n          \"x\": -0.2502926120280704,\n          \"y\": -0.34809842456647466\n        },\n        {\n          \"x\": -0.24991462687116983,\n          \"y\": -0.34710945317647446\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.1679477702432366,\n      \"y\": -0.40859918889256375\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.006410773639930811,\n      \"y\": 0.464250806722065\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5247194309452994,\n      \"y\": -0.009902515585214156\n    },\n    \"right1\": {\n      \"x\": 0.5247194309452992,\n      \"y\": -0.010997416799653603\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5520103866874645,\n    \"maxX\": 0.5520103866874643,\n    \"minY\": -0.5085991888925637,\n    \"maxY\": 0.464250806722065,\n    \"width\": 1.1040207733749288,\n    \"height\": 0.6228499956146287,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": -0.022174191085249373\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.003646732950281173,\n      \"y\": -0.018672603986024328,\n      \"radius\": 0.2796529289238723,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/light_dependent_resistor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_left\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport light_dependent_resistor_horz from \"./light_dependent_resistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(light_dependent_resistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path208\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.13154093999999894\n        },\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": -0.13304206000000107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path209\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": -0.13304206000000107\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.13154093999999894\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path210\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": -0.13304206000000107\n        },\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": -0.13304206000000107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path211\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.25201047050000014,\n          \"y\": 0.13154093999999894\n        },\n        {\n          \"x\": 0.5165938705000004,\n          \"y\": 0.13154093999999894\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path212\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.39762406000000006\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": -0.39762406000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path213\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.39612494\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.39612494\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path214\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.5284169399999996\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": 0.18445994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path215\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.5299150600000004\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.0007480600000011606\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path216\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": -0.39762469000000067\n        },\n        {\n          \"x\": 0.3843021704999998,\n          \"y\": 0.3961256399999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path217\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": 0.2638359399999999\n        },\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": -0.26533006000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path218\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": -0.2653310599999994\n        },\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": 0.26383493999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path219\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5417394294999998,\n          \"y\": -0.26533006000000015\n        },\n        {\n          \"x\": -0.22423942949999898,\n          \"y\": -0.2653320600000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path220\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": -0.18595506000000128\n        },\n        {\n          \"x\": 0.11971897050000013,\n          \"y\": -0.18595506000000128\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path221\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1448644295000001,\n          \"y\": 0.18446093999999924\n        },\n        {\n          \"x\": 0.11971897050000013,\n          \"y\": 0.18446093999999924\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path222\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.06548942950000036,\n          \"y\": -0.0007480600000011606\n        },\n        {\n          \"x\": 0.11971887050000074,\n          \"y\": -0.0007480600000011606\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"right1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.5715500704999998,\n      \"y\": 0.02044358999999929\n    },\n    \"right2\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.5701646705000005,\n      \"y\": 0.2085436499999993\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.12018067049999992,\n      \"y\": 0.5432738300000004\n    },\n    \"bottom1\": {\n      \"x\": 0.11982247050000083,\n      \"y\": -0.5432738300000004\n    },\n    \"left1\": {\n      \"x\": -0.5433916295000003,\n      \"y\": -0.2663988600000007\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5715500705000003,\n    \"maxX\": 0.5715500704999998,\n    \"minY\": -0.5714322710000004,\n    \"maxY\": 0.5714322710000004,\n    \"width\": 1.1431001410000001,\n    \"height\": 1.1428645420000008,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/mosfet_depletion_normally_on.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.right1, anchor: \"middle_left\" },\n    { ...texts.right2, anchor: \"middle_left\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width + 0.4, height: bounds.height },\n  center: { x: bounds.centerX + 0.2, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mosfet_depletion_normally_on_horz from \"./mosfet_depletion_normally_on_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mosfet_depletion_normally_on_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_top\"\nval.anchor = \"middle_top\"\n\nref.x = val.x\n\nval.y += 0.15\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path12-1-8-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.005962250000000502,\n          \"y\": 0.06921149999999976\n        },\n        {\n          \"x\": 0.005962250000000502,\n          \"y\": -0.005086499999999106\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.48740705000000073,\n          \"y\": -0.09299450000000142\n        },\n        {\n          \"x\": -0.17310075000000058,\n          \"y\": -0.09299450000000142\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.16008695000000017,\n          \"y\": -0.010660500000000184\n        },\n        {\n          \"x\": 0.1719709499999995,\n          \"y\": -0.010660500000000184\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1954987499999996,\n          \"y\": -0.09260549999999945\n        },\n        {\n          \"x\": 0.4881436499999996,\n          \"y\": -0.09260549999999945\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09950044999999985,\n          \"y\": 0.05839450000000035\n        },\n        {\n          \"x\": -0.09950104999999976,\n          \"y\": 0.06197449999999982\n        },\n        {\n          \"x\": -0.09932044999999956,\n          \"y\": 0.06550449999999941\n        },\n        {\n          \"x\": -0.09896044999999987,\n          \"y\": 0.0690104999999992\n        },\n        {\n          \"x\": -0.09860045000000017,\n          \"y\": 0.07250049999999852\n        },\n        {\n          \"x\": -0.09806045000000019,\n          \"y\": 0.07593049999999835\n        },\n        {\n          \"x\": -0.09735344999999995,\n          \"y\": 0.07929949999999941\n        },\n        {\n          \"x\": -0.09663345000000056,\n          \"y\": 0.08265950000000011\n        },\n        {\n          \"x\": -0.09578045000000035,\n          \"y\": 0.08599949999999978\n        },\n        {\n          \"x\": -0.09475245000000054,\n          \"y\": 0.08924949999999932\n        },\n        {\n          \"x\": -0.09379245000000047,\n          \"y\": 0.09255949999999835\n        },\n        {\n          \"x\": -0.09254545000000025,\n          \"y\": 0.09567949999999925\n        },\n        {\n          \"x\": -0.09120844999999989,\n          \"y\": 0.09877950000000091\n        },\n        {\n          \"x\": -0.08986644999999971,\n          \"y\": 0.10186950000000117\n        },\n        {\n          \"x\": -0.08839545000000015,\n          \"y\": 0.10492949999999901\n        },\n        {\n          \"x\": -0.08675845000000049,\n          \"y\": 0.10783949999999898\n        },\n        {\n          \"x\": -0.08506245000000057,\n          \"y\": 0.11069950000000084\n        },\n        {\n          \"x\": -0.08334244999999996,\n          \"y\": 0.11360950000000081\n        },\n        {\n          \"x\": -0.08146945000000017,\n          \"y\": 0.11638949999999859\n        },\n        {\n          \"x\": -0.0795824500000002,\n          \"y\": 0.11916949999999993\n        },\n        {\n          \"x\": -0.07752845000000086,\n          \"y\": 0.12180949999999946\n        },\n        {\n          \"x\": -0.07546944999999994,\n          \"y\": 0.12442949999999975\n        },\n        {\n          \"x\": -0.07325945000000011,\n          \"y\": 0.12693950000000065\n        },\n        {\n          \"x\": -0.07104145000000006,\n          \"y\": 0.129449499999998\n        },\n        {\n          \"x\": -0.06867544999999975,\n          \"y\": 0.13182950000000027\n        },\n        {\n          \"x\": -0.06628845000000005,\n          \"y\": 0.1341695000000005\n        },\n        {\n          \"x\": -0.06379544999999975,\n          \"y\": 0.1364194999999988\n        },\n        {\n          \"x\": -0.06114145000000004,\n          \"y\": 0.13848950000000038\n        },\n        {\n          \"x\": -0.05848745000000033,\n          \"y\": 0.1405694999999998\n        },\n        {\n          \"x\": -0.05584345000000024,\n          \"y\": 0.14261950000000034\n        },\n        {\n          \"x\": -0.05306845000000049,\n          \"y\": 0.14449950000000022\n        },\n        {\n          \"x\": -0.05029345000000074,\n          \"y\": 0.14639950000000113\n        },\n        {\n          \"x\": -0.04738844999999969,\n          \"y\": 0.14811950000000174\n        },\n        {\n          \"x\": -0.04437445000000029,\n          \"y\": 0.14969949999999876\n        },\n        {\n          \"x\": -0.04134744999999995,\n          \"y\": 0.1513194999999996\n        },\n        {\n          \"x\": -0.038316449999999946,\n          \"y\": 0.15275949999999838\n        },\n        {\n          \"x\": -0.03515645000000056,\n          \"y\": 0.15407949999999992\n        },\n        {\n          \"x\": -0.03204444999999989,\n          \"y\": 0.15536950000000083\n        },\n        {\n          \"x\": -0.028770450000000558,\n          \"y\": 0.15655950000000018\n        },\n        {\n          \"x\": -0.025468450000000864,\n          \"y\": 0.15757949999999887\n        },\n        {\n          \"x\": -0.02213745000000067,\n          \"y\": 0.15863950000000138\n        },\n        {\n          \"x\": -0.018790450000000014,\n          \"y\": 0.15942949999999811\n        },\n        {\n          \"x\": -0.01536325000000005,\n          \"y\": 0.16012949999999826\n        },\n        {\n          \"x\": -0.011980249999999693,\n          \"y\": 0.16082950000000018\n        },\n        {\n          \"x\": -0.008442250000000762,\n          \"y\": 0.16141949999999916\n        },\n        {\n          \"x\": -0.004890650000000107,\n          \"y\": 0.1617494999999991\n        },\n        {\n          \"x\": -0.0013406500000003874,\n          \"y\": 0.16204949999999663\n        },\n        {\n          \"x\": 0.002252350000000014,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.005893849999999645,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.009534849999998762,\n          \"y\": 0.16214949999999817\n        },\n        {\n          \"x\": 0.013136849999999534,\n          \"y\": 0.16204949999999663\n        },\n        {\n          \"x\": 0.016683149999999536,\n          \"y\": 0.1617494999999991\n        },\n        {\n          \"x\": 0.020231149999998976,\n          \"y\": 0.1614494999999998\n        },\n        {\n          \"x\": 0.023727149999999142,\n          \"y\": 0.16104949999999896\n        },\n        {\n          \"x\": 0.02715474999999934,\n          \"y\": 0.16012949999999826\n        },\n        {\n          \"x\": 0.03057874999999921,\n          \"y\": 0.15952949999999966\n        },\n        {\n          \"x\": 0.03395574999999962,\n          \"y\": 0.15867949999999986\n        },\n        {\n          \"x\": 0.03725995000000015,\n          \"y\": 0.15758950000000027\n        },\n        {\n          \"x\": 0.0405679499999998,\n          \"y\": 0.15652949999999954\n        },\n        {\n          \"x\": 0.04379994999999948,\n          \"y\": 0.15541949999999893\n        },\n        {\n          \"x\": 0.04695294999999966,\n          \"y\": 0.15409950000000094\n        },\n        {\n          \"x\": 0.050101949999999285,\n          \"y\": 0.15280950000000004\n        },\n        {\n          \"x\": 0.053191949999999544,\n          \"y\": 0.1513194999999996\n        },\n        {\n          \"x\": 0.05617794999999948,\n          \"y\": 0.1497395000000008\n        },\n        {\n          \"x\": 0.05916694999999983,\n          \"y\": 0.14811950000000174\n        },\n        {\n          \"x\": 0.06206694999999929,\n          \"y\": 0.14639950000000113\n        },\n        {\n          \"x\": 0.06487294999999982,\n          \"y\": 0.1445595000000015\n        },\n        {\n          \"x\": 0.06767095000000012,\n          \"y\": 0.14269950000000264\n        },\n        {\n          \"x\": 0.07038294999999994,\n          \"y\": 0.14069950000000198\n        },\n        {\n          \"x\": 0.07299194999999958,\n          \"y\": 0.1385795000000023\n        },\n        {\n          \"x\": 0.07560095000000011,\n          \"y\": 0.13645950000000262\n        },\n        {\n          \"x\": 0.07809294999999938,\n          \"y\": 0.13420950000000254\n        },\n        {\n          \"x\": 0.08047994999999997,\n          \"y\": 0.13187950000000193\n        },\n        {\n          \"x\": 0.08287894999999956,\n          \"y\": 0.1295395000000017\n        },\n        {\n          \"x\": 0.08515495000000062,\n          \"y\": 0.12706950000000106\n        },\n        {\n          \"x\": 0.08729294999999926,\n          \"y\": 0.12451950000000167\n        },\n        {\n          \"x\": 0.08944594999999911,\n          \"y\": 0.12192950000000202\n        },\n        {\n          \"x\": 0.0914679499999993,\n          \"y\": 0.11930950000000173\n        },\n        {\n          \"x\": 0.09337295000000001,\n          \"y\": 0.1165295000000004\n        },\n        {\n          \"x\": 0.0971669499999992,\n          \"y\": 0.11101949999999938\n        },\n        {\n          \"x\": 0.10043494999999947,\n          \"y\": 0.10512450000000229\n        },\n        {\n          \"x\": 0.10311494999999926,\n          \"y\": 0.09890950000000132\n        },\n        {\n          \"x\": 0.10444094999999987,\n          \"y\": 0.09581950000000106\n        },\n        {\n          \"x\": 0.10564094999999973,\n          \"y\": 0.09262950000000103\n        },\n        {\n          \"x\": 0.10667494999999949,\n          \"y\": 0.08935950000000226\n        },\n        {\n          \"x\": 0.10769994999999977,\n          \"y\": 0.08610950000000273\n        },\n        {\n          \"x\": 0.1085699499999997,\n          \"y\": 0.08279950000000369\n        },\n        {\n          \"x\": 0.10927795000000007,\n          \"y\": 0.07942950000000337\n        },\n        {\n          \"x\": 0.10999794999999946,\n          \"y\": 0.07605950000000128\n        },\n        {\n          \"x\": 0.11051994999999959,\n          \"y\": 0.07262950000000146\n        },\n        {\n          \"x\": 0.11088394999999984,\n          \"y\": 0.06913950000000213\n        },\n        {\n          \"x\": 0.11124394999999954,\n          \"y\": 0.0656495000000028\n        },\n        {\n          \"x\": 0.11142394999999983,\n          \"y\": 0.062099500000002195\n        },\n        {\n          \"x\": 0.11142394999999983,\n          \"y\": 0.05854350000000075\n        },\n        {\n          \"x\": 0.10483595000000001,\n          \"y\": 0.05853049999999982\n        },\n        {\n          \"x\": 0.0982479500000002,\n          \"y\": 0.058516500000001415\n        },\n        {\n          \"x\": 0.09164495000000006,\n          \"y\": 0.058518500000001694\n        },\n        {\n          \"x\": 0.08505695000000024,\n          \"y\": 0.05850850000000207\n        },\n        {\n          \"x\": 0.078453950000001,\n          \"y\": 0.058509500000001324\n        },\n        {\n          \"x\": 0.07186595000000029,\n          \"y\": 0.058496500000000395\n        },\n        {\n          \"x\": 0.06526295000000104,\n          \"y\": 0.05849750000000142\n        },\n        {\n          \"x\": 0.058674950000001225,\n          \"y\": 0.058485499999999746\n        },\n        {\n          \"x\": 0.05208695000000052,\n          \"y\": 0.058473499999999845\n        },\n        {\n          \"x\": 0.04548395000000127,\n          \"y\": 0.058475500000000125\n        },\n        {\n          \"x\": 0.038895950000001456,\n          \"y\": 0.05846150000000172\n        },\n        {\n          \"x\": 0.03230795000000075,\n          \"y\": 0.058448499999999015\n        },\n        {\n          \"x\": 0.025704950000001503,\n          \"y\": 0.058453499999998826\n        },\n        {\n          \"x\": 0.019101950000001366,\n          \"y\": 0.05845449999999808\n        },\n        {\n          \"x\": 0.01251395000000155,\n          \"y\": 0.05844149999999715\n        },\n        {\n          \"x\": 0.005925950000001734,\n          \"y\": 0.058427499999998744\n        },\n        {\n          \"x\": -0.0006560499999990199,\n          \"y\": 0.05842149999999968\n        },\n        {\n          \"x\": -0.007240049999999165,\n          \"y\": 0.05841449999999959\n        },\n        {\n          \"x\": -0.01382404999999931,\n          \"y\": 0.05840850000000053\n        },\n        {\n          \"x\": -0.020406049999999176,\n          \"y\": 0.05840250000000147\n        },\n        {\n          \"x\": -0.02699004999999932,\n          \"y\": 0.058394500000002125\n        },\n        {\n          \"x\": -0.03357404999999947,\n          \"y\": 0.05838950000000409\n        },\n        {\n          \"x\": -0.04015604999999933,\n          \"y\": 0.05838350000000503\n        },\n        {\n          \"x\": -0.04674004999999948,\n          \"y\": 0.05837450000000466\n        },\n        {\n          \"x\": -0.05332205000000023,\n          \"y\": 0.058368500000005596\n        },\n        {\n          \"x\": -0.05990605000000038,\n          \"y\": 0.058360500000006255\n        },\n        {\n          \"x\": -0.06649005000000052,\n          \"y\": 0.058355500000006444\n        },\n        {\n          \"x\": -0.07307205000000039,\n          \"y\": 0.05834950000000738\n        },\n        {\n          \"x\": -0.07965605000000053,\n          \"y\": 0.05834150000000804\n        },\n        {\n          \"x\": -0.08624005000000068,\n          \"y\": 0.05833550000000898\n        },\n        {\n          \"x\": -0.09282205000000143,\n          \"y\": 0.05833050000001094\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.01254745000000046,\n      \"y\": 0.26612850000000243\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.16130964999999975,\n      \"y\": -0.2661284999999989\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.4717985499999999,\n      \"y\": -0.09296750000000031\n    },\n    \"right1\": {\n      \"x\": 0.4717985499999999,\n      \"y\": -0.09299249999999937\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4999569909999999,\n    \"maxX\": 0.4999569909999999,\n    \"minY\": -0.2661284999999989,\n    \"maxY\": 0.26612850000000243,\n    \"width\": 0.9999139819999998,\n    \"height\": 0.5322570000000013,\n    \"centerX\": 0,\n    \"centerY\": 1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/mushroom_head_normally_open_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] },\n    { ...refblocks.right1, labels: [\"2\"] },\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX + 0.006, y: bounds.centerY + 0.06 },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport mushroom_head_normally_open_momentary_horz from \"./mushroom_head_normally_open_momentary_horz\"\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(mushroom_head_normally_open_momentary_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nref.x = ref.x - 0.03\nref.y = ref.y\n\nval.x = val.x\nval.y = 0\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09373835550000087,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.09280835550000122,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.27419885550000034,\n          \"y\": 0.04077644999999963\n        },\n        {\n          \"x\": 0.27419885550000034,\n          \"y\": -0.030615650000000327\n        },\n        {\n          \"x\": 0.2024438555000001,\n          \"y\": 0.004662050000000084\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.16715385000000005\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.10592255000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/n_channel_d_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport n_channel_d_mosfet_transistor_horz from \"./n_channel_d_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(n_channel_d_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.14677165000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": -0.06899565000000041\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09440455549999993,\n          \"y\": 0.07703174999999951\n        },\n        {\n          \"x\": 0.09311455549999992,\n          \"y\": 0.15480774999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.03486995000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": 0.042906049999999585\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2741991554999996,\n          \"y\": 0.040776550000000134\n        },\n        {\n          \"x\": 0.2741991554999996,\n          \"y\": -0.030615549999999825\n        },\n        {\n          \"x\": 0.2024441554999994,\n          \"y\": 0.004662350000000037\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.10847375000000059\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/n_channel_e_mosfet_transistor.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport n_channel_e_mosfet_transistor_horz from \"./n_channel_e_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(n_channel_e_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38509374449999945,\n          \"y\": 0.00367374999999992\n        },\n        {\n          \"x\": 0.05876225550000025,\n          \"y\": 0.00629674999999974\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2912404555000001,\n          \"y\": 0.5298821500000002\n        },\n        {\n          \"x\": 0.29184045550000004,\n          \"y\": 0.10355795000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": -0.06153284999999986\n        },\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": 0.06535114999999969\n        },\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": 0.0026521499999998532\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.15156024449999927,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0393233555000001,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.29108805550000105,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.004526550000000462\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/njfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport njfet_transistor_horz from \"./njfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(njfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850939444999988,\n          \"y\": -0.0036735999999999436\n        },\n        {\n          \"x\": 0.0587620555000008,\n          \"y\": -0.0062965999999997635\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07400475550000118,\n          \"y\": 0.2689528999999997\n        },\n        {\n          \"x\": 0.07335475550000092,\n          \"y\": -0.2789230000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2754149555000005,\n          \"y\": 0.24180210000000013\n        },\n        {\n          \"x\": 0.07955815550000045,\n          \"y\": 0.10822479999999968\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2868554555000009,\n          \"y\": -0.24134789999999984\n        },\n        {\n          \"x\": 0.09194705550000082,\n          \"y\": -0.10807689999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": 0.25311099999999964\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": 0.5377640999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": -0.5376890000000012\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": -0.25303590000000065\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1882816555000013,\n          \"y\": -0.10097660000000008\n        },\n        {\n          \"x\": 0.11555775550000158,\n          \"y\": -0.20483720000000027\n        },\n        {\n          \"x\": 0.22425775550000182,\n          \"y\": -0.20446720000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.07802354449999971,\n      \"y\": 0.3596647999999991\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0679100444999996,\n      \"y\": -0.4129789000000006\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.28556045550000064,\n      \"y\": 0.5519250999999994\n    },\n    \"bottom1\": {\n      \"x\": 0.285560455500002,\n      \"y\": -0.5519250999999992\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": -0.004526300000000871\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.4271681855000001,\n    \"minY\": -0.5800835409999991,\n    \"maxY\": 0.5800835409999994,\n    \"width\": 0.8543363709999998,\n    \"height\": 1.1601670819999985,\n    \"centerX\": 1.3877787807814457e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605550000007,\n      \"y\": 0.003454799999999203,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/npn_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport svgJson from \"assets/generated/npn_bipolar_transistor.json\"\nimport npn_bipolar_transistor_horz from \"./npn_bipolar_transistor_horz\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst rotatedSymbol = rotateSymbol(npn_bipolar_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\n\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"top1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09373835550000087,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.09280835550000122,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": -0.03061555000000049\n        },\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": 0.04077654999999947\n        },\n        {\n          \"x\": 0.2741990554999998,\n          \"y\": 0.0054987499999992195\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.16715385000000005\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.10592255000000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/p_channel_d_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport p_channel_d_mosfet_transistor_horz from \"./p_channel_d_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(p_channel_d_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.39274354450000026,\n          \"y\": 0.10329954999999957\n        },\n        {\n          \"x\": 0.05111245549999932,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.30382435550000064,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.3032243555000005,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3108281555000003,\n          \"y\": 0.5323308500000001\n        },\n        {\n          \"x\": 0.31142815550000025,\n          \"y\": 0.005876249999999805\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.14677165000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": -0.06899565000000041\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09440455549999993,\n          \"y\": 0.07703174999999951\n        },\n        {\n          \"x\": 0.09311455549999992,\n          \"y\": 0.15480774999999958\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-8-3-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09448295549999952,\n          \"y\": -0.03486995000000048\n        },\n        {\n          \"x\": 0.09319295549999951,\n          \"y\": 0.042906049999999585\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": -0.03061555000000049\n        },\n        {\n          \"x\": 0.20244405549999955,\n          \"y\": 0.04077654999999947\n        },\n        {\n          \"x\": 0.2741990554999998,\n          \"y\": 0.0054987499999992195\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path2-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09383795549999951,\n          \"y\": 0.004018049999999551\n        },\n        {\n          \"x\": 0.31104975549999936,\n          \"y\": 0.005306049999999729\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.05171245550000081,\n          \"y\": -0.10847375000000059\n        },\n        {\n          \"x\": 0.05111245550000065,\n          \"y\": 0.1059225499999994\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.13197254449999907,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.05891105550000031,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.30397715549999993,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.31067575550000126,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.41859744450000025,\n      \"y\": 0.10250625000000024\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4467558855000002,\n    \"maxX\": 0.44675588550000006,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": -8.326672684688674e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.15821375550000005,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/p_channel_e_mosfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\", x: 0 },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport p_channel_e_mosfet_transistor_horz from \"./p_channel_e_mosfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(p_channel_e_mosfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": -0.012413549999999773\n        },\n        {\n          \"x\": -0.14891374999999973,\n          \"y\": -0.015036549999999593\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.001352349999999447\n        },\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": -0.13364404999999913\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": 0.13093935000000023\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.001352349999999447\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": -0.1336440499999998\n        },\n        {\n          \"x\": -0.1323642500000004,\n          \"y\": 0.13093935000000023\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": 0.13093935000000023\n        },\n        {\n          \"x\": 0.13221874999999983,\n          \"y\": -0.1336440499999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1358253500000004,\n          \"y\": -0.001921149999999372\n        },\n        {\n          \"x\": 0.533952450000001,\n          \"y\": -0.012413549999999107\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19839785000000076,\n          \"y\": 0.37576625000000075\n        },\n        {\n          \"x\": 0.16262485000000027,\n          \"y\": 0.28367475000000053\n        },\n        {\n          \"x\": 0.26033484999999956,\n          \"y\": 0.2989800500000006\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3305468500000004,\n          \"y\": 0.4264014500000006\n        },\n        {\n          \"x\": 0.31941585000000017,\n          \"y\": 0.4163797500000006\n        },\n        {\n          \"x\": 0.20669285000000048,\n          \"y\": 0.3148875500000008\n        },\n        {\n          \"x\": 0.20564285000000115,\n          \"y\": 0.31448755000000084\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path25-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.34573984999999974,\n          \"y\": 0.3493283500000002\n        },\n        {\n          \"x\": 0.30996684999999946,\n          \"y\": 0.25723684999999996\n        },\n        {\n          \"x\": 0.40767644999999963,\n          \"y\": 0.27254215000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path78-6-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.47788845000000046,\n          \"y\": 0.39996355000000006\n        },\n        {\n          \"x\": 0.46675745000000024,\n          \"y\": 0.38994185000000003\n        },\n        {\n          \"x\": 0.35403445000000033,\n          \"y\": 0.2884496500000002\n        },\n        {\n          \"x\": 0.352984450000001,\n          \"y\": 0.2880496500000005\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.10246254999999982,\n      \"y\": 0.34693914999999986\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0012544500000004621,\n      \"y\": -0.4264014500000004\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": -0.013266350000000315\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": -0.012269950000000529\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.4264014500000004,\n    \"maxY\": 0.4264014500000006,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.852802900000001,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": -0.005285250000000241,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/photodiode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport photodiode_horz from \"./photodiode_horz\"\n\nconst rotatedSymbol = rotateSymbol(photodiode_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38509374449999945,\n          \"y\": 0.00367374999999992\n        },\n        {\n          \"x\": 0.05876225550000025,\n          \"y\": 0.00629674999999974\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07415065550000066,\n          \"y\": -0.18559775000000034\n        },\n        {\n          \"x\": 0.07322065550000101,\n          \"y\": 0.18255174999999935\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.28423665550000043,\n          \"y\": -0.53233025\n        },\n        {\n          \"x\": 0.2836366555000003,\n          \"y\": -0.10600584999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2912404555000001,\n          \"y\": 0.5298821500000002\n        },\n        {\n          \"x\": 0.29184045550000004,\n          \"y\": 0.10355795000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": -0.10788365000000044\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": -0.10659565000000004\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07425025549999931,\n          \"y\": 0.10232114999999986\n        },\n        {\n          \"x\": 0.29146205549999915,\n          \"y\": 0.10360915000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": 0.06535114999999969\n        },\n        {\n          \"x\": 0.005945155500000077,\n          \"y\": -0.06153284999999986\n        },\n        {\n          \"x\": -0.0829488445000004,\n          \"y\": 0.001166149999999977\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.15156024449999927,\n      \"y\": -0.36092494999999936\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.0393233555000001,\n      \"y\": 0.42489435000000064\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2843894554999997,\n      \"y\": -0.5519248499999992\n    },\n    \"bottom1\": {\n      \"x\": 0.29108805550000105,\n      \"y\": 0.5519248499999994\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": 0.004526550000000462\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.42716818549999985,\n    \"minY\": -0.5800832909999992,\n    \"maxY\": 0.5800832909999993,\n    \"width\": 1,\n    \"height\": 1.1601665819999987,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 5.551115123125783e-17\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605549999985,\n      \"y\": -0.003454549999999612,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/pjfet_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\", x: 0 },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\", \"drain\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\", \"source\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\", \"gate\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport pjfet_transistor_horz from \"./pjfet_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(pjfet_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.x = -0.35\nval.y = 0\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.y = 0\nref.x = 0.35\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3850939444999988,\n          \"y\": -0.0036735999999999436\n        },\n        {\n          \"x\": 0.0587620555000008,\n          \"y\": -0.0062965999999997635\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07400475550000118,\n          \"y\": 0.2689528999999997\n        },\n        {\n          \"x\": 0.07335475550000092,\n          \"y\": -0.2789230000000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2754149555000005,\n          \"y\": 0.24180210000000013\n        },\n        {\n          \"x\": 0.07955815550000045,\n          \"y\": 0.10822479999999968\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-0-5-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2868554555000009,\n          \"y\": -0.24134789999999984\n        },\n        {\n          \"x\": 0.09194705550000082,\n          \"y\": -0.10807689999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": 0.25311099999999964\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": 0.5377640999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2851204555,\n          \"y\": -0.5376890000000012\n        },\n        {\n          \"x\": 0.2860204555000001,\n          \"y\": -0.25303590000000065\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path15\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.15155145550000038,\n          \"y\": -0.2268796000000004\n        },\n        {\n          \"x\": 0.2242753555000001,\n          \"y\": -0.12301900000000021\n        },\n        {\n          \"x\": 0.11557535549999942,\n          \"y\": -0.12338900000000042\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.08351674449999891,\n      \"y\": 0.37335419999999897\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.0679100444999996,\n      \"y\": -0.4129789000000006\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.28556045550000064,\n      \"y\": 0.5519250999999994\n    },\n    \"bottom1\": {\n      \"x\": 0.285560455500002,\n      \"y\": -0.5519250999999992\n    },\n    \"left1\": {\n      \"x\": -0.3990097444999998,\n      \"y\": -0.004526300000000871\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4271681854999998,\n    \"maxX\": 0.4271681855000001,\n    \"minY\": -0.5800835409999991,\n    \"maxY\": 0.5800835409999994,\n    \"width\": 0.8543363709999998,\n    \"height\": 1.1601670819999985,\n    \"centerX\": 1.3877787807814457e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1-0\": {\n      \"type\": \"circle\",\n      \"x\": 0.13862605550000007,\n      \"y\": 0.003454799999999203,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/pnp_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"bottom1\", [\"2\"])\n  .labelPort(\"top1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_right\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport pnp_bipolar_transistor_horz from \"./pnp_bipolar_transistor_horz\"\nimport svgJson from \"assets/generated/pnp_bipolar_transistor.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst rotatedSymbol = rotateSymbol(pnp_bipolar_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nexport default modifySymbol(svgJson)\n  .rotateRightFacingSymbol(\"down\")\n  .changeTextAnchor(\"{VAL}\", \"middle_right\")\n  .labelPort(\"left1\", [\"3\"])\n  .labelPort(\"bottom1\", [\"2\"])\n  .labelPort(\"top1\", [\"1\"])\n  .changeTextAnchor(\"{REF}\", \"middle_left\")\n  .build()\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": 0.32749349347032286\n        },\n        {\n          \"x\": -0.25568957329611974,\n          \"y\": 0.13794979950157282\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": 0.26431229398676837\n        },\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": 0.32749349347032286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556895732961204,\n          \"y\": 0.13794979950157416\n        },\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": 0.26431229398676837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556896210551609,\n          \"y\": 0.39067474071292196\n        },\n        {\n          \"x\": -0.12932712656996737,\n          \"y\": 0.26431224622772653\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199237641156438,\n          \"y\": 0.2000781031672434\n        },\n        {\n          \"x\": -0.5084145145074668,\n          \"y\": 0.011587352775420667\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011560829633404435,\n          \"y\": 0.5083596562436202\n        },\n        {\n          \"x\": -0.19004023433272543,\n          \"y\": 0.3298802515442989\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": -0.3220463011874377\n        },\n        {\n          \"x\": -0.38205182549842887,\n          \"y\": -0.2588651017038819\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": -0.13250260721868767\n        },\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": -0.3220463011874377\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205182549842753,\n          \"y\": -0.258865101703881\n        },\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": -0.13250260721868767\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12932688428707984,\n          \"y\": -0.2588650539448407\n        },\n        {\n          \"x\": -0.25568937877227516,\n          \"y\": -0.38522754843003404\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199235218327583,\n          \"y\": -0.19463091088435758\n        },\n        {\n          \"x\": -0.508414272224581,\n          \"y\": -0.006140160492534852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011641968756381349,\n          \"y\": -0.5029938453665972\n        },\n        {\n          \"x\": -0.1901213734557028,\n          \"y\": -0.3245144406672762\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.322578868470321,\n          \"y\": 0.19315369881256328\n        },\n        {\n          \"x\": 0.13303517450157099,\n          \"y\": 0.2563348982961191\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": 0.3826973927813131\n        },\n        {\n          \"x\": 0.322578868470321,\n          \"y\": 0.19315369881256328\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13303517450157232,\n          \"y\": 0.2563348982961198\n        },\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": 0.3826973927813131\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.38576011571292,\n          \"y\": 0.2563349460551603\n        },\n        {\n          \"x\": 0.2593976212277247,\n          \"y\": 0.12997245156996673\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19516347816724133,\n          \"y\": 0.3205690891156432\n        },\n        {\n          \"x\": 0.006672727775418608,\n          \"y\": 0.509059839507466\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5034450312436185,\n          \"y\": 0.012206154633403798\n        },\n        {\n          \"x\": 0.32496562654429706,\n          \"y\": 0.19068555933272457\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": -0.19326390652967795\n        },\n        {\n          \"x\": 0.25884082670387976,\n          \"y\": -0.382807600498428\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": -0.25644510601323245\n        },\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": -0.19326390652967795\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588408267038793,\n          \"y\": -0.38280760049842666\n        },\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": -0.25644510601323245\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588407789448386,\n          \"y\": -0.13008265928707896\n        },\n        {\n          \"x\": 0.38520327343003213,\n          \"y\": -0.2564451537722743\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19460663588435567,\n          \"y\": -0.3206792968327574\n        },\n        {\n          \"x\": 0.0061158854925329464,\n          \"y\": -0.5091700472245801\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5029695703665951,\n          \"y\": -0.012397743756380697\n        },\n        {\n          \"x\": 0.3244901656672745,\n          \"y\": -0.19087714845570192\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.2872803000000015,\n      \"y\": 0.4564494249999992\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.2872803000000015,\n      \"y\": -0.4960514750000007\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.0005126999999993664,\n      \"y\": 0.5191475\n    },\n    \"bottom1\": {\n      \"x\": -0.0005123000000009093,\n      \"y\": -0.5191475000000001\n    },\n    \"left1\": {\n      \"x\": -0.5191472999999998,\n      \"y\": 0.0005123250000014234\n    },\n    \"right1\": {\n      \"x\": 0.5191473000000002,\n      \"y\": -0.0005123749999977889\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473057409999997,\n    \"maxX\": 0.5473057410000002,\n    \"minY\": -0.5473059410000001,\n    \"maxY\": 0.547305941,\n    \"width\": 1.094611482,\n    \"height\": 1.0946118820000001,\n    \"centerX\": 2.220446049250313e-16,\n    \"centerY\": -5.551115123125783e-17\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/potentiometer.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.bottom1, y: 0.35, anchor: \"middle_top\" },\n    { ...texts.top1, anchor: \"middle_left\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width + 0.05, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer_horz from \"./potentiometer_horz\"\n\nconst rotated = rotateSymbol(potentiometer_horz)\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path18\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.53224045,\n          \"y\": -0.0008545000000008685\n        },\n        {\n          \"x\": -0.26765715000000023,\n          \"y\": -0.0008545000000008685\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path19\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2615098499999995,\n          \"y\": -0.0008545000000008685\n        },\n        {\n          \"x\": 0.5260934499999994,\n          \"y\": -0.0008545000000008685\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path20\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.0030722500000006647,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": 0.2615107499999998,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": 0.2615107499999998,\n          \"y\": -0.13314619999999877\n        },\n        {\n          \"x\": -0.26765624999999993,\n          \"y\": -0.13314619999999877\n        },\n        {\n          \"x\": -0.26765624999999993,\n          \"y\": 0.1314371999999988\n        },\n        {\n          \"x\": -0.0030722499999988884,\n          \"y\": 0.1314371999999988\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path23\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2782993499999993,\n          \"y\": -0.2822274\n        },\n        {\n          \"x\": 0.17598844999999885,\n          \"y\": -0.25486950000000164\n        },\n        {\n          \"x\": 0.25094144999999823,\n          \"y\": -0.1799165000000027\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path24\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2882692499999995,\n          \"y\": -0.2921307000000013\n        },\n        {\n          \"x\": 0.25467554999999953,\n          \"y\": -0.16634940000000142\n        },\n        {\n          \"x\": 0.16229264999999948,\n          \"y\": -0.25853690000000284\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path26\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2985911500000009,\n          \"y\": 0.2921307000000013\n        },\n        {\n          \"x\": 0.22988164999999938,\n          \"y\": -0.2328032000000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.055041669999999154,\n      \"y\": 0.2009376800000009\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.10019643000000089,\n      \"y\": -0.27857531999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5346914500000006,\n      \"y\": -0.0013439000000019519\n    },\n    \"right1\": {\n      \"x\": 0.5346914500000004,\n      \"y\": -0.001956599999999753\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5628498910000006,\n    \"maxX\": 0.5628498910000004,\n    \"minY\": -0.2921307000000013,\n    \"maxY\": 0.2921307000000013,\n    \"width\": 1.125699782000001,\n    \"height\": 0.5842614000000026,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/potentiometer2.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.bottom1, anchor: \"middle_top\" },\n    { ...texts.top1, anchor: \"middle_bottom\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport potentiometer2_horz from \"./potentiometer2_horz\"\n\nconst rotated = rotateSymbol(potentiometer2_horz)\n\nconst texts = rotated.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\nval.anchor = \"middle_right\"\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\nref.anchor = \"middle_left\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.02812460000000061\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.02812460000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.02812460000000061\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.02812460000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.16215344999999948,\n      \"y\": 0.39517610000000025\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.003375049999999602,\n      \"y\": -0.39517610000000003\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"COS φ\",\n      \"x\": -0.1453603499999998,\n      \"y\": 0.013845600000000235\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.027271800000000068\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.028268199999999855\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.39517610000000003,\n    \"maxY\": 0.39517610000000025,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.7903522000000003,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03525290000000014,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/power_factor_meter.json\"\nimport { ninePointAnchorToSvgAnchor } from \"drawing/ninePointAnchorToSvgAnchor\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    // { ...texts.top1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: -0.15,\n      y: -0.42330070000000064,\n      anchor: \"middle_top\",\n    },\n    // { ...texts.bottom1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: -0.15,\n      y: 0.42330070000000064,\n      anchor: \"middle_bottom\",\n    },\n    // { ...texts.left1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"COS φ\",\n      x: 0,\n      y: 0.014279000000000375,\n      anchor: \"center\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport power_factor_meter_horz from \"./power_factor_meter_horz\"\nimport { text } from \"drawing/text\"\n\nconst rotatedSymbol = rotateSymbol(power_factor_meter_horz)\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")\nconst ref = texts.find((t) => t.text === \"{REF}\")!\nconst val = texts.find((t) => t.text === \"{VAL}\")!\nconst text_cos = texts.find((t) => t.text === \"COS φ\")!\nref.x = 0.35\nref.y = 0\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\nval.x = -0.35\nval.y = 0\ntext_cos.x = 0\ntext_cos.y = 0\ntext_cos.anchor = \"center\"\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path12-1-8-6-9-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.030446500000000043\n        },\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": -0.0859464999999986\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4867871500000014,\n          \"y\": -0.0510704999999998\n        },\n        {\n          \"x\": -0.17248085000000124,\n          \"y\": -0.0510704999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.15916995000000078,\n          \"y\": -0.0915204999999979\n        },\n        {\n          \"x\": 0.1810634499999999,\n          \"y\": -0.0915204999999979\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19611864999999984,\n          \"y\": -0.05109549999999885\n        },\n        {\n          \"x\": 0.48876354999999894,\n          \"y\": -0.05109549999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.007320949999999549,\n      \"y\": 0.22461850000000005\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1606897500000004,\n      \"y\": -0.22461849999999828\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.47241845000000104,\n      \"y\": -0.05104349999999869\n    },\n    \"right1\": {\n      \"x\": 0.47241845000000016,\n      \"y\": -0.051482499999998765\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.500576891000001,\n    \"maxX\": 0.5005768910000001,\n    \"minY\": -0.22461849999999828,\n    \"maxY\": 0.22461850000000005,\n    \"width\": 1.0011537820000012,\n    \"height\": 0.44923699999999833,\n    \"centerX\": -4.440892098500626e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {\n    \"circle-2\": {\n      \"type\": \"circle\",\n      \"x\": -0.14387115000000072,\n      \"y\": -0.05130149999999922,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"circle\": {\n      \"type\": \"circle\",\n      \"x\": 0.16803074999999978,\n      \"y\": -0.05007949999999717,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_closed_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_left\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_closed_momentary_horz from \"./push_button_normally_closed_momentary_horz\"\n\nexport default rotateSymbol(push_button_normally_closed_momentary_horz, \"up\")\n","{\n  \"paths\": {\n    \"path12-1-8-6-9-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.15281650000000013\n        },\n        {\n          \"x\": 0.013196749999999646,\n          \"y\": 0.036423500000001496\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-5-6-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.4867871500000014,\n          \"y\": -0.0510704999999998\n        },\n        {\n          \"x\": -0.17248085000000124,\n          \"y\": -0.0510704999999998\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-8-0-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.15916995000000078,\n          \"y\": 0.030849500000000418\n        },\n        {\n          \"x\": 0.1810634499999999,\n          \"y\": 0.030849500000000418\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-1-0-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19611864999999984,\n          \"y\": -0.05109549999999885\n        },\n        {\n          \"x\": 0.48876354999999894,\n          \"y\": -0.05109549999999885\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.007320949999999549,\n      \"y\": 0.22461850000000005\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.1606897500000004,\n      \"y\": -0.22461849999999828\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.47241845000000104,\n      \"y\": -0.05104349999999869\n    },\n    \"right1\": {\n      \"x\": 0.47241845000000016,\n      \"y\": -0.051482499999998765\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.500576891000001,\n    \"maxX\": 0.5005768910000001,\n    \"minY\": -0.22461849999999828,\n    \"maxY\": 0.22461850000000005,\n    \"width\": 1.0011537820000012,\n    \"height\": 0.44923699999999833,\n    \"centerX\": -4.440892098500626e-16,\n    \"centerY\": 8.881784197001252e-16\n  },\n  \"circles\": {\n    \"circle-2\": {\n      \"type\": \"circle\",\n      \"x\": -0.14387115000000072,\n      \"y\": -0.05130149999999922,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"circle\": {\n      \"type\": \"circle\",\n      \"x\": 0.16803074999999978,\n      \"y\": -0.05007949999999717,\n      \"radius\": 0.023193523,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/push_button_normally_open_momentary.json\"\nimport { Primitive } from \"drawing/types\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_left\" },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport push_button_normally_open_momentary_horz from \"./push_button_normally_open_momentary_horz\"\n\nexport default rotateSymbol(push_button_normally_open_momentary_horz, \"up\")\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": -0.32749349347032286\n        },\n        {\n          \"x\": -0.25568957329611974,\n          \"y\": -0.13794979950157282\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": -0.26431229398676837\n        },\n        {\n          \"x\": -0.19250837381256392,\n          \"y\": -0.32749349347032286\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556895732961204,\n          \"y\": -0.13794979950157416\n        },\n        {\n          \"x\": -0.38205206778131373,\n          \"y\": -0.26431229398676837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556896210551609,\n          \"y\": -0.39067474071292196\n        },\n        {\n          \"x\": -0.12932712656996737,\n          \"y\": -0.26431224622772653\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199237641156438,\n          \"y\": -0.2000781031672434\n        },\n        {\n          \"x\": -0.5084145145074668,\n          \"y\": -0.011587352775420667\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011560829633404435,\n          \"y\": -0.5083596562436202\n        },\n        {\n          \"x\": -0.19004023433272543,\n          \"y\": -0.3298802515442989\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": 0.3220463011874377\n        },\n        {\n          \"x\": -0.38205182549842887,\n          \"y\": 0.2588651017038819\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": 0.13250260721868767\n        },\n        {\n          \"x\": -0.19250813152967883,\n          \"y\": 0.3220463011874377\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.38205182549842753,\n          \"y\": 0.258865101703881\n        },\n        {\n          \"x\": -0.2556893310132333,\n          \"y\": 0.13250260721868767\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12932688428707984,\n          \"y\": 0.2588650539448407\n        },\n        {\n          \"x\": -0.25568937877227516,\n          \"y\": 0.38522754843003404\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3199235218327583,\n          \"y\": 0.19463091088435758\n        },\n        {\n          \"x\": -0.508414272224581,\n          \"y\": 0.006140160492534852\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.011641968756381349,\n          \"y\": 0.5029938453665972\n        },\n        {\n          \"x\": -0.1901213734557028,\n          \"y\": 0.3245144406672762\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.322578868470321,\n          \"y\": -0.19315369881256328\n        },\n        {\n          \"x\": 0.13303517450157099,\n          \"y\": -0.2563348982961191\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": -0.3826973927813131\n        },\n        {\n          \"x\": 0.322578868470321,\n          \"y\": -0.19315369881256328\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13303517450157232,\n          \"y\": -0.2563348982961198\n        },\n        {\n          \"x\": 0.2593976689867663,\n          \"y\": -0.3826973927813131\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.38576011571292,\n          \"y\": -0.2563349460551603\n        },\n        {\n          \"x\": 0.2593976212277247,\n          \"y\": -0.12997245156996673\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19516347816724133,\n          \"y\": -0.3205690891156432\n        },\n        {\n          \"x\": 0.006672727775418608,\n          \"y\": -0.509059839507466\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5034450312436185,\n          \"y\": -0.012206154633403798\n        },\n        {\n          \"x\": 0.32496562654429706,\n          \"y\": -0.19068555933272457\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path40-4-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": 0.19326390652967795\n        },\n        {\n          \"x\": 0.25884082670387976,\n          \"y\": 0.382807600498428\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41-1-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": 0.25644510601323245\n        },\n        {\n          \"x\": 0.3220220261874358,\n          \"y\": 0.19326390652967795\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42-7-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588408267038793,\n          \"y\": 0.38280760049842666\n        },\n        {\n          \"x\": 0.13247833221868577,\n          \"y\": 0.25644510601323245\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-1-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2588407789448386,\n          \"y\": 0.13008265928707896\n        },\n        {\n          \"x\": 0.38520327343003213,\n          \"y\": 0.2564451537722743\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-8-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19460663588435567,\n          \"y\": 0.3206792968327574\n        },\n        {\n          \"x\": 0.0061158854925329464,\n          \"y\": 0.5091700472245801\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0-7-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5029695703665951,\n          \"y\": 0.012397743756380697\n        },\n        {\n          \"x\": 0.3244901656672745,\n          \"y\": 0.19087714845570192\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.2872803000000015,\n      \"y\": -0.4564494249999992\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.2872803000000015,\n      \"y\": 0.4960514750000007\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.0005126999999993664,\n      \"y\": -0.5191475\n    },\n    \"bottom1\": {\n      \"x\": -0.0005123000000009093,\n      \"y\": 0.5191475000000001\n    },\n    \"left1\": {\n      \"x\": -0.5191472999999998,\n      \"y\": -0.0005123250000014234\n    },\n    \"right1\": {\n      \"x\": 0.5191473000000002,\n      \"y\": 0.0005123749999977889\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473057409999997,\n    \"maxX\": 0.5473057410000002,\n    \"minY\": -0.5564494249999992,\n    \"maxY\": 0.5473059410000001,\n    \"width\": 1.094611482,\n    \"height\": 1.1037553659999992,\n    \"centerX\": 2.220446049250313e-16,\n    \"centerY\": -0.004571741999999546\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/rectifier_diode.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_right\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"4\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import type { TextPrimitive } from \"drawing\"\nimport { rotateSymbol } from \"drawing/rotateSymbol\"\nimport rectifier_diode_horz from \"./rectifier_diode_horz\"\n\nconst rotated = rotateSymbol(rectifier_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path27\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.7635944500000007,\n          \"y\": 0.28495445000000075\n        },\n        {\n          \"x\": 0.3138028500000005,\n          \"y\": 0.28495445000000075\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.301017949999999,\n          \"y\": 0.02024775000000112\n        },\n        {\n          \"x\": -0.7508096499999994,\n          \"y\": 0.02024775000000112\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path30\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3010179499999994,\n          \"y\": -0.34304865000000007\n        },\n        {\n          \"x\": -0.301017949999999,\n          \"y\": 0.2848310499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path27-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.7729788499999999,\n          \"y\": -0.34624514999999967\n        },\n        {\n          \"x\": 0.32318725000000015,\n          \"y\": -0.34624514999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07279374999999932,\n          \"y\": 0.28481924999999997\n        },\n        {\n          \"x\": -0.2983350499999995,\n          \"y\": 0.28481924999999997\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.33114835000000076,\n          \"y\": 0.284840449999999\n        },\n        {\n          \"x\": 0.10560705000000059,\n          \"y\": 0.284840449999999\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.055820049999999455,\n          \"y\": 0.17265845000000013\n        },\n        {\n          \"x\": -0.055820049999999455,\n          \"y\": 0.39819974999999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09396265000000081,\n          \"y\": 0.17268285000000105\n        },\n        {\n          \"x\": 0.09396265000000081,\n          \"y\": 0.3982241500000008\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.07296184999999955,\n          \"y\": -0.3463701499999985\n        },\n        {\n          \"x\": -0.2985031499999997,\n          \"y\": -0.3463701499999985\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.33098025000000053,\n          \"y\": -0.3463489500000012\n        },\n        {\n          \"x\": 0.10543895000000036,\n          \"y\": -0.3463489500000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.05598814999999968,\n          \"y\": -0.4585309500000001\n        },\n        {\n          \"x\": -0.05598814999999968,\n          \"y\": -0.2329896499999986\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09379455000000014,\n          \"y\": -0.45850655000000096\n        },\n        {\n          \"x\": 0.09379455000000014,\n          \"y\": -0.23296525000000123\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-92\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3315317500000008,\n          \"y\": -0.12063885000000063\n        },\n        {\n          \"x\": 0.33153175000000035,\n          \"y\": -0.34618015000000035\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-28\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3315105500000004,\n          \"y\": 0.28330324999999945\n        },\n        {\n          \"x\": 0.3315105500000004,\n          \"y\": 0.05776194999999973\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.44369255000000063,\n          \"y\": -0.1036651500000012\n        },\n        {\n          \"x\": 0.21815125000000046,\n          \"y\": -0.1036651500000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-6-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4436681500000006,\n          \"y\": 0.04611754999999995\n        },\n        {\n          \"x\": 0.21812685000000043,\n          \"y\": 0.04611754999999995\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.44235445000000073,\n          \"y\": -0.06667004999999904\n        },\n        {\n          \"x\": 0.21681315000000057,\n          \"y\": -0.06667004999999904\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-4\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4429695500000004,\n          \"y\": 0.007559849999998036\n        },\n        {\n          \"x\": 0.4430214500000007,\n          \"y\": -0.06634914999999886\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-4-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.21634305000000031,\n          \"y\": 0.008546850000001882\n        },\n        {\n          \"x\": 0.21639495000000064,\n          \"y\": -0.06536215000000212\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path29-5-7-6-9-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.4429537500000005,\n          \"y\": 0.009130850000000024\n        },\n        {\n          \"x\": 0.21741245000000076,\n          \"y\": 0.009130850000000024\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.01596175000000022,\n      \"y\": -0.5308501500000009\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.013116750000000454,\n      \"y\": 0.5408501499999989\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.7666234499999998,\n      \"y\": 0.0211504499999986\n    },\n    \"right1\": {\n      \"x\": 0.7666234500000004,\n      \"y\": -0.344347250000002\n    },\n    \"right2\": {\n      \"x\": 0.7572390499999999,\n      \"y\": 0.2868523500000002\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.7947818909999997,\n    \"maxX\": 0.7947818910000004,\n    \"minY\": -0.6308501500000009,\n    \"maxY\": 0.5408501499999989,\n    \"width\": 1.5895637820000001,\n    \"height\": 1.1717003,\n    \"centerX\": 3.3306690738754696e-16,\n    \"centerY\": -0.045000000000000984\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/resonator.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    // { ...texts.top1, anchor: \"middle_left\" },\n    // { ...texts.bottom1, anchor: \"middle_left\" },\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0.01596175000000022,\n      y: -0.5308501500000009,\n      anchor: \"middle_bottom\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0.013116750000000454,\n      y: 0.5408501499999989,\n      anchor: \"middle_top\",\n    },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right2, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport resonator_horz from \"./resonator_horz\"\n\nexport default rotateSymbol(resonator_horz)\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458930000000048,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.11999399999999905,\n          \"y\": -0.0882552000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": 0.1763281999999997\n        },\n        {\n          \"x\": 0.14458929999999914,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": -0.0882552000000012\n        },\n        {\n          \"x\": -0.11999400000000038,\n          \"y\": 0.17632819999999816\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1435300000000006,\n          \"y\": 0.17844679999999968\n        },\n        {\n          \"x\": 0.14458899999999986,\n          \"y\": -0.08825519999999965\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219870000000044,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.5168690000000005,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233800999999991,\n          \"y\": 0.043951299999999804\n        },\n        {\n          \"x\": 0.14967199999999892,\n          \"y\": 0.043951299999999804\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2075533999999999,\n          \"y\": 0.17973149999999904\n        },\n        {\n          \"x\": 0.14341080000000028,\n          \"y\": 0.17864949999999946\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2093444999999996,\n          \"y\": 0.1301679\n        },\n        {\n          \"x\": 0.20797049999999984,\n          \"y\": 0.17950350000000048\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07978989999999953,\n          \"y\": -0.09023340000000024\n        },\n        {\n          \"x\": 0.14313979999999948,\n          \"y\": -0.09001340000000013\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-7-9-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07764390000000043,\n          \"y\": -0.04104850000000004\n        },\n        {\n          \"x\": 0.0790179000000002,\n          \"y\": -0.09038410000000074\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999994495,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384530000000007\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471,\n      \"y\": 0.044920799999999206\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.547305541,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384530000000007,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.0946110819999997,\n    \"height\": 0.5476906000000001,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/schottky_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nexport default modifySymbol(svgJson)\n  .labelPort(\"left1\", [\"1\", \"pos\"])\n  .labelPort(\"right1\", [\"2\", \"neg\"])\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport schottky_diode_horz from \"./schottky_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(schottky_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.49895505000000084,\n          \"y\": 0.04174485000000061\n        },\n        {\n          \"x\": -0.177441850000001,\n          \"y\": 0.04174485000000061\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18704774999999918,\n          \"y\": 0.04961415000000069\n        },\n        {\n          \"x\": 0.5063384499999999,\n          \"y\": 0.04961415000000069\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18219425000000045,\n          \"y\": -0.15200134999999904\n        },\n        {\n          \"x\": 0.1810882500000004,\n          \"y\": 0.2512156500000011\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.18646324999999986,\n          \"y\": 0.0047866500000004475\n        },\n        {\n          \"x\": 0.34602244999999954,\n          \"y\": -0.13539324999999924\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.3463884499999992,\n          \"y\": -0.14077354999999936\n        },\n        {\n          \"x\": 0.3447284499999994,\n          \"y\": -0.3343437499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.17016305000000087,\n          \"y\": 0.2706752500000007\n        },\n        {\n          \"x\": -0.17223005000000047,\n          \"y\": -0.15200864999999908\n        },\n        {\n          \"x\": 0.180362149999999,\n          \"y\": 0.04760855000000097\n        },\n        {\n          \"x\": -0.16624855000000038,\n          \"y\": 0.27180665000000137\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.22312565000000006,\n      \"y\": 0.38273545\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.11142554999999987,\n      \"y\": -0.38273544999999976\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": 0.3445824499999999,\n      \"y\": -0.34953845000000006\n    },\n    \"left1\": {\n      \"x\": -0.5177904499999998,\n      \"y\": 0.04089205000000007\n    },\n    \"right1\": {\n      \"x\": 0.5177904499999997,\n      \"y\": 0.049757749999999934\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5459488909999998,\n    \"maxX\": 0.5459488909999997,\n    \"minY\": -0.38273544999999976,\n    \"maxY\": 0.38273545,\n    \"width\": 1.0918977819999993,\n    \"height\": 0.7654708999999997,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/silicon_controlled_rectifier.json\"\nimport { TextPrimitive } from \"drawing/types\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport silicon_controlled_rectifier_horz from \"./silicon_controlled_rectifier_horz\"\n\nconst rotatedSymbol = rotateSymbol(silicon_controlled_rectifier_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\n\nref.y = 0\nref.anchor = \"middle_left\"\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path1\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3543583500000005,\n          \"y\": 0.03204385000000087\n        },\n        {\n          \"x\": -0.12792935000000005,\n          \"y\": 0.03204385000000087\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path-1-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1133669500000003,\n          \"y\": 0.0321987500000005\n        },\n        {\n          \"x\": 0.11208324999999997,\n          \"y\": 0.14600155000000048\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1043477500000003,\n          \"y\": -0.0645130499999993\n        },\n        {\n          \"x\": 0.34508875000000017,\n          \"y\": -0.0645130499999993\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12008575000000055,\n          \"y\": 0.17214665000000062\n        },\n        {\n          \"x\": 0.3608267500000004,\n          \"y\": 0.17214665000000062\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17853294999999947,\n      \"y\": 0.39716265000000006\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.011861250000000378,\n      \"y\": -0.39716264999999984\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.10744654999999947,\n      \"y\": 0.17214664999999973\n    },\n    \"left1\": {\n      \"x\": -0.3682737499999995,\n      \"y\": 0.03204385000000021\n    },\n    \"left2\": {\n      \"x\": -0.11569114999999996,\n      \"y\": 0.03204385000000021\n    },\n    \"right1\": {\n      \"x\": 0.3682737499999995,\n      \"y\": -0.06451304999999996\n    },\n    \"right2\": {\n      \"x\": 0.10744725000000055,\n      \"y\": -0.06451304999999996\n    },\n    \"right3\": {\n      \"x\": 0.3682737499999995,\n      \"y\": 0.17214664999999973\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.3964321909999995,\n    \"maxX\": 0.3964321909999995,\n    \"minY\": -0.39716264999999984,\n    \"maxY\": 0.39716265000000006,\n    \"width\": 0.792864381999999,\n    \"height\": 0.7943252999999999,\n    \"centerX\": 0,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/SPDT_switch.json\"\nimport { Primitive } from \"drawing/types\"\n\nsvgJson.bounds.width += 0.2\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\", x: -0.01 },\n    { ...texts.bottom1, anchor: \"middle_top\", x: -0.01 },\n  ] as Primitive[],\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right2, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport SPDT_switch_horz from \"./SPDT_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(SPDT_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.3\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3622273500000006,\n          \"y\": -0.0018583499999986763\n        },\n        {\n          \"x\": -0.13579835000000018,\n          \"y\": -0.0018583499999986763\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12010005000000046,\n          \"y\": -0.0033888499999992217\n        },\n        {\n          \"x\": 0.10307834999999987,\n          \"y\": 0.13630055000000119\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.12795584999999932,\n          \"y\": -0.0018583499999986763\n        },\n        {\n          \"x\": 0.3686967499999996,\n          \"y\": -0.0018583499999986763\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.03688484999999986,\n      \"y\": 0.25026835000000003\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.02235315000000071,\n      \"y\": -0.25026835000000003\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.12356015000000009,\n      \"y\": -0.006648049999999239\n    },\n    \"left2\": {\n      \"x\": -0.37614274999999964,\n      \"y\": -0.002711249999999721\n    },\n    \"right1\": {\n      \"x\": 0.11531695000000042,\n      \"y\": -0.006648049999999239\n    },\n    \"right2\": {\n      \"x\": 0.37614274999999964,\n      \"y\": -0.0017148499999992683\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.4043011909999996,\n    \"maxX\": 0.4043011909999996,\n    \"minY\": -0.25026835000000003,\n    \"maxY\": 0.25026835000000003,\n    \"width\": 0.8086023819999992,\n    \"height\": 0.5005367000000001,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/SPST_switch.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\ndelete (svgJson.refblocks as any).left1\ndelete (svgJson.refblocks as any).right1\nsvgJson.bounds.width += 0.2\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left2\", [\"1\"])\n  .labelPort(\"right2\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport SPST_switch_horz from \"./SPST_switch_horz\"\n\nconst rotatedSymbol = rotateSymbol(SPST_switch_horz)\n\nconst texts = rotatedSymbol.primitives.filter((p) => p.type === \"text\")!\n\nconst val = texts.find((t) => t.text === \"{VAL}\")!\n\nval.anchor = \"middle_right\"\nval.x = -0.3\nval.y = 0\n\nconst ref = texts.find((t) => t.text === \"{REF}\")!\n\nref.anchor = \"middle_left\"\nref.x = 0.3\nref.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000132\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825539999999776\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.1763280000000016\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.1763280000000016\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.08825539999999776\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999836\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999836\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797,\n          \"y\": 0.04395110000000102\n        },\n        {\n          \"x\": 0.14967160000000002,\n          \"y\": 0.04395110000000102\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19156529999999972,\n          \"y\": -0.0884020999999997\n        },\n        {\n          \"x\": 0.14591529999999908,\n          \"y\": -0.08876210000000029\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-5-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.19233440000000046,\n          \"y\": -0.1355493999999986\n        },\n        {\n          \"x\": 0.19197439999999988,\n          \"y\": -0.08989940000000018\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384529999999785\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999999524,\n      \"y\": -0.2738453000000014\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.0449206999999987\n    },\n    \"right1\": {\n      \"x\": 0.5191471000000001,\n      \"y\": 0.043896100000001326\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055410000001,\n    \"minY\": -0.2738453000000014,\n    \"maxY\": 0.27384529999999785,\n    \"width\": 1.0946110820000001,\n    \"height\": 0.5476905999999993,\n    \"centerX\": 0,\n    \"centerY\": -1.7763568394002505e-15\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/step_recovery_diode.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport step_recovery_diode_horz from \"./step_recovery_diode_horz\"\n\nexport default rotateSymbol(step_recovery_diode_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"RPM\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/tachometer.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, y: 0.01, anchor: \"center\", fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport tachometer_horz from \"./tachometer_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = tachometer_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...tachometer_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5176700499999997,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": -0.10888805000000024,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1031184499999993,\n          \"y\": 0.041745050000000505\n        },\n        {\n          \"x\": 0.5246894499999994,\n          \"y\": 0.041745050000000505\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.09343985000000021,\n          \"y\": -0.14620634999999882\n        },\n        {\n          \"x\": -0.0930998500000002,\n          \"y\": 0.2583405500000009\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08519034999999908,\n          \"y\": -0.14503384999999902\n        },\n        {\n          \"x\": 0.08553034999999909,\n          \"y\": 0.2595130500000007\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.08315755000000014,\n          \"y\": 0.055934450000000524\n        },\n        {\n          \"x\": -0.08415755000000047,\n          \"y\": -0.14678124999999964\n        },\n        {\n          \"x\": 0.08653524999999984,\n          \"y\": -0.05104664999999953\n        },\n        {\n          \"x\": -0.08126175000000035,\n          \"y\": 0.05647715000000031\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-9-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.07661224999999927,\n          \"y\": 0.256654450000001\n        },\n        {\n          \"x\": 0.07761224999999983,\n          \"y\": 0.05393885000000109\n        },\n        {\n          \"x\": -0.0930805500000007,\n          \"y\": 0.1496734500000012\n        },\n        {\n          \"x\": 0.07471644999999949,\n          \"y\": 0.25719715000000143\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09001085000000009,\n          \"y\": -0.05964874999999914\n        },\n        {\n          \"x\": 0.2707999499999998,\n          \"y\": -0.1711147499999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.27291134999999955,\n          \"y\": -0.17591894999999935\n        },\n        {\n          \"x\": 0.27124034999999935,\n          \"y\": -0.30168314999999923\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": 0.0077081499999991365,\n      \"y\": 0.41683614999999996\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.03022294999999975,\n      \"y\": -0.41683614999999996\n    }\n  },\n  \"refblocks\": {\n    \"bottom1\": {\n      \"x\": 0.27223905000000026,\n      \"y\": -0.3087962499999999\n    },\n    \"left1\": {\n      \"x\": -0.54139845,\n      \"y\": 0.04089205000000051\n    },\n    \"right1\": {\n      \"x\": 0.5413984499999995,\n      \"y\": 0.04188845000000008\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.569556891,\n    \"maxX\": 0.5695568909999995,\n    \"minY\": -0.41683614999999996,\n    \"maxY\": 0.41683614999999996,\n    \"width\": 1.1391137819999995,\n    \"height\": 0.8336722999999999,\n    \"centerX\": -2.220446049250313e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000003116,\n      \"y\": 0.048873150000000365,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/triac.json\"\nimport { TextPrimitive } from \"drawing/types\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .labelPort(\"bottom1\", [\"3\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport triac_horz from \"./triac_horz\"\n\nconst rotatedSymbol = rotateSymbol(triac_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nref.y = 0\nval.y = 0\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.0882553999999991\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.0882553999999991\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.043951100000000354\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.043951100000000354\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17681090000000044\n        },\n        {\n          \"x\": 0.07728679999999954,\n          \"y\": 0.17632089999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1446069000000001,\n          \"y\": -0.08908179999999888\n        },\n        {\n          \"x\": 0.0785024999999997,\n          \"y\": -0.08957179999999942\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384529999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.044920700000000924\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384529999999985,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.094611082,\n    \"height\": 0.5476905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/tunnel_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport tunnel_diode_horz from \"./tunnel_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(tunnel_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.3274461945,\n          \"y\": 0.20527883627037657\n        },\n        {\n          \"x\": -0.021085194500000348,\n          \"y\": 0.007570136270376837\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2331163055000003,\n          \"y\": 0.1251673362703769\n        },\n        {\n          \"x\": 0.2320633055000001,\n          \"y\": 0.3759855362703768\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12-2\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23221610549999938,\n          \"y\": -0.0818845637296235\n        },\n        {\n          \"x\": 0.2311631054999992,\n          \"y\": -0.33270276372962315\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.013263894499999873,\n          \"y\": -0.1792007637296229\n        },\n        {\n          \"x\": -0.012923894499999866,\n          \"y\": 0.2253461362703768\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-3\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23222970550000066,\n          \"y\": 0.12047013627037662\n        },\n        {\n          \"x\": -0.011307094499999115,\n          \"y\": 0.11996013627037683\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-0-9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1124341944999998,\n          \"y\": 0.131359936270377\n        },\n        {\n          \"x\": -0.16993279449999954,\n          \"y\": 0.039004036270377185\n        },\n        {\n          \"x\": -0.05822649449999928,\n          \"y\": 0.03212003627037707\n        },\n        {\n          \"x\": -0.11133889449999979,\n          \"y\": 0.13104553627037707\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": true\n    },\n    \"path11-0-3-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.23230320549999983,\n          \"y\": -0.08329316372962325\n        },\n        {\n          \"x\": -0.011233594499999944,\n          \"y\": -0.07900616372962332\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.19541139450000045,\n      \"y\": 0.389088136270376\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.031363394499999364,\n      \"y\": -0.42359956372962415\n    }\n  },\n  \"refblocks\": {\n    \"top1\": {\n      \"x\": 0.2317438004035266,\n      \"y\": 0.3954411227296242\n    },\n    \"bottom1\": {\n      \"x\": 0.2308431668082036,\n      \"y\": -0.35215823360635445\n    },\n    \"left1\": {\n      \"x\": -0.34055979449999985,\n      \"y\": 0.21512343627037622\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.3687182354999998,\n    \"maxX\": 0.3687182354999999,\n    \"minY\": -0.42359956372962415,\n    \"maxY\": 0.42359956372962415,\n    \"width\": 0.7374364709999996,\n    \"height\": 0.8471991274592483,\n    \"centerX\": 2.7755575615628914e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": 0.08017610549999987,\n      \"y\": 0.006746336270376352,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/unijunction_transistor.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    { ...refblocks.top1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.bottom1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.left1, labels: [\"3\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport unijunction_transistor_horz from \"./unijunction_transistor_horz\"\n\nconst rotatedSymbol = rotateSymbol(unijunction_transistor_horz)\n\nconst texts = rotatedSymbol.primitives.filter(\n  (primitive) => primitive.type === \"text\",\n)\n\nconst ref = texts.find((text) => text.text === \"{REF}\")!\n\nref.y = 0.1\n\nconst val = texts.find((text) => text.text === \"{VAL}\")!\n\nval.y = 0.1\nval.x = -0.4\n\nexport default rotatedSymbol\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Var\",\n      \"x\": -0.19436529999999896,\n      \"y\": 0.07249430000000023\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/var_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      ...texts.top1,\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      ...texts.bottom1,\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, x: -0.02, y: 0.01, fontSize: 0.2, anchor: \"center\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport var_meter_horz from \"./var_meter_horz\"\n\nexport default rotateSymbol(var_meter_horz)\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.08342510000000014,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.18115819999999938,\n          \"y\": -0.0882552000000012\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": 0.1763281999999997\n        },\n        {\n          \"x\": 0.08342509999999881,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": -0.0882552000000012\n        },\n        {\n          \"x\": -0.1811582000000007,\n          \"y\": 0.17632819999999816\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.0949504999999995,\n          \"y\": 0.17485119999999976\n        },\n        {\n          \"x\": 0.09600949999999897,\n          \"y\": -0.09185079999999957\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1954338999999996,\n          \"y\": 0.04403649999999937\n        },\n        {\n          \"x\": -0.5191807000000004,\n          \"y\": 0.04403649999999937\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5253116,\n          \"y\": 0.043951299999999804\n        },\n        {\n          \"x\": 0.20527070000000047,\n          \"y\": 0.043951299999999804\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.1854899999999995,\n          \"y\": 0.1748848999999999\n        },\n        {\n          \"x\": 0.18654899999999874,\n          \"y\": -0.09181709999999943\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999994495,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384530000000007\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471,\n      \"y\": 0.044920799999999206\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.547305541,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384530000000007,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.0946110819999997,\n    \"height\": 0.5476906000000001,\n    \"centerX\": -5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varactor_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varactor_diode_horz from \"./varactor_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(varactor_diode_horz)\n\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","{\n  \"paths\": {\n    \"path5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5245830500000004,\n          \"y\": 0.004659100000001359\n        },\n        {\n          \"x\": -0.25999975000000086,\n          \"y\": 0.004659100000001359\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path6\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": 0.004659100000001359\n        },\n        {\n          \"x\": 0.5337505499999997,\n          \"y\": 0.004659100000001359\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path7\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": -0.23346590000000056\n        },\n        {\n          \"x\": -0.25999974999999953,\n          \"y\": 0.2427841000000015\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.37500025000000026,\n          \"y\": -0.23346590000000056\n        },\n        {\n          \"x\": 0.2691672500000002,\n          \"y\": -0.23346590000000056\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path9\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.004585150000000482,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.26916815000000094,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.26916815000000094,\n          \"y\": -0.1276325000000007\n        },\n        {\n          \"x\": -0.2599988499999988,\n          \"y\": -0.1276325000000007\n        },\n        {\n          \"x\": -0.2599988499999988,\n          \"y\": 0.13695090000000043\n        },\n        {\n          \"x\": 0.004585150000001814,\n          \"y\": 0.13695090000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.05849044999999986,\n      \"y\": 0.25166549999999965\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": 0.008507150000000685,\n      \"y\": -0.25166549999999965\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5392315500000002,\n      \"y\": 0.002969399999999567\n    },\n    \"right1\": {\n      \"x\": 0.5392315500000002,\n      \"y\": 0.005339799999999784\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5673899910000002,\n    \"maxX\": 0.5673899910000002,\n    \"minY\": -0.25166549999999965,\n    \"maxY\": 0.25166549999999965,\n    \"width\": 1.1347799820000004,\n    \"height\": 0.5033309999999993,\n    \"centerX\": 0,\n    \"centerY\": 0\n  },\n  \"circles\": {}\n}","import svgJson from \"assets/generated/varistor.json\"\nimport { defineSymbol } from \"drawing/defineSymbol\"\n\nconst { paths, texts, bounds, refblocks } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    { ...texts.top1, anchor: \"middle_left\" },\n    { ...texts.bottom1, anchor: \"middle_right\" },\n  ] as any,\n  ports: [\n    {\n      ...refblocks.left1,\n      labels: [\"1\", \"-\"],\n    },\n    {\n      ...refblocks.right1,\n      labels: [\"2\", \"+\"],\n    },\n  ],\n  size: { width: bounds.width, height: bounds.height }, //{ width: 1, height: 0.24 },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varistor_horz from \"./varistor_horz\"\n\nexport default rotateSymbol(varistor_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Var\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/varmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.02, fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport varmeter_horz from \"./varmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = varmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...varmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5274831500000005,\n          \"y\": 0.031252300000000455\n        },\n        {\n          \"x\": -0.30105415000000013,\n          \"y\": 0.031252300000000455\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path11-5-5\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.09765764999999949,\n          \"y\": 0.1295162000000003\n        },\n        {\n          \"x\": -0.0011297500000011507,\n          \"y\": -0.061970899999999496\n        },\n        {\n          \"x\": -0.10778645000000164,\n          \"y\": 0.1295162000000003\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2932119499999999,\n          \"y\": 0.031252300000000455\n        },\n        {\n          \"x\": 0.5339524499999997,\n          \"y\": 0.031252300000000455\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.021146249999999478,\n      \"y\": 0.4010973\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00661455000000033,\n      \"y\": -0.4010973\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5413984499999998,\n      \"y\": 0.030399499999999913\n    },\n    \"right1\": {\n      \"x\": 0.54139845,\n      \"y\": 0.0313958999999997\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5695568909999997,\n    \"maxX\": 0.569556891,\n    \"minY\": -0.4010973,\n    \"maxY\": 0.4010973,\n    \"width\": 1.1391137819999997,\n    \"height\": 0.8021946,\n    \"centerX\": 1.1102230246251565e-16,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.0037626500000000895,\n      \"y\": 0.03838059999999999,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import svgJson from \"assets/generated/volt_meter.json\"\nimport { modifySymbol } from \"drawing/modify-symbol/modify-symbol\"\n\nconst { paths, texts, bounds, circles, refblocks } = svgJson\nexport default modifySymbol(svgJson)\n  .changeTextAnchor(\"{VAL}\", \"middle_top\")\n  .labelPort(\"left1\", [\"1\"])\n  .labelPort(\"right1\", [\"2\"])\n  .changeTextAnchor(\"{REF}\", \"middle_bottom\")\n  .build()\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport volt_meter_horz from \"./volt_meter_horz\"\n\nexport default rotateSymbol(volt_meter_horz)\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"Wh\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/watt_hour_meter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.01, fontSize: 0.2 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport watt_hour_meter_horz from \"./watt_hour_meter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = watt_hour_meter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...watt_hour_meter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path11\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.5307178,\n          \"y\": 0\n        },\n        {\n          \"x\": -0.3042887999999997,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path12\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.2899773000000003,\n          \"y\": 0\n        },\n        {\n          \"x\": 0.5307178000000001,\n          \"y\": 0\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.17652089999999898,\n      \"y\": -0.36197569999999946\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.009849199999999891,\n      \"y\": 0.43234960000000044\n    },\n    \"left1\": {\n      \"type\": \"text\",\n      \"text\": \"W\",\n      \"x\": 0,\n      \"y\": -0.025\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5446330999999993,\n      \"y\": 0.000852800000000542\n    },\n    \"right1\": {\n      \"x\": 0.5381638000000004,\n      \"y\": -0.00014359999999924433\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5307178,\n    \"maxX\": 0.5307178000000001,\n    \"minY\": 0,\n    \"maxY\": 0,\n    \"width\": 1.0614356000000003,\n    \"height\": 1,\n    \"centerX\": 5.551115123125783e-17,\n    \"centerY\": 0\n  },\n  \"circles\": {\n    \"path1\": {\n      \"type\": \"circle\",\n      \"x\": -0.006997299999999651,\n      \"y\": -0.007128299999999532,\n      \"radius\": 0.28854213,\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  }\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/wattmeter.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    {\n      type: \"text\",\n      text: \"{REF}\",\n      x: 0,\n      y: -0.3594553499999995,\n      anchor: \"middle_top\",\n    },\n    {\n      type: \"text\",\n      text: \"{VAL}\",\n      x: 0,\n      y: 0.35,\n      anchor: \"middle_bottom\",\n    },\n    { ...texts.left1, anchor: \"center\", y: 0.01, fontSize: 0.3 },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport wattmeter_horz from \"./wattmeter_horz\"\nimport { Primitive } from \"drawing/types\"\n\nconst { 5: letter, ...rest } = wattmeter_horz.primitives\n\nfunction isPrimitive(value: any): value is Primitive {\n  return typeof value === \"object\"\n}\n\nconst rotatedSymbol = rotateSymbol({\n  ...wattmeter_horz,\n  primitives: Object.values(rest).filter(isPrimitive),\n})\n\nexport default {\n  ...rotatedSymbol,\n  primitives: [...rotatedSymbol.primitives, letter],\n}\n","{\n  \"paths\": {\n    \"path40\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.08825540000000043\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path41\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path42\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": -0.0882553999999991\n        },\n        {\n          \"x\": -0.1199943999999995,\n          \"y\": 0.17632800000000026\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": 0.17632800000000026\n        },\n        {\n          \"x\": 0.14458890000000002,\n          \"y\": -0.0882553999999991\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": -0.12219909999999956,\n          \"y\": 0.04403629999999992\n        },\n        {\n          \"x\": -0.5168693999999996,\n          \"y\": 0.04403629999999992\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path44-0\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.5233797000000002,\n          \"y\": 0.043951100000000354\n        },\n        {\n          \"x\": 0.1496715999999998,\n          \"y\": 0.043951100000000354\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    },\n    \"path43-8\": {\n      \"type\": \"path\",\n      \"points\": [\n        {\n          \"x\": 0.14339119999999994,\n          \"y\": 0.17681090000000044\n        },\n        {\n          \"x\": 0.07728679999999954,\n          \"y\": 0.17632089999999967\n        }\n      ],\n      \"color\": \"primary\",\n      \"fill\": false\n    }\n  },\n  \"texts\": {\n    \"top1\": {\n      \"type\": \"text\",\n      \"text\": \"{REF}\",\n      \"x\": -0.0050250999999996715,\n      \"y\": 0.27384530000000007\n    },\n    \"bottom1\": {\n      \"type\": \"text\",\n      \"text\": \"{VAL}\",\n      \"x\": -0.00011179999999977319,\n      \"y\": -0.27384529999999985\n    }\n  },\n  \"refblocks\": {\n    \"left1\": {\n      \"x\": -0.5191471000000001,\n      \"y\": 0.044920700000000924\n    },\n    \"right1\": {\n      \"x\": 0.5191470999999999,\n      \"y\": 0.04389609999999999\n    }\n  },\n  \"bounds\": {\n    \"minX\": -0.5473055410000001,\n    \"maxX\": 0.5473055409999998,\n    \"minY\": -0.27384529999999985,\n    \"maxY\": 0.27384530000000007,\n    \"width\": 1.094611082,\n    \"height\": 0.5476905999999999,\n    \"centerX\": -1.1102230246251565e-16,\n    \"centerY\": 1.1102230246251565e-16\n  },\n  \"circles\": {}\n}","import { defineSymbol } from \"drawing/defineSymbol\"\nimport svgJson from \"assets/generated/zener_diode.json\"\n\nconst { paths, texts, bounds, refblocks, circles } = svgJson\n\nexport default defineSymbol({\n  primitives: [\n    ...Object.values(paths),\n    ...Object.values(circles),\n    { ...texts.top1, anchor: \"middle_bottom\" },\n    { ...texts.bottom1, anchor: \"middle_top\" },\n  ] as any,\n  ports: [\n    { ...refblocks.left1, labels: [\"1\"] }, // TODO add more \"standard\" labels\n    { ...refblocks.right1, labels: [\"2\"] }, // TODO add more \"standard\" labels\n  ],\n  size: { width: bounds.width, height: bounds.height },\n  center: { x: bounds.centerX, y: bounds.centerY },\n})\n","import { rotateSymbol } from \"drawing/rotateSymbol\"\nimport zener_diode_horz from \"./zener_diode_horz\"\n\nimport type { TextPrimitive } from \"drawing\"\n\nconst rotated = rotateSymbol(zener_diode_horz)\nconst ref = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{REF}\",\n)! as TextPrimitive\nconst val = rotated.primitives.find(\n  (p) => p.type === \"text\" && p.text === \"{VAL}\",\n)! as TextPrimitive\n\nref.anchor = \"middle_left\"\nval.anchor = \"middle_right\"\n\nexport default rotated\n","import _ac_voltmeter_horz from \"./../symbols/ac_voltmeter_horz\"\nimport _ac_voltmeter_vert from \"./../symbols/ac_voltmeter_vert\"\nimport _avalanche_diode_horz from \"./../symbols/avalanche_diode_horz\"\nimport _avalanche_diode_vert from \"./../symbols/avalanche_diode_vert\"\nimport _battery_horz from \"./../symbols/battery_horz\"\nimport _battery_vert from \"./../symbols/battery_vert\"\nimport _boxresistor_down from \"./../symbols/boxresistor_down\"\nimport _boxresistor_left from \"./../symbols/boxresistor_left\"\nimport _boxresistor_right from \"./../symbols/boxresistor_right\"\nimport _boxresistor_up from \"./../symbols/boxresistor_up\"\nimport _capacitor_down from \"./../symbols/capacitor_down\"\nimport _capacitor_left from \"./../symbols/capacitor_left\"\nimport _capacitor_polarized_down from \"./../symbols/capacitor_polarized_down\"\nimport _capacitor_polarized_left from \"./../symbols/capacitor_polarized_left\"\nimport _capacitor_polarized_right from \"./../symbols/capacitor_polarized_right\"\nimport _capacitor_polarized_up from \"./../symbols/capacitor_polarized_up\"\nimport _capacitor_right from \"./../symbols/capacitor_right\"\nimport _capacitor_up from \"./../symbols/capacitor_up\"\nimport _constant_current_diode_horz from \"./../symbols/constant_current_diode_horz\"\nimport _constant_current_diode_vert from \"./../symbols/constant_current_diode_vert\"\nimport _crystal_4pin_horz from \"./../symbols/crystal_4pin_horz\"\nimport _crystal_4pin_vert from \"./../symbols/crystal_4pin_vert\"\nimport _crystal_horz from \"./../symbols/crystal_horz\"\nimport _crystal_vert from \"./../symbols/crystal_vert\"\nimport _darlington_pair_transistor_horz from \"./../symbols/darlington_pair_transistor_horz\"\nimport _darlington_pair_transistor_vert from \"./../symbols/darlington_pair_transistor_vert\"\nimport _dc_ammeter_horz from \"./../symbols/dc_ammeter_horz\"\nimport _dc_ammeter_vert from \"./../symbols/dc_ammeter_vert\"\nimport _dc_voltmeter_horz from \"./../symbols/dc_voltmeter_horz\"\nimport _dc_voltmeter_vert from \"./../symbols/dc_voltmeter_vert\"\nimport _diac_horz from \"./../symbols/diac_horz\"\nimport _diac_vert from \"./../symbols/diac_vert\"\nimport _diode_down from \"./../symbols/diode_down\"\nimport _diode_left from \"./../symbols/diode_left\"\nimport _diode_right from \"./../symbols/diode_right\"\nimport _diode_up from \"./../symbols/diode_up\"\nimport _dpst_switch_horz from \"./../symbols/dpst_switch_horz\"\nimport _dpst_switch_vert from \"./../symbols/dpst_switch_vert\"\nimport _filled_diode_horz from \"./../symbols/filled_diode_horz\"\nimport _filled_diode_vert from \"./../symbols/filled_diode_vert\"\nimport _frequency_meter_horz from \"./../symbols/frequency_meter_horz\"\nimport _frequency_meter_vert from \"./../symbols/frequency_meter_vert\"\nimport _fuse_horz from \"./../symbols/fuse_horz\"\nimport _fuse_vert from \"./../symbols/fuse_vert\"\nimport _ground_horz from \"./../symbols/ground_horz\"\nimport _ground_vert from \"./../symbols/ground_vert\"\nimport _gunn_diode_horz from \"./../symbols/gunn_diode_horz\"\nimport _gunn_diode_vert from \"./../symbols/gunn_diode_vert\"\nimport _igbt_transistor_horz from \"./../symbols/igbt_transistor_horz\"\nimport _igbt_transistor_vert from \"./../symbols/igbt_transistor_vert\"\nimport _illuminated_push_button_normally_open_horz from \"./../symbols/illuminated_push_button_normally_open_horz\"\nimport _illuminated_push_button_normally_open_vert from \"./../symbols/illuminated_push_button_normally_open_vert\"\nimport _inductor_down from \"./../symbols/inductor_down\"\nimport _inductor_left from \"./../symbols/inductor_left\"\nimport _inductor_right from \"./../symbols/inductor_right\"\nimport _inductor_up from \"./../symbols/inductor_up\"\nimport _laser_diode_horz from \"./../symbols/laser_diode_horz\"\nimport _laser_diode_vert from \"./../symbols/laser_diode_vert\"\nimport _led_down from \"./../symbols/led_down\"\nimport _led_left from \"./../symbols/led_left\"\nimport _led_right from \"./../symbols/led_right\"\nimport _led_up from \"./../symbols/led_up\"\nimport _light_dependent_resistor_horz from \"./../symbols/light_dependent_resistor_horz\"\nimport _light_dependent_resistor_vert from \"./../symbols/light_dependent_resistor_vert\"\nimport _mosfet_depletion_normally_on_horz from \"./../symbols/mosfet_depletion_normally_on_horz\"\nimport _mosfet_depletion_normally_on_vert from \"./../symbols/mosfet_depletion_normally_on_vert\"\nimport _mushroom_head_normally_open_momentary_horz from \"./../symbols/mushroom_head_normally_open_momentary_horz\"\nimport _mushroom_head_normally_open_momentary_vert from \"./../symbols/mushroom_head_normally_open_momentary_vert\"\nimport _n_channel_d_mosfet_transistor_horz from \"./../symbols/n_channel_d_mosfet_transistor_horz\"\nimport _n_channel_d_mosfet_transistor_vert from \"./../symbols/n_channel_d_mosfet_transistor_vert\"\nimport _n_channel_e_mosfet_transistor_horz from \"./../symbols/n_channel_e_mosfet_transistor_horz\"\nimport _n_channel_e_mosfet_transistor_vert from \"./../symbols/n_channel_e_mosfet_transistor_vert\"\nimport _njfet_transistor_horz from \"./../symbols/njfet_transistor_horz\"\nimport _njfet_transistor_vert from \"./../symbols/njfet_transistor_vert\"\nimport _npn_bipolar_transistor_horz from \"./../symbols/npn_bipolar_transistor_horz\"\nimport _npn_bipolar_transistor_vert from \"./../symbols/npn_bipolar_transistor_vert\"\nimport _p_channel_d_mosfet_transistor_horz from \"./../symbols/p_channel_d_mosfet_transistor_horz\"\nimport _p_channel_d_mosfet_transistor_vert from \"./../symbols/p_channel_d_mosfet_transistor_vert\"\nimport _p_channel_e_mosfet_transistor_horz from \"./../symbols/p_channel_e_mosfet_transistor_horz\"\nimport _p_channel_e_mosfet_transistor_vert from \"./../symbols/p_channel_e_mosfet_transistor_vert\"\nimport _photodiode_horz from \"./../symbols/photodiode_horz\"\nimport _photodiode_vert from \"./../symbols/photodiode_vert\"\nimport _pjfet_transistor_horz from \"./../symbols/pjfet_transistor_horz\"\nimport _pjfet_transistor_vert from \"./../symbols/pjfet_transistor_vert\"\nimport _pnp_bipolar_transistor_horz from \"./../symbols/pnp_bipolar_transistor_horz\"\nimport _pnp_bipolar_transistor_vert from \"./../symbols/pnp_bipolar_transistor_vert\"\nimport _potentiometer_horz from \"./../symbols/potentiometer_horz\"\nimport _potentiometer_vert from \"./../symbols/potentiometer_vert\"\nimport _potentiometer2_horz from \"./../symbols/potentiometer2_horz\"\nimport _potentiometer2_vert from \"./../symbols/potentiometer2_vert\"\nimport _power_factor_meter_horz from \"./../symbols/power_factor_meter_horz\"\nimport _power_factor_meter_vert from \"./../symbols/power_factor_meter_vert\"\nimport _push_button_normally_closed_momentary_horz from \"./../symbols/push_button_normally_closed_momentary_horz\"\nimport _push_button_normally_closed_momentary_vert from \"./../symbols/push_button_normally_closed_momentary_vert\"\nimport _push_button_normally_open_momentary_horz from \"./../symbols/push_button_normally_open_momentary_horz\"\nimport _push_button_normally_open_momentary_vert from \"./../symbols/push_button_normally_open_momentary_vert\"\nimport _rectifier_diode_horz from \"./../symbols/rectifier_diode_horz\"\nimport _rectifier_diode_vert from \"./../symbols/rectifier_diode_vert\"\nimport _resonator_horz from \"./../symbols/resonator_horz\"\nimport _resonator_vert from \"./../symbols/resonator_vert\"\nimport _schottky_diode_horz from \"./../symbols/schottky_diode_horz\"\nimport _schottky_diode_vert from \"./../symbols/schottky_diode_vert\"\nimport _silicon_controlled_rectifier_horz from \"./../symbols/silicon_controlled_rectifier_horz\"\nimport _silicon_controlled_rectifier_vert from \"./../symbols/silicon_controlled_rectifier_vert\"\nimport _SPDT_switch_horz from \"./../symbols/SPDT_switch_horz\"\nimport _SPDT_switch_vert from \"./../symbols/SPDT_switch_vert\"\nimport _SPST_switch_horz from \"./../symbols/SPST_switch_horz\"\nimport _SPST_switch_vert from \"./../symbols/SPST_switch_vert\"\nimport _step_recovery_diode_horz from \"./../symbols/step_recovery_diode_horz\"\nimport _step_recovery_diode_vert from \"./../symbols/step_recovery_diode_vert\"\nimport _tachometer_horz from \"./../symbols/tachometer_horz\"\nimport _tachometer_vert from \"./../symbols/tachometer_vert\"\nimport _triac_horz from \"./../symbols/triac_horz\"\nimport _triac_vert from \"./../symbols/triac_vert\"\nimport _tunnel_diode_horz from \"./../symbols/tunnel_diode_horz\"\nimport _tunnel_diode_vert from \"./../symbols/tunnel_diode_vert\"\nimport _unijunction_transistor_horz from \"./../symbols/unijunction_transistor_horz\"\nimport _unijunction_transistor_vert from \"./../symbols/unijunction_transistor_vert\"\nimport _var_meter_horz from \"./../symbols/var_meter_horz\"\nimport _var_meter_vert from \"./../symbols/var_meter_vert\"\nimport _varactor_diode_horz from \"./../symbols/varactor_diode_horz\"\nimport _varactor_diode_vert from \"./../symbols/varactor_diode_vert\"\nimport _varistor_horz from \"./../symbols/varistor_horz\"\nimport _varistor_vert from \"./../symbols/varistor_vert\"\nimport _varmeter_horz from \"./../symbols/varmeter_horz\"\nimport _varmeter_vert from \"./../symbols/varmeter_vert\"\nimport _volt_meter_horz from \"./../symbols/volt_meter_horz\"\nimport _volt_meter_vert from \"./../symbols/volt_meter_vert\"\nimport _watt_hour_meter_horz from \"./../symbols/watt_hour_meter_horz\"\nimport _watt_hour_meter_vert from \"./../symbols/watt_hour_meter_vert\"\nimport _wattmeter_horz from \"./../symbols/wattmeter_horz\"\nimport _wattmeter_vert from \"./../symbols/wattmeter_vert\"\nimport _zener_diode_horz from \"./../symbols/zener_diode_horz\"\nimport _zener_diode_vert from \"./../symbols/zener_diode_vert\"\n\nexport default {\n  \"ac_voltmeter_horz\": _ac_voltmeter_horz,\n  \"ac_voltmeter_vert\": _ac_voltmeter_vert,\n  \"avalanche_diode_horz\": _avalanche_diode_horz,\n  \"avalanche_diode_vert\": _avalanche_diode_vert,\n  \"battery_horz\": _battery_horz,\n  \"battery_vert\": _battery_vert,\n  \"boxresistor_down\": _boxresistor_down,\n  \"boxresistor_left\": _boxresistor_left,\n  \"boxresistor_right\": _boxresistor_right,\n  \"boxresistor_up\": _boxresistor_up,\n  \"capacitor_down\": _capacitor_down,\n  \"capacitor_left\": _capacitor_left,\n  \"capacitor_polarized_down\": _capacitor_polarized_down,\n  \"capacitor_polarized_left\": _capacitor_polarized_left,\n  \"capacitor_polarized_right\": _capacitor_polarized_right,\n  \"capacitor_polarized_up\": _capacitor_polarized_up,\n  \"capacitor_right\": _capacitor_right,\n  \"capacitor_up\": _capacitor_up,\n  \"constant_current_diode_horz\": _constant_current_diode_horz,\n  \"constant_current_diode_vert\": _constant_current_diode_vert,\n  \"crystal_4pin_horz\": _crystal_4pin_horz,\n  \"crystal_4pin_vert\": _crystal_4pin_vert,\n  \"crystal_horz\": _crystal_horz,\n  \"crystal_vert\": _crystal_vert,\n  \"darlington_pair_transistor_horz\": _darlington_pair_transistor_horz,\n  \"darlington_pair_transistor_vert\": _darlington_pair_transistor_vert,\n  \"dc_ammeter_horz\": _dc_ammeter_horz,\n  \"dc_ammeter_vert\": _dc_ammeter_vert,\n  \"dc_voltmeter_horz\": _dc_voltmeter_horz,\n  \"dc_voltmeter_vert\": _dc_voltmeter_vert,\n  \"diac_horz\": _diac_horz,\n  \"diac_vert\": _diac_vert,\n  \"diode_down\": _diode_down,\n  \"diode_left\": _diode_left,\n  \"diode_right\": _diode_right,\n  \"diode_up\": _diode_up,\n  \"dpst_switch_horz\": _dpst_switch_horz,\n  \"dpst_switch_vert\": _dpst_switch_vert,\n  \"filled_diode_horz\": _filled_diode_horz,\n  \"filled_diode_vert\": _filled_diode_vert,\n  \"frequency_meter_horz\": _frequency_meter_horz,\n  \"frequency_meter_vert\": _frequency_meter_vert,\n  \"fuse_horz\": _fuse_horz,\n  \"fuse_vert\": _fuse_vert,\n  \"ground_horz\": _ground_horz,\n  \"ground_vert\": _ground_vert,\n  \"gunn_diode_horz\": _gunn_diode_horz,\n  \"gunn_diode_vert\": _gunn_diode_vert,\n  \"igbt_transistor_horz\": _igbt_transistor_horz,\n  \"igbt_transistor_vert\": _igbt_transistor_vert,\n  \"illuminated_push_button_normally_open_horz\": _illuminated_push_button_normally_open_horz,\n  \"illuminated_push_button_normally_open_vert\": _illuminated_push_button_normally_open_vert,\n  \"inductor_down\": _inductor_down,\n  \"inductor_left\": _inductor_left,\n  \"inductor_right\": _inductor_right,\n  \"inductor_up\": _inductor_up,\n  \"laser_diode_horz\": _laser_diode_horz,\n  \"laser_diode_vert\": _laser_diode_vert,\n  \"led_down\": _led_down,\n  \"led_left\": _led_left,\n  \"led_right\": _led_right,\n  \"led_up\": _led_up,\n  \"light_dependent_resistor_horz\": _light_dependent_resistor_horz,\n  \"light_dependent_resistor_vert\": _light_dependent_resistor_vert,\n  \"mosfet_depletion_normally_on_horz\": _mosfet_depletion_normally_on_horz,\n  \"mosfet_depletion_normally_on_vert\": _mosfet_depletion_normally_on_vert,\n  \"mushroom_head_normally_open_momentary_horz\": _mushroom_head_normally_open_momentary_horz,\n  \"mushroom_head_normally_open_momentary_vert\": _mushroom_head_normally_open_momentary_vert,\n  \"n_channel_d_mosfet_transistor_horz\": _n_channel_d_mosfet_transistor_horz,\n  \"n_channel_d_mosfet_transistor_vert\": _n_channel_d_mosfet_transistor_vert,\n  \"n_channel_e_mosfet_transistor_horz\": _n_channel_e_mosfet_transistor_horz,\n  \"n_channel_e_mosfet_transistor_vert\": _n_channel_e_mosfet_transistor_vert,\n  \"njfet_transistor_horz\": _njfet_transistor_horz,\n  \"njfet_transistor_vert\": _njfet_transistor_vert,\n  \"npn_bipolar_transistor_horz\": _npn_bipolar_transistor_horz,\n  \"npn_bipolar_transistor_vert\": _npn_bipolar_transistor_vert,\n  \"p_channel_d_mosfet_transistor_horz\": _p_channel_d_mosfet_transistor_horz,\n  \"p_channel_d_mosfet_transistor_vert\": _p_channel_d_mosfet_transistor_vert,\n  \"p_channel_e_mosfet_transistor_horz\": _p_channel_e_mosfet_transistor_horz,\n  \"p_channel_e_mosfet_transistor_vert\": _p_channel_e_mosfet_transistor_vert,\n  \"photodiode_horz\": _photodiode_horz,\n  \"photodiode_vert\": _photodiode_vert,\n  \"pjfet_transistor_horz\": _pjfet_transistor_horz,\n  \"pjfet_transistor_vert\": _pjfet_transistor_vert,\n  \"pnp_bipolar_transistor_horz\": _pnp_bipolar_transistor_horz,\n  \"pnp_bipolar_transistor_vert\": _pnp_bipolar_transistor_vert,\n  \"potentiometer_horz\": _potentiometer_horz,\n  \"potentiometer_vert\": _potentiometer_vert,\n  \"potentiometer2_horz\": _potentiometer2_horz,\n  \"potentiometer2_vert\": _potentiometer2_vert,\n  \"power_factor_meter_horz\": _power_factor_meter_horz,\n  \"power_factor_meter_vert\": _power_factor_meter_vert,\n  \"push_button_normally_closed_momentary_horz\": _push_button_normally_closed_momentary_horz,\n  \"push_button_normally_closed_momentary_vert\": _push_button_normally_closed_momentary_vert,\n  \"push_button_normally_open_momentary_horz\": _push_button_normally_open_momentary_horz,\n  \"push_button_normally_open_momentary_vert\": _push_button_normally_open_momentary_vert,\n  \"rectifier_diode_horz\": _rectifier_diode_horz,\n  \"rectifier_diode_vert\": _rectifier_diode_vert,\n  \"resonator_horz\": _resonator_horz,\n  \"resonator_vert\": _resonator_vert,\n  \"schottky_diode_horz\": _schottky_diode_horz,\n  \"schottky_diode_vert\": _schottky_diode_vert,\n  \"silicon_controlled_rectifier_horz\": _silicon_controlled_rectifier_horz,\n  \"silicon_controlled_rectifier_vert\": _silicon_controlled_rectifier_vert,\n  \"SPDT_switch_horz\": _SPDT_switch_horz,\n  \"SPDT_switch_vert\": _SPDT_switch_vert,\n  \"SPST_switch_horz\": _SPST_switch_horz,\n  \"SPST_switch_vert\": _SPST_switch_vert,\n  \"step_recovery_diode_horz\": _step_recovery_diode_horz,\n  \"step_recovery_diode_vert\": _step_recovery_diode_vert,\n  \"tachometer_horz\": _tachometer_horz,\n  \"tachometer_vert\": _tachometer_vert,\n  \"triac_horz\": _triac_horz,\n  \"triac_vert\": _triac_vert,\n  \"tunnel_diode_horz\": _tunnel_diode_horz,\n  \"tunnel_diode_vert\": _tunnel_diode_vert,\n  \"unijunction_transistor_horz\": _unijunction_transistor_horz,\n  \"unijunction_transistor_vert\": _unijunction_transistor_vert,\n  \"var_meter_horz\": _var_meter_horz,\n  \"var_meter_vert\": _var_meter_vert,\n  \"varactor_diode_horz\": _varactor_diode_horz,\n  \"varactor_diode_vert\": _varactor_diode_vert,\n  \"varistor_horz\": _varistor_horz,\n  \"varistor_vert\": _varistor_vert,\n  \"varmeter_horz\": _varmeter_horz,\n  \"varmeter_vert\": _varmeter_vert,\n  \"volt_meter_horz\": _volt_meter_horz,\n  \"volt_meter_vert\": _volt_meter_vert,\n  \"watt_hour_meter_horz\": _watt_hour_meter_horz,\n  \"watt_hour_meter_vert\": _watt_hour_meter_vert,\n  \"wattmeter_horz\": _wattmeter_horz,\n  \"wattmeter_vert\": _wattmeter_vert,\n  \"zener_diode_horz\": _zener_diode_horz,\n  \"zener_diode_vert\": _zener_diode_vert\n}","import { NinePointAnchor } from \"drawing/types\"\n\n/**\n * In Inkscape and Websites, Y-up is NEGATIVE- meaning e.g. y=10 is BELOW y=0.\n *\n * Our symbols are defined with Y-up POSITIVE, meaning e.g. y=10 is ABOVE y=0.\n *\n * This function helps flip y positions so that you can convert from schematic\n * symbol coordinates to SVG coordinates.\n */\nexport const makeYUpPositive = (y: number, yUpPositive: boolean = true) => {\n  return yUpPositive ? -y : y\n}\n\n/**\n * This function gives an intermediate anchor flip that can be used to determine\n * how anchors should be interpreted when flipping in the Y-axis.\n *\n * It converts top_left -> bottom_left etc.\n *\n * y=1            top_left  -------\n * y=0               |             |\n * y=-1               -------------\n *\n * Y-up Negative\n *\n * y=-1               -------------\n * y=0               |             |\n * y=1              bottom_left  --\n */\nexport const flipAnchorOverYAxis = (anchor: NinePointAnchor) => {\n  if (anchor === \"top_left\") return \"bottom_left\"\n  if (anchor === \"top_right\") return \"bottom_right\"\n  if (anchor === \"bottom_left\") return \"top_left\"\n  if (anchor === \"bottom_right\") return \"top_right\"\n  if (anchor === \"middle_top\") return \"middle_bottom\"\n  if (anchor === \"middle_bottom\") return \"middle_top\"\n  return anchor\n}\n\nexport const makeAnchorYUpPositive = (\n  anchor: NinePointAnchor,\n  yUpPositive: boolean = true,\n) => {\n  return yUpPositive ? flipAnchorOverYAxis(anchor) : anchor\n}\n","export const mapColor = (color: string) => {\n  switch (color) {\n    case \"primary\":\n      return \"black\"\n    case \"secondary\":\n      return \"gray\"\n    default:\n      return color\n  }\n}\n","import type { Point } from \"drawing\"\nimport { makeYUpPositive } from \"./utils/makeYUpPositive\"\n\nexport function pathToSvgD(\n  points: Point[],\n  {\n    closed = false,\n    yUpPositive = true,\n  }: {\n    closed?: boolean\n    yUpPositive?: boolean\n  },\n): string {\n  const pathCommands = points\n    .map(\n      (point, index) =>\n        `${index === 0 ? \"M\" : \"L\"}${point.x},${makeYUpPositive(point.y, yUpPositive)}`,\n    )\n    .join(\" \")\n\n  return closed ? `${pathCommands} Z` : pathCommands\n}\n","import { makeAnchorYUpPositive, makeYUpPositive } from \"./utils/makeYUpPositive\"\nimport { mapColor } from \"./mapColor\"\nimport { pathToSvgD } from \"./pathToSvgD\"\nimport type { Point, Port, SchSymbol, TextPrimitive } from \"./types\"\n\nfunction createDiamondElement(\n  center: Point,\n  size = 0.05,\n  yUpPositive: boolean = true,\n): string {\n  const { x, y } = center\n  const halfSize = size / 2\n  return `<path d=\"M ${x} ${makeYUpPositive(y, yUpPositive) - halfSize} L ${x + halfSize} ${makeYUpPositive(y, yUpPositive)} L ${x} ${\n    makeYUpPositive(y, yUpPositive) + halfSize\n  } L ${x - halfSize} ${makeYUpPositive(y, yUpPositive)} Z\" fill=\"green\" />`\n}\n\nfunction createTextElement(\n  primitive: TextPrimitive,\n  { yUpPositive }: { yUpPositive?: boolean },\n): {\n  text: string\n  anchor: string\n} {\n  const { x, y, text, fontSize = 0.1, anchor } = primitive\n  let textAnchor: string\n  const dx = 0\n  let dy = 0\n\n  const capHeight = fontSize * 0.75\n\n  switch (anchor) {\n    case \"top_left\":\n      textAnchor = \"start\"\n      dy = fontSize\n      break\n    case \"top_right\":\n      textAnchor = \"end\"\n      dy = fontSize\n      break\n    case \"bottom_left\":\n      textAnchor = \"start\"\n      break\n    case \"bottom_right\":\n      textAnchor = \"end\"\n      break\n    case \"center\":\n      textAnchor = \"middle\"\n      dy = fontSize / 2\n      break\n    case \"middle_top\":\n      textAnchor = \"middle\"\n      dy = capHeight\n      break\n    case \"middle_bottom\":\n      textAnchor = \"middle\"\n      break\n    case \"middle_left\":\n      textAnchor = \"start\"\n      dy = capHeight / 2\n      break\n    case \"middle_right\":\n      textAnchor = \"end\"\n      dy = capHeight / 2\n      break\n  }\n\n  return {\n    text: `<text x=\"${x}\" y=\"${makeYUpPositive(y, yUpPositive)}\" dx=\"${dx}\" dy=\"${dy}\" text-anchor=\"${textAnchor}\" style=\"font: ${\n      fontSize ?? 0.1\n    }px monospace; fill: ${mapColor(\"primary\")}\">${text}</text>`,\n    anchor: `<rect x=\"${x - 0.025 / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) - 0.025 / 2\n    }\" width=\"0.025\" height=\"0.025\" fill=\"blue\" />`,\n  }\n}\n\nfunction createPortElement(\n  port: Port,\n  { yUpPositive }: { yUpPositive?: boolean },\n): string {\n  const { x, y, labels } = port\n  const rectSize = 0.05\n  const labelFontSize = 0.08\n  const label = labels[0] || \"\"\n\n  return `\n    <rect x=\"${x - rectSize / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) - rectSize / 2\n    }\" width=\"${rectSize}\" height=\"${rectSize}\" fill=\"red\" />\n    <text x=\"${x - labelFontSize / 2}\" y=\"${\n      makeYUpPositive(y, yUpPositive) + rectSize + labelFontSize / 2\n    }\" text-anchor=\"middle\" style=\"font: ${labelFontSize}px monospace; fill: #833;\">${label}</text>\n  `\n}\n\nexport function getInnerSvg(\n  symbol: SchSymbol,\n  options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n  const { debug = false } = options\n  const { primitives, size, ports } = symbol\n  const svgElements = primitives.map((primitive) => {\n    switch (primitive.type) {\n      case \"path\":\n        return `<path d=\"${pathToSvgD(primitive.points, {\n          closed: primitive.closed,\n          yUpPositive: true,\n        })}\" fill=\"${\n          primitive.fill ? mapColor(primitive.color) : \"none\"\n        }\" stroke=\"${mapColor(\n          primitive.color,\n        )}\" stroke-width=\"0.02\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />`\n      case \"text\":\n        const textElements = createTextElement(primitive, { yUpPositive: true })\n        return textElements.text + (debug ? textElements.anchor : \"\")\n      case \"circle\":\n        return `<circle cx=\"${primitive.x}\" cy=\"${makeYUpPositive(primitive.y, true)}\" r=\"${\n          primitive.radius\n        }\" fill=\"${primitive.fill ? mapColor(primitive.color) : \"none\"}\" ${\n          !primitive.fill\n            ? `stroke=\"${mapColor(primitive.color)}\" stroke-width=\"0.02\"`\n            : \"\"\n        } />`\n      case \"box\":\n        return `<rect x=\"${primitive.x}\" y=\"${makeYUpPositive(primitive.y)}\" width=\"${\n          primitive.width\n        }\" height=\"${primitive.height}\" fill=\"${mapColor(\"primary\")}\" />`\n      default:\n        return \"\"\n    }\n  })\n\n  const portElements = ports\n    .map((p) => createPortElement(p, { yUpPositive: true }))\n    .join(\"\\n    \")\n\n  const centerDiamond = createDiamondElement(symbol.center)\n\n  return [svgElements.join(\"\\n    \"), portElements, centerDiamond].join(\"\\n\")\n}\n\nexport function getSvg(\n  symbol: SchSymbol,\n  options: { width?: number; height?: number; debug?: boolean } = {},\n): string {\n  const { size } = symbol\n  const innerSvg = getInnerSvg(symbol, options)\n\n  // Use the center and the size to calculate the viewBox\n  const bufferMultiple = 1.2\n  const w = size.width * bufferMultiple\n  const h = size.height * bufferMultiple\n  const viewBox = {\n    x: symbol.center.x - w / 2,\n    y: makeYUpPositive(symbol.center.y, true) - h / 2,\n    width: w,\n    height: h,\n  }\n\n  if (options.width && !options.height) {\n    options.height = options.width! * (viewBox.height / viewBox.width)\n  } else if (!options.width && options.height) {\n    options.width = options.height! * (viewBox.width / viewBox.height)\n  } else if (!options.width && !options.height) {\n    options.width = viewBox.width\n    options.height = viewBox.height\n  }\n\n  return `<svg width=\"${options.width}\" height=\"${options.height}\" viewBox=\"${viewBox.x} ${viewBox.y} ${viewBox.width} ${viewBox.height}\" xmlns=\"http://www.w3.org/2000/svg\">${innerSvg}</svg>`\n}\n","import type { SchSymbol } from \"./types\"\n\nexport function resizeSymbol(\n  symbol: SchSymbol,\n  newSize: { width?: number; height?: number },\n): SchSymbol {\n  const { width: oldWidth, height: oldHeight } = symbol.size\n  let scaleX = 1,\n    scaleY = 1\n\n  if (newSize.width && newSize.height) {\n    scaleX = newSize.width / oldWidth\n    scaleY = newSize.height / oldHeight\n  } else if (newSize.width) {\n    scaleX = scaleY = newSize.width / oldWidth\n  } else if (newSize.height) {\n    scaleX = scaleY = newSize.height / oldHeight\n  }\n\n  const resizedPrimitives = symbol.primitives.map((primitive) => {\n    switch (primitive.type) {\n      case \"path\":\n        return {\n          ...primitive,\n          points: primitive.points.map((p) => ({\n            x: p.x * scaleX,\n            y: p.y * scaleY,\n          })),\n        }\n      case \"text\":\n      case \"circle\":\n        return {\n          ...primitive,\n          x: primitive.x * scaleX,\n          y: primitive.y * scaleY,\n        }\n      case \"box\":\n        return {\n          ...primitive,\n          x: primitive.x * scaleX,\n          y: primitive.y * scaleY,\n          width: primitive.width * scaleX,\n          height: primitive.height * scaleY,\n        }\n      default:\n        return primitive\n    }\n  })\n\n  return {\n    ...symbol,\n    primitives: resizedPrimitives,\n    center: {\n      x: symbol.center.x * scaleX,\n      y: symbol.center.y * scaleY,\n    },\n    ports: symbol.ports.map((port) => ({\n      ...port,\n      x: port.x * scaleX,\n      y: port.y * scaleY,\n    })),\n    size: {\n      width: oldWidth * scaleX,\n      height: oldHeight * scaleY,\n    },\n  }\n}\n","import symbols from \"./generated/symbols-index\"\n\nexport type {\n  SchSymbol,\n  BoxPrimitive,\n  CirclePrimitive,\n  PathPrimitive,\n  TextPrimitive,\n} from \"./drawing/types\"\nimport { getSvg, getInnerSvg, resizeSymbol } from \"./drawing\"\n\nimport { BaseSymbolName } from \"./generated/base-symbol-names\"\n\n/**\n * Utility for easier autocomplete:\n *\n * ```ts\n * BASE_SYMBOLS.boxresistor // \"boxresistor\"\n * ```\n */\nexport const BASE_SYMBOLS: Record<BaseSymbolName, BaseSymbolName> =\n  Object.fromEntries(Object.keys(symbols).map((k) => [k, k])) as any\n\nexport { symbols, getSvg, getInnerSvg, resizeSymbol, BaseSymbolName }\n"],"mappings":"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AK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GA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CE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,MACF;AAAA,MACA,OAAS;AAAA,MACT,MAAQ;AAAA,IACV;AAAA,IACA,UAAY;AAAA,MACV,MAAQ;AAAA,MACR,QAAU;AAAA,QACR;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UA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QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,QACP;AAAA,QACA;AAAA,UACE,GAAK;AAAA,UACL,GAAK;AAAA,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","names":["transform","paths","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotatedSymbol","paths","texts","bounds","refblocks","circles","letter","underline","rest","isPrimitive","rotatedSymbol","rotatedSymbol","texts","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","paths","circles","bounds","refblocks","paths","texts","bounds","refblocks","circles","rotated","ref","val","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","rotated","paths","texts","bounds","refblocks","rotated","texts","val","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","val","ref","rotatedSymbol","texts","val","ref","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","circles","rotatedSymbol","texts","ref","val","paths","texts","bounds","refblocks","circles","paths","texts","bounds","refblocks","circles","rotated","ref","val","paths","texts","bounds","refblocks","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","circles","refblocks","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","letter","rest","isPrimitive","rotatedSymbol","paths","texts","bounds","refblocks","circles","rotated","ref","val"]}
         
     |