diff options
Diffstat (limited to 'Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html')
-rwxr-xr-x | Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html | 2246 |
1 files changed, 0 insertions, 2246 deletions
diff --git a/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html b/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html deleted file mode 100755 index fa9f5ab..0000000 --- a/Resources/OpenPLCv1/OpenPLCv1.2/bom/ibom.html +++ /dev/null @@ -1,2246 +0,0 @@ -<!DOCTYPE html> -<html lang="en"> - -<head> - <meta charset="UTF-8"> - <meta name="viewport" content="width=device-width, initial-scale=1.0"> - <title>Interactive BOM for KiCAD</title> - <style type="text/css"> -:root { - --pcb-edge-color: black; - --pad-color: #878787; - --pad-color-highlight: #D04040; - --pin1-outline-color: #ffb629; - --pin1-outline-color-highlight: #b4ff03; -} - -html, body { - margin: 0px; - height: 100%; - font-family: Verdana, sans-serif; -} - -.dark { - --pcb-edge-color: #eee; - --pad-color: #808080; - --pin1-outline-color: #ffa800; - --pin1-outline-color-highlight: #ccff00; - background-color: #252c30; - color: #eee; -} - -button { - background-color: #eee; - border: 1px solid #888; - color: black; - height: 44px; - width: 44px; - text-align: center; - text-decoration: none; - display: inline-block; - font-size: 14px; - font-weight: bolder; -} - -.dark button { - /* This will be inverted */ - background-color: #c3b7b5; -} - -button.depressed { - background-color: #0a0; - color: white; -} - -.dark button.depressed { - /* This will be inverted */ - background-color: #b3b; -} - -button:focus { - outline: 0; -} - -button#tb-btn { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.32 290.12h5.82M1.32 291.45h5.82' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 292.5v4.23M.26 292.63H8.2' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='1.35' y='295.73'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A"); - background-size: 32px 32px; - background-position: 5px 5px; - background-repeat: no-repeat; -} - -button#lr-btn { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' fill='none' stroke='%23000' stroke-width='.4' stroke-linejoin='round'/%3E%3Cpath d='M1.06 290.12H3.7m-2.64 1.33H3.7m-2.64 1.32H3.7m-2.64 1.3H3.7m-2.64 1.33H3.7' fill='none' stroke='%23000' stroke-width='.4'/%3E%3Cpath d='M4.37 288.8v7.94m0-4.11h3.96' fill='none' stroke='%23000' stroke-width='.3'/%3E%3Ctext font-weight='700' font-size='3.17' font-family='sans-serif'%3E%3Ctspan x='5.11' y='291.96'%3EF%3C/tspan%3E%3Ctspan x='5.03' y='295.68'%3EB%3C/tspan%3E%3C/text%3E%3C/g%3E%3C/svg%3E%0A"); - background-size: 32px 32px; - background-position: 5px 5px; - background-repeat: no-repeat; -} - -button#bom-btn { - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8.47 8.47'%3E%3Crect transform='translate(0 -288.53)' ry='1.17' y='288.8' x='.27' height='7.94' width='7.94' fill='%23f9f9f9'/%3E%3Cg transform='translate(0 -288.53)' fill='none' stroke='%23000' stroke-width='.4'%3E%3Crect width='7.94' height='7.94' x='.27' y='288.8' ry='1.17' stroke-linejoin='round'/%3E%3Cpath d='M1.59 290.12h5.29M1.59 291.45h5.33M1.59 292.75h5.33M1.59 294.09h5.33M1.59 295.41h5.33'/%3E%3C/g%3E%3C/svg%3E"); - background-size: 32px 32px; - background-position: 5px 5px; - background-repeat: no-repeat; -} - -button#copy { - background-image: url("data:image/svg+xml,%3Csvg height='48' viewBox='0 0 48 48' width='48' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0h48v48h-48z' fill='none'/%3E%3Cpath d='M32 2h-24c-2.21 0-4 1.79-4 4v28h4v-28h24v-4zm6 8h-22c-2.21 0-4 1.79-4 4v28c0 2.21 1.79 4 4 4h22c2.21 0 4-1.79 4-4v-28c0-2.21-1.79-4-4-4zm0 32h-22v-28h22v28z'/%3E%3C/svg%3E"); - background-position: 6px 6px; - background-repeat: no-repeat; - background-size: 26px 26px; - border-radius: 6px; - height: 40px; - width: 40px; - margin: 10px 5px; -} - -button#copy:active { - box-shadow: inset 0px 0px 5px #6c6c6c; -} - -textarea.clipboard-temp { - position: fixed; - top: 0; - left: 0; - width: 2em; - height: 2em; - padding: 0; - border: None; - outline: None; - box-shadow: None; - background: transparent; -} - -.left-most-button { - border-right: 0; - border-top-left-radius: 6px; - border-bottom-left-radius: 6px; -} - -.middle-button { - border-right: 0; -} - -.right-most-button { - border-top-right-radius: 6px; - border-bottom-right-radius: 6px; -} - -.button-container { - font-size: 0; -} - -.dark .button-container { - filter: invert(1); -} - -@media print { - .hideonprint { - display: none; - } -} - -canvas { - cursor: crosshair; -} - -canvas:active { - cursor: grabbing; -} - -.fileinfo { - width: 100%; - max-width: 1000px; - border: none; - padding: 5px; -} - -.fileinfo .title { - font-size: 20pt; - font-weight: bold; -} - -.fileinfo td { - overflow: hidden; - white-space: nowrap; - max-width: 1px; - width: 50%; - text-overflow: ellipsis; -} - -.bom { - border-collapse: collapse; - font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace; - font-size: 10pt; - table-layout: fixed; - width: 100%; - margin-top: 1px; -} - -.bom th, .bom td { - border: 1px solid black; - padding: 5px; - word-wrap: break-word; - text-align: center; - position: relative; -} - -.dark .bom th, .dark .bom td { - border: 1px solid #777; -} - -.bom th { - background-color: #CCCCCC; - background-clip: padding-box; -} - -.dark .bom th { - background-color: #3b4749; -} - -.bom tr.highlighted:nth-child(n) { - background-color: #cfc; -} - -.dark .bom tr.highlighted:nth-child(n) { - background-color: #226022; -} - -.bom tr:nth-child(even) { - background-color: #f2f2f2; -} - -.dark .bom tr:nth-child(even) { - background-color: #313b40; -} - -.bom tr { - transition: background-color 0.2s; -} - -.bom .numCol { - width: 25px; -} - -.bom .Description { - width: 10%; -} - -.bom .Part { - width: 10%; -} - -.bom .Value { - width: 15%; -} - -.bom .Quantity { - width: 65px; -} - -.bom th .sortmark { - position: absolute; - right: 1px; - top: 1px; - margin-top: -5px; - border-width: 5px; - border-style: solid; - border-color: transparent transparent #221 transparent; - transform-origin: 50% 85%; - transition: opacity 0.2s, transform 0.4s; -} - -.dark .bom th .sortmark { - filter: invert(1); -} - -.bom th .sortmark.none { - opacity: 0; -} - -.bom th .sortmark.desc { - transform: rotate(180deg); -} - -.bom th:hover .sortmark.none { - opacity: 0.5; -} - -.bom .bom-checkbox { - width: 30px; - position: relative; - user-select: none; - -moz-user-select: none; -} - -.bom .bom-checkbox:before { - content: ""; - position: absolute; - border-width: 15px; - border-style: solid; - border-color: #51829f transparent transparent transparent; - visibility: hidden; - top: -15px; -} - -.bom .bom-checkbox:after { - content: "Double click to set/unset all"; - position: absolute; - color: white; - top: -35px; - left: -26px; - background: #51829f; - padding: 5px 15px; - border-radius: 8px; - white-space: nowrap; - visibility: hidden; -} - -.bom .bom-checkbox:hover:before, .bom .bom-checkbox:hover:after { - visibility: visible; - transition: visibility 0.2s linear 1s; -} - -.split { - -webkit-box-sizing: border-box; - -moz-box-sizing: border-box; - box-sizing: border-box; - overflow-y: auto; - overflow-x: hidden; - background-color: inherit; -} - -.split.split-horizontal, .gutter.gutter-horizontal { - height: 100%; - float: left; -} - -.gutter { - background-color: #ddd; - background-repeat: no-repeat; - background-position: 50%; - transition: background-color 0.3s; -} - -.dark .gutter { - background-color: #777; -} - -.gutter.gutter-horizontal { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAAAAeCAYAAADkftS9AAAAIklEQVQoU2M4c+bMfxAGAgYYmwGrIIiDjrELjpo5aiZeMwF+yNnOs5KSvgAAAABJRU5ErkJggg=='); - cursor: ew-resize; - width: 5px; -} - -.gutter.gutter-vertical { - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAFAQMAAABo7865AAAABlBMVEVHcEzMzMzyAv2sAAAAAXRSTlMAQObYZgAAABBJREFUeF5jOAMEEAIEEFwAn3kMwcB6I2AAAAAASUVORK5CYII='); - cursor: ns-resize; - height: 5px; -} - -.searchbox { - float: left; - height: 40px; - margin: 10px 5px; - padding: 12px 32px; - font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace; - font-size: 18px; - box-sizing: border-box; - border: 1px solid #888; - border-radius: 6px; - outline: none; - background-color: #eee; - transition: background-color 0.2s, border 0.2s; - background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAABNklEQVQ4T8XSMUvDQBQH8P/LElFa/AIZHcTBQSz0I/gFstTBRR2KUC4ldDxw7h0Bl3RRUATxi4iiODgoiLNrbQYp5J6cpJJqomkX33Z37/14d/dIa33MzDuYI4johOI4XhyNRteO46zNYjDzAxE1yBZprVeZ+QbAUhXEGJMA2Ox2u4+fQIa0mPmsCgCgJYQ4t7lfgF0opQYAdv9ABkKI/UnOFCClXKjX61cA1osQY8x9kiRNKeV7IWA3oyhaSdP0FkAtjxhj3hzH2RBCPOf3pzqYHCilfAAX+URm9oMguPzeWSGQvUcMYC8rOBJCHBRdqxTo9/vbRHRqi8bj8XKv1xvODbiuW2u32/bvf0SlDv4XYOY7z/Mavu+nM1+BmQ+NMc0wDF/LprP0DbTWW0T00ul0nn4b7Q87+X4Qmfiq2wAAAABJRU5ErkJggg=='); - background-position: 10px 10px; - background-repeat: no-repeat; -} - -.dark .searchbox { - background-color: #111; - color: #eee; -} - -.searchbox::placeholder { - color: #ccc; -} - -.dark .searchbox::placeholder { - color: #666; -} - -.filter { - width: calc(60% - 64px); -} - -.reflookup { - width: calc(40% - 10px); -} - -input[type=text]:focus { - background-color: white; - border: 1px solid #333; -} - -.dark input[type=text]:focus { - background-color: #333; - border: 1px solid #ccc; -} - -mark.highlight { - background-color: #5050ff; - color: #fff; - padding: 2px; - border-radius: 6px; -} - -.dark mark.highlight { - background-color: #76a6da; - color: #111; -} - -.menubtn { - background-color: white; - font-size: 16px; - border: none; - background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 20 20'%3E%3Cpath fill='none' d='M0 0h20v20H0V0z'/%3E%3Cpath d='M15.95 10.78c.03-.25.05-.51.05-.78s-.02-.53-.06-.78l1.69-1.32c.15-.12.19-.34.1-.51l-1.6-2.77c-.1-.18-.31-.24-.49-.18l-1.99.8c-.42-.32-.86-.58-1.35-.78L12 2.34c-.03-.2-.2-.34-.4-.34H8.4c-.2 0-.36.14-.39.34l-.3 2.12c-.49.2-.94.47-1.35.78l-1.99-.8c-.18-.07-.39 0-.49.18l-1.6 2.77c-.1.18-.06.39.1.51l1.69 1.32c-.04.25-.07.52-.07.78s.02.53.06.78L2.37 12.1c-.15.12-.19.34-.1.51l1.6 2.77c.1.18.31.24.49.18l1.99-.8c.42.32.86.58 1.35.78l.3 2.12c.04.2.2.34.4.34h3.2c.2 0 .37-.14.39-.34l.3-2.12c.49-.2.94-.47 1.35-.78l1.99.8c.18.07.39 0 .49-.18l1.6-2.77c.1-.18.06-.39-.1-.51l-1.67-1.32zM10 13c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z'/%3E%3C/svg%3E%0A"); - background-position: center; - background-repeat: no-repeat; -} - -.dark .menubtn { - filter: invert(1); -} - -.menu { - position: relative; - display: inline-block; -} - -.menu-content { - display: none; - position: absolute; - background-color: white; - right: 0; - min-width: 300px; - box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2); - z-index: 100; - padding: 8px; -} - -.dark .menu-content { - background-color: #111; -} - -.menu:hover .menu-content { - display: block; -} - -.menu:hover .menubtn { - background-color: #eee; -} - -.dark .menu:hover .menubtn {} - -.menu-label { - display: inline-block; - padding: 8px; - border: 1px solid #ccc; - border-top: 0; - width: calc(100% - 18px); -} - -.menu-label-top { - border-top: 1px solid #ccc; -} - -.menu-textbox { - float: left; - height: 24px; - margin: 10px 5px; - padding: 5px 5px; - font-family: Consolas, "DejaVu Sans Mono", Monaco, monospace; - font-size: 14px; - box-sizing: border-box; - border: 1px solid #888; - border-radius: 4px; - outline: none; - background-color: #eee; - transition: background-color 0.2s, border 0.2s; - width: calc(100% - 10px); -} - -.dark .menu-textbox { - background-color: #222; - color: #eee; -} - -#topmostdiv { - transition: background-color 0.3s; -} - -#top { - height: 78px; - border-bottom: 2px solid black; -} - -.dark #top { - border-bottom: 2px solid #ccc; -} - -#dbg { - display: block; -} - -::-webkit-scrollbar { - width: 8px; -} - -::-webkit-scrollbar-track { - background: #aaa; -} - -::-webkit-scrollbar-thumb { - background: #666; - border-radius: 3px; -} - -::-webkit-scrollbar-thumb:hover { - background: #555; -} - -.slider { - -webkit-appearance: none; - width: 100%; - margin: 3px 0; - padding: 0; - outline: none; - opacity: 0.7; - -webkit-transition: .2s; - transition: opacity .2s; - border-radius: 3px; -} - -.slider:hover { - opacity: 1; -} - -.slider:focus { - outline: none; -} - -.slider::-webkit-slider-runnable-track { - -webkit-appearance: none; - width: 100%; - height: 8px; - background: #d3d3d3; - border-radius: 3px; - border: none; -} - -.slider::-webkit-slider-thumb { - -webkit-appearance: none; - width: 15px; - height: 15px; - border-radius: 50%; - background: #0a0; - cursor: pointer; - margin-top: -4px; -} - -.dark .slider::-webkit-slider-thumb { - background: #3d3; -} - -.slider::-moz-range-thumb { - width: 15px; - height: 15px; - border-radius: 50%; - background: #0a0; - cursor: pointer; -} - -.slider::-moz-range-track { - height: 8px; - background: #d3d3d3; - border-radius: 3px; -} - -.dark .slider::-moz-range-thumb { - background: #3d3; -} - -.slider::-ms-track { - width: 100%; - height: 8px; - border-width: 3px 0; - background: transparent; - border-color: transparent; - color: transparent; - transition: opacity .2s; -} - -.slider::-ms-fill-lower { - background: #d3d3d3; - border: none; - border-radius: 3px; -} - -.slider::-ms-fill-upper { - background: #d3d3d3; - border: none; - border-radius: 3px; -} - -.slider::-ms-thumb { - width: 15px; - height: 15px; - border-radius: 50%; - background: #0a0; - cursor: pointer; - margin: 0; -} - -.shameless-plug { - font-size: 0.8em; - text-align: center; - display: block; -} - -.shameless-plug a { - color: #0278a4; -} - -.dark .shameless-plug a { - color: #00b9fd; -} - - </style> - <script type="text/javascript" > -/////////////////////////////////////////////// -/* - Split.js - v1.3.5 - MIT License - https://github.com/nathancahill/Split.js -*/ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?module.exports=t():"function"==typeof define&&define.amd?define(t):e.Split=t()}(this,function(){"use strict";var e=window,t=e.document,n="addEventListener",i="removeEventListener",r="getBoundingClientRect",s=function(){return!1},o=e.attachEvent&&!e[n],a=["","-webkit-","-moz-","-o-"].filter(function(e){var n=t.createElement("div");return n.style.cssText="width:"+e+"calc(9px)",!!n.style.length}).shift()+"calc",l=function(e){return"string"==typeof e||e instanceof String?t.querySelector(e):e};return function(u,c){function z(e,t,n){var i=A(y,t,n);Object.keys(i).forEach(function(t){return e.style[t]=i[t]})}function h(e,t){var n=B(y,t);Object.keys(n).forEach(function(t){return e.style[t]=n[t]})}function f(e){var t=E[this.a],n=E[this.b],i=t.size+n.size;t.size=e/this.size*i,n.size=i-e/this.size*i,z(t.element,t.size,this.aGutterSize),z(n.element,n.size,this.bGutterSize)}function m(e){var t;this.dragging&&((t="touches"in e?e.touches[0][b]-this.start:e[b]-this.start)<=E[this.a].minSize+M+this.aGutterSize?t=E[this.a].minSize+this.aGutterSize:t>=this.size-(E[this.b].minSize+M+this.bGutterSize)&&(t=this.size-(E[this.b].minSize+this.bGutterSize)),f.call(this,t),c.onDrag&&c.onDrag())}function g(){var e=E[this.a].element,t=E[this.b].element;this.size=e[r]()[y]+t[r]()[y]+this.aGutterSize+this.bGutterSize,this.start=e[r]()[G]}function d(){var t=this,n=E[t.a].element,r=E[t.b].element;t.dragging&&c.onDragEnd&&c.onDragEnd(),t.dragging=!1,e[i]("mouseup",t.stop),e[i]("touchend",t.stop),e[i]("touchcancel",t.stop),t.parent[i]("mousemove",t.move),t.parent[i]("touchmove",t.move),delete t.stop,delete t.move,n[i]("selectstart",s),n[i]("dragstart",s),r[i]("selectstart",s),r[i]("dragstart",s),n.style.userSelect="",n.style.webkitUserSelect="",n.style.MozUserSelect="",n.style.pointerEvents="",r.style.userSelect="",r.style.webkitUserSelect="",r.style.MozUserSelect="",r.style.pointerEvents="",t.gutter.style.cursor="",t.parent.style.cursor=""}function S(t){var i=this,r=E[i.a].element,o=E[i.b].element;!i.dragging&&c.onDragStart&&c.onDragStart(),t.preventDefault(),i.dragging=!0,i.move=m.bind(i),i.stop=d.bind(i),e[n]("mouseup",i.stop),e[n]("touchend",i.stop),e[n]("touchcancel",i.stop),i.parent[n]("mousemove",i.move),i.parent[n]("touchmove",i.move),r[n]("selectstart",s),r[n]("dragstart",s),o[n]("selectstart",s),o[n]("dragstart",s),r.style.userSelect="none",r.style.webkitUserSelect="none",r.style.MozUserSelect="none",r.style.pointerEvents="none",o.style.userSelect="none",o.style.webkitUserSelect="none",o.style.MozUserSelect="none",o.style.pointerEvents="none",i.gutter.style.cursor=j,i.parent.style.cursor=j,g.call(i)}function v(e){e.forEach(function(t,n){if(n>0){var i=F[n-1],r=E[i.a],s=E[i.b];r.size=e[n-1],s.size=t,z(r.element,r.size,i.aGutterSize),z(s.element,s.size,i.bGutterSize)}})}function p(){F.forEach(function(e){e.parent.removeChild(e.gutter),E[e.a].element.style[y]="",E[e.b].element.style[y]=""})}void 0===c&&(c={});var y,b,G,E,w=l(u[0]).parentNode,D=e.getComputedStyle(w).flexDirection,U=c.sizes||u.map(function(){return 100/u.length}),k=void 0!==c.minSize?c.minSize:100,x=Array.isArray(k)?k:u.map(function(){return k}),L=void 0!==c.gutterSize?c.gutterSize:10,M=void 0!==c.snapOffset?c.snapOffset:30,O=c.direction||"horizontal",j=c.cursor||("horizontal"===O?"ew-resize":"ns-resize"),C=c.gutter||function(e,n){var i=t.createElement("div");return i.className="gutter gutter-"+n,i},A=c.elementStyle||function(e,t,n){var i={};return"string"==typeof t||t instanceof String?i[e]=t:i[e]=o?t+"%":a+"("+t+"% - "+n+"px)",i},B=c.gutterStyle||function(e,t){return n={},n[e]=t+"px",n;var n};"horizontal"===O?(y="width","clientWidth",b="clientX",G="left","paddingLeft"):"vertical"===O&&(y="height","clientHeight",b="clientY",G="top","paddingTop");var F=[];return E=u.map(function(e,t){var i,s={element:l(e),size:U[t],minSize:x[t]};if(t>0&&(i={a:t-1,b:t,dragging:!1,isFirst:1===t,isLast:t===u.length-1,direction:O,parent:w},i.aGutterSize=L,i.bGutterSize=L,i.isFirst&&(i.aGutterSize=L/2),i.isLast&&(i.bGutterSize=L/2),"row-reverse"===D||"column-reverse"===D)){var a=i.a;i.a=i.b,i.b=a}if(!o&&t>0){var c=C(t,O);h(c,L),c[n]("mousedown",S.bind(i)),c[n]("touchstart",S.bind(i)),w.insertBefore(c,s.element),i.gutter=c}0===t||t===u.length-1?z(s.element,s.size,L/2):z(s.element,s.size,L);var f=s.element[r]()[y];return f<s.minSize&&(s.minSize=f),t>0&&F.push(i),s}),o?{setSizes:v,destroy:p}:{setSizes:v,getSizes:function(){return E.map(function(e){return e.size})},collapse:function(e){if(e===F.length){var t=F[e-1];g.call(t),o||f.call(t,t.size-t.bGutterSize)}else{var n=F[e];g.call(n),o||f.call(n,n.aGutterSize)}},destroy:p}}}); - -/////////////////////////////////////////////// - -/////////////////////////////////////////////// -var config = {"redraw_on_drag": true, "highlight_pin1": false, "extra_fields": [], "dark_mode": false, "bom_view": "left-right", "board_rotation": 0.0, "checkboxes": "Sourced,Placed", "show_silkscreen": true, "layer_view": "FB"} -/////////////////////////////////////////////// - -/////////////////////////////////////////////// -var pcbdata = {"font_data": {" ": {"l": [], "w": 0.7619047619047619}, "1": {"l": [[[0.7619047619047619, -0.047619047619047616], [0.19047619047619047, -0.047619047619047616]], [[0.47619047619047616, -0.047619047619047616], [0.47619047619047616, -1.0476190476190474], [0.38095238095238093, -0.9047619047619047], [0.2857142857142857, -0.8095238095238095], [0.19047619047619047, -0.7619047619047619]]], "w": 0.9523809523809523}, "0": {"l": [[[0.42857142857142855, -1.0476190476190474], [0.5238095238095237, -1.0476190476190474], [0.6190476190476191, -1.0], [0.6666666666666666, -0.9523809523809523], [0.7142857142857142, -0.8571428571428571], [0.7619047619047619, -0.6666666666666666], [0.7619047619047619, -0.42857142857142855], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.42857142857142855, -0.047619047619047616], [0.3333333333333333, -0.09523809523809523], [0.2857142857142857, -0.14285714285714285], [0.23809523809523808, -0.23809523809523808], [0.19047619047619047, -0.42857142857142855], [0.19047619047619047, -0.6666666666666666], [0.23809523809523808, -0.8571428571428571], [0.2857142857142857, -0.9523809523809523], [0.3333333333333333, -1.0], [0.42857142857142855, -1.0476190476190474]]], "w": 0.9523809523809523}, "3": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.7619047619047619, -1.0476190476190474], [0.42857142857142855, -0.6666666666666666], [0.5714285714285714, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.23809523809523808], [0.7142857142857142, -0.14285714285714285], [0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.2857142857142857, -0.047619047619047616], [0.19047619047619047, -0.09523809523809523], [0.14285714285714285, -0.14285714285714285]]], "w": 0.9523809523809523}, "2": {"l": [[[0.19047619047619047, -0.9523809523809523], [0.23809523809523808, -1.0], [0.3333333333333333, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666666, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.7619047619047619], [0.7142857142857142, -0.6190476190476191], [0.14285714285714285, -0.047619047619047616], [0.7619047619047619, -0.047619047619047616]]], "w": 0.9523809523809523}, "5": {"l": [[[0.7142857142857142, -1.0476190476190474], [0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -0.5714285714285714], [0.23809523809523808, -0.6190476190476191], [0.3333333333333333, -0.6666666666666666], [0.5714285714285714, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.23809523809523808], [0.7142857142857142, -0.14285714285714285], [0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.14285714285714285]]], "w": 0.9523809523809523}, "4": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, -0.047619047619047616]], [[0.42857142857142855, -1.0952380952380951], [0.19047619047619047, -0.38095238095238093], [0.8095238095238095, -0.38095238095238093]]], "w": 0.9523809523809523}, "7": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.8095238095238095, -1.0476190476190474], [0.38095238095238093, -0.047619047619047616]]], "w": 0.9523809523809523}, "6": {"l": [[[0.6666666666666666, -1.0476190476190474], [0.47619047619047616, -1.0476190476190474], [0.38095238095238093, -1.0], [0.3333333333333333, -0.9523809523809523], [0.23809523809523808, -0.8095238095238095], [0.19047619047619047, -0.6190476190476191], [0.19047619047619047, -0.23809523809523808], [0.23809523809523808, -0.14285714285714285], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.47619047619047616], [0.7142857142857142, -0.5714285714285714], [0.6666666666666666, -0.6190476190476191], [0.5714285714285714, -0.6666666666666666], [0.38095238095238093, -0.6666666666666666], [0.2857142857142857, -0.6190476190476191], [0.23809523809523808, -0.5714285714285714], [0.19047619047619047, -0.47619047619047616]]], "w": 0.9523809523809523}, "9": {"l": [[[0.2857142857142857, -0.047619047619047616], [0.47619047619047616, -0.047619047619047616], [0.5714285714285714, -0.09523809523809523], [0.6190476190476191, -0.14285714285714285], [0.7142857142857142, -0.2857142857142857], [0.7619047619047619, -0.47619047619047616], [0.7619047619047619, -0.8571428571428571], [0.7142857142857142, -0.9523809523809523], [0.6666666666666666, -1.0], [0.5714285714285714, -1.0476190476190474], [0.38095238095238093, -1.0476190476190474], [0.2857142857142857, -1.0], [0.23809523809523808, -0.9523809523809523], [0.19047619047619047, -0.8571428571428571], [0.19047619047619047, -0.6190476190476191], [0.23809523809523808, -0.5238095238095237], [0.2857142857142857, -0.47619047619047616], [0.38095238095238093, -0.42857142857142855], [0.5714285714285714, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616], [0.7142857142857142, -0.5238095238095237], [0.7619047619047619, -0.6190476190476191]]], "w": 0.9523809523809523}, "8": {"l": [[[0.38095238095238093, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.23809523809523808, -0.7142857142857142], [0.19047619047619047, -0.8095238095238095], [0.19047619047619047, -0.8571428571428571], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.38095238095238093, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666666, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.8095238095238095], [0.7142857142857142, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666], [0.5714285714285714, -0.6190476190476191], [0.38095238095238093, -0.6190476190476191], [0.2857142857142857, -0.5714285714285714], [0.23809523809523808, -0.5238095238095237], [0.19047619047619047, -0.42857142857142855], [0.19047619047619047, -0.23809523809523808], [0.23809523809523808, -0.14285714285714285], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.42857142857142855], [0.7142857142857142, -0.5238095238095237], [0.6666666666666666, -0.5714285714285714], [0.5714285714285714, -0.6190476190476191]]], "w": 0.9523809523809523}, "C": {"l": [[[0.8095238095238095, -0.14285714285714285], [0.7619047619047619, -0.09523809523809523], [0.6190476190476191, -0.047619047619047616], [0.5238095238095237, -0.047619047619047616], [0.38095238095238093, -0.09523809523809523], [0.2857142857142857, -0.19047619047619047], [0.23809523809523808, -0.2857142857142857], [0.19047619047619047, -0.47619047619047616], [0.19047619047619047, -0.6190476190476191], [0.23809523809523808, -0.8095238095238095], [0.2857142857142857, -0.9047619047619047], [0.38095238095238093, -1.0], [0.5238095238095237, -1.0476190476190474], [0.6190476190476191, -1.0476190476190474], [0.7619047619047619, -1.0], [0.8095238095238095, -0.9523809523809523]]], "w": 1.0}, "B": {"l": [[[0.5714285714285714, -0.5714285714285714], [0.7142857142857142, -0.5238095238095237], [0.7619047619047619, -0.47619047619047616], [0.8095238095238094, -0.38095238095238093], [0.8095238095238094, -0.23809523809523808], [0.7619047619047619, -0.14285714285714285], [0.7142857142857142, -0.09523809523809523], [0.619047619047619, -0.047619047619047616], [0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.5714285714285714, -1.0476190476190474], [0.6666666666666665, -1.0], [0.7142857142857142, -0.9523809523809523], [0.7619047619047619, -0.8571428571428571], [0.7619047619047619, -0.7619047619047619], [0.7142857142857142, -0.6666666666666666], [0.6666666666666665, -0.6190476190476191], [0.5714285714285714, -0.5714285714285714], [0.23809523809523803, -0.5714285714285714]]], "w": 1.0}, "E": {"l": [[[0.23809523809523808, -0.5714285714285714], [0.5714285714285714, -0.5714285714285714]], [[0.7142857142857142, -0.047619047619047616], [0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474], [0.7142857142857142, -1.0476190476190474]]], "w": 0.9047619047619047}, "D": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.4761904761904761, -1.0476190476190474], [0.619047619047619, -1.0], [0.7142857142857142, -0.9047619047619047], [0.7619047619047619, -0.8095238095238095], [0.8095238095238094, -0.6190476190476191], [0.8095238095238094, -0.47619047619047616], [0.7619047619047619, -0.2857142857142857], [0.7142857142857142, -0.19047619047619047], [0.619047619047619, -0.09523809523809523], [0.4761904761904761, -0.047619047619047616], [0.23809523809523803, -0.047619047619047616]]], "w": 1.0}, "G": {"l": [[[0.7619047619047619, -1.0], [0.6666666666666666, -1.0476190476190474], [0.5238095238095237, -1.0476190476190474], [0.38095238095238093, -1.0], [0.2857142857142857, -0.9047619047619047], [0.23809523809523808, -0.8095238095238095], [0.19047619047619047, -0.6190476190476191], [0.19047619047619047, -0.47619047619047616], [0.23809523809523808, -0.2857142857142857], [0.2857142857142857, -0.19047619047619047], [0.38095238095238093, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.6190476190476191, -0.047619047619047616], [0.7619047619047619, -0.09523809523809523], [0.8095238095238095, -0.14285714285714285], [0.8095238095238095, -0.47619047619047616], [0.6190476190476191, -0.47619047619047616]]], "w": 1.0}, "I": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]]], "w": 0.47619047619047616}, "J": {"l": [[[0.5238095238095237, -1.0476190476190474], [0.5238095238095237, -0.3333333333333333], [0.47619047619047616, -0.19047619047619047], [0.38095238095238093, -0.09523809523809523], [0.23809523809523808, -0.047619047619047616], [0.14285714285714285, -0.047619047619047616]]], "w": 0.7619047619047619}, "L": {"l": [[[0.7142857142857142, -0.047619047619047616], [0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]]], "w": 0.8095238095238095}, "O": {"l": [[[0.4285714285714285, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.8095238095238094, -0.9047619047619047], [0.857142857142857, -0.7142857142857142], [0.857142857142857, -0.38095238095238093], [0.8095238095238094, -0.19047619047619047], [0.7142857142857142, -0.09523809523809523], [0.619047619047619, -0.047619047619047616], [0.4285714285714285, -0.047619047619047616], [0.33333333333333326, -0.09523809523809523], [0.23809523809523803, -0.19047619047619047], [0.1904761904761904, -0.38095238095238093], [0.1904761904761904, -0.7142857142857142], [0.23809523809523803, -0.9047619047619047], [0.33333333333333326, -1.0], [0.4285714285714285, -1.0476190476190474]]], "w": 1.0476190476190474}, "N": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.8095238095238094, -0.047619047619047616], [0.8095238095238094, -1.0476190476190474]]], "w": 1.0476190476190474}, "P": {"l": [[[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.7619047619047619, -0.9523809523809523], [0.8095238095238094, -0.8571428571428571], [0.8095238095238094, -0.7142857142857142], [0.7619047619047619, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.619047619047619, -0.5238095238095237], [0.23809523809523803, -0.5238095238095237]]], "w": 1.0}, "S": {"l": [[[0.19047619047619047, -0.09523809523809523], [0.3333333333333333, -0.047619047619047616], [0.5714285714285714, -0.047619047619047616], [0.6666666666666666, -0.09523809523809523], [0.7142857142857142, -0.14285714285714285], [0.7619047619047619, -0.23809523809523808], [0.7619047619047619, -0.3333333333333333], [0.7142857142857142, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616], [0.5714285714285714, -0.5238095238095237], [0.38095238095238093, -0.5714285714285714], [0.2857142857142857, -0.6190476190476191], [0.23809523809523808, -0.6666666666666666], [0.19047619047619047, -0.7619047619047619], [0.19047619047619047, -0.8571428571428571], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.38095238095238093, -1.0476190476190474], [0.6190476190476191, -1.0476190476190474], [0.7619047619047619, -1.0]]], "w": 0.9523809523809523}, "R": {"l": [[[0.8095238095238094, -0.047619047619047616], [0.4761904761904761, -0.5238095238095237]], [[0.23809523809523803, -0.047619047619047616], [0.23809523809523803, -1.0476190476190474], [0.619047619047619, -1.0476190476190474], [0.7142857142857142, -1.0], [0.7619047619047619, -0.9523809523809523], [0.8095238095238094, -0.8571428571428571], [0.8095238095238094, -0.7142857142857142], [0.7619047619047619, -0.6190476190476191], [0.7142857142857142, -0.5714285714285714], [0.619047619047619, -0.5238095238095237], [0.23809523809523803, -0.5238095238095237]]], "w": 1.0}, "U": {"l": [[[0.23809523809523803, -1.0476190476190474], [0.23809523809523803, -0.23809523809523808], [0.28571428571428564, -0.14285714285714285], [0.33333333333333326, -0.09523809523809523], [0.4285714285714285, -0.047619047619047616], [0.619047619047619, -0.047619047619047616], [0.7142857142857142, -0.09523809523809523], [0.7619047619047619, -0.14285714285714285], [0.8095238095238094, -0.23809523809523808], [0.8095238095238094, -1.0476190476190474]]], "w": 1.0476190476190474}, "T": {"l": [[[0.09523809523809523, -1.0476190476190474], [0.6666666666666666, -1.0476190476190474]], [[0.38095238095238093, -0.047619047619047616], [0.38095238095238093, -1.0476190476190474]]], "w": 0.7619047619047619}, "W": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.38095238095238093, -0.047619047619047616], [0.5714285714285714, -0.7619047619047619], [0.7619047619047619, -0.047619047619047616], [1.0, -1.0476190476190474]]], "w": 1.1428571428571428}, "V": {"l": [[[0.09523809523809523, -1.0476190476190474], [0.42857142857142855, -0.047619047619047616], [0.7619047619047619, -1.0476190476190474]]], "w": 0.8571428571428571}, "Y": {"l": [[[0.42857142857142855, -0.5238095238095237], [0.42857142857142855, -0.047619047619047616]], [[0.09523809523809523, -1.0476190476190474], [0.42857142857142855, -0.5238095238095237], [0.7619047619047619, -1.0476190476190474]]], "w": 0.8571428571428571}, "X": {"l": [[[0.14285714285714285, -1.0476190476190474], [0.8095238095238095, -0.047619047619047616]], [[0.8095238095238095, -1.0476190476190474], [0.14285714285714285, -0.047619047619047616]]], "w": 0.9523809523809523}, "a": {"l": [[[0.6666666666666666, -0.047619047619047616], [0.6666666666666666, -0.5714285714285714], [0.6190476190476191, -0.6666666666666666], [0.5238095238095237, -0.7142857142857142], [0.3333333333333333, -0.7142857142857142], [0.23809523809523808, -0.6666666666666666]], [[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.19047619047619047], [0.19047619047619047, -0.2857142857142857], [0.23809523809523808, -0.38095238095238093], [0.3333333333333333, -0.42857142857142855], [0.5714285714285714, -0.42857142857142855], [0.6666666666666666, -0.47619047619047616]]], "w": 0.9047619047619047}, "c": {"l": [[[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5714285714285714, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666]]], "w": 0.8571428571428571}, "b": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -1.0476190476190474]], [[0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523]]], "w": 0.9047619047619047}, "e": {"l": [[[0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523], [0.19047619047619047, -0.19047619047619047], [0.19047619047619047, -0.5714285714285714], [0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.47619047619047616], [0.19047619047619047, -0.38095238095238093]]], "w": 0.8571428571428571}, "g": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, 0.09523809523809523], [0.6190476190476191, 0.19047619047619047], [0.5714285714285714, 0.23809523809523808], [0.47619047619047616, 0.2857142857142857], [0.3333333333333333, 0.2857142857142857], [0.23809523809523808, 0.23809523809523808]], [[0.6666666666666666, -0.09523809523809523], [0.5714285714285714, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5714285714285714, -0.7142857142857142], [0.6666666666666666, -0.6666666666666666]]], "w": 0.9047619047619047}, "i": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -1.0], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.9523809523809523]]], "w": 0.47619047619047616}, "j": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, 0.14285714285714285], [0.19047619047619047, 0.23809523809523808], [0.09523809523809523, 0.2857142857142857], [0.047619047619047616, 0.2857142857142857]], [[0.23809523809523808, -1.0476190476190474], [0.19047619047619047, -1.0], [0.23809523809523808, -0.9523809523809523], [0.2857142857142857, -1.0], [0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.9523809523809523]]], "w": 0.47619047619047616}, "m": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.047619047619047616]], [[0.6666666666666666, -0.5714285714285714], [0.7142857142857142, -0.6666666666666666], [0.8095238095238095, -0.7142857142857142], [0.9523809523809523, -0.7142857142857142], [1.0476190476190474, -0.6666666666666666], [1.0952380952380951, -0.5714285714285714], [1.0952380952380951, -0.047619047619047616]]], "w": 1.3333333333333333}, "l": {"l": [[[0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.19047619047619047], [0.23809523809523808, -1.0476190476190474]]], "w": 0.5238095238095237}, "o": {"l": [[[0.38095238095238093, -0.047619047619047616], [0.2857142857142857, -0.09523809523809523], [0.23809523809523808, -0.14285714285714285], [0.19047619047619047, -0.23809523809523808], [0.19047619047619047, -0.5238095238095237], [0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.38095238095238093, -0.047619047619047616]]], "w": 0.9047619047619047}, "n": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, -0.047619047619047616]], [[0.23809523809523808, -0.6190476190476191], [0.2857142857142857, -0.6666666666666666], [0.38095238095238093, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.5714285714285714], [0.6666666666666666, -0.047619047619047616]]], "w": 0.9047619047619047}, "p": {"l": [[[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, 0.2857142857142857]], [[0.23809523809523808, -0.6666666666666666], [0.3333333333333333, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142], [0.6190476190476191, -0.6666666666666666], [0.6666666666666666, -0.6190476190476191], [0.7142857142857142, -0.5238095238095237], [0.7142857142857142, -0.23809523809523808], [0.6666666666666666, -0.14285714285714285], [0.6190476190476191, -0.09523809523809523], [0.5238095238095237, -0.047619047619047616], [0.3333333333333333, -0.047619047619047616], [0.23809523809523808, -0.09523809523809523]]], "w": 0.9047619047619047}, "r": {"l": [[[0.23809523809523808, -0.047619047619047616], [0.23809523809523808, -0.7142857142857142]], [[0.23809523809523808, -0.5238095238095237], [0.2857142857142857, -0.6190476190476191], [0.3333333333333333, -0.6666666666666666], [0.42857142857142855, -0.7142857142857142], [0.5238095238095237, -0.7142857142857142]]], "w": 0.6190476190476191}, "u": {"l": [[[0.6666666666666666, -0.7142857142857142], [0.6666666666666666, -0.047619047619047616]], [[0.23809523809523808, -0.7142857142857142], [0.23809523809523808, -0.19047619047619047], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.5238095238095237, -0.047619047619047616], [0.6190476190476191, -0.09523809523809523], [0.6666666666666666, -0.14285714285714285]]], "w": 0.9047619047619047}, "t": {"l": [[[0.09523809523809523, -0.7142857142857142], [0.47619047619047616, -0.7142857142857142]], [[0.23809523809523808, -1.0476190476190474], [0.23809523809523808, -0.19047619047619047], [0.2857142857142857, -0.09523809523809523], [0.38095238095238093, -0.047619047619047616], [0.47619047619047616, -0.047619047619047616]]], "w": 0.5714285714285714}, "w": {"l": [[[0.1428571428571428, -0.7142857142857142], [0.33333333333333326, -0.047619047619047616], [0.5238095238095237, -0.5238095238095237], [0.7142857142857142, -0.047619047619047616], [0.9047619047619047, -0.7142857142857142]]], "w": 1.0476190476190474}, "y": {"l": [[[0.14285714285714285, -0.7142857142857142], [0.38095238095238093, -0.047619047619047616]], [[0.6190476190476191, -0.7142857142857142], [0.38095238095238093, -0.047619047619047616], [0.2857142857142857, 0.19047619047619047], [0.23809523809523808, 0.23809523809523808], [0.14285714285714285, 0.2857142857142857]]], "w": 0.7619047619047619}}, "modules": {"R5": {"layer": "B", "center": [199.517, 58.547], "pads": [{"layers": ["B"], "angle": -180.0, "pos": [200.46699999999998, 58.547], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["B"], "angle": -180.0, "pos": [198.56699999999998, 58.547], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R5", "bbox": {"pos": [197.94199899999998, 57.606998999999995], "size": [3.1500019999999997, 1.880002]}}, "D36": {"layer": "F", "center": [197.10399999999998, 54.864], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [198.15302, 54.864], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -0.0, "pos": [196.05498, 54.864], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D36", "bbox": {"pos": [195.178999, 53.888999], "size": [3.850002, 1.950002]}}, "D37": {"layer": "F", "center": [201.422, 54.864], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [200.37297999999998, 54.864], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -0.0, "pos": [202.47101999999998, 54.864], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D37", "bbox": {"pos": [199.496999, 53.888999], "size": [3.850002, 1.950002]}}, "Cout1": {"layer": "F", "center": [99.568, 91.44], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [99.568, 96.44], "drillsize": [1.0, 1.0], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.0, 2.0]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [99.568, 91.44], "drillsize": [1.0, 1.0], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.0, 2.0]}], "drawings": [], "ref": "Cout1", "bbox": {"pos": [94.192999, 88.564999], "size": [10.750002, 10.750002]}}, "U1": {"layer": "F", "center": [105.6005, 80.899], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 80.899], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.49936, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 78.359], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.49936, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.6005, 83.439], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.49936, 1.50114]}], "drawings": [], "ref": "U1", "bbox": {"pos": [103.74749899999999, 75.489999], "size": [4.976001999999999, 10.818002]}}, "P7": {"layer": "F", "center": [196.215, 66.294], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 66.294], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 63.754], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 61.214], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [196.215, 58.674], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P7", "bbox": {"pos": [194.689999, 56.868998999999995], "size": [12.150001999999999, 11.200002]}}, "powerIn1": {"layer": "F", "center": [96.012, 118.872], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [101.012, 118.872], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [96.012, 118.872], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "powerIn1", "bbox": {"pos": [93.286999, 113.44699899999999], "size": [10.450002, 10.250002]}}, "R3": {"layer": "F", "center": [102.428, 71.88199999999999], "pads": [{"layers": ["F"], "angle": -180.0, "pos": [103.378, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["F"], "angle": -180.0, "pos": [101.478, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R3", "bbox": {"pos": [100.852999, 70.941999], "size": [3.1500019999999997, 1.880002]}}, "P12": {"layer": "F", "center": [134.112, 58.419999999999995], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [134.112, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [136.652, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [139.192, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [141.732, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.272, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [146.81199999999998, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.352, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [151.892, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.432, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [156.97199999999998, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.512, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.052, 58.419999999999995], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P12", "bbox": {"pos": [132.336999, 56.644999], "size": [31.500002, 3.5500019999999997]}}, "P10": {"layer": "F", "center": [170.688, 67.056], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [188.468, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [185.928, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [183.388, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [180.84799999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [178.308, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [175.768, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [173.22799999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [170.688, 67.056], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P10", "bbox": {"pos": [168.91299899999999, 65.280999], "size": [21.350002, 3.5500019999999997]}}, "P11": {"layer": "F", "center": [196.088, 101.092], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [196.088, 101.092], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [193.548, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [191.00799999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [188.468, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [185.928, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [183.388, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [180.84799999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [178.308, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P11", "bbox": {"pos": [176.51299899999998, 99.316999], "size": [21.350002, 3.5500019999999997]}}, "C9": {"layer": "F", "center": [164.846, 96.012], "pads": [{"layers": ["F"], "angle": -270.0, "pos": [164.846, 95.012], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -270.0, "pos": [164.846, 97.012], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C9", "bbox": {"pos": [163.820999, 94.186999], "size": [2.050002, 3.6500019999999997]}}, "C8": {"layer": "F", "center": [169.418, 101.6], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [168.418, 101.6], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -0.0, "pos": [170.418, 101.6], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C8", "bbox": {"pos": [167.592999, 100.57499899999999], "size": [3.6500019999999997, 2.050002]}}, "P14": {"layer": "F", "center": [170.688, 58.928], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [188.468, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.928, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [183.388, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.84799999999998, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [178.308, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.768, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [173.22799999999998, 58.928], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.688, 58.928], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P14", "bbox": {"pos": [168.91299899999999, 57.152998999999994], "size": [21.350002, 3.5500019999999997]}}, "P15": {"layer": "F", "center": [196.088, 109.728], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [196.088, 109.728], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [193.548, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [191.00799999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [188.468, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [185.928, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [183.388, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [180.84799999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [178.308, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P15", "bbox": {"pos": [176.51299899999998, 107.95299899999999], "size": [21.350002, 3.5500019999999997]}}, "C3": {"layer": "F", "center": [114.99849999999999, 74.962], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [114.99849999999999, 74.962], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [114.99849999999999, 76.962], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "C3", "bbox": {"pos": [112.123499, 72.701999], "size": [5.750001999999999, 6.135002]}}, "C2": {"layer": "F", "center": [114.93499999999999, 85.08999999999999], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [114.93499999999999, 85.08999999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [114.93499999999999, 83.08999999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "C2", "bbox": {"pos": [112.05999899999999, 81.21499899999999], "size": [5.750001999999999, 6.135002]}}, "IC1": {"layer": "F", "center": [142.113, 92.075], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [142.113, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.653, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [147.19299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.733, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [152.273, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.813, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [157.35299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.893, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.433, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [164.97299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [167.513, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.053, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [172.593, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.13299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [177.673, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.213, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [182.753, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.29299999999998, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [187.833, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [190.373, 92.075], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [190.373, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [187.833, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [185.29299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [182.753, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [180.213, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [177.673, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [175.13299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [172.593, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [170.053, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [167.513, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [164.97299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [162.433, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [159.893, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [157.35299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [154.813, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [152.273, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [149.733, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [147.19299999999998, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [144.653, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [142.113, 76.835], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.3, 1.5999999999999999]}], "drawings": [], "ref": "IC1", "bbox": {"pos": [139.637999, 75.399999], "size": [53.250001999999995, 18.100002]}}, "C7": {"layer": "F", "center": [164.97299999999998, 100.457], "pads": [{"layers": ["F"], "angle": -90.0, "pos": [164.97299999999998, 101.457], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.0, 1.25]}, {"layers": ["F"], "angle": -90.0, "pos": [164.97299999999998, 99.457], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.0, 1.25]}], "drawings": [], "ref": "C7", "bbox": {"pos": [163.94799899999998, 98.631999], "size": [2.050002, 3.6500019999999997]}}, "R4": {"layer": "B", "center": [192.84949999999998, 55.8165], "pads": [{"layers": ["B"], "angle": -180.0, "pos": [193.7995, 55.8165], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [0.7, 1.3]}, {"layers": ["B"], "angle": -180.0, "pos": [191.8995, 55.8165], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [0.7, 1.3]}], "drawings": [], "ref": "R4", "bbox": {"pos": [191.274499, 54.876498999999995], "size": [3.1500019999999997, 1.880002]}}, "P3": {"layer": "F", "center": [158.242, 44.830999999999996], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [103.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [108.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [113.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [118.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [123.24199999999999, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [128.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [133.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [138.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [143.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [148.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [158.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [153.242, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P3", "bbox": {"pos": [100.516999, 40.005998999999996], "size": [60.450002, 10.250002]}}, "P6": {"layer": "F", "center": [165.989, 120.26899999999999], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [200.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [195.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [190.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [185.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [180.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [175.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [165.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [170.989, 120.26899999999999], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P6", "bbox": {"pos": [163.26399899999998, 114.843999], "size": [40.450002, 10.250002]}}, "P13": {"layer": "F", "center": [159.1564, 109.728], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [159.1564, 109.728], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [156.6164, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [154.0764, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [151.5364, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [148.9964, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [146.4564, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [143.91639999999998, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [141.3764, 109.728], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.032, 1.7271999999999998]}], "drawings": [], "ref": "P13", "bbox": {"pos": [139.581399, 107.95299899999999], "size": [21.350002, 3.5500019999999997]}}, "P4": {"layer": "F", "center": [124.841, 120.396], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [159.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [154.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [149.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [144.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [139.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [134.84099999999998, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [124.841, 120.396], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [129.841, 120.396], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P4", "bbox": {"pos": [122.11599899999999, 114.97099899999999], "size": [40.450002, 10.250002]}}, "P5": {"layer": "F", "center": [201.041, 44.830999999999996], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [196.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [201.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [191.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [186.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [181.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [176.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [171.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [166.041, 44.830999999999996], "drillsize": [1.3, 1.3], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [2.5, 2.5]}], "drawings": [], "ref": "P5", "bbox": {"pos": [163.315999, 40.005998999999996], "size": [40.450002, 10.250002]}}, "P8": {"layer": "F", "center": [159.1564, 101.092], "pads": [{"layers": ["F", "B"], "angle": -180.0, "pos": [159.1564, 101.092], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [156.6164, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [154.0764, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [151.5364, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [148.9964, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [146.4564, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [143.91639999999998, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -180.0, "pos": [141.3764, 101.092], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P8", "bbox": {"pos": [139.581399, 99.316999], "size": [21.350002, 3.5500019999999997]}}, "P9": {"layer": "F", "center": [134.112, 67.056], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [134.112, 67.056], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [136.652, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [139.192, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [141.732, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [144.272, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [146.81199999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [149.352, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [151.892, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [154.432, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [156.97199999999998, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [159.512, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [162.052, 67.056], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 2.032]}], "drawings": [], "ref": "P9", "bbox": {"pos": [132.336999, 65.280999], "size": [31.500002, 3.5500019999999997]}}, "SW1": {"layer": "F", "center": [169.164, 107.18799999999999], "pads": [{"layers": ["F"], "angle": -0.0, "pos": [166.289, 105.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [172.039, 105.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [172.039, 109.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [2.75, 1.0]}, {"layers": ["F"], "angle": -0.0, "pos": [166.289, 109.18799999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [2.75, 1.0]}], "drawings": [], "ref": "SW1", "bbox": {"pos": [164.63899899999998, 103.512999], "size": [9.050002, 7.350002]}}, "L1": {"layer": "F", "center": [128.524, 92.964], "pads": [{"layers": ["F"], "angle": -270.0, "pos": [128.524, 101.294], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [4.0, 3.0]}, {"layers": ["F"], "angle": -270.0, "pos": [128.524, 84.634], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [4.0, 3.0]}], "drawings": [], "ref": "L1", "bbox": {"pos": [120.698999, 82.338999], "size": [15.650001999999999, 21.250002]}}, "Cin1": {"layer": "F", "center": [112.776, 95.50399999999999], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [112.776, 95.50399999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [112.776, 92.00399999999999], "drillsize": [0.7999999999999999, 0.7999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.5999999999999999, 1.5999999999999999]}], "drawings": [], "ref": "Cin1", "bbox": {"pos": [108.400999, 89.378999], "size": [8.750002, 8.750002]}}, "CON2": {"layer": "F", "center": [197.993, 77.47], "pads": [{"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 77.47], "drillsize": [1.016, 1.016], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 77.47], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 80.00999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 80.00999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 82.55], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 82.55], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 85.08999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 85.08999999999999], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [197.993, 87.63], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}, {"layers": ["F", "B"], "angle": -270.0, "pos": [200.533, 87.63], "drillsize": [1.016, 1.016], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.7271999999999998, 1.7271999999999998]}], "drawings": [], "ref": "CON2", "bbox": {"pos": [194.41799899999998, 72.094999], "size": [9.650001999999999, 20.900002]}}, "J4": {"layer": "F", "center": [117.3988, 65.2526], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [117.3988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [119.8988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [122.3988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [124.8988, 65.2526], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J4", "bbox": {"pos": [114.223799, 62.977599], "size": [13.850002, 5.150002]}}, "J1": {"layer": "F", "center": [102.86999999999999, 57.327799999999996], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [102.86999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.36999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [107.86999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [110.36999999999999, 57.327799999999996], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J1", "bbox": {"pos": [99.694999, 55.052799], "size": [13.850002, 5.150002]}}, "J2": {"layer": "F", "center": [117.5004, 57.581799999999994], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [125.0004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [122.5004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [120.0004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [117.5004, 57.581799999999994], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J2", "bbox": {"pos": [114.32539899999999, 55.306799], "size": [13.850002, 5.150002]}}, "J3": {"layer": "F", "center": [102.86999999999999, 65.3034], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [102.86999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [105.36999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [107.86999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [110.36999999999999, 65.3034], "drillsize": [0.8999999999999999, 0.8999999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.8499999999999999, 1.8499999999999999]}], "drawings": [], "ref": "J3", "bbox": {"pos": [99.694999, 63.028399], "size": [13.850002, 5.150002]}}, "Regulator1": {"layer": "F", "center": [115.31599999999999, 109.22], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 102.42], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 104.11999999999999], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 105.82], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 107.52], "drillsize": [1.0, 1.0], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [115.31599999999999, 109.22], "drillsize": [1.0, 1.0], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.3499999999999999, 1.7999999999999998]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [98.65599999999999, 105.82], "drillsize": [3.5, 3.5], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.5, 3.5]}], "drawings": [], "ref": "Regulator1", "bbox": {"pos": [95.58099899999999, 100.54499899999999], "size": [20.910002, 10.550002]}}, "Y1": {"layer": "F", "center": [171.577, 97.663], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [169.13606, 97.663], "drillsize": [0.8000999999999999, 0.8000999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.50114, 1.50114]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [174.01793999999998, 97.663], "drillsize": [0.8000999999999999, 0.8000999999999999], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.50114, 1.50114]}], "drawings": [], "ref": "Y1", "bbox": {"pos": [165.982579, 95.258819], "size": [11.209162, 4.818522]}}, "D4": {"layer": "F", "center": [106.67999999999999, 119.38], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [119.38, 119.38], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [106.67999999999999, 119.38], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}], "drawings": [], "ref": "D4", "bbox": {"pos": [104.804999, 116.40499899999999], "size": [16.450001999999998, 5.950002]}}, "D2": {"layer": "F", "center": [108.90249999999999, 71.88199999999999], "pads": [{"layers": ["F"], "angle": -180.0, "pos": [109.95151999999999, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "type": "smd", "size": [1.19888, 1.19888]}, {"layers": ["F"], "angle": -180.0, "pos": [107.85347999999999, 71.88199999999999], "shape": "rect", "offset": [0.0, 0.0], "pin1": 1, "type": "smd", "size": [1.19888, 1.19888]}], "drawings": [], "ref": "D2", "bbox": {"pos": [106.977499, 70.906999], "size": [3.850002, 1.950002]}}, "D3": {"layer": "F", "center": [121.41199999999999, 107.696], "pads": [{"layers": ["F", "B"], "angle": -0.0, "pos": [136.652, 107.696], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "oval", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}, {"layers": ["F", "B"], "angle": -0.0, "pos": [121.41199999999999, 107.696], "drillsize": [1.5999999999999999, 1.5999999999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [3.1999999999999997, 3.1999999999999997]}], "drawings": [], "ref": "D3", "bbox": {"pos": [119.536999, 104.72099899999999], "size": [19.000002, 5.950002]}}, "D1": {"layer": "F", "center": [98.23196, 76.5175], "pads": [{"layers": ["F", "B"], "angle": -90.0, "pos": [98.2345, 86.6775], "drillsize": [1.27, 1.27], "shape": "circle", "offset": [0.0, 0.0], "drillshape": "circle", "type": "th", "size": [1.99898, 1.99898]}, {"layers": ["F", "B"], "angle": -90.0, "pos": [98.2345, 76.5175], "drillsize": [1.0007599999999999, 1.0007599999999999], "shape": "rect", "offset": [0.0, 0.0], "drillshape": "circle", "pin1": 1, "type": "th", "size": [1.99898, 1.99898]}], "drawings": [], "ref": "D1", "bbox": {"pos": [96.889499, 75.51800999999999], "size": [2.690002, 12.15898]}}}, "edges": [{"start": [91.948, 39.878], "end": [92.075, 39.878], "type": "segment", "width": 0.15}, {"start": [91.948, 125.095], "end": [91.948, 39.878], "type": "segment", "width": 0.15}, {"start": [206.756, 125.095], "end": [91.948, 125.095], "type": "segment", "width": 0.15}, {"start": [206.756, 39.878], "end": [206.756, 125.095], "type": "segment", "width": 0.15}, {"start": [92.075, 39.878], "end": [206.756, 39.878], "type": "segment", "width": 0.15}, {"start": [124.079, 121.03099999999999], "end": [123.82499999999999, 121.03099999999999], "type": "segment", "width": 0.15}], "bom": {"both": [[1, "1000uf", "CP_Radial_D10.0mm_P5.00mm", ["Cout1"], []], [1, "100uF", "CP_Radial_D5.0mm_P2.00mm", ["C2"], []], [1, "10uF", "CP_Radial_D5.0mm_P2.00mm", ["C3"], []], [1, "100uf", "CP_Radial_D8.0mm_P3.50mm", ["Cin1"], []], [2, "22pF", "C_0805", ["C7", "C8"], []], [1, "100nF", "C_0805", ["C9"], []], [2, "1K", "R_0805", ["R4", "R5"], []], [1, "470E", "R_0805", ["R3"], []], [1, "24 to 12", "TO-220-5_Horizontal", ["Regulator1"], []], [1, "INDUCTOR", "L_Fastron_PISR_Handsoldering", ["L1"], []], [1, "D_Schottky", "D_DO-201AD_P12.70mm_Horizontal", ["D4"], []], [1, "MBR340", "D_DO-201AD_P15.24mm_Horizontal", ["D3"], []], [1, "D", "Diode_DO-41_SOD81_Horizontal_RM10", ["D1"], []], [1, "LED", "LED_0805", ["D2"], []], [1, "RX", "LED_0805", ["D36"], []], [1, "TX", "LED_0805", ["D37"], []], [1, "7805", "TO-220_Neutral123_Vertical", ["U1"], []], [1, "16Mhz", "Crystal_HC49-U_Vertical", ["Y1"], []], [1, "SW_PUSH", "SW_SPST_B3SL-1002P", ["SW1"], []], [1, "ATMEGA16-P", "DIP-40_W15.24mm_LongPads", ["IC1"], []], [1, "AVR-ISP-10", "IDC_Header_Straight_10pins", ["CON2"], []], [1, "24V", "TerminalBlock_Phoenix_MKDS1.5-2pol", ["powerIn1"], []], [4, "Conn_01x04", "JST_EH_B04B-EH-A_04x2.50mm_Straight", ["J1", "J2", "J3", "J4"], []], [1, "PortB_M", "Pin_Header_Straight_1x08", ["P13"], []], [1, "PortC_M", "Pin_Header_Straight_1x08", ["P14"], []], [1, "PortD_M", "Pin_Header_Straight_1x08", ["P15"], []], [1, "PortA_M", "Pin_Header_Straight_1x12", ["P12"], []], [1, "Max232", "Socket_Strip_Angled_1x04", ["P7"], []], [1, "PortB_B", "Socket_Strip_Straight_1x08", ["P8"], []], [1, "PortC_B", "Socket_Strip_Straight_1x08", ["P10"], []], [1, "PortD_B", "Socket_Strip_Straight_1x08", ["P11"], []], [1, "PortA_B", "Socket_Strip_Straight_1x12", ["P9"], []], [1, "PortA", "TerminalBlock_Pheonix_MKDS1.5-12pol", ["P3"], []], [1, "PortB", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P4"], []], [1, "PortC", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P5"], []], [1, "PortD", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P6"], []]], "B": [[2, "1K", "R_0805", ["R4", "R5"], []]], "F": [[1, "1000uf", "CP_Radial_D10.0mm_P5.00mm", ["Cout1"], []], [1, "100uF", "CP_Radial_D5.0mm_P2.00mm", ["C2"], []], [1, "10uF", "CP_Radial_D5.0mm_P2.00mm", ["C3"], []], [1, "100uf", "CP_Radial_D8.0mm_P3.50mm", ["Cin1"], []], [2, "22pF", "C_0805", ["C7", "C8"], []], [1, "100nF", "C_0805", ["C9"], []], [1, "470E", "R_0805", ["R3"], []], [1, "24 to 12", "TO-220-5_Horizontal", ["Regulator1"], []], [1, "INDUCTOR", "L_Fastron_PISR_Handsoldering", ["L1"], []], [1, "D_Schottky", "D_DO-201AD_P12.70mm_Horizontal", ["D4"], []], [1, "MBR340", "D_DO-201AD_P15.24mm_Horizontal", ["D3"], []], [1, "D", "Diode_DO-41_SOD81_Horizontal_RM10", ["D1"], []], [1, "LED", "LED_0805", ["D2"], []], [1, "RX", "LED_0805", ["D36"], []], [1, "TX", "LED_0805", ["D37"], []], [1, "7805", "TO-220_Neutral123_Vertical", ["U1"], []], [1, "16Mhz", "Crystal_HC49-U_Vertical", ["Y1"], []], [1, "SW_PUSH", "SW_SPST_B3SL-1002P", ["SW1"], []], [1, "ATMEGA16-P", "DIP-40_W15.24mm_LongPads", ["IC1"], []], [1, "AVR-ISP-10", "IDC_Header_Straight_10pins", ["CON2"], []], [1, "24V", "TerminalBlock_Phoenix_MKDS1.5-2pol", ["powerIn1"], []], [4, "Conn_01x04", "JST_EH_B04B-EH-A_04x2.50mm_Straight", ["J1", "J2", "J3", "J4"], []], [1, "PortB_M", "Pin_Header_Straight_1x08", ["P13"], []], [1, "PortC_M", "Pin_Header_Straight_1x08", ["P14"], []], [1, "PortD_M", "Pin_Header_Straight_1x08", ["P15"], []], [1, "PortA_M", "Pin_Header_Straight_1x12", ["P12"], []], [1, "Max232", "Socket_Strip_Angled_1x04", ["P7"], []], [1, "PortB_B", "Socket_Strip_Straight_1x08", ["P8"], []], [1, "PortC_B", "Socket_Strip_Straight_1x08", ["P10"], []], [1, "PortD_B", "Socket_Strip_Straight_1x08", ["P11"], []], [1, "PortA_B", "Socket_Strip_Straight_1x12", ["P9"], []], [1, "PortA", "TerminalBlock_Pheonix_MKDS1.5-12pol", ["P3"], []], [1, "PortB", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P4"], []], [1, "PortC", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P5"], []], [1, "PortD", "TerminalBlock_Pheonix_MKDS1.5-8pol", ["P6"], []]]}, "silkscreen": {"B": [{"width": 1.0, "angle": 0.0, "attr": ["mirrored"], "horiz_justify": 0, "text": "R4", "thickness": 0.15, "pos": [192.84949999999998, 54.1665], "height": 1.0}, {"start": [192.24949999999998, 56.6965], "end": [193.4495, 56.6965], "type": "segment", "width": 0.12}, {"start": [193.4495, 54.936499999999995], "end": [192.24949999999998, 54.936499999999995], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": ["mirrored"], "horiz_justify": 0, "text": "R5", "thickness": 0.15, "pos": [199.517, 56.897], "height": 1.0}, {"start": [198.917, 59.427], "end": [200.117, 59.427], "type": "segment", "width": 0.12}, {"start": [200.117, 57.666999999999994], "end": [198.917, 57.666999999999994], "type": "segment", "width": 0.12}], "F": [{"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RESET", "thickness": 0.25, "pos": [170.94199999999998, 111.75999999999999], "height": 1.0}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "ISP", "thickness": 0.19999999999999998, "pos": [204.724, 82.804], "height": 1.0}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "24V DC", "thickness": 0.19999999999999998, "pos": [94.2975, 120.904], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT D", "thickness": 0.15, "pos": [201.295, 113.919], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT B", "thickness": 0.15, "pos": [124.58699999999999, 113.919], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "PORT C", "thickness": 0.15, "pos": [202.31099999999998, 51.434999999999995], "height": 1.0}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "TX", "thickness": 0.125, "pos": [193.548, 66.167], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RX", "thickness": 0.125, "pos": [193.548, 63.881], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "GND", "thickness": 0.125, "pos": [193.421, 61.214], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "5V", "thickness": 0.125, "pos": [193.67499999999998, 58.674], "height": 0.7}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "Open PLC Project\nIIT Bombay", "thickness": 0.25, "pos": [126.49199999999999, 78.74], "height": 1.0}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "IC1", "thickness": 0.15, "pos": [137.795, 85.85199999999999], "height": 1.0}, {"start": [139.81799999999998, 91.94], "end": [141.088, 91.94], "type": "segment", "width": 0.15}, {"start": [139.81799999999998, 76.97], "end": [141.088, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 76.97], "end": [191.398, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 91.94], "end": [191.398, 91.94], "type": "segment", "width": 0.15}, {"start": [139.81799999999998, 91.94], "end": [139.81799999999998, 76.97], "type": "segment", "width": 0.15}, {"start": [192.66799999999998, 91.94], "end": [192.66799999999998, 76.97], "type": "segment", "width": 0.15}, {"start": [141.088, 91.94], "end": [141.088, 93.225], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "SW1", "thickness": 0.125, "pos": [173.101, 111.633], "height": 0.5}, {"start": [169.164, 107.18799999999999], "radius": 1.25, "type": "circle", "width": 0.15}, {"start": [172.414, 109.93799999999999], "end": [172.414, 110.588], "type": "segment", "width": 0.15}, {"start": [172.414, 110.588], "end": [165.914, 110.588], "type": "segment", "width": 0.15}, {"start": [165.914, 110.588], "end": [165.914, 109.93799999999999], "type": "segment", "width": 0.15}, {"start": [172.414, 104.43799999999999], "end": [172.414, 103.788], "type": "segment", "width": 0.15}, {"start": [172.414, 103.788], "end": [165.914, 103.788], "type": "segment", "width": 0.15}, {"start": [165.914, 103.788], "end": [165.914, 104.43799999999999], "type": "segment", "width": 0.15}, {"start": [172.414, 105.93799999999999], "end": [172.414, 108.43799999999999], "type": "segment", "width": 0.15}, {"start": [165.914, 105.93799999999999], "end": [165.914, 108.43799999999999], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P8", "thickness": 0.15, "pos": [159.1564, 106.192], "height": 1.0}, {"start": [157.88639999999998, 99.82199999999999], "end": [140.1064, 99.82199999999999], "type": "segment", "width": 0.15}, {"start": [140.1064, 99.82199999999999], "end": [140.1064, 102.362], "type": "segment", "width": 0.15}, {"start": [140.1064, 102.362], "end": [157.88639999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [160.7064, 99.542], "end": [159.1564, 99.542], "type": "segment", "width": 0.15}, {"start": [157.88639999999998, 99.82199999999999], "end": [157.88639999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [159.1564, 102.642], "end": [160.7064, 102.642], "type": "segment", "width": 0.15}, {"start": [160.7064, 102.642], "end": [160.7064, 99.542], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "L1", "thickness": 0.15, "pos": [137.414, 92.964], "height": 1.0}, {"width": 0.12, "endangle": 401.3322198538697, "start": [128.524, 92.964], "radius": 7.603453, "startangle": 316.3322198538697, "type": "arc"}, {"width": 0.12, "endangle": 221.33221985386965, "start": [128.524, 92.964], "radius": 7.603453, "startangle": 136.33221985386965, "type": "arc"}, {"start": [125.92399999999999, 83.664], "end": [126.42399999999999, 83.664], "type": "segment", "width": 0.12}, {"start": [122.824, 87.964], "end": [125.92399999999999, 83.664], "type": "segment", "width": 0.12}, {"start": [131.124, 83.664], "end": [130.624, 83.664], "type": "segment", "width": 0.12}, {"start": [131.124, 83.664], "end": [134.724, 88.564], "type": "segment", "width": 0.12}, {"start": [131.124, 102.264], "end": [130.624, 102.264], "type": "segment", "width": 0.12}, {"start": [134.624, 97.564], "end": [131.124, 102.264], "type": "segment", "width": 0.12}, {"start": [125.92399999999999, 102.264], "end": [126.42399999999999, 102.264], "type": "segment", "width": 0.12}, {"start": [122.124, 97.064], "end": [125.92399999999999, 102.264], "type": "segment", "width": 0.12}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P13", "thickness": 0.125, "pos": [162.5854, 110.23599999999999], "height": 0.7}, {"start": [157.88639999999998, 110.99799999999999], "end": [140.1064, 110.99799999999999], "type": "segment", "width": 0.15}, {"start": [140.1064, 110.99799999999999], "end": [140.1064, 108.458], "type": "segment", "width": 0.15}, {"start": [140.1064, 108.458], "end": [157.88639999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [160.7064, 111.27799999999999], "end": [159.1564, 111.27799999999999], "type": "segment", "width": 0.15}, {"start": [157.88639999999998, 110.99799999999999], "end": [157.88639999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [159.1564, 108.178], "end": [160.7064, 108.178], "type": "segment", "width": 0.15}, {"start": [160.7064, 108.178], "end": [160.7064, 111.27799999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P10", "thickness": 0.125, "pos": [167.386, 67.056], "height": 0.7}, {"start": [169.138, 65.506], "end": [169.138, 68.606], "type": "segment", "width": 0.15}, {"start": [170.688, 65.506], "end": [169.138, 65.506], "type": "segment", "width": 0.15}, {"start": [171.958, 68.326], "end": [171.958, 65.786], "type": "segment", "width": 0.15}, {"start": [169.138, 68.606], "end": [170.688, 68.606], "type": "segment", "width": 0.15}, {"start": [189.738, 65.786], "end": [171.958, 65.786], "type": "segment", "width": 0.15}, {"start": [189.738, 68.326], "end": [189.738, 65.786], "type": "segment", "width": 0.15}, {"start": [171.958, 68.326], "end": [189.738, 68.326], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D37", "thickness": 0.125, "pos": [204.47, 54.864], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "TX", "thickness": 0.125, "pos": [201.422, 53.114], "height": 0.7}, {"start": [203.022, 54.114], "end": [200.322, 54.114], "type": "segment", "width": 0.15}, {"start": [203.022, 55.614], "end": [200.322, 55.614], "type": "segment", "width": 0.15}, {"start": [201.522, 54.714], "end": [201.522, 54.964], "type": "segment", "width": 0.15}, {"start": [201.522, 54.964], "end": [201.672, 54.814], "type": "segment", "width": 0.15}, {"start": [201.772, 55.214], "end": [201.772, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [201.422, 54.864], "end": [201.072, 54.864], "type": "segment", "width": 0.15}, {"start": [201.772, 54.864], "end": [201.422, 55.214], "type": "segment", "width": 0.15}, {"start": [201.422, 55.214], "end": [201.422, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [201.422, 54.513999999999996], "end": [201.772, 54.864], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D36", "thickness": 0.125, "pos": [193.929, 54.991], "height": 0.7}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "RX", "thickness": 0.125, "pos": [197.10399999999998, 53.114], "height": 0.7}, {"start": [197.10399999999998, 54.513999999999996], "end": [197.45399999999998, 54.864], "type": "segment", "width": 0.15}, {"start": [197.10399999999998, 55.214], "end": [197.10399999999998, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [197.45399999999998, 54.864], "end": [197.10399999999998, 55.214], "type": "segment", "width": 0.15}, {"start": [197.10399999999998, 54.864], "end": [196.754, 54.864], "type": "segment", "width": 0.15}, {"start": [197.45399999999998, 55.214], "end": [197.45399999999998, 54.513999999999996], "type": "segment", "width": 0.15}, {"start": [197.20399999999998, 54.964], "end": [197.35399999999998, 54.814], "type": "segment", "width": 0.15}, {"start": [197.20399999999998, 54.714], "end": [197.20399999999998, 54.964], "type": "segment", "width": 0.15}, {"start": [198.70399999999998, 55.614], "end": [196.004, 55.614], "type": "segment", "width": 0.15}, {"start": [198.70399999999998, 54.114], "end": [196.004, 54.114], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "U1", "thickness": 0.15, "pos": [103.124, 80.77199999999999], "height": 0.7}, {"start": [108.6485, 79.375], "end": [107.5055, 79.375], "type": "segment", "width": 0.15}, {"start": [108.6485, 82.423], "end": [107.5055, 82.423], "type": "segment", "width": 0.15}, {"start": [107.5055, 86.23299999999999], "end": [103.82249999999999, 86.23299999999999], "type": "segment", "width": 0.15}, {"start": [103.82249999999999, 86.23299999999999], "end": [103.82249999999999, 75.565], "type": "segment", "width": 0.15}, {"start": [103.82249999999999, 75.565], "end": [107.5055, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 86.23299999999999], "end": [107.5055, 86.23299999999999], "type": "segment", "width": 0.15}, {"start": [107.5055, 86.23299999999999], "end": [107.5055, 75.565], "type": "segment", "width": 0.15}, {"start": [107.5055, 75.565], "end": [108.6485, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 80.899], "end": [108.6485, 75.565], "type": "segment", "width": 0.15}, {"start": [108.6485, 80.899], "end": [108.6485, 86.23299999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P9", "thickness": 0.125, "pos": [131.31799999999998, 67.18299999999999], "height": 0.7}, {"start": [135.382, 68.326], "end": [163.322, 68.326], "type": "segment", "width": 0.15}, {"start": [163.322, 68.326], "end": [163.322, 65.786], "type": "segment", "width": 0.15}, {"start": [163.322, 65.786], "end": [135.382, 65.786], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 68.606], "end": [134.112, 68.606], "type": "segment", "width": 0.15}, {"start": [135.382, 68.326], "end": [135.382, 65.786], "type": "segment", "width": 0.15}, {"start": [134.112, 65.506], "end": [132.56199999999998, 65.506], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 65.506], "end": [132.56199999999998, 68.606], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "CON2", "thickness": 0.15, "pos": [201.92999999999998, 95.50399999999999], "height": 1.0}, {"start": [203.813, 72.39], "end": [203.813, 92.71], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 72.92999999999999], "end": [203.26299999999998, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 72.39], "end": [194.713, 92.71], "type": "segment", "width": 0.15}, {"start": [195.263, 72.92999999999999], "end": [195.263, 80.3], "type": "segment", "width": 0.15}, {"start": [195.263, 84.8], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [195.263, 80.3], "end": [194.713, 80.3], "type": "segment", "width": 0.15}, {"start": [195.263, 84.8], "end": [194.713, 84.8], "type": "segment", "width": 0.15}, {"start": [203.813, 72.39], "end": [194.713, 72.39], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 72.92999999999999], "end": [195.263, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 92.71], "end": [194.713, 92.71], "type": "segment", "width": 0.15}, {"start": [203.26299999999998, 92.14999999999999], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 72.39], "end": [203.26299999999998, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [203.813, 92.71], "end": [203.26299999999998, 92.14999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 72.39], "end": [195.263, 72.92999999999999], "type": "segment", "width": 0.15}, {"start": [194.713, 92.71], "end": [195.263, 92.14999999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D1", "thickness": 0.15, "pos": [95.50399999999999, 81.28], "height": 0.7}, {"start": [98.2345, 84.1375], "end": [98.2345, 85.1535], "type": "segment", "width": 0.15}, {"start": [98.2345, 79.3115], "end": [98.2345, 78.0415], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.5655], "end": [96.9645, 79.5655], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.81949999999999], "end": [96.9645, 79.81949999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.0735], "end": [96.9645, 80.0735], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.3115], "end": [96.9645, 79.3115], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.3275], "end": [96.9645, 79.05749999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.05749999999999], "end": [96.9645, 80.3275], "type": "segment", "width": 0.15}, {"start": [99.5045, 80.3275], "end": [96.9645, 80.3275], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.6925], "end": [96.9645, 79.6925], "type": "segment", "width": 0.15}, {"start": [96.9645, 79.05749999999999], "end": [99.5045, 79.05749999999999], "type": "segment", "width": 0.15}, {"start": [99.5045, 79.05749999999999], "end": [99.5045, 84.1375], "type": "segment", "width": 0.15}, {"start": [99.5045, 84.1375], "end": [96.9645, 84.1375], "type": "segment", "width": 0.15}, {"start": [96.9645, 84.1375], "end": [96.9645, 79.05749999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "Y1", "thickness": 0.125, "pos": [171.45, 94.615], "height": 0.5}, {"start": [176.27599999999998, 96.66224], "end": [176.47665999999998, 97.06356], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 97.06356], "end": [176.57826, 97.663], "type": "segment", "width": 0.15}, {"start": [176.57826, 97.663], "end": [176.47665999999998, 98.16337999999999], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 98.16337999999999], "end": [176.07788, 98.86188], "type": "segment", "width": 0.15}, {"start": [176.07788, 98.86188], "end": [175.4759, 99.2632], "type": "segment", "width": 0.15}, {"start": [175.4759, 99.2632], "end": [174.87645999999998, 99.46386], "type": "segment", "width": 0.15}, {"start": [174.87645999999998, 99.46386], "end": [168.27754, 99.46386], "type": "segment", "width": 0.15}, {"start": [168.27754, 99.46386], "end": [167.57649999999998, 99.2632], "type": "segment", "width": 0.15}, {"start": [167.57649999999998, 99.2632], "end": [167.17772, 98.96347999999999], "type": "segment", "width": 0.15}, {"start": [167.17772, 98.96347999999999], "end": [166.7764, 98.4631], "type": "segment", "width": 0.15}, {"start": [166.7764, 98.4631], "end": [166.57574, 97.86366], "type": "segment", "width": 0.15}, {"start": [166.57574, 97.86366], "end": [166.57574, 97.36327999999999], "type": "segment", "width": 0.15}, {"start": [166.57574, 97.36327999999999], "end": [166.7764, 96.8629], "type": "segment", "width": 0.15}, {"start": [166.7764, 96.8629], "end": [167.27678, 96.26346], "type": "segment", "width": 0.15}, {"start": [167.27678, 96.26346], "end": [167.77715999999998, 95.96374], "type": "segment", "width": 0.15}, {"start": [167.77715999999998, 95.96374], "end": [168.27754, 95.86214], "type": "segment", "width": 0.15}, {"start": [168.3766, 95.86214], "end": [174.97806, 95.86214], "type": "segment", "width": 0.15}, {"start": [174.97806, 95.86214], "end": [175.37684, 95.96374], "type": "segment", "width": 0.15}, {"start": [175.37684, 95.96374], "end": [175.87722, 96.26346], "type": "segment", "width": 0.15}, {"start": [175.87722, 96.26346], "end": [176.3776, 96.76384], "type": "segment", "width": 0.15}, {"start": [168.38675999999998, 95.33381999999999], "end": [167.92702, 95.38208], "type": "segment", "width": 0.15}, {"start": [167.92702, 95.38208], "end": [167.52823999999998, 95.49383999999999], "type": "segment", "width": 0.15}, {"start": [167.52823999999998, 95.49383999999999], "end": [167.09644, 95.71227999999999], "type": "segment", "width": 0.15}, {"start": [167.09644, 95.71227999999999], "end": [166.80687999999998, 95.94341999999999], "type": "segment", "width": 0.15}, {"start": [166.80687999999998, 95.94341999999999], "end": [166.47668, 96.29393999999999], "type": "segment", "width": 0.15}, {"start": [166.47668, 96.29393999999999], "end": [166.18712, 96.83242], "type": "segment", "width": 0.15}, {"start": [166.18712, 96.83242], "end": [166.05758, 97.43186], "type": "segment", "width": 0.15}, {"start": [166.05758, 97.43186], "end": [166.05758, 97.94239999999999], "type": "segment", "width": 0.15}, {"start": [166.05758, 97.94239999999999], "end": [166.22776, 98.64344], "type": "segment", "width": 0.15}, {"start": [166.22776, 98.64344], "end": [166.62654, 99.23272], "type": "segment", "width": 0.15}, {"start": [166.62654, 99.23272], "end": [167.08628, 99.60356], "type": "segment", "width": 0.15}, {"start": [167.08628, 99.60356], "end": [167.50791999999998, 99.81183999999999], "type": "segment", "width": 0.15}, {"start": [167.50791999999998, 99.81183999999999], "end": [167.95749999999998, 99.97185999999999], "type": "segment", "width": 0.15}, {"start": [167.95749999999998, 99.97185999999999], "end": [168.39692, 100.00233999999999], "type": "segment", "width": 0.15}, {"start": [175.73752, 99.78389999999999], "end": [176.11597999999998, 99.56291999999999], "type": "segment", "width": 0.15}, {"start": [176.11597999999998, 99.56291999999999], "end": [176.43601999999998, 99.28352], "type": "segment", "width": 0.15}, {"start": [176.43601999999998, 99.28352], "end": [176.68748, 98.95331999999999], "type": "segment", "width": 0.15}, {"start": [176.68748, 98.95331999999999], "end": [176.9872, 98.40213999999999], "type": "segment", "width": 0.15}, {"start": [176.9872, 98.40213999999999], "end": [177.09642, 97.93224], "type": "segment", "width": 0.15}, {"start": [177.09642, 97.93224], "end": [177.11674, 97.4725], "type": "segment", "width": 0.15}, {"start": [177.11674, 97.4725], "end": [177.02784, 97.01276], "type": "segment", "width": 0.15}, {"start": [177.02784, 97.01276], "end": [176.83733999999998, 96.56318], "type": "segment", "width": 0.15}, {"start": [176.83733999999998, 96.56318], "end": [176.47665999999998, 96.09328], "type": "segment", "width": 0.15}, {"start": [176.47665999999998, 96.09328], "end": [176.12614, 95.77324], "type": "segment", "width": 0.15}, {"start": [176.12614, 95.77324], "end": [175.73752, 95.54209999999999], "type": "segment", "width": 0.15}, {"start": [175.73752, 95.54209999999999], "end": [175.30826, 95.4024], "type": "segment", "width": 0.15}, {"start": [175.30826, 95.4024], "end": [174.8663, 95.33381999999999], "type": "segment", "width": 0.15}, {"start": [168.3766, 99.99217999999999], "end": [174.82819999999998, 99.99217999999999], "type": "segment", "width": 0.15}, {"start": [174.82819999999998, 99.99217999999999], "end": [175.2473, 99.95407999999999], "type": "segment", "width": 0.15}, {"start": [175.2473, 99.95407999999999], "end": [175.73752, 99.78389999999999], "type": "segment", "width": 0.15}, {"start": [168.3766, 95.33381999999999], "end": [174.82819999999998, 95.33381999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C7", "thickness": 0.125, "pos": [163.576, 102.743], "height": 0.5}, {"start": [164.123, 99.957], "end": [164.123, 100.957], "type": "segment", "width": 0.15}, {"start": [165.82299999999998, 100.957], "end": [165.82299999999998, 99.957], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C8", "thickness": 0.125, "pos": [171.831, 102.616], "height": 0.5}, {"start": [169.918, 100.75], "end": [168.918, 100.75], "type": "segment", "width": 0.15}, {"start": [168.918, 102.44999999999999], "end": [169.918, 102.44999999999999], "type": "segment", "width": 0.15}, {"width": 0.5, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "C9", "thickness": 0.125, "pos": [163.322, 97.536], "height": 0.5}, {"start": [165.696, 96.512], "end": [165.696, 95.512], "type": "segment", "width": 0.15}, {"start": [163.99599999999998, 95.512], "end": [163.99599999999998, 96.512], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D2", "thickness": 0.15, "pos": [110.2995, 73.914], "height": 0.7}, {"start": [107.3025, 72.63199999999999], "end": [110.0025, 72.63199999999999], "type": "segment", "width": 0.15}, {"start": [107.3025, 71.13199999999999], "end": [110.0025, 71.13199999999999], "type": "segment", "width": 0.15}, {"start": [108.8025, 72.032], "end": [108.8025, 71.782], "type": "segment", "width": 0.15}, {"start": [108.8025, 71.782], "end": [108.65249999999999, 71.932], "type": "segment", "width": 0.15}, {"start": [108.5525, 71.532], "end": [108.5525, 72.232], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 71.88199999999999], "end": [109.2525, 71.88199999999999], "type": "segment", "width": 0.15}, {"start": [108.5525, 71.88199999999999], "end": [108.90249999999999, 71.532], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 71.532], "end": [108.90249999999999, 72.232], "type": "segment", "width": 0.15}, {"start": [108.90249999999999, 72.232], "end": [108.5525, 71.88199999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P5", "thickness": 0.15, "pos": [162.433, 41.402], "height": 0.7}, {"start": [203.541, 50.031], "end": [203.541, 40.231], "type": "segment", "width": 0.15}, {"start": [163.541, 50.031], "end": [203.541, 50.031], "type": "segment", "width": 0.15}, {"start": [163.541, 40.231], "end": [163.541, 50.031], "type": "segment", "width": 0.15}, {"start": [203.541, 40.231], "end": [163.541, 40.231], "type": "segment", "width": 0.15}, {"start": [203.541, 40.731], "end": [163.541, 40.731], "type": "segment", "width": 0.15}, {"start": [203.541, 47.131], "end": [163.541, 47.131], "type": "segment", "width": 0.15}, {"start": [203.541, 42.230999999999995], "end": [163.541, 42.230999999999995], "type": "segment", "width": 0.15}, {"start": [201.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [196.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [198.541, 40.731], "end": [198.541, 40.231], "type": "segment", "width": 0.15}, {"start": [193.541, 40.731], "end": [193.541, 40.231], "type": "segment", "width": 0.15}, {"start": [191.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [186.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [188.541, 40.731], "end": [188.541, 40.231], "type": "segment", "width": 0.15}, {"start": [181.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [183.541, 40.731], "end": [183.541, 40.231], "type": "segment", "width": 0.15}, {"start": [178.541, 40.731], "end": [178.541, 40.231], "type": "segment", "width": 0.15}, {"start": [176.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [171.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [173.541, 40.731], "end": [173.541, 40.231], "type": "segment", "width": 0.15}, {"start": [168.541, 40.731], "end": [168.541, 40.231], "type": "segment", "width": 0.15}, {"start": [166.041, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P6", "thickness": 0.125, "pos": [204.47, 122.30099999999999], "height": 0.7}, {"start": [200.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [198.489, 124.369], "end": [198.489, 124.869], "type": "segment", "width": 0.15}, {"start": [193.489, 124.369], "end": [193.489, 124.869], "type": "segment", "width": 0.15}, {"start": [195.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [190.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [188.489, 124.369], "end": [188.489, 124.869], "type": "segment", "width": 0.15}, {"start": [183.489, 124.369], "end": [183.489, 124.869], "type": "segment", "width": 0.15}, {"start": [185.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [178.489, 124.369], "end": [178.489, 124.869], "type": "segment", "width": 0.15}, {"start": [180.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [175.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [173.489, 124.369], "end": [173.489, 124.869], "type": "segment", "width": 0.15}, {"start": [168.489, 124.369], "end": [168.489, 124.869], "type": "segment", "width": 0.15}, {"start": [170.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [165.989, 120.369], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [163.489, 122.869], "end": [203.489, 122.869], "type": "segment", "width": 0.15}, {"start": [163.489, 117.969], "end": [203.489, 117.969], "type": "segment", "width": 0.15}, {"start": [163.489, 124.369], "end": [203.489, 124.369], "type": "segment", "width": 0.15}, {"start": [163.489, 124.869], "end": [203.489, 124.869], "type": "segment", "width": 0.15}, {"start": [203.489, 124.869], "end": [203.489, 115.06899999999999], "type": "segment", "width": 0.15}, {"start": [203.489, 115.06899999999999], "end": [163.489, 115.06899999999999], "type": "segment", "width": 0.15}, {"start": [163.489, 115.06899999999999], "end": [163.489, 124.869], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P3", "thickness": 0.15, "pos": [99.06, 41.528999999999996], "height": 0.7}, {"start": [103.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [105.74199999999999, 40.731], "end": [105.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [110.74199999999999, 40.731], "end": [110.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [108.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [113.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [115.74199999999999, 40.731], "end": [115.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [120.74199999999999, 40.731], "end": [120.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [118.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [123.24199999999999, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [125.74199999999999, 40.731], "end": [125.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [130.742, 40.731], "end": [130.742, 40.231], "type": "segment", "width": 0.15}, {"start": [128.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [133.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [135.742, 40.731], "end": [135.742, 40.231], "type": "segment", "width": 0.15}, {"start": [140.742, 40.731], "end": [140.742, 40.231], "type": "segment", "width": 0.15}, {"start": [138.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [145.742, 40.731], "end": [145.742, 40.231], "type": "segment", "width": 0.15}, {"start": [143.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [148.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [150.742, 40.731], "end": [150.742, 40.231], "type": "segment", "width": 0.15}, {"start": [155.742, 40.731], "end": [155.742, 40.231], "type": "segment", "width": 0.15}, {"start": [153.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [158.242, 44.730999999999995], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [160.742, 42.230999999999995], "end": [100.74199999999999, 42.230999999999995], "type": "segment", "width": 0.15}, {"start": [160.742, 47.131], "end": [100.74199999999999, 47.131], "type": "segment", "width": 0.15}, {"start": [160.742, 40.731], "end": [100.74199999999999, 40.731], "type": "segment", "width": 0.15}, {"start": [160.742, 40.231], "end": [100.74199999999999, 40.231], "type": "segment", "width": 0.15}, {"start": [100.74199999999999, 40.231], "end": [100.74199999999999, 50.031], "type": "segment", "width": 0.15}, {"start": [100.74199999999999, 50.031], "end": [160.742, 50.031], "type": "segment", "width": 0.15}, {"start": [160.742, 50.031], "end": [160.742, 40.231], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P4", "thickness": 0.125, "pos": [120.523, 122.809], "height": 0.7}, {"start": [159.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [157.34099999999998, 124.496], "end": [157.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [152.34099999999998, 124.496], "end": [152.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [154.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [149.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [147.34099999999998, 124.496], "end": [147.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [142.34099999999998, 124.496], "end": [142.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [144.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [137.34099999999998, 124.496], "end": [137.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [139.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [134.84099999999998, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [132.341, 124.496], "end": [132.341, 124.996], "type": "segment", "width": 0.15}, {"start": [127.341, 124.496], "end": [127.341, 124.996], "type": "segment", "width": 0.15}, {"start": [129.841, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [124.841, 120.496], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [122.341, 122.996], "end": [162.34099999999998, 122.996], "type": "segment", "width": 0.15}, {"start": [122.341, 118.09599999999999], "end": [162.34099999999998, 118.09599999999999], "type": "segment", "width": 0.15}, {"start": [122.341, 124.496], "end": [162.34099999999998, 124.496], "type": "segment", "width": 0.15}, {"start": [122.341, 124.996], "end": [162.34099999999998, 124.996], "type": "segment", "width": 0.15}, {"start": [162.34099999999998, 124.996], "end": [162.34099999999998, 115.196], "type": "segment", "width": 0.15}, {"start": [162.34099999999998, 115.196], "end": [122.341, 115.196], "type": "segment", "width": 0.15}, {"start": [122.341, 115.196], "end": [122.341, 124.996], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P11", "thickness": 0.125, "pos": [199.39, 101.219], "height": 0.7}, {"start": [194.81799999999998, 99.82199999999999], "end": [177.03799999999998, 99.82199999999999], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 99.82199999999999], "end": [177.03799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 102.362], "end": [194.81799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [197.638, 99.542], "end": [196.088, 99.542], "type": "segment", "width": 0.15}, {"start": [194.81799999999998, 99.82199999999999], "end": [194.81799999999998, 102.362], "type": "segment", "width": 0.15}, {"start": [196.088, 102.642], "end": [197.638, 102.642], "type": "segment", "width": 0.15}, {"start": [197.638, 102.642], "end": [197.638, 99.542], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P12", "thickness": 0.125, "pos": [130.55599999999998, 58.547], "height": 0.7}, {"start": [135.382, 57.15], "end": [163.322, 57.15], "type": "segment", "width": 0.15}, {"start": [163.322, 57.15], "end": [163.322, 59.69], "type": "segment", "width": 0.15}, {"start": [163.322, 59.69], "end": [135.382, 59.69], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 56.87], "end": [134.112, 56.87], "type": "segment", "width": 0.15}, {"start": [135.382, 57.15], "end": [135.382, 59.69], "type": "segment", "width": 0.15}, {"start": [134.112, 59.97], "end": [132.56199999999998, 59.97], "type": "segment", "width": 0.15}, {"start": [132.56199999999998, 59.97], "end": [132.56199999999998, 56.87], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P14", "thickness": 0.125, "pos": [167.386, 58.928], "height": 0.7}, {"start": [169.138, 60.477999999999994], "end": [169.138, 57.378], "type": "segment", "width": 0.15}, {"start": [170.688, 60.477999999999994], "end": [169.138, 60.477999999999994], "type": "segment", "width": 0.15}, {"start": [171.958, 57.657999999999994], "end": [171.958, 60.198], "type": "segment", "width": 0.15}, {"start": [169.138, 57.378], "end": [170.688, 57.378], "type": "segment", "width": 0.15}, {"start": [189.738, 60.198], "end": [171.958, 60.198], "type": "segment", "width": 0.15}, {"start": [189.738, 57.657999999999994], "end": [189.738, 60.198], "type": "segment", "width": 0.15}, {"start": [171.958, 57.657999999999994], "end": [189.738, 57.657999999999994], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P15", "thickness": 0.125, "pos": [199.39, 109.601], "height": 0.7}, {"start": [194.81799999999998, 110.99799999999999], "end": [177.03799999999998, 110.99799999999999], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 110.99799999999999], "end": [177.03799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [177.03799999999998, 108.458], "end": [194.81799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [197.638, 111.27799999999999], "end": [196.088, 111.27799999999999], "type": "segment", "width": 0.15}, {"start": [194.81799999999998, 110.99799999999999], "end": [194.81799999999998, 108.458], "type": "segment", "width": 0.15}, {"start": [196.088, 108.178], "end": [197.638, 108.178], "type": "segment", "width": 0.15}, {"start": [197.638, 108.178], "end": [197.638, 111.27799999999999], "type": "segment", "width": 0.15}, {"width": 0.7, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "P7", "thickness": 0.125, "pos": [193.67499999999998, 56.896], "height": 0.7}, {"start": [206.315, 57.403999999999996], "end": [197.48499999999999, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 59.943999999999996], "end": [206.315, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 59.943999999999996], "end": [197.48499999999999, 57.403999999999996], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 62.483999999999995], "end": [197.48499999999999, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 62.483999999999995], "end": [206.315, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 59.943999999999996], "end": [197.48499999999999, 59.943999999999996], "type": "segment", "width": 0.15}, {"start": [206.315, 62.483999999999995], "end": [197.48499999999999, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [206.315, 65.024], "end": [206.315, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 65.024], "end": [206.315, 65.024], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 65.024], "end": [197.48499999999999, 62.483999999999995], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 67.564], "end": [197.48499999999999, 65.024], "type": "segment", "width": 0.15}, {"start": [194.815, 66.294], "end": [194.815, 67.844], "type": "segment", "width": 0.15}, {"start": [194.815, 67.844], "end": [196.215, 67.844], "type": "segment", "width": 0.15}, {"start": [197.48499999999999, 67.564], "end": [206.315, 67.564], "type": "segment", "width": 0.15}, {"start": [206.315, 67.564], "end": [206.315, 65.024], "type": "segment", "width": 0.15}, {"start": [206.315, 65.024], "end": [197.48499999999999, 65.024], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Cin1", "thickness": 0.15, "pos": [107.466, 93.75399999999999], "height": 1.0}, {"start": [112.776, 93.75399999999999], "radius": 4.09, "type": "circle", "width": 0.12}, {"start": [108.726, 93.75399999999999], "end": [116.826, 93.75399999999999], "type": "segment", "width": 0.12}, {"start": [108.726, 93.714], "end": [116.826, 93.714], "type": "segment", "width": 0.12}, {"start": [108.726, 93.67399999999999], "end": [116.826, 93.67399999999999], "type": "segment", "width": 0.12}, {"start": [108.72699999999999, 93.634], "end": [116.82499999999999, 93.634], "type": "segment", "width": 0.12}, {"start": [108.729, 93.594], "end": [116.823, 93.594], "type": "segment", "width": 0.12}, {"start": [108.72999999999999, 93.554], "end": [116.82199999999999, 93.554], "type": "segment", "width": 0.12}, {"start": [108.73299999999999, 93.514], "end": [116.81899999999999, 93.514], "type": "segment", "width": 0.12}, {"start": [108.735, 93.47399999999999], "end": [116.817, 93.47399999999999], "type": "segment", "width": 0.12}, {"start": [108.738, 93.434], "end": [116.814, 93.434], "type": "segment", "width": 0.12}, {"start": [108.741, 93.39399999999999], "end": [116.81099999999999, 93.39399999999999], "type": "segment", "width": 0.12}, {"start": [108.74499999999999, 93.354], "end": [116.80699999999999, 93.354], "type": "segment", "width": 0.12}, {"start": [108.749, 93.314], "end": [116.803, 93.314], "type": "segment", "width": 0.12}, {"start": [108.75399999999999, 93.274], "end": [116.798, 93.274], "type": "segment", "width": 0.12}, {"start": [108.759, 93.234], "end": [116.79299999999999, 93.234], "type": "segment", "width": 0.12}, {"start": [108.764, 93.194], "end": [116.788, 93.194], "type": "segment", "width": 0.12}, {"start": [108.77, 93.154], "end": [116.782, 93.154], "type": "segment", "width": 0.12}, {"start": [108.776, 93.11399999999999], "end": [116.776, 93.11399999999999], "type": "segment", "width": 0.12}, {"start": [108.782, 93.074], "end": [116.77, 93.074], "type": "segment", "width": 0.12}, {"start": [108.789, 93.033], "end": [116.76299999999999, 93.033], "type": "segment", "width": 0.12}, {"start": [108.797, 92.993], "end": [116.755, 92.993], "type": "segment", "width": 0.12}, {"start": [108.80499999999999, 92.95299999999999], "end": [111.79599999999999, 92.95299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.95299999999999], "end": [116.747, 92.95299999999999], "type": "segment", "width": 0.12}, {"start": [108.81299999999999, 92.913], "end": [111.79599999999999, 92.913], "type": "segment", "width": 0.12}, {"start": [113.756, 92.913], "end": [116.73899999999999, 92.913], "type": "segment", "width": 0.12}, {"start": [108.821, 92.87299999999999], "end": [111.79599999999999, 92.87299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.87299999999999], "end": [116.731, 92.87299999999999], "type": "segment", "width": 0.12}, {"start": [108.83, 92.833], "end": [111.79599999999999, 92.833], "type": "segment", "width": 0.12}, {"start": [113.756, 92.833], "end": [116.722, 92.833], "type": "segment", "width": 0.12}, {"start": [108.83999999999999, 92.79299999999999], "end": [111.79599999999999, 92.79299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.79299999999999], "end": [116.71199999999999, 92.79299999999999], "type": "segment", "width": 0.12}, {"start": [108.85, 92.753], "end": [111.79599999999999, 92.753], "type": "segment", "width": 0.12}, {"start": [113.756, 92.753], "end": [116.702, 92.753], "type": "segment", "width": 0.12}, {"start": [108.86, 92.713], "end": [111.79599999999999, 92.713], "type": "segment", "width": 0.12}, {"start": [113.756, 92.713], "end": [116.692, 92.713], "type": "segment", "width": 0.12}, {"start": [108.871, 92.673], "end": [111.79599999999999, 92.673], "type": "segment", "width": 0.12}, {"start": [113.756, 92.673], "end": [116.681, 92.673], "type": "segment", "width": 0.12}, {"start": [108.88199999999999, 92.633], "end": [111.79599999999999, 92.633], "type": "segment", "width": 0.12}, {"start": [113.756, 92.633], "end": [116.67, 92.633], "type": "segment", "width": 0.12}, {"start": [108.893, 92.59299999999999], "end": [111.79599999999999, 92.59299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.59299999999999], "end": [116.65899999999999, 92.59299999999999], "type": "segment", "width": 0.12}, {"start": [108.90599999999999, 92.553], "end": [111.79599999999999, 92.553], "type": "segment", "width": 0.12}, {"start": [113.756, 92.553], "end": [116.646, 92.553], "type": "segment", "width": 0.12}, {"start": [108.91799999999999, 92.51299999999999], "end": [111.79599999999999, 92.51299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.51299999999999], "end": [116.634, 92.51299999999999], "type": "segment", "width": 0.12}, {"start": [108.931, 92.473], "end": [111.79599999999999, 92.473], "type": "segment", "width": 0.12}, {"start": [113.756, 92.473], "end": [116.621, 92.473], "type": "segment", "width": 0.12}, {"start": [108.94399999999999, 92.43299999999999], "end": [111.79599999999999, 92.43299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.43299999999999], "end": [116.60799999999999, 92.43299999999999], "type": "segment", "width": 0.12}, {"start": [108.958, 92.393], "end": [111.79599999999999, 92.393], "type": "segment", "width": 0.12}, {"start": [113.756, 92.393], "end": [116.594, 92.393], "type": "segment", "width": 0.12}, {"start": [108.973, 92.353], "end": [111.79599999999999, 92.353], "type": "segment", "width": 0.12}, {"start": [113.756, 92.353], "end": [116.579, 92.353], "type": "segment", "width": 0.12}, {"start": [108.987, 92.313], "end": [111.79599999999999, 92.313], "type": "segment", "width": 0.12}, {"start": [113.756, 92.313], "end": [116.565, 92.313], "type": "segment", "width": 0.12}, {"start": [109.003, 92.273], "end": [111.79599999999999, 92.273], "type": "segment", "width": 0.12}, {"start": [113.756, 92.273], "end": [116.54899999999999, 92.273], "type": "segment", "width": 0.12}, {"start": [109.018, 92.23299999999999], "end": [111.79599999999999, 92.23299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.23299999999999], "end": [116.53399999999999, 92.23299999999999], "type": "segment", "width": 0.12}, {"start": [109.035, 92.193], "end": [111.79599999999999, 92.193], "type": "segment", "width": 0.12}, {"start": [113.756, 92.193], "end": [116.517, 92.193], "type": "segment", "width": 0.12}, {"start": [109.051, 92.15299999999999], "end": [111.79599999999999, 92.15299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 92.15299999999999], "end": [116.50099999999999, 92.15299999999999], "type": "segment", "width": 0.12}, {"start": [109.06899999999999, 92.113], "end": [111.79599999999999, 92.113], "type": "segment", "width": 0.12}, {"start": [113.756, 92.113], "end": [116.48299999999999, 92.113], "type": "segment", "width": 0.12}, {"start": [109.086, 92.073], "end": [111.79599999999999, 92.073], "type": "segment", "width": 0.12}, {"start": [113.756, 92.073], "end": [116.466, 92.073], "type": "segment", "width": 0.12}, {"start": [109.10499999999999, 92.033], "end": [111.79599999999999, 92.033], "type": "segment", "width": 0.12}, {"start": [113.756, 92.033], "end": [116.44699999999999, 92.033], "type": "segment", "width": 0.12}, {"start": [109.124, 91.993], "end": [111.79599999999999, 91.993], "type": "segment", "width": 0.12}, {"start": [113.756, 91.993], "end": [116.428, 91.993], "type": "segment", "width": 0.12}, {"start": [109.143, 91.95299999999999], "end": [111.79599999999999, 91.95299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.95299999999999], "end": [116.40899999999999, 91.95299999999999], "type": "segment", "width": 0.12}, {"start": [109.163, 91.913], "end": [111.79599999999999, 91.913], "type": "segment", "width": 0.12}, {"start": [113.756, 91.913], "end": [116.389, 91.913], "type": "segment", "width": 0.12}, {"start": [109.18299999999999, 91.87299999999999], "end": [111.79599999999999, 91.87299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.87299999999999], "end": [116.369, 91.87299999999999], "type": "segment", "width": 0.12}, {"start": [109.204, 91.833], "end": [111.79599999999999, 91.833], "type": "segment", "width": 0.12}, {"start": [113.756, 91.833], "end": [116.348, 91.833], "type": "segment", "width": 0.12}, {"start": [109.226, 91.79299999999999], "end": [111.79599999999999, 91.79299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.79299999999999], "end": [116.326, 91.79299999999999], "type": "segment", "width": 0.12}, {"start": [109.24799999999999, 91.753], "end": [111.79599999999999, 91.753], "type": "segment", "width": 0.12}, {"start": [113.756, 91.753], "end": [116.30399999999999, 91.753], "type": "segment", "width": 0.12}, {"start": [109.271, 91.713], "end": [111.79599999999999, 91.713], "type": "segment", "width": 0.12}, {"start": [113.756, 91.713], "end": [116.28099999999999, 91.713], "type": "segment", "width": 0.12}, {"start": [109.294, 91.673], "end": [111.79599999999999, 91.673], "type": "segment", "width": 0.12}, {"start": [113.756, 91.673], "end": [116.258, 91.673], "type": "segment", "width": 0.12}, {"start": [109.318, 91.633], "end": [111.79599999999999, 91.633], "type": "segment", "width": 0.12}, {"start": [113.756, 91.633], "end": [116.234, 91.633], "type": "segment", "width": 0.12}, {"start": [109.342, 91.59299999999999], "end": [111.79599999999999, 91.59299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.59299999999999], "end": [116.21, 91.59299999999999], "type": "segment", "width": 0.12}, {"start": [109.368, 91.553], "end": [111.79599999999999, 91.553], "type": "segment", "width": 0.12}, {"start": [113.756, 91.553], "end": [116.184, 91.553], "type": "segment", "width": 0.12}, {"start": [109.393, 91.51299999999999], "end": [111.79599999999999, 91.51299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.51299999999999], "end": [116.15899999999999, 91.51299999999999], "type": "segment", "width": 0.12}, {"start": [109.42, 91.473], "end": [111.79599999999999, 91.473], "type": "segment", "width": 0.12}, {"start": [113.756, 91.473], "end": [116.13199999999999, 91.473], "type": "segment", "width": 0.12}, {"start": [109.44699999999999, 91.43299999999999], "end": [111.79599999999999, 91.43299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.43299999999999], "end": [116.10499999999999, 91.43299999999999], "type": "segment", "width": 0.12}, {"start": [109.475, 91.393], "end": [111.79599999999999, 91.393], "type": "segment", "width": 0.12}, {"start": [113.756, 91.393], "end": [116.077, 91.393], "type": "segment", "width": 0.12}, {"start": [109.50399999999999, 91.353], "end": [111.79599999999999, 91.353], "type": "segment", "width": 0.12}, {"start": [113.756, 91.353], "end": [116.048, 91.353], "type": "segment", "width": 0.12}, {"start": [109.533, 91.313], "end": [111.79599999999999, 91.313], "type": "segment", "width": 0.12}, {"start": [113.756, 91.313], "end": [116.01899999999999, 91.313], "type": "segment", "width": 0.12}, {"start": [109.56299999999999, 91.273], "end": [111.79599999999999, 91.273], "type": "segment", "width": 0.12}, {"start": [113.756, 91.273], "end": [115.98899999999999, 91.273], "type": "segment", "width": 0.12}, {"start": [109.594, 91.23299999999999], "end": [111.79599999999999, 91.23299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.23299999999999], "end": [115.958, 91.23299999999999], "type": "segment", "width": 0.12}, {"start": [109.62599999999999, 91.193], "end": [111.79599999999999, 91.193], "type": "segment", "width": 0.12}, {"start": [113.756, 91.193], "end": [115.92599999999999, 91.193], "type": "segment", "width": 0.12}, {"start": [109.658, 91.15299999999999], "end": [111.79599999999999, 91.15299999999999], "type": "segment", "width": 0.12}, {"start": [113.756, 91.15299999999999], "end": [115.89399999999999, 91.15299999999999], "type": "segment", "width": 0.12}, {"start": [109.692, 91.113], "end": [111.79599999999999, 91.113], "type": "segment", "width": 0.12}, {"start": [113.756, 91.113], "end": [115.86, 91.113], "type": "segment", "width": 0.12}, {"start": [109.726, 91.073], "end": [111.79599999999999, 91.073], "type": "segment", "width": 0.12}, {"start": [113.756, 91.073], "end": [115.826, 91.073], "type": "segment", "width": 0.12}, {"start": [109.761, 91.033], "end": [111.79599999999999, 91.033], "type": "segment", "width": 0.12}, {"start": [113.756, 91.033], "end": [115.791, 91.033], "type": "segment", "width": 0.12}, {"start": [109.797, 90.993], "end": [115.755, 90.993], "type": "segment", "width": 0.12}, {"start": [109.83399999999999, 90.953], "end": [115.71799999999999, 90.953], "type": "segment", "width": 0.12}, {"start": [109.872, 90.913], "end": [115.67999999999999, 90.913], "type": "segment", "width": 0.12}, {"start": [109.911, 90.87299999999999], "end": [115.64099999999999, 90.87299999999999], "type": "segment", "width": 0.12}, {"start": [109.952, 90.833], "end": [115.6, 90.833], "type": "segment", "width": 0.12}, {"start": [109.993, 90.79299999999999], "end": [115.559, 90.79299999999999], "type": "segment", "width": 0.12}, {"start": [110.036, 90.753], "end": [115.51599999999999, 90.753], "type": "segment", "width": 0.12}, {"start": [110.079, 90.713], "end": [115.473, 90.713], "type": "segment", "width": 0.12}, {"start": [110.124, 90.673], "end": [115.428, 90.673], "type": "segment", "width": 0.12}, {"start": [110.17099999999999, 90.633], "end": [115.381, 90.633], "type": "segment", "width": 0.12}, {"start": [110.219, 90.59299999999999], "end": [115.333, 90.59299999999999], "type": "segment", "width": 0.12}, {"start": [110.268, 90.553], "end": [115.28399999999999, 90.553], "type": "segment", "width": 0.12}, {"start": [110.31899999999999, 90.51299999999999], "end": [115.23299999999999, 90.51299999999999], "type": "segment", "width": 0.12}, {"start": [110.372, 90.473], "end": [115.17999999999999, 90.473], "type": "segment", "width": 0.12}, {"start": [110.42699999999999, 90.43299999999999], "end": [115.125, 90.43299999999999], "type": "segment", "width": 0.12}, {"start": [110.48299999999999, 90.393], "end": [115.06899999999999, 90.393], "type": "segment", "width": 0.12}, {"start": [110.542, 90.353], "end": [115.00999999999999, 90.353], "type": "segment", "width": 0.12}, {"start": [110.603, 90.313], "end": [114.949, 90.313], "type": "segment", "width": 0.12}, {"start": [110.667, 90.273], "end": [114.88499999999999, 90.273], "type": "segment", "width": 0.12}, {"start": [110.73299999999999, 90.23299999999999], "end": [114.81899999999999, 90.23299999999999], "type": "segment", "width": 0.12}, {"start": [110.80199999999999, 90.193], "end": [114.75, 90.193], "type": "segment", "width": 0.12}, {"start": [110.874, 90.15299999999999], "end": [114.678, 90.15299999999999], "type": "segment", "width": 0.12}, {"start": [110.94999999999999, 90.113], "end": [114.60199999999999, 90.113], "type": "segment", "width": 0.12}, {"start": [111.03099999999999, 90.073], "end": [114.521, 90.073], "type": "segment", "width": 0.12}, {"start": [111.116, 90.033], "end": [114.43599999999999, 90.033], "type": "segment", "width": 0.12}, {"start": [111.20599999999999, 89.993], "end": [114.34599999999999, 89.993], "type": "segment", "width": 0.12}, {"start": [111.303, 89.953], "end": [114.249, 89.953], "type": "segment", "width": 0.12}, {"start": [111.407, 89.913], "end": [114.145, 89.913], "type": "segment", "width": 0.12}, {"start": [111.52199999999999, 89.87299999999999], "end": [114.03, 89.87299999999999], "type": "segment", "width": 0.12}, {"start": [111.649, 89.833], "end": [113.90299999999999, 89.833], "type": "segment", "width": 0.12}, {"start": [111.79299999999999, 89.79299999999999], "end": [113.759, 89.79299999999999], "type": "segment", "width": 0.12}, {"start": [111.96199999999999, 89.753], "end": [113.58999999999999, 89.753], "type": "segment", "width": 0.12}, {"start": [112.178, 89.713], "end": [113.374, 89.713], "type": "segment", "width": 0.12}, {"start": [112.53, 89.673], "end": [113.02199999999999, 89.673], "type": "segment", "width": 0.12}, {"start": [112.776, 97.704], "end": [112.776, 96.50399999999999], "type": "segment", "width": 0.12}, {"start": [112.12599999999999, 97.104], "end": [113.426, 97.104], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "R3", "thickness": 0.15, "pos": [102.428, 73.532], "height": 1.0}, {"start": [101.82799999999999, 71.002], "end": [103.02799999999999, 71.002], "type": "segment", "width": 0.12}, {"start": [103.02799999999999, 72.762], "end": [101.82799999999999, 72.762], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "C2", "thickness": 0.15, "pos": [111.125, 84.08999999999999], "height": 1.0}, {"width": 0.12, "endangle": 242.9034484146656, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": 117.10344841466556, "type": "arc"}, {"width": 0.12, "endangle": 62.896551585334464, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": -62.90344841466554, "type": "arc"}, {"width": 0.12, "endangle": 297.09655158533445, "start": [114.93499999999999, 84.08999999999999], "radius": 2.59, "startangle": 242.89655158533444, "type": "arc"}, {"start": [112.38499999999999, 84.08999999999999], "end": [117.485, 84.08999999999999], "type": "segment", "width": 0.12}, {"start": [112.38499999999999, 84.05], "end": [113.955, 84.05], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 84.05], "end": [117.485, 84.05], "type": "segment", "width": 0.12}, {"start": [112.386, 84.00999999999999], "end": [113.955, 84.00999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 84.00999999999999], "end": [117.484, 84.00999999999999], "type": "segment", "width": 0.12}, {"start": [112.387, 83.97], "end": [113.955, 83.97], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.97], "end": [117.48299999999999, 83.97], "type": "segment", "width": 0.12}, {"start": [112.389, 83.92999999999999], "end": [113.955, 83.92999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.92999999999999], "end": [117.481, 83.92999999999999], "type": "segment", "width": 0.12}, {"start": [112.392, 83.89], "end": [113.955, 83.89], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.89], "end": [117.478, 83.89], "type": "segment", "width": 0.12}, {"start": [112.396, 83.85], "end": [113.955, 83.85], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.85], "end": [117.47399999999999, 83.85], "type": "segment", "width": 0.12}, {"start": [112.39999999999999, 83.81], "end": [113.955, 83.81], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.81], "end": [117.47, 83.81], "type": "segment", "width": 0.12}, {"start": [112.404, 83.77], "end": [113.955, 83.77], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.77], "end": [117.466, 83.77], "type": "segment", "width": 0.12}, {"start": [112.41, 83.72999999999999], "end": [113.955, 83.72999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.72999999999999], "end": [117.46, 83.72999999999999], "type": "segment", "width": 0.12}, {"start": [112.416, 83.69], "end": [113.955, 83.69], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.69], "end": [117.454, 83.69], "type": "segment", "width": 0.12}, {"start": [112.422, 83.64999999999999], "end": [113.955, 83.64999999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.64999999999999], "end": [117.448, 83.64999999999999], "type": "segment", "width": 0.12}, {"start": [112.42899999999999, 83.61], "end": [113.955, 83.61], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.61], "end": [117.44099999999999, 83.61], "type": "segment", "width": 0.12}, {"start": [112.437, 83.57], "end": [113.955, 83.57], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.57], "end": [117.43299999999999, 83.57], "type": "segment", "width": 0.12}, {"start": [112.446, 83.53], "end": [113.955, 83.53], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.53], "end": [117.42399999999999, 83.53], "type": "segment", "width": 0.12}, {"start": [112.455, 83.49], "end": [113.955, 83.49], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.49], "end": [117.41499999999999, 83.49], "type": "segment", "width": 0.12}, {"start": [112.46499999999999, 83.45], "end": [113.955, 83.45], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.45], "end": [117.405, 83.45], "type": "segment", "width": 0.12}, {"start": [112.475, 83.41], "end": [113.955, 83.41], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.41], "end": [117.395, 83.41], "type": "segment", "width": 0.12}, {"start": [112.487, 83.369], "end": [113.955, 83.369], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.369], "end": [117.383, 83.369], "type": "segment", "width": 0.12}, {"start": [112.499, 83.329], "end": [113.955, 83.329], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.329], "end": [117.371, 83.329], "type": "segment", "width": 0.12}, {"start": [112.511, 83.289], "end": [113.955, 83.289], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.289], "end": [117.359, 83.289], "type": "segment", "width": 0.12}, {"start": [112.52499999999999, 83.249], "end": [113.955, 83.249], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.249], "end": [117.345, 83.249], "type": "segment", "width": 0.12}, {"start": [112.539, 83.209], "end": [113.955, 83.209], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.209], "end": [117.33099999999999, 83.209], "type": "segment", "width": 0.12}, {"start": [112.553, 83.169], "end": [113.955, 83.169], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.169], "end": [117.317, 83.169], "type": "segment", "width": 0.12}, {"start": [112.56899999999999, 83.12899999999999], "end": [113.955, 83.12899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.12899999999999], "end": [117.30099999999999, 83.12899999999999], "type": "segment", "width": 0.12}, {"start": [112.585, 83.089], "end": [113.955, 83.089], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.089], "end": [117.285, 83.089], "type": "segment", "width": 0.12}, {"start": [112.60199999999999, 83.04899999999999], "end": [113.955, 83.04899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.04899999999999], "end": [117.268, 83.04899999999999], "type": "segment", "width": 0.12}, {"start": [112.61999999999999, 83.009], "end": [113.955, 83.009], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 83.009], "end": [117.25, 83.009], "type": "segment", "width": 0.12}, {"start": [112.639, 82.969], "end": [113.955, 82.969], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.969], "end": [117.231, 82.969], "type": "segment", "width": 0.12}, {"start": [112.65899999999999, 82.929], "end": [113.955, 82.929], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.929], "end": [117.211, 82.929], "type": "segment", "width": 0.12}, {"start": [112.67899999999999, 82.889], "end": [113.955, 82.889], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.889], "end": [117.19099999999999, 82.889], "type": "segment", "width": 0.12}, {"start": [112.701, 82.84899999999999], "end": [113.955, 82.84899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.84899999999999], "end": [117.169, 82.84899999999999], "type": "segment", "width": 0.12}, {"start": [112.723, 82.809], "end": [113.955, 82.809], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.809], "end": [117.14699999999999, 82.809], "type": "segment", "width": 0.12}, {"start": [112.746, 82.76899999999999], "end": [113.955, 82.76899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.76899999999999], "end": [117.124, 82.76899999999999], "type": "segment", "width": 0.12}, {"start": [112.77, 82.729], "end": [113.955, 82.729], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.729], "end": [117.1, 82.729], "type": "segment", "width": 0.12}, {"start": [112.795, 82.689], "end": [113.955, 82.689], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.689], "end": [117.07499999999999, 82.689], "type": "segment", "width": 0.12}, {"start": [112.82199999999999, 82.649], "end": [113.955, 82.649], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.649], "end": [117.04799999999999, 82.649], "type": "segment", "width": 0.12}, {"start": [112.84899999999999, 82.609], "end": [113.955, 82.609], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.609], "end": [117.021, 82.609], "type": "segment", "width": 0.12}, {"start": [112.877, 82.569], "end": [113.955, 82.569], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.569], "end": [116.993, 82.569], "type": "segment", "width": 0.12}, {"start": [112.907, 82.529], "end": [113.955, 82.529], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.529], "end": [116.963, 82.529], "type": "segment", "width": 0.12}, {"start": [112.93799999999999, 82.48899999999999], "end": [113.955, 82.48899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.48899999999999], "end": [116.93199999999999, 82.48899999999999], "type": "segment", "width": 0.12}, {"start": [112.97, 82.449], "end": [113.955, 82.449], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.449], "end": [116.89999999999999, 82.449], "type": "segment", "width": 0.12}, {"start": [113.003, 82.40899999999999], "end": [113.955, 82.40899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.40899999999999], "end": [116.86699999999999, 82.40899999999999], "type": "segment", "width": 0.12}, {"start": [113.038, 82.369], "end": [113.955, 82.369], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.369], "end": [116.832, 82.369], "type": "segment", "width": 0.12}, {"start": [113.074, 82.329], "end": [113.955, 82.329], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.329], "end": [116.79599999999999, 82.329], "type": "segment", "width": 0.12}, {"start": [113.112, 82.289], "end": [113.955, 82.289], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.289], "end": [116.758, 82.289], "type": "segment", "width": 0.12}, {"start": [113.152, 82.249], "end": [113.955, 82.249], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.249], "end": [116.71799999999999, 82.249], "type": "segment", "width": 0.12}, {"start": [113.193, 82.209], "end": [113.955, 82.209], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.209], "end": [116.67699999999999, 82.209], "type": "segment", "width": 0.12}, {"start": [113.23599999999999, 82.169], "end": [113.955, 82.169], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.169], "end": [116.634, 82.169], "type": "segment", "width": 0.12}, {"start": [113.28099999999999, 82.12899999999999], "end": [113.955, 82.12899999999999], "type": "segment", "width": 0.12}, {"start": [115.91499999999999, 82.12899999999999], "end": [116.589, 82.12899999999999], "type": "segment", "width": 0.12}, {"start": [113.329, 82.089], "end": [116.541, 82.089], "type": "segment", "width": 0.12}, {"start": [113.37899999999999, 82.04899999999999], "end": [116.491, 82.04899999999999], "type": "segment", "width": 0.12}, {"start": [113.431, 82.009], "end": [116.439, 82.009], "type": "segment", "width": 0.12}, {"start": [113.487, 81.969], "end": [116.383, 81.969], "type": "segment", "width": 0.12}, {"start": [113.545, 81.929], "end": [116.32499999999999, 81.929], "type": "segment", "width": 0.12}, {"start": [113.60799999999999, 81.889], "end": [116.262, 81.889], "type": "segment", "width": 0.12}, {"start": [113.67399999999999, 81.84899999999999], "end": [116.196, 81.84899999999999], "type": "segment", "width": 0.12}, {"start": [113.746, 81.809], "end": [116.124, 81.809], "type": "segment", "width": 0.12}, {"start": [113.823, 81.76899999999999], "end": [116.047, 81.76899999999999], "type": "segment", "width": 0.12}, {"start": [113.907, 81.729], "end": [115.963, 81.729], "type": "segment", "width": 0.12}, {"start": [114.00099999999999, 81.689], "end": [115.869, 81.689], "type": "segment", "width": 0.12}, {"start": [114.106, 81.649], "end": [115.764, 81.649], "type": "segment", "width": 0.12}, {"start": [114.228, 81.609], "end": [115.642, 81.609], "type": "segment", "width": 0.12}, {"start": [114.37599999999999, 81.569], "end": [115.494, 81.569], "type": "segment", "width": 0.12}, {"start": [114.58099999999999, 81.529], "end": [115.289, 81.529], "type": "segment", "width": 0.12}, {"start": [114.93499999999999, 87.28999999999999], "end": [114.93499999999999, 86.08999999999999], "type": "segment", "width": 0.12}, {"start": [114.285, 86.69], "end": [115.585, 86.69], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "C3", "thickness": 0.15, "pos": [118.8085, 75.962], "height": 1.0}, {"width": 0.12, "endangle": 422.9034484146656, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 297.10344841466554, "type": "arc"}, {"width": 0.12, "endangle": 242.89655158533444, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 117.09655158533442, "type": "arc"}, {"width": 0.12, "endangle": 117.09655158533447, "start": [114.99849999999999, 75.962], "radius": 2.59, "startangle": 62.896551585334464, "type": "arc"}, {"start": [117.54849999999999, 75.962], "end": [112.4485, 75.962], "type": "segment", "width": 0.12}, {"start": [117.54849999999999, 76.002], "end": [115.9785, 76.002], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.002], "end": [112.4485, 76.002], "type": "segment", "width": 0.12}, {"start": [117.5475, 76.042], "end": [115.9785, 76.042], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.042], "end": [112.4495, 76.042], "type": "segment", "width": 0.12}, {"start": [117.5465, 76.082], "end": [115.9785, 76.082], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.082], "end": [112.45049999999999, 76.082], "type": "segment", "width": 0.12}, {"start": [117.5445, 76.122], "end": [115.9785, 76.122], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.122], "end": [112.4525, 76.122], "type": "segment", "width": 0.12}, {"start": [117.5415, 76.16199999999999], "end": [115.9785, 76.16199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.16199999999999], "end": [112.4555, 76.16199999999999], "type": "segment", "width": 0.12}, {"start": [117.5375, 76.202], "end": [115.9785, 76.202], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.202], "end": [112.45949999999999, 76.202], "type": "segment", "width": 0.12}, {"start": [117.53349999999999, 76.24199999999999], "end": [115.9785, 76.24199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.24199999999999], "end": [112.4635, 76.24199999999999], "type": "segment", "width": 0.12}, {"start": [117.5295, 76.282], "end": [115.9785, 76.282], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.282], "end": [112.4675, 76.282], "type": "segment", "width": 0.12}, {"start": [117.5235, 76.322], "end": [115.9785, 76.322], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.322], "end": [112.4735, 76.322], "type": "segment", "width": 0.12}, {"start": [117.5175, 76.362], "end": [115.9785, 76.362], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.362], "end": [112.4795, 76.362], "type": "segment", "width": 0.12}, {"start": [117.5115, 76.402], "end": [115.9785, 76.402], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.402], "end": [112.4855, 76.402], "type": "segment", "width": 0.12}, {"start": [117.5045, 76.442], "end": [115.9785, 76.442], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.442], "end": [112.49249999999999, 76.442], "type": "segment", "width": 0.12}, {"start": [117.4965, 76.482], "end": [115.9785, 76.482], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.482], "end": [112.50049999999999, 76.482], "type": "segment", "width": 0.12}, {"start": [117.4875, 76.52199999999999], "end": [115.9785, 76.52199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.52199999999999], "end": [112.50949999999999, 76.52199999999999], "type": "segment", "width": 0.12}, {"start": [117.4785, 76.562], "end": [115.9785, 76.562], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.562], "end": [112.51849999999999, 76.562], "type": "segment", "width": 0.12}, {"start": [117.46849999999999, 76.60199999999999], "end": [115.9785, 76.60199999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.60199999999999], "end": [112.5285, 76.60199999999999], "type": "segment", "width": 0.12}, {"start": [117.4585, 76.642], "end": [115.9785, 76.642], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.642], "end": [112.5385, 76.642], "type": "segment", "width": 0.12}, {"start": [117.4465, 76.68299999999999], "end": [115.9785, 76.68299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.68299999999999], "end": [112.5505, 76.68299999999999], "type": "segment", "width": 0.12}, {"start": [117.4345, 76.723], "end": [115.9785, 76.723], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.723], "end": [112.5625, 76.723], "type": "segment", "width": 0.12}, {"start": [117.4225, 76.76299999999999], "end": [115.9785, 76.76299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.76299999999999], "end": [112.5745, 76.76299999999999], "type": "segment", "width": 0.12}, {"start": [117.40849999999999, 76.803], "end": [115.9785, 76.803], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.803], "end": [112.5885, 76.803], "type": "segment", "width": 0.12}, {"start": [117.3945, 76.843], "end": [115.9785, 76.843], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.843], "end": [112.60249999999999, 76.843], "type": "segment", "width": 0.12}, {"start": [117.3805, 76.883], "end": [115.9785, 76.883], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.883], "end": [112.61649999999999, 76.883], "type": "segment", "width": 0.12}, {"start": [117.36449999999999, 76.923], "end": [115.9785, 76.923], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.923], "end": [112.6325, 76.923], "type": "segment", "width": 0.12}, {"start": [117.3485, 76.963], "end": [115.9785, 76.963], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 76.963], "end": [112.6485, 76.963], "type": "segment", "width": 0.12}, {"start": [117.33149999999999, 77.003], "end": [115.9785, 77.003], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.003], "end": [112.6655, 77.003], "type": "segment", "width": 0.12}, {"start": [117.31349999999999, 77.04299999999999], "end": [115.9785, 77.04299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.04299999999999], "end": [112.6835, 77.04299999999999], "type": "segment", "width": 0.12}, {"start": [117.2945, 77.083], "end": [115.9785, 77.083], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.083], "end": [112.7025, 77.083], "type": "segment", "width": 0.12}, {"start": [117.27449999999999, 77.12299999999999], "end": [115.9785, 77.12299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.12299999999999], "end": [112.7225, 77.12299999999999], "type": "segment", "width": 0.12}, {"start": [117.2545, 77.163], "end": [115.9785, 77.163], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.163], "end": [112.74249999999999, 77.163], "type": "segment", "width": 0.12}, {"start": [117.2325, 77.203], "end": [115.9785, 77.203], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.203], "end": [112.7645, 77.203], "type": "segment", "width": 0.12}, {"start": [117.2105, 77.243], "end": [115.9785, 77.243], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.243], "end": [112.78649999999999, 77.243], "type": "segment", "width": 0.12}, {"start": [117.1875, 77.283], "end": [115.9785, 77.283], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.283], "end": [112.8095, 77.283], "type": "segment", "width": 0.12}, {"start": [117.1635, 77.323], "end": [115.9785, 77.323], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.323], "end": [112.8335, 77.323], "type": "segment", "width": 0.12}, {"start": [117.1385, 77.363], "end": [115.9785, 77.363], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.363], "end": [112.85849999999999, 77.363], "type": "segment", "width": 0.12}, {"start": [117.11149999999999, 77.40299999999999], "end": [115.9785, 77.40299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.40299999999999], "end": [112.8855, 77.40299999999999], "type": "segment", "width": 0.12}, {"start": [117.08449999999999, 77.443], "end": [115.9785, 77.443], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.443], "end": [112.9125, 77.443], "type": "segment", "width": 0.12}, {"start": [117.0565, 77.48299999999999], "end": [115.9785, 77.48299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.48299999999999], "end": [112.9405, 77.48299999999999], "type": "segment", "width": 0.12}, {"start": [117.0265, 77.523], "end": [115.9785, 77.523], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.523], "end": [112.9705, 77.523], "type": "segment", "width": 0.12}, {"start": [116.99549999999999, 77.563], "end": [115.9785, 77.563], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.563], "end": [113.0015, 77.563], "type": "segment", "width": 0.12}, {"start": [116.9635, 77.603], "end": [115.9785, 77.603], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.603], "end": [113.03349999999999, 77.603], "type": "segment", "width": 0.12}, {"start": [116.9305, 77.643], "end": [115.9785, 77.643], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.643], "end": [113.06649999999999, 77.643], "type": "segment", "width": 0.12}, {"start": [116.8955, 77.68299999999999], "end": [115.9785, 77.68299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.68299999999999], "end": [113.1015, 77.68299999999999], "type": "segment", "width": 0.12}, {"start": [116.8595, 77.723], "end": [115.9785, 77.723], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.723], "end": [113.13749999999999, 77.723], "type": "segment", "width": 0.12}, {"start": [116.8215, 77.76299999999999], "end": [115.9785, 77.76299999999999], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.76299999999999], "end": [113.1755, 77.76299999999999], "type": "segment", "width": 0.12}, {"start": [116.7815, 77.803], "end": [115.9785, 77.803], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.803], "end": [113.21549999999999, 77.803], "type": "segment", "width": 0.12}, {"start": [116.7405, 77.843], "end": [115.9785, 77.843], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.843], "end": [113.25649999999999, 77.843], "type": "segment", "width": 0.12}, {"start": [116.69749999999999, 77.883], "end": [115.9785, 77.883], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.883], "end": [113.2995, 77.883], "type": "segment", "width": 0.12}, {"start": [116.65249999999999, 77.923], "end": [115.9785, 77.923], "type": "segment", "width": 0.12}, {"start": [114.01849999999999, 77.923], "end": [113.3445, 77.923], "type": "segment", "width": 0.12}, {"start": [116.6045, 77.963], "end": [113.3925, 77.963], "type": "segment", "width": 0.12}, {"start": [116.55449999999999, 78.003], "end": [113.4425, 78.003], "type": "segment", "width": 0.12}, {"start": [116.5025, 78.04299999999999], "end": [113.49449999999999, 78.04299999999999], "type": "segment", "width": 0.12}, {"start": [116.4465, 78.083], "end": [113.5505, 78.083], "type": "segment", "width": 0.12}, {"start": [116.3885, 78.12299999999999], "end": [113.60849999999999, 78.12299999999999], "type": "segment", "width": 0.12}, {"start": [116.32549999999999, 78.163], "end": [113.6715, 78.163], "type": "segment", "width": 0.12}, {"start": [116.25949999999999, 78.203], "end": [113.7375, 78.203], "type": "segment", "width": 0.12}, {"start": [116.1875, 78.243], "end": [113.8095, 78.243], "type": "segment", "width": 0.12}, {"start": [116.1105, 78.283], "end": [113.8865, 78.283], "type": "segment", "width": 0.12}, {"start": [116.0265, 78.323], "end": [113.9705, 78.323], "type": "segment", "width": 0.12}, {"start": [115.93249999999999, 78.363], "end": [114.0645, 78.363], "type": "segment", "width": 0.12}, {"start": [115.8275, 78.40299999999999], "end": [114.1695, 78.40299999999999], "type": "segment", "width": 0.12}, {"start": [115.7055, 78.443], "end": [114.2915, 78.443], "type": "segment", "width": 0.12}, {"start": [115.55749999999999, 78.48299999999999], "end": [114.4395, 78.48299999999999], "type": "segment", "width": 0.12}, {"start": [115.35249999999999, 78.523], "end": [114.6445, 78.523], "type": "segment", "width": 0.12}, {"start": [114.99849999999999, 72.762], "end": [114.99849999999999, 73.962], "type": "segment", "width": 0.12}, {"start": [115.6485, 73.362], "end": [114.3485, 73.362], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J1", "thickness": 0.15, "pos": [106.61999999999999, 54.327799999999996], "height": 1.0}, {"start": [100.22, 55.577799999999996], "end": [100.22, 59.6778], "type": "segment", "width": 0.12}, {"start": [100.22, 59.6778], "end": [113.02, 59.6778], "type": "segment", "width": 0.12}, {"start": [113.02, 59.6778], "end": [113.02, 55.577799999999996], "type": "segment", "width": 0.12}, {"start": [113.02, 55.577799999999996], "end": [100.22, 55.577799999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 57.327799999999996], "end": [100.72, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [100.72, 57.327799999999996], "end": [100.72, 56.077799999999996], "type": "segment", "width": 0.12}, {"start": [100.72, 56.077799999999996], "end": [112.52, 56.077799999999996], "type": "segment", "width": 0.12}, {"start": [112.52, 56.077799999999996], "end": [112.52, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [112.52, 57.327799999999996], "end": [113.02, 57.327799999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 58.1778], "end": [101.22, 58.1778], "type": "segment", "width": 0.12}, {"start": [101.22, 58.1778], "end": [101.22, 59.6778], "type": "segment", "width": 0.12}, {"start": [113.02, 58.1778], "end": [112.02, 58.1778], "type": "segment", "width": 0.12}, {"start": [112.02, 58.1778], "end": [112.02, 59.6778], "type": "segment", "width": 0.12}, {"start": [99.92, 57.477799999999995], "end": [99.92, 59.977799999999995], "type": "segment", "width": 0.12}, {"start": [99.92, 59.977799999999995], "end": [102.42, 59.977799999999995], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J2", "thickness": 0.15, "pos": [121.2504, 54.581799999999994], "height": 1.0}, {"start": [114.5504, 60.2318], "end": [117.0504, 60.2318], "type": "segment", "width": 0.12}, {"start": [114.5504, 57.7318], "end": [114.5504, 60.2318], "type": "segment", "width": 0.12}, {"start": [126.65039999999999, 58.431799999999996], "end": [126.65039999999999, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 58.431799999999996], "end": [126.65039999999999, 58.431799999999996], "type": "segment", "width": 0.12}, {"start": [115.8504, 58.431799999999996], "end": [115.8504, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [114.8504, 58.431799999999996], "end": [115.8504, 58.431799999999996], "type": "segment", "width": 0.12}, {"start": [127.15039999999999, 57.581799999999994], "end": [127.65039999999999, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [127.15039999999999, 56.331799999999994], "end": [127.15039999999999, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [115.3504, 56.331799999999994], "end": [127.15039999999999, 56.331799999999994], "type": "segment", "width": 0.12}, {"start": [115.3504, 57.581799999999994], "end": [115.3504, 56.331799999999994], "type": "segment", "width": 0.12}, {"start": [114.8504, 57.581799999999994], "end": [115.3504, 57.581799999999994], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 55.831799999999994], "end": [114.8504, 55.831799999999994], "type": "segment", "width": 0.12}, {"start": [127.65039999999999, 59.931799999999996], "end": [127.65039999999999, 55.831799999999994], "type": "segment", "width": 0.12}, {"start": [114.8504, 59.931799999999996], "end": [127.65039999999999, 59.931799999999996], "type": "segment", "width": 0.12}, {"start": [114.8504, 55.831799999999994], "end": [114.8504, 59.931799999999996], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J3", "thickness": 0.15, "pos": [106.61999999999999, 62.303399999999996], "height": 1.0}, {"start": [100.22, 63.553399999999996], "end": [100.22, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [100.22, 67.65339999999999], "end": [113.02, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [113.02, 67.65339999999999], "end": [113.02, 63.553399999999996], "type": "segment", "width": 0.12}, {"start": [113.02, 63.553399999999996], "end": [100.22, 63.553399999999996], "type": "segment", "width": 0.12}, {"start": [100.22, 65.3034], "end": [100.72, 65.3034], "type": "segment", "width": 0.12}, {"start": [100.72, 65.3034], "end": [100.72, 64.0534], "type": "segment", "width": 0.12}, {"start": [100.72, 64.0534], "end": [112.52, 64.0534], "type": "segment", "width": 0.12}, {"start": [112.52, 64.0534], "end": [112.52, 65.3034], "type": "segment", "width": 0.12}, {"start": [112.52, 65.3034], "end": [113.02, 65.3034], "type": "segment", "width": 0.12}, {"start": [100.22, 66.15339999999999], "end": [101.22, 66.15339999999999], "type": "segment", "width": 0.12}, {"start": [101.22, 66.15339999999999], "end": [101.22, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [113.02, 66.15339999999999], "end": [112.02, 66.15339999999999], "type": "segment", "width": 0.12}, {"start": [112.02, 66.15339999999999], "end": [112.02, 67.65339999999999], "type": "segment", "width": 0.12}, {"start": [99.92, 65.4534], "end": [99.92, 67.9534], "type": "segment", "width": 0.12}, {"start": [99.92, 67.9534], "end": [102.42, 67.9534], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "J4", "thickness": 0.15, "pos": [121.1488, 62.252599999999994], "height": 1.0}, {"start": [114.74879999999999, 63.502599999999994], "end": [114.74879999999999, 67.6026], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 67.6026], "end": [127.5488, 67.6026], "type": "segment", "width": 0.12}, {"start": [127.5488, 67.6026], "end": [127.5488, 63.502599999999994], "type": "segment", "width": 0.12}, {"start": [127.5488, 63.502599999999994], "end": [114.74879999999999, 63.502599999999994], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 65.2526], "end": [115.24879999999999, 65.2526], "type": "segment", "width": 0.12}, {"start": [115.24879999999999, 65.2526], "end": [115.24879999999999, 64.0026], "type": "segment", "width": 0.12}, {"start": [115.24879999999999, 64.0026], "end": [127.0488, 64.0026], "type": "segment", "width": 0.12}, {"start": [127.0488, 64.0026], "end": [127.0488, 65.2526], "type": "segment", "width": 0.12}, {"start": [127.0488, 65.2526], "end": [127.5488, 65.2526], "type": "segment", "width": 0.12}, {"start": [114.74879999999999, 66.1026], "end": [115.74879999999999, 66.1026], "type": "segment", "width": 0.12}, {"start": [115.74879999999999, 66.1026], "end": [115.74879999999999, 67.6026], "type": "segment", "width": 0.12}, {"start": [127.5488, 66.1026], "end": [126.5488, 66.1026], "type": "segment", "width": 0.12}, {"start": [126.5488, 66.1026], "end": [126.5488, 67.6026], "type": "segment", "width": 0.12}, {"start": [114.44879999999999, 65.40259999999999], "end": [114.44879999999999, 67.90259999999999], "type": "segment", "width": 0.12}, {"start": [114.44879999999999, 67.90259999999999], "end": [116.94879999999999, 67.90259999999999], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Cout1", "thickness": 0.15, "pos": [105.878, 93.94], "height": 1.0}, {"start": [100.318, 89.49], "end": [98.818, 89.49], "type": "segment", "width": 0.12}, {"start": [99.568, 88.74], "end": [99.568, 90.24], "type": "segment", "width": 0.12}, {"start": [99.847, 99.021], "end": [99.289, 99.021], "type": "segment", "width": 0.12}, {"start": [100.24, 98.981], "end": [98.896, 98.981], "type": "segment", "width": 0.12}, {"start": [100.481, 98.941], "end": [98.655, 98.941], "type": "segment", "width": 0.12}, {"start": [100.672, 98.901], "end": [98.464, 98.901], "type": "segment", "width": 0.12}, {"start": [100.833, 98.86099999999999], "end": [98.303, 98.86099999999999], "type": "segment", "width": 0.12}, {"start": [100.975, 98.821], "end": [98.161, 98.821], "type": "segment", "width": 0.12}, {"start": [101.104, 98.78099999999999], "end": [98.032, 98.78099999999999], "type": "segment", "width": 0.12}, {"start": [101.222, 98.741], "end": [97.914, 98.741], "type": "segment", "width": 0.12}, {"start": [101.33099999999999, 98.701], "end": [97.80499999999999, 98.701], "type": "segment", "width": 0.12}, {"start": [101.434, 98.661], "end": [97.702, 98.661], "type": "segment", "width": 0.12}, {"start": [101.53, 98.621], "end": [97.606, 98.621], "type": "segment", "width": 0.12}, {"start": [101.621, 98.58099999999999], "end": [97.515, 98.58099999999999], "type": "segment", "width": 0.12}, {"start": [101.708, 98.541], "end": [97.428, 98.541], "type": "segment", "width": 0.12}, {"start": [101.78999999999999, 98.50099999999999], "end": [97.34599999999999, 98.50099999999999], "type": "segment", "width": 0.12}, {"start": [101.869, 98.461], "end": [97.267, 98.461], "type": "segment", "width": 0.12}, {"start": [101.945, 98.42099999999999], "end": [97.191, 98.42099999999999], "type": "segment", "width": 0.12}, {"start": [102.017, 98.381], "end": [97.119, 98.381], "type": "segment", "width": 0.12}, {"start": [102.08699999999999, 98.341], "end": [97.04899999999999, 98.341], "type": "segment", "width": 0.12}, {"start": [102.155, 98.301], "end": [96.981, 98.301], "type": "segment", "width": 0.12}, {"start": [102.22, 98.261], "end": [96.916, 98.261], "type": "segment", "width": 0.12}, {"start": [102.283, 98.22099999999999], "end": [96.853, 98.22099999999999], "type": "segment", "width": 0.12}, {"start": [102.345, 98.181], "end": [96.791, 98.181], "type": "segment", "width": 0.12}, {"start": [102.404, 98.14099999999999], "end": [96.732, 98.14099999999999], "type": "segment", "width": 0.12}, {"start": [102.46199999999999, 98.101], "end": [96.67399999999999, 98.101], "type": "segment", "width": 0.12}, {"start": [102.517, 98.06099999999999], "end": [96.619, 98.06099999999999], "type": "segment", "width": 0.12}, {"start": [102.57199999999999, 98.021], "end": [96.564, 98.021], "type": "segment", "width": 0.12}, {"start": [102.625, 97.981], "end": [96.511, 97.981], "type": "segment", "width": 0.12}, {"start": [102.676, 97.941], "end": [96.46, 97.941], "type": "segment", "width": 0.12}, {"start": [102.726, 97.901], "end": [96.41, 97.901], "type": "segment", "width": 0.12}, {"start": [102.77499999999999, 97.86099999999999], "end": [96.36099999999999, 97.86099999999999], "type": "segment", "width": 0.12}, {"start": [102.823, 97.821], "end": [96.313, 97.821], "type": "segment", "width": 0.12}, {"start": [102.86999999999999, 97.78099999999999], "end": [96.26599999999999, 97.78099999999999], "type": "segment", "width": 0.12}, {"start": [102.91499999999999, 97.741], "end": [96.22099999999999, 97.741], "type": "segment", "width": 0.12}, {"start": [102.95899999999999, 97.701], "end": [96.17699999999999, 97.701], "type": "segment", "width": 0.12}, {"start": [103.003, 97.661], "end": [96.133, 97.661], "type": "segment", "width": 0.12}, {"start": [103.045, 97.621], "end": [96.091, 97.621], "type": "segment", "width": 0.12}, {"start": [98.387, 97.58099999999999], "end": [96.05, 97.58099999999999], "type": "segment", "width": 0.12}, {"start": [103.086, 97.58099999999999], "end": [100.749, 97.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.541], "end": [96.009, 97.541], "type": "segment", "width": 0.12}, {"start": [103.127, 97.541], "end": [100.749, 97.541], "type": "segment", "width": 0.12}, {"start": [98.387, 97.50099999999999], "end": [95.97, 97.50099999999999], "type": "segment", "width": 0.12}, {"start": [103.166, 97.50099999999999], "end": [100.749, 97.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.461], "end": [95.931, 97.461], "type": "segment", "width": 0.12}, {"start": [103.205, 97.461], "end": [100.749, 97.461], "type": "segment", "width": 0.12}, {"start": [98.387, 97.42099999999999], "end": [95.893, 97.42099999999999], "type": "segment", "width": 0.12}, {"start": [103.243, 97.42099999999999], "end": [100.749, 97.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.381], "end": [95.856, 97.381], "type": "segment", "width": 0.12}, {"start": [103.28, 97.381], "end": [100.749, 97.381], "type": "segment", "width": 0.12}, {"start": [98.387, 97.341], "end": [95.82, 97.341], "type": "segment", "width": 0.12}, {"start": [103.31599999999999, 97.341], "end": [100.749, 97.341], "type": "segment", "width": 0.12}, {"start": [98.387, 97.301], "end": [95.78399999999999, 97.301], "type": "segment", "width": 0.12}, {"start": [103.35199999999999, 97.301], "end": [100.749, 97.301], "type": "segment", "width": 0.12}, {"start": [98.387, 97.261], "end": [95.749, 97.261], "type": "segment", "width": 0.12}, {"start": [103.387, 97.261], "end": [100.749, 97.261], "type": "segment", "width": 0.12}, {"start": [98.387, 97.22099999999999], "end": [95.71499999999999, 97.22099999999999], "type": "segment", "width": 0.12}, {"start": [103.42099999999999, 97.22099999999999], "end": [100.749, 97.22099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.181], "end": [95.682, 97.181], "type": "segment", "width": 0.12}, {"start": [103.454, 97.181], "end": [100.749, 97.181], "type": "segment", "width": 0.12}, {"start": [98.387, 97.14099999999999], "end": [95.649, 97.14099999999999], "type": "segment", "width": 0.12}, {"start": [103.487, 97.14099999999999], "end": [100.749, 97.14099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.101], "end": [95.61699999999999, 97.101], "type": "segment", "width": 0.12}, {"start": [103.51899999999999, 97.101], "end": [100.749, 97.101], "type": "segment", "width": 0.12}, {"start": [98.387, 97.06099999999999], "end": [95.586, 97.06099999999999], "type": "segment", "width": 0.12}, {"start": [103.55, 97.06099999999999], "end": [100.749, 97.06099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 97.021], "end": [95.55499999999999, 97.021], "type": "segment", "width": 0.12}, {"start": [103.58099999999999, 97.021], "end": [100.749, 97.021], "type": "segment", "width": 0.12}, {"start": [98.387, 96.981], "end": [95.52499999999999, 96.981], "type": "segment", "width": 0.12}, {"start": [103.61099999999999, 96.981], "end": [100.749, 96.981], "type": "segment", "width": 0.12}, {"start": [98.387, 96.941], "end": [95.496, 96.941], "type": "segment", "width": 0.12}, {"start": [103.64, 96.941], "end": [100.749, 96.941], "type": "segment", "width": 0.12}, {"start": [98.387, 96.901], "end": [95.467, 96.901], "type": "segment", "width": 0.12}, {"start": [103.669, 96.901], "end": [100.749, 96.901], "type": "segment", "width": 0.12}, {"start": [98.387, 96.86099999999999], "end": [95.438, 96.86099999999999], "type": "segment", "width": 0.12}, {"start": [103.698, 96.86099999999999], "end": [100.749, 96.86099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.821], "end": [95.411, 96.821], "type": "segment", "width": 0.12}, {"start": [103.725, 96.821], "end": [100.749, 96.821], "type": "segment", "width": 0.12}, {"start": [98.387, 96.78099999999999], "end": [95.383, 96.78099999999999], "type": "segment", "width": 0.12}, {"start": [103.753, 96.78099999999999], "end": [100.749, 96.78099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.741], "end": [95.357, 96.741], "type": "segment", "width": 0.12}, {"start": [103.779, 96.741], "end": [100.749, 96.741], "type": "segment", "width": 0.12}, {"start": [98.387, 96.701], "end": [95.33099999999999, 96.701], "type": "segment", "width": 0.12}, {"start": [103.80499999999999, 96.701], "end": [100.749, 96.701], "type": "segment", "width": 0.12}, {"start": [98.387, 96.661], "end": [95.30499999999999, 96.661], "type": "segment", "width": 0.12}, {"start": [103.83099999999999, 96.661], "end": [100.749, 96.661], "type": "segment", "width": 0.12}, {"start": [98.387, 96.621], "end": [95.28, 96.621], "type": "segment", "width": 0.12}, {"start": [103.856, 96.621], "end": [100.749, 96.621], "type": "segment", "width": 0.12}, {"start": [98.387, 96.58099999999999], "end": [95.256, 96.58099999999999], "type": "segment", "width": 0.12}, {"start": [103.88, 96.58099999999999], "end": [100.749, 96.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.541], "end": [95.232, 96.541], "type": "segment", "width": 0.12}, {"start": [103.904, 96.541], "end": [100.749, 96.541], "type": "segment", "width": 0.12}, {"start": [98.387, 96.50099999999999], "end": [95.208, 96.50099999999999], "type": "segment", "width": 0.12}, {"start": [103.928, 96.50099999999999], "end": [100.749, 96.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.461], "end": [95.185, 96.461], "type": "segment", "width": 0.12}, {"start": [103.951, 96.461], "end": [100.749, 96.461], "type": "segment", "width": 0.12}, {"start": [98.387, 96.42099999999999], "end": [95.163, 96.42099999999999], "type": "segment", "width": 0.12}, {"start": [103.973, 96.42099999999999], "end": [100.749, 96.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.381], "end": [95.14, 96.381], "type": "segment", "width": 0.12}, {"start": [103.996, 96.381], "end": [100.749, 96.381], "type": "segment", "width": 0.12}, {"start": [98.387, 96.341], "end": [95.119, 96.341], "type": "segment", "width": 0.12}, {"start": [104.017, 96.341], "end": [100.749, 96.341], "type": "segment", "width": 0.12}, {"start": [98.387, 96.301], "end": [95.098, 96.301], "type": "segment", "width": 0.12}, {"start": [104.038, 96.301], "end": [100.749, 96.301], "type": "segment", "width": 0.12}, {"start": [98.387, 96.261], "end": [95.077, 96.261], "type": "segment", "width": 0.12}, {"start": [104.059, 96.261], "end": [100.749, 96.261], "type": "segment", "width": 0.12}, {"start": [98.387, 96.22099999999999], "end": [95.057, 96.22099999999999], "type": "segment", "width": 0.12}, {"start": [104.079, 96.22099999999999], "end": [100.749, 96.22099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.181], "end": [95.03699999999999, 96.181], "type": "segment", "width": 0.12}, {"start": [104.09899999999999, 96.181], "end": [100.749, 96.181], "type": "segment", "width": 0.12}, {"start": [98.387, 96.14099999999999], "end": [95.018, 96.14099999999999], "type": "segment", "width": 0.12}, {"start": [104.118, 96.14099999999999], "end": [100.749, 96.14099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.101], "end": [94.999, 96.101], "type": "segment", "width": 0.12}, {"start": [104.137, 96.101], "end": [100.749, 96.101], "type": "segment", "width": 0.12}, {"start": [98.387, 96.06099999999999], "end": [94.97999999999999, 96.06099999999999], "type": "segment", "width": 0.12}, {"start": [104.15599999999999, 96.06099999999999], "end": [100.749, 96.06099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 96.021], "end": [94.96199999999999, 96.021], "type": "segment", "width": 0.12}, {"start": [104.17399999999999, 96.021], "end": [100.749, 96.021], "type": "segment", "width": 0.12}, {"start": [98.387, 95.981], "end": [94.944, 95.981], "type": "segment", "width": 0.12}, {"start": [104.192, 95.981], "end": [100.749, 95.981], "type": "segment", "width": 0.12}, {"start": [98.387, 95.941], "end": [94.92699999999999, 95.941], "type": "segment", "width": 0.12}, {"start": [104.20899999999999, 95.941], "end": [100.749, 95.941], "type": "segment", "width": 0.12}, {"start": [98.387, 95.901], "end": [94.91, 95.901], "type": "segment", "width": 0.12}, {"start": [104.226, 95.901], "end": [100.749, 95.901], "type": "segment", "width": 0.12}, {"start": [98.387, 95.86099999999999], "end": [94.89399999999999, 95.86099999999999], "type": "segment", "width": 0.12}, {"start": [104.24199999999999, 95.86099999999999], "end": [100.749, 95.86099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.821], "end": [94.877, 95.821], "type": "segment", "width": 0.12}, {"start": [104.259, 95.821], "end": [100.749, 95.821], "type": "segment", "width": 0.12}, {"start": [98.387, 95.78099999999999], "end": [94.862, 95.78099999999999], "type": "segment", "width": 0.12}, {"start": [104.274, 95.78099999999999], "end": [100.749, 95.78099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.741], "end": [94.84599999999999, 95.741], "type": "segment", "width": 0.12}, {"start": [104.28999999999999, 95.741], "end": [100.749, 95.741], "type": "segment", "width": 0.12}, {"start": [98.387, 95.701], "end": [94.83099999999999, 95.701], "type": "segment", "width": 0.12}, {"start": [104.30499999999999, 95.701], "end": [100.749, 95.701], "type": "segment", "width": 0.12}, {"start": [98.387, 95.661], "end": [94.817, 95.661], "type": "segment", "width": 0.12}, {"start": [104.31899999999999, 95.661], "end": [100.749, 95.661], "type": "segment", "width": 0.12}, {"start": [98.387, 95.621], "end": [94.803, 95.621], "type": "segment", "width": 0.12}, {"start": [104.333, 95.621], "end": [100.749, 95.621], "type": "segment", "width": 0.12}, {"start": [98.387, 95.58099999999999], "end": [94.789, 95.58099999999999], "type": "segment", "width": 0.12}, {"start": [104.347, 95.58099999999999], "end": [100.749, 95.58099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.541], "end": [94.776, 95.541], "type": "segment", "width": 0.12}, {"start": [104.36, 95.541], "end": [100.749, 95.541], "type": "segment", "width": 0.12}, {"start": [98.387, 95.50099999999999], "end": [94.762, 95.50099999999999], "type": "segment", "width": 0.12}, {"start": [104.374, 95.50099999999999], "end": [100.749, 95.50099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.461], "end": [94.75, 95.461], "type": "segment", "width": 0.12}, {"start": [104.386, 95.461], "end": [100.749, 95.461], "type": "segment", "width": 0.12}, {"start": [98.387, 95.42099999999999], "end": [94.737, 95.42099999999999], "type": "segment", "width": 0.12}, {"start": [104.399, 95.42099999999999], "end": [100.749, 95.42099999999999], "type": "segment", "width": 0.12}, {"start": [98.387, 95.381], "end": [94.725, 95.381], "type": "segment", "width": 0.12}, {"start": [104.411, 95.381], "end": [100.749, 95.381], "type": "segment", "width": 0.12}, {"start": [98.387, 95.341], "end": [94.714, 95.341], "type": "segment", "width": 0.12}, {"start": [104.422, 95.341], "end": [100.749, 95.341], "type": "segment", "width": 0.12}, {"start": [98.387, 95.301], "end": [94.70299999999999, 95.301], "type": "segment", "width": 0.12}, {"start": [104.43299999999999, 95.301], "end": [100.749, 95.301], "type": "segment", "width": 0.12}, {"start": [98.387, 95.261], "end": [94.692, 95.261], "type": "segment", "width": 0.12}, {"start": [104.44399999999999, 95.261], "end": [100.749, 95.261], "type": "segment", "width": 0.12}, {"start": [104.455, 95.22099999999999], "end": [94.681, 95.22099999999999], "type": "segment", "width": 0.12}, {"start": [104.46499999999999, 95.181], "end": [94.67099999999999, 95.181], "type": "segment", "width": 0.12}, {"start": [104.475, 95.14099999999999], "end": [94.661, 95.14099999999999], "type": "segment", "width": 0.12}, {"start": [104.485, 95.101], "end": [94.651, 95.101], "type": "segment", "width": 0.12}, {"start": [104.494, 95.06099999999999], "end": [94.642, 95.06099999999999], "type": "segment", "width": 0.12}, {"start": [104.503, 95.021], "end": [94.633, 95.021], "type": "segment", "width": 0.12}, {"start": [104.511, 94.981], "end": [94.625, 94.981], "type": "segment", "width": 0.12}, {"start": [104.51899999999999, 94.941], "end": [94.61699999999999, 94.941], "type": "segment", "width": 0.12}, {"start": [104.527, 94.901], "end": [94.609, 94.901], "type": "segment", "width": 0.12}, {"start": [104.535, 94.86099999999999], "end": [94.601, 94.86099999999999], "type": "segment", "width": 0.12}, {"start": [104.542, 94.821], "end": [94.594, 94.821], "type": "segment", "width": 0.12}, {"start": [104.54899999999999, 94.78099999999999], "end": [94.58699999999999, 94.78099999999999], "type": "segment", "width": 0.12}, {"start": [104.55499999999999, 94.741], "end": [94.58099999999999, 94.741], "type": "segment", "width": 0.12}, {"start": [104.56099999999999, 94.701], "end": [94.57499999999999, 94.701], "type": "segment", "width": 0.12}, {"start": [104.567, 94.661], "end": [94.569, 94.661], "type": "segment", "width": 0.12}, {"start": [104.573, 94.61999999999999], "end": [94.563, 94.61999999999999], "type": "segment", "width": 0.12}, {"start": [104.57799999999999, 94.58], "end": [94.55799999999999, 94.58], "type": "segment", "width": 0.12}, {"start": [104.583, 94.53999999999999], "end": [94.553, 94.53999999999999], "type": "segment", "width": 0.12}, {"start": [104.588, 94.5], "end": [94.548, 94.5], "type": "segment", "width": 0.12}, {"start": [104.592, 94.46], "end": [94.544, 94.46], "type": "segment", "width": 0.12}, {"start": [104.59599999999999, 94.42], "end": [94.53999999999999, 94.42], "type": "segment", "width": 0.12}, {"start": [104.59899999999999, 94.38], "end": [94.53699999999999, 94.38], "type": "segment", "width": 0.12}, {"start": [104.603, 94.33999999999999], "end": [94.533, 94.33999999999999], "type": "segment", "width": 0.12}, {"start": [104.606, 94.3], "end": [94.53, 94.3], "type": "segment", "width": 0.12}, {"start": [104.60799999999999, 94.25999999999999], "end": [94.52799999999999, 94.25999999999999], "type": "segment", "width": 0.12}, {"start": [104.61099999999999, 94.22], "end": [94.52499999999999, 94.22], "type": "segment", "width": 0.12}, {"start": [104.613, 94.17999999999999], "end": [94.523, 94.17999999999999], "type": "segment", "width": 0.12}, {"start": [104.615, 94.14], "end": [94.521, 94.14], "type": "segment", "width": 0.12}, {"start": [104.616, 94.1], "end": [94.52, 94.1], "type": "segment", "width": 0.12}, {"start": [104.61699999999999, 94.06], "end": [94.51899999999999, 94.06], "type": "segment", "width": 0.12}, {"start": [104.618, 94.02], "end": [94.518, 94.02], "type": "segment", "width": 0.12}, {"start": [104.618, 93.97999999999999], "end": [94.518, 93.97999999999999], "type": "segment", "width": 0.12}, {"start": [104.618, 93.94], "end": [94.518, 93.94], "type": "segment", "width": 0.12}, {"width": 0.12, "endangle": 105.76908480639413, "start": [99.568, 93.94], "radius": 5.09, "startangle": 74.26908480639415, "type": "arc"}, {"width": 0.12, "endangle": 254.26908480639415, "start": [99.568, 93.94], "radius": 5.09, "startangle": 105.76908480639413, "type": "arc"}, {"width": 0.12, "endangle": 434.2309151936059, "start": [99.568, 93.94], "radius": 5.09, "startangle": 285.7309151936059, "type": "arc"}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "powerIn1", "thickness": 0.15, "pos": [98.512, 124.77199999999999], "height": 1.0}, {"start": [96.012, 118.972], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [101.012, 118.972], "radius": 2.0, "type": "circle", "width": 0.15}, {"start": [93.512, 113.672], "end": [93.512, 123.472], "type": "segment", "width": 0.15}, {"start": [103.512, 113.672], "end": [93.512, 113.672], "type": "segment", "width": 0.15}, {"start": [103.512, 123.472], "end": [103.512, 113.672], "type": "segment", "width": 0.15}, {"start": [93.512, 123.472], "end": [103.512, 123.472], "type": "segment", "width": 0.15}, {"start": [93.512, 122.972], "end": [103.512, 122.972], "type": "segment", "width": 0.15}, {"start": [93.512, 116.57199999999999], "end": [103.512, 116.57199999999999], "type": "segment", "width": 0.15}, {"start": [93.512, 121.472], "end": [103.512, 121.472], "type": "segment", "width": 0.15}, {"start": [98.512, 122.972], "end": [98.512, 123.472], "type": "segment", "width": 0.15}, {"width": 1.0, "angle": 90.0, "attr": [], "horiz_justify": 0, "text": "Regulator1", "thickness": 0.15, "pos": [94.73599999999999, 105.82], "height": 1.0}, {"start": [111.62599999999999, 102.42], "end": [114.26599999999999, 102.42], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 104.11999999999999], "end": [114.26599999999999, 104.11999999999999], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 105.82], "end": [114.26599999999999, 105.82], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 107.52], "end": [114.26599999999999, 107.52], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 109.22], "end": [114.26599999999999, 109.22], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 100.69999999999999], "end": [111.62599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 110.94099999999999], "end": [111.62599999999999, 110.94099999999999], "type": "segment", "width": 0.12}, {"start": [95.73599999999999, 110.94099999999999], "end": [95.73599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"start": [111.62599999999999, 110.94099999999999], "end": [111.62599999999999, 100.69999999999999], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D3", "thickness": 0.15, "pos": [129.03199999999998, 104.036], "height": 1.0}, {"start": [125.707, 105.036], "end": [125.707, 110.356], "type": "segment", "width": 0.12}, {"start": [134.87199999999999, 107.696], "end": [133.84199999999998, 107.696], "type": "segment", "width": 0.12}, {"start": [123.192, 107.696], "end": [124.222, 107.696], "type": "segment", "width": 0.12}, {"start": [133.84199999999998, 105.036], "end": [124.222, 105.036], "type": "segment", "width": 0.12}, {"start": [133.84199999999998, 110.356], "end": [133.84199999999998, 105.036], "type": "segment", "width": 0.12}, {"start": [124.222, 110.356], "end": [133.84199999999998, 110.356], "type": "segment", "width": 0.12}, {"start": [124.222, 105.036], "end": [124.222, 110.356], "type": "segment", "width": 0.12}, {"width": 1.0, "angle": 0.0, "attr": [], "horiz_justify": 0, "text": "D4", "thickness": 0.15, "pos": [113.03, 115.72], "height": 1.0}, {"start": [109.705, 116.72], "end": [109.705, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [117.83999999999999, 122.03999999999999], "end": [117.83999999999999, 121.16], "type": "segment", "width": 0.12}, {"start": [108.22, 122.03999999999999], "end": [117.83999999999999, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [108.22, 121.16], "end": [108.22, 122.03999999999999], "type": "segment", "width": 0.12}, {"start": [117.83999999999999, 116.72], "end": [117.83999999999999, 117.6], "type": "segment", "width": 0.12}, {"start": [108.22, 116.72], "end": [117.83999999999999, 116.72], "type": "segment", "width": 0.12}, {"start": [108.22, 117.6], "end": [108.22, 116.72], "type": "segment", "width": 0.12}]}, "edges_bbox": {"minx": 91.872999, "miny": 39.802999, "maxx": 206.831001, "maxy": 125.170001}, "metadata": {"date": "2018-11-05 21:18:13", "company": "", "revision": "", "title": "OpenPLC_V2"}} -/////////////////////////////////////////////// - -/////////////////////////////////////////////// -/* PCB rendering code */ - -var redrawOnDrag = true; -var boardRotation = 0; - -function deg2rad(deg) { - return deg * Math.PI / 180; -} - -function calcFontPoint(linepoint, text, offsetx, offsety, tilt) { - var point = [ - linepoint[0] * text.width + offsetx, - linepoint[1] * text.height + offsety - ]; - // Adding half a line height here is technically a bug - // but pcbnew currently does the same, text is slightly shifted. - point[0] -= (point[1] + text.height * 0.5) * tilt; - return point; -} - -function drawtext(ctx, text, color, flip) { - ctx.save(); - ctx.translate(...text.pos); - var angle = -text.angle; - if (text.attr.includes("mirrored")) { - ctx.scale(-1, 1); - angle = -angle; - } - var tilt = 0; - if (text.attr.includes("italic")) { - tilt = 0.125; - } - var interline = (text.height * 1.5 + text.thickness) / 2; - var txt = text.text.split("\n"); - ctx.rotate(deg2rad(angle)); - ctx.fillStyle = color; - ctx.strokeStyle = color; - ctx.lineCap = "round"; - ctx.lineWidth = text.thickness; - for (var i in txt) { - var offsety = (-(txt.length - 1) + i * 2) * interline + text.height / 2; - var lineWidth = 0; - for (var c of txt[i]) { - lineWidth += pcbdata.font_data[c].w * text.width; - } - var offsetx = 0; - switch (text.horiz_justify) { - case -1: - // Justify left, do nothing - break; - case 0: - // Justify center - offsetx -= lineWidth / 2; - break; - case 1: - // Justify right - offsetx -= lineWidth; - break; - } - for (var c of txt[i]) { - for (var line of pcbdata.font_data[c].l) { - // Drawing each segment separately instead of - // polyline because round line caps don't work in joints - for (var i = 0; i < line.length - 1; i++) { - ctx.beginPath(); - ctx.moveTo(...calcFontPoint(line[i], text, offsetx, offsety, tilt)); - ctx.lineTo(...calcFontPoint(line[i + 1], text, offsetx, offsety, tilt)); - ctx.stroke(); - } - } - offsetx += pcbdata.font_data[c].w * text.width; - } - } - ctx.restore(); -} - -function drawedge(ctx, scalefactor, edge, color) { - ctx.strokeStyle = color; - ctx.lineWidth = Math.max(1 / scalefactor, edge.width); - ctx.lineCap = "round"; - if (edge.type == "segment") { - ctx.beginPath(); - ctx.moveTo(...edge.start); - ctx.lineTo(...edge.end); - ctx.stroke(); - } - if (edge.type == "arc") { - ctx.beginPath(); - ctx.arc( - ...edge.start, - edge.radius, - deg2rad(edge.startangle), - deg2rad(edge.endangle)); - ctx.stroke(); - } - if (edge.type == "circle") { - ctx.beginPath(); - ctx.arc( - ...edge.start, - edge.radius, - 0, 2 * Math.PI); - ctx.closePath(); - ctx.stroke(); - } -} - -function drawRoundRect(ctx, color, size, radius, ctxmethod) { - ctx.beginPath(); - ctx.strokeStyle = color; - var x = size[0] * -0.5; - var y = size[1] * -0.5; - var width = size[0]; - var height = size[1]; - ctx.moveTo(x, 0); - ctx.arcTo(x, y + height, x + width, y + height, radius); - ctx.arcTo(x + width, y + height, x + width, y, radius); - ctx.arcTo(x + width, y, x, y, radius); - ctx.arcTo(x, y, x, y + height, radius); - ctx.closePath(); - ctxmethod(); -} - -function drawOblong(ctx, color, size, ctxmethod) { - drawRoundRect(ctx, color, size, Math.min(size[0], size[1]) / 2, ctxmethod); -} - -function drawPolygons(ctx, color, polygons, ctxmethod) { - ctx.fillStyle = color; - for (var polygon of polygons) { - ctx.beginPath(); - for (var vertex of polygon) { - ctx.lineTo(...vertex) - } - ctx.closePath(); - ctxmethod(); - } -} - -function drawPolygonShape(ctx, shape, color) { - ctx.save(); - ctx.translate(...shape.pos); - ctx.rotate(deg2rad(-shape.angle)); - drawPolygons(ctx, color, shape.polygons, ctx.fill.bind(ctx)); - ctx.restore(); -} - -function drawDrawing(ctx, layer, scalefactor, drawing, color) { - if (["segment", "arc", "circle"].includes(drawing.type)) { - drawedge(ctx, scalefactor, drawing, color); - } else if (drawing.type == "polygon") { - drawPolygonShape(ctx, drawing, color); - } else { - drawtext(ctx, drawing, color, layer == "B"); - } -} - -function drawCircle(ctx, radius, ctxmethod) { - ctx.beginPath(); - ctx.arc(0, 0, radius, 0, 2 * Math.PI); - ctx.closePath(); - ctxmethod(); -} - -function drawPad(ctx, pad, color, outline) { - ctx.save(); - ctx.translate(...pad.pos); - ctx.rotate(deg2rad(pad.angle)); - if (pad.offset) { - ctx.translate(...pad.offset); - } - ctx.fillStyle = color; - ctx.strokeStyle = color; - var ctxmethod = outline ? ctx.stroke.bind(ctx) : ctx.fill.bind(ctx); - if (pad.shape == "rect") { - var rect = [...pad.size.map(c => -c * 0.5), ...pad.size]; - if (outline) { - ctx.strokeRect(...rect); - } else { - ctx.fillRect(...rect); - } - } else if (pad.shape == "oval") { - drawOblong(ctx, color, pad.size, ctxmethod); - } else if (pad.shape == "circle") { - drawCircle(ctx, pad.size[0] / 2, ctxmethod); - } else if (pad.shape == "roundrect") { - drawRoundRect(ctx, color, pad.size, pad.radius, ctxmethod); - } else if (pad.shape == "custom") { - drawPolygons(ctx, color, pad.polygons, ctxmethod); - } - if (pad.type == "th" && !outline) { - ctx.fillStyle = "#CCCCCC"; - if (pad.drillshape == "oblong") { - drawOblong(ctx, "#CCCCCC", pad.drillsize, ctxmethod); - } else { - drawCircle(ctx, pad.drillsize[0] / 2, ctxmethod); - } - } - ctx.restore(); -} - -function drawModule(ctx, layer, scalefactor, module, padcolor, outlinecolor, highlight) { - if (highlight) { - // draw bounding box - if (module.layer == layer) { - ctx.save(); - ctx.globalAlpha = 0.2; - ctx.translate(...module.bbox.pos); - ctx.fillStyle = padcolor; - ctx.fillRect( - 0, 0, - ...module.bbox.size); - ctx.globalAlpha = 1; - ctx.strokeStyle = padcolor; - ctx.strokeRect( - 0, 0, - ...module.bbox.size); - ctx.restore(); - } - } - // draw drawings - for (var drawing of module.drawings) { - if (drawing.layer == layer) { - drawDrawing(ctx, layer, scalefactor, drawing.drawing, padcolor); - } - } - // draw pads - for (var pad of module.pads) { - if (pad.layers.includes(layer)) { - drawPad(ctx, pad, padcolor, false); - if (pad.pin1 && highlightpin1) { - drawPad(ctx, pad, outlinecolor, true); - } - } - } -} - -function drawEdges(canvas, scalefactor) { - var ctx = canvas.getContext("2d"); - var edgecolor = getComputedStyle(topmostdiv).getPropertyValue('--pcb-edge-color'); - for (var edge of pcbdata.edges) { - drawedge(ctx, scalefactor, edge, edgecolor); - } -} - -function drawModules(canvas, layer, scalefactor, highlightedRefs) { - var ctx = canvas.getContext("2d"); - ctx.lineWidth = 3 / scalefactor; - var style = getComputedStyle(topmostdiv); - var padcolor = style.getPropertyValue('--pad-color'); - var outlinecolor = style.getPropertyValue('--pin1-outline-color'); - if (highlightedRefs.length > 0) { - padcolor = style.getPropertyValue('--pad-color-highlight'); - outlinecolor = style.getPropertyValue('--pin1-outline-color-highlight'); - } - for (var i in pcbdata.modules) { - var mod = pcbdata.modules[i]; - var highlight = highlightedRefs.includes(mod.ref); - if (highlightedRefs.length == 0 || highlight) { - drawModule(ctx, layer, scalefactor, mod, padcolor, outlinecolor, highlight); - } - } -} - -function drawSilkscreen(canvas, layer, scalefactor) { - var ctx = canvas.getContext("2d"); - for (var d of pcbdata.silkscreen[layer]) { - if (["segment", "arc", "circle"].includes(d.type)) { - drawedge(ctx, scalefactor, d, "#aa4"); - } else if (d.type == "polygon") { - drawPolygonShape(ctx, d, "#4aa"); - } else { - drawtext(ctx, d, "#4aa", layer == "B"); - } - } -} - -function clearCanvas(canvas) { - var ctx = canvas.getContext("2d"); - ctx.save(); - ctx.setTransform(1, 0, 0, 1, 0, 0); - ctx.clearRect(0, 0, canvas.width, canvas.height); - ctx.restore(); -} - -function drawHighlightsOnLayer(canvasdict) { - clearCanvas(canvasdict.highlight); - drawModules(canvasdict.highlight, canvasdict.layer, - canvasdict.transform.s, highlightedRefs); -} - -function drawHighlights() { - drawHighlightsOnLayer(allcanvas.front); - drawHighlightsOnLayer(allcanvas.back); -} - -function drawBackground(canvasdict) { - clearCanvas(canvasdict.bg); - clearCanvas(canvasdict.silk); - drawEdges(canvasdict.bg, canvasdict.transform.s); - drawModules(canvasdict.bg, canvasdict.layer, canvasdict.transform.s, []); - drawSilkscreen(canvasdict.silk, canvasdict.layer, canvasdict.transform.s); -} - -function prepareCanvas(canvas, flip, transform) { - var ctx = canvas.getContext("2d"); - ctx.setTransform(1, 0, 0, 1, 0, 0); - var fontsize = 1.55; - ctx.scale(transform.zoom, transform.zoom); - ctx.translate(transform.panx, transform.pany); - if (flip) { - ctx.scale(-1, 1); - } - ctx.translate(transform.x, transform.y); - ctx.rotate(deg2rad(boardRotation)); - ctx.scale(transform.s, transform.s); -} - -function prepareLayer(canvasdict) { - var flip = (canvasdict.layer == "B"); - for (var c of ["bg", "silk", "highlight"]) { - prepareCanvas(canvasdict[c], flip, canvasdict.transform); - } -} - -function rotateVector(v, angle) { - angle = deg2rad(angle); - return [ - v[0] * Math.cos(angle) - v[1] * Math.sin(angle), - v[0] * Math.sin(angle) + v[1] * Math.cos(angle) - ]; -} - -function applyRotation(bbox) { - var corners = [ - [bbox.minx, bbox.miny], - [bbox.minx, bbox.maxy], - [bbox.maxx, bbox.miny], - [bbox.maxx, bbox.maxy], - ]; - corners = corners.map((v) => rotateVector(v, boardRotation)); - return { - minx: corners.reduce((a, v) => Math.min(a, v[0]), Infinity), - miny: corners.reduce((a, v) => Math.min(a, v[1]), Infinity), - maxx: corners.reduce((a, v) => Math.max(a, v[0]), -Infinity), - maxy: corners.reduce((a, v) => Math.max(a, v[1]), -Infinity), - } -} - -function recalcLayerScale(canvasdict) { - var canvasdivid = { - "F": "frontcanvas", - "B": "backcanvas" - } [canvasdict.layer]; - var width = document.getElementById(canvasdivid).clientWidth * 2; - var height = document.getElementById(canvasdivid).clientHeight * 2; - var bbox = applyRotation(pcbdata.edges_bbox); - var scalefactor = 0.98 * Math.min( - width / (bbox.maxx - bbox.minx), - height / (bbox.maxy - bbox.miny) - ); - if (scalefactor < 0.1) { - scalefactor = 1; - } - canvasdict.transform.s = scalefactor; - var flip = (canvasdict.layer == "B"); - if (flip) { - canvasdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor + width) * 0.5; - } else { - canvasdict.transform.x = -((bbox.maxx + bbox.minx) * scalefactor - width) * 0.5; - } - canvasdict.transform.y = -((bbox.maxy + bbox.miny) * scalefactor - height) * 0.5; - for (var c of ["bg", "silk", "highlight"]) { - canvas = canvasdict[c]; - canvas.width = width; - canvas.height = height; - canvas.style.width = (width / 2) + "px"; - canvas.style.height = (height / 2) + "px"; - } - console.log("Scale factor " + canvasdivid + ": ", canvasdict.transform); -} - -function redrawCanvas(layerdict) { - prepareLayer(layerdict); - drawBackground(layerdict); - drawHighlightsOnLayer(layerdict); -} - -function resizeCanvas(layerdict) { - recalcLayerScale(layerdict); - redrawCanvas(layerdict); -} - -function resizeAll() { - resizeCanvas(allcanvas.front); - resizeCanvas(allcanvas.back); -} - -function bboxScan(layer, x, y) { - var result = []; - for (var i in pcbdata.modules) { - var module = pcbdata.modules[i]; - if (module.layer == layer) { - var b = module.bbox; - if (b.pos[0] <= x && b.pos[0] + b.size[0] >= x && - b.pos[1] <= y && b.pos[1] + b.size[1] >= y) { - result.push(module.ref); - } - } - } - return result; -} - -function handleMouseDown(e, layerdict) { - if (e.which != 1) { - return; - } - e.preventDefault(); - e.stopPropagation(); - layerdict.transform.mousestartx = e.offsetX; - layerdict.transform.mousestarty = e.offsetY; - layerdict.transform.mousedownx = e.offsetX; - layerdict.transform.mousedowny = e.offsetY; - layerdict.transform.mousedown = true; -} - -function handleMouseClick(e, layerdict) { - var x = e.offsetX; - var y = e.offsetY; - var t = layerdict.transform; - if (layerdict.layer == "B") { - x = (2 * x / t.zoom - t.panx + t.x) / -t.s; - } else { - x = (2 * x / t.zoom - t.panx - t.x) / t.s; - } - y = (2 * y / t.zoom - t.y - t.pany) / t.s; - var v = rotateVector([x, y], -boardRotation); - var reflist = bboxScan(layerdict.layer, v[0], v[1]); - if (reflist.length > 0) { - modulesClicked(reflist); - drawHighlights(); - } -} - -function handleMouseUp(e, layerdict) { - e.preventDefault(); - e.stopPropagation(); - if (e.which == 1 && - layerdict.transform.mousedown && - layerdict.transform.mousedownx == e.offsetX && - layerdict.transform.mousedowny == e.offsetY) { - // This is just a click - handleMouseClick(e, layerdict); - layerdict.transform.mousedown = false; - return; - } - if (e.which == 3) { - // Reset pan and zoom on right click. - layerdict.transform.panx = 0; - layerdict.transform.pany = 0; - layerdict.transform.zoom = 1; - redrawCanvas(layerdict); - } else if (!redrawOnDrag) { - redrawCanvas(layerdict); - } - layerdict.transform.mousedown = false; -} - -function handleMouseMove(e, layerdict) { - if (!layerdict.transform.mousedown) { - return; - } - e.preventDefault(); - e.stopPropagation(); - var dx = e.offsetX - layerdict.transform.mousestartx; - var dy = e.offsetY - layerdict.transform.mousestarty; - layerdict.transform.panx += 2 * dx / layerdict.transform.zoom; - layerdict.transform.pany += 2 * dy / layerdict.transform.zoom; - layerdict.transform.mousestartx = e.offsetX; - layerdict.transform.mousestarty = e.offsetY; - if (redrawOnDrag) { - redrawCanvas(layerdict); - } -} - -function handleMouseWheel(e, layerdict) { - e.preventDefault(); - e.stopPropagation(); - var t = layerdict.transform; - var wheeldelta = e.deltaY; - if (e.deltaMode == 1) { - // FF only, scroll by lines - wheeldelta *= 30; - } else if (e.deltaMode == 2) { - wheeldelta *= 300; - } - var m = Math.pow(1.1, -wheeldelta / 40); - // Limit amount of zoom per tick. - if (m > 2) { - m = 2; - } else if (m < 0.5) { - m = 0.5; - } - t.zoom *= m; - var zoomd = (1 - m) / t.zoom; - t.panx += 2 * e.offsetX * zoomd; - t.pany += 2 * e.offsetY * zoomd; - redrawCanvas(layerdict); - console.log(layerdict.transform.zoom); -} - -function addMouseHandlers(div, layerdict) { - div.onmousedown = function(e) { - handleMouseDown(e, layerdict); - }; - div.onmousemove = function(e) { - handleMouseMove(e, layerdict); - }; - div.onmouseup = function(e) { - handleMouseUp(e, layerdict); - }; - div.onmouseout = function(e) { - handleMouseUp(e, layerdict); - } - div.onwheel = function(e) { - handleMouseWheel(e, layerdict); - } - for (var element of [div, layerdict.bg, layerdict.silk, layerdict.highlight]) { - element.addEventListener("contextmenu", function(e) { - e.preventDefault(); - }, false); - } -} - -function setRedrawOnDrag(value) { - redrawOnDrag = value; - writeStorage("redrawOnDrag", value); -} - -function setBoardRotation(value) { - boardRotation = value * 5; - writeStorage("boardRotation", boardRotation); - document.getElementById("rotationDegree").textContent = boardRotation; - resizeAll(); -} - -function initRender() { - allcanvas = { - front: { - transform: { - x: 0, - y: 0, - s: 1, - panx: 0, - pany: 0, - zoom: 1, - mousestartx: 0, - mousestarty: 0, - mousedown: false, - }, - bg: document.getElementById("F_bg"), - silk: document.getElementById("F_slk"), - highlight: document.getElementById("F_hl"), - layer: "F", - }, - back: { - transform: { - x: 0, - y: 0, - s: 1, - panx: 0, - pany: 0, - zoom: 1, - mousestartx: 0, - mousestarty: 0, - mousedown: false, - }, - bg: document.getElementById("B_bg"), - silk: document.getElementById("B_slk"), - highlight: document.getElementById("B_hl"), - layer: "B", - } - }; - addMouseHandlers(document.getElementById("frontcanvas"), allcanvas.front); - addMouseHandlers(document.getElementById("backcanvas"), allcanvas.back); -} - -/////////////////////////////////////////////// - -/////////////////////////////////////////////// -/* DOM manipulation and misc code */ - -var storagePrefix = 'KiCad_HTML_BOM__' + pcbdata.metadata.title + '__' + - pcbdata.metadata.revision + '__'; -var bomsplit; -var canvassplit; -var canvaslayout = "default"; -var bomlayout = "default"; -var bomSortFunction = null; -var currentSortColumn = null; -var currentSortOrder = null; -var currentHighlightedRowId; -var highlightHandlers = []; -var highlightedRefs = []; -var checkboxes = []; -var bomCheckboxes = ""; -var highlightpin1 = false; -var storage; -var lastClickedRef; - -function initStorage(key) { - try { - window.localStorage.getItem("blank"); - storage = window.localStorage; - } catch (e) { - // localStorage not available - } - if (!storage) { - try { - window.sessionStorage.getItem("blank"); - storage = window.sessionStorage; - } catch (e) { - // sessionStorage also not available - } - } -} - -function readStorage(key) { - if (storage) { - return storage.getItem(storagePrefix + '#' + key); - } else { - return null; - } -} - -function writeStorage(key, value) { - if (storage) { - storage.setItem(storagePrefix + '#' + key, value); - } -} - -function dbg(html) { - dbgdiv.innerHTML = html; -} - -function setDarkMode(value) { - if (value) { - topmostdiv.classList.add("dark"); - } else { - topmostdiv.classList.remove("dark"); - } - writeStorage("darkmode", value); - redrawCanvas(allcanvas.front); - redrawCanvas(allcanvas.back); -} - -function setHighlightPin1(value) { - writeStorage("highlightpin1", value); - highlightpin1 = value; - redrawCanvas(allcanvas.front); - redrawCanvas(allcanvas.back); -} - -function getStoredCheckboxRefs(checkbox) { - var existingRefs = readStorage("checkbox_" + checkbox); - if (!existingRefs) { - return new Set(); - } else { - return new Set(existingRefs.split(",")); - } -} - -function getCheckboxState(checkbox, references) { - var storedRefsSet = getStoredCheckboxRefs(checkbox); - var currentRefsSet = new Set(references); - // Get difference of current - stored - var difference = new Set(currentRefsSet); - for (ref of storedRefsSet) { - difference.delete(ref); - } - if (difference.size == 0) { - // All the current refs are stored - return "checked"; - } else if (difference.size == currentRefsSet.size) { - // None of the current refs are stored - return "unchecked"; - } else { - // Some of the refs are stored - return "indeterminate"; - } -} - -function setBomCheckboxState(checkbox, element, references) { - var state = getCheckboxState(checkbox, references); - element.checked = (state == "checked"); - element.indeterminate = (state == "indeterminate"); -} - -function createCheckboxChangeHandler(checkbox, references) { - return function() { - refsSet = getStoredCheckboxRefs(checkbox); - if (this.checked) { - // checkbox ticked - for (var ref of references) { - refsSet.add(ref); - } - } else { - // checkbox unticked - for (var ref of references) { - refsSet.delete(ref); - } - } - writeStorage("checkbox_" + checkbox, [...refsSet].join(",")); - } -} - -function createRowHighlightHandler(rowid, refs) { - return function() { - if (currentHighlightedRowId) { - if (currentHighlightedRowId == rowid) { - return; - } - document.getElementById(currentHighlightedRowId).classList.remove("highlighted"); - } - document.getElementById(rowid).classList.add("highlighted"); - currentHighlightedRowId = rowid; - highlightedRefs = refs; - drawHighlights(); - } -} - -function entryMatches(entry) { - // check refs - for (var ref of entry[3]) { - if (ref.toLowerCase().indexOf(filter) >= 0) { - return true; - } - } - // check value - if (entry[1].toLowerCase().indexOf(filter) >= 0) { - return true; - } - // check footprint - if (entry[2].toLowerCase().indexOf(filter) >= 0) { - return true; - } - return false; -} - -function findRefInEntry(entry) { - for (var ref of entry[3]) { - if (ref.toLowerCase() == reflookup) { - return [ref]; - } - } - return false; -} - -function highlightFilter(s) { - if (!filter) { - return s; - } - var parts = s.toLowerCase().split(filter); - if (parts.length == 1) { - return s; - } - var r = ""; - var pos = 0; - for (var i in parts) { - if (i > 0) { - r += '<mark class="highlight">' + - s.substring(pos, pos + filter.length) + - '</mark>'; - pos += filter.length; - } - r += s.substring(pos, pos + parts[i].length); - pos += parts[i].length; - } - return r; -} - -function checkboxSetUnsetAllHandler(checkboxname) { - return function() { - var checkboxnum = 0; - while (checkboxnum < checkboxes.length && - checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) { - checkboxnum++; - } - if (checkboxnum >= checkboxes.length) { - return; - } - var allset = true; - var checkbox; - var row; - for (row of bombody.childNodes) { - checkbox = row.childNodes[checkboxnum + 1].childNodes[0]; - if (!checkbox.checked || checkbox.indeterminate) { - allset = false; - break; - } - } - for (row of bombody.childNodes) { - checkbox = row.childNodes[checkboxnum + 1].childNodes[0]; - checkbox.checked = !allset; - checkbox.indeterminate = false; - checkbox.onchange(); - } - } -} - -function createColumnHeader(name, cls, comparator) { - var th = document.createElement("TH"); - th.innerHTML = name; - th.classList.add(cls); - th.style.cursor = "pointer"; - var span = document.createElement("SPAN"); - span.classList.add("sortmark"); - span.classList.add("none"); - th.appendChild(span); - th.onclick = function() { - if (currentSortColumn && this !== currentSortColumn) { - // Currently sorted by another column - currentSortColumn.childNodes[1].classList.remove(currentSortOrder); - currentSortColumn.childNodes[1].classList.add("none"); - currentSortColumn = null; - currentSortOrder = null; - } - if (currentSortColumn && this === currentSortColumn) { - // Already sorted by this column - if (currentSortOrder == "asc") { - // Sort by this column, descending order - bomSortFunction = function(a, b) { - return -comparator(a, b); - } - currentSortColumn.childNodes[1].classList.remove("asc"); - currentSortColumn.childNodes[1].classList.add("desc"); - currentSortOrder = "desc"; - } else { - // Unsort - bomSortFunction = null; - currentSortColumn.childNodes[1].classList.remove("desc"); - currentSortColumn.childNodes[1].classList.add("none"); - currentSortColumn = null; - currentSortOrder = null; - } - } else { - // Sort by this column, ascending order - bomSortFunction = comparator; - currentSortColumn = this; - currentSortColumn.childNodes[1].classList.remove("none"); - currentSortColumn.childNodes[1].classList.add("asc"); - currentSortOrder = "asc"; - } - populateBomBody(); - } - return th; -} - -function fancyDblClickHandler(el, onsingle, ondouble) { - return function() { - if (el.getAttribute("data-dblclick") == null) { - el.setAttribute("data-dblclick", 1); - setTimeout(function() { - if (el.getAttribute("data-dblclick") == 1) { - onsingle(); - } - el.removeAttribute("data-dblclick"); - }, 200); - } else { - el.removeAttribute("data-dblclick"); - ondouble(); - } - } -} - -function populateBomHeader() { - while (bomhead.firstChild) { - bomhead.removeChild(bomhead.firstChild); - } - var tr = document.createElement("TR"); - var th = document.createElement("TH"); - th.classList.add("numCol"); - tr.appendChild(th); - checkboxes = bomCheckboxes.split(",").filter((e) => e); - var checkboxCompareClosure = function(checkbox) { - return (a, b) => { - var stateA = getCheckboxState(checkbox, a[3]); - var stateB = getCheckboxState(checkbox, b[3]); - if (stateA > stateB) return -1; - if (stateA < stateB) return 1; - return 0; - } - } - for (var checkbox of checkboxes) { - th = createColumnHeader( - checkbox, "bom-checkbox", checkboxCompareClosure(checkbox)); - th.onclick = fancyDblClickHandler( - th, th.onclick.bind(th), checkboxSetUnsetAllHandler(checkbox)); - tr.appendChild(th); - } - tr.appendChild(createColumnHeader("References", "References", (a, b) => { - var i = 0; - while (i < a[3].length && i < b[3].length) { - if (a[3][i] != b[3][i]) return a[3][i] > b[3][i] ? 1 : -1; - i++; - } - return a[3].length - b[3].length; - })); - // Extra fields - if (config.extra_fields.length > 0) { - var extraFieldCompareClosure = function(fieldIndex) { - return (a, b) => { - var fa = a[4][fieldIndex]; - var fb = b[4][fieldIndex]; - if (fa != fb) return fa > fb ? 1 : -1; - else return 0; - } - } - for (var i in config.extra_fields) { - tr.appendChild(createColumnHeader( - config.extra_fields[i], "extra", extraFieldCompareClosure(i))); - } - } - tr.appendChild(createColumnHeader("Value", "Value", (a, b) => { - if (a[1] != b[1]) return a[1] > b[1] ? 1 : -1; - else return 0; - })); - tr.appendChild(createColumnHeader("Footprint", "Footprint", (a, b) => { - if (a[2] != b[2]) return a[2] > b[2] ? 1 : -1; - else return 0; - })); - tr.appendChild(createColumnHeader("Quantity", "Quantity", (a, b) => { - return a[3].length - b[3].length; - })); - bomhead.appendChild(tr); -} - -function populateBomBody() { - while (bom.firstChild) { - bom.removeChild(bom.firstChild); - } - highlightHandlers = []; - currentHighlightedRowId = null; - var first = true; - switch (canvaslayout) { - case 'F': - bomtable = pcbdata.bom.F; - break; - case 'FB': - bomtable = pcbdata.bom.both; - break; - case 'B': - bomtable = pcbdata.bom.B; - break; - } - if (bomSortFunction) { - bomtable = bomtable.slice().sort(bomSortFunction); - } - for (var i in bomtable) { - var bomentry = bomtable[i]; - if (filter && !entryMatches(bomentry)) { - continue; - } - var references = bomentry[3]; - if (reflookup) { - references = findRefInEntry(bomentry); - if (!references) { - continue; - } - } - var tr = document.createElement("TR"); - var td = document.createElement("TD"); - var rownum = +i + 1; - tr.id = "bomrow" + rownum; - td.textContent = rownum; - tr.appendChild(td); - // Checkboxes - for (var checkbox of checkboxes) { - if (checkbox) { - td = document.createElement("TD"); - var input = document.createElement("input"); - input.type = "checkbox"; - input.onchange = createCheckboxChangeHandler(checkbox, references); - setBomCheckboxState(checkbox, input, references); - td.appendChild(input); - tr.appendChild(td); - } - } - // References - td = document.createElement("TD"); - td.innerHTML = highlightFilter(references.join(", ")); - tr.appendChild(td); - // Extra fields - for (var i in config.extra_fields) { - td = document.createElement("TD"); - td.innerHTML = highlightFilter(bomentry[4][i]); - tr.appendChild(td); - } - // Value - td = document.createElement("TD"); - td.innerHTML = highlightFilter(bomentry[1]); - tr.appendChild(td); - // Footprint - td = document.createElement("TD"); - td.innerHTML = highlightFilter(bomentry[2]); - tr.appendChild(td); - // Quantity - td = document.createElement("TD"); - td.textContent = bomentry[3].length; - tr.appendChild(td); - bom.appendChild(tr); - var handler = createRowHighlightHandler(tr.id, references); - tr.onmousemove = handler; - highlightHandlers.push({ - id: tr.id, - handler: handler, - refs: references - }); - if ((filter || reflookup) && first) { - handler(); - first = false; - } - } -} - -function smoothScrollToRow(rowid) { - document.getElementById(rowid).scrollIntoView({ - behavior: "smooth", - block: "center", - inline: "nearest" - }); -} - -function highlightPreviousRow() { - if (!currentHighlightedRowId) { - highlightHandlers[highlightHandlers.length - 1].handler(); - } else { - if (highlightHandlers.length > 1 && - highlightHandlers[0].id == currentHighlightedRowId) { - highlightHandlers[highlightHandlers.length - 1].handler(); - } else { - for (var i = 0; i < highlightHandlers.length - 1; i++) { - if (highlightHandlers[i + 1].id == currentHighlightedRowId) { - highlightHandlers[i].handler(); - break; - } - } - } - } - smoothScrollToRow(currentHighlightedRowId); -} - -function highlightNextRow() { - if (!currentHighlightedRowId) { - highlightHandlers[0].handler(); - } else { - if (highlightHandlers.length > 1 && - highlightHandlers[highlightHandlers.length - 1].id == currentHighlightedRowId) { - highlightHandlers[0].handler(); - } else { - for (var i = 1; i < highlightHandlers.length; i++) { - if (highlightHandlers[i - 1].id == currentHighlightedRowId) { - highlightHandlers[i].handler(); - break; - } - } - } - } - smoothScrollToRow(currentHighlightedRowId); -} - -function populateBomTable() { - populateBomHeader(); - populateBomBody(); -} - -function modulesClicked(references) { - var lastClickedIndex = references.indexOf(lastClickedRef); - var ref = references[(lastClickedIndex + 1) % references.length]; - for (var handler of highlightHandlers) { - if (handler.refs.indexOf(ref) >= 0) { - lastClickedRef = ref; - handler.handler(); - smoothScrollToRow(currentHighlightedRowId); - break; - } - } -} - -function updateFilter(input) { - filter = input.toLowerCase(); - populateBomTable(); -} - -function updateRefLookup(input) { - reflookup = input.toLowerCase(); - populateBomTable(); -} - -function copyToClipboard() { - var text = ''; - for (var node of bomhead.childNodes[0].childNodes) { - if (node.firstChild) { - text = text + node.firstChild.nodeValue; - } - if (node != bomhead.childNodes[0].lastChild) { - text += '\t'; - } - } - text += '\n'; - for (var row of bombody.childNodes) { - for (var cell of row.childNodes) { - for (var node of cell.childNodes) { - if (node.nodeName == "INPUT") { - if (node.checked) { - text = text + '✓'; - } - } else if (node.nodeName == "MARK") { - text = text + node.firstChild.nodeValue; - } else { - text = text + node.nodeValue; - } - } - if (cell != row.lastChild) { - text += '\t'; - } - } - text += '\n'; - } - var textArea = document.createElement("textarea"); - textArea.classList.add('clipboard-temp'); - textArea.value = text; - - document.body.appendChild(textArea); - textArea.focus(); - textArea.select(); - - try { - if (document.execCommand('copy')) { - console.log('Bom copied to clipboard.'); - } - } catch (err) { - console.log('Can not copy to clipboard.'); - } - - document.body.removeChild(textArea); -} - -function silkscreenVisible(visible) { - if (visible) { - allcanvas.front.silk.style.display = ""; - allcanvas.back.silk.style.display = ""; - writeStorage("silkscreenVisible", true); - } else { - allcanvas.front.silk.style.display = "none"; - allcanvas.back.silk.style.display = "none"; - writeStorage("silkscreenVisible", false); - } -} - -function changeCanvasLayout(layout) { - document.getElementById("fl-btn").classList.remove("depressed"); - document.getElementById("fb-btn").classList.remove("depressed"); - document.getElementById("bl-btn").classList.remove("depressed"); - switch (layout) { - case 'F': - document.getElementById("fl-btn").classList.add("depressed"); - if (bomlayout != "bom-only") { - canvassplit.collapse(1); - } - break; - case 'B': - document.getElementById("bl-btn").classList.add("depressed"); - if (bomlayout != "bom-only") { - canvassplit.collapse(0); - } - break; - default: - document.getElementById("fb-btn").classList.add("depressed"); - if (bomlayout != "bom-only") { - canvassplit.setSizes([50, 50]); - } - } - canvaslayout = layout; - writeStorage("canvaslayout", layout); - resizeAll(); - populateBomTable(); -} - -function populateMetadata() { - document.getElementById("title").innerHTML = pcbdata.metadata.title; - document.getElementById("revision").innerHTML = "Rev: " + pcbdata.metadata.revision; - document.getElementById("company").innerHTML = pcbdata.metadata.company; - document.getElementById("filedate").innerHTML = pcbdata.metadata.date; - if (pcbdata.metadata.title != "") { - document.title = pcbdata.metadata.title + " BOM"; - } -} - -function changeBomLayout(layout) { - document.getElementById("bom-btn").classList.remove("depressed"); - document.getElementById("lr-btn").classList.remove("depressed"); - document.getElementById("tb-btn").classList.remove("depressed"); - switch (layout) { - case 'bom-only': - document.getElementById("bom-btn").classList.add("depressed"); - if (bomsplit) { - bomsplit.destroy(); - bomsplit = null; - canvassplit.destroy(); - canvassplit = null; - } - document.getElementById("frontcanvas").style.display = "none"; - document.getElementById("backcanvas").style.display = "none"; - document.getElementById("bot").style.height = ""; - break; - case 'top-bottom': - document.getElementById("tb-btn").classList.add("depressed"); - document.getElementById("frontcanvas").style.display = ""; - document.getElementById("backcanvas").style.display = ""; - document.getElementById("bot").style.height = "calc(100% - 80px)"; - document.getElementById("bomdiv").classList.remove("split-horizontal"); - document.getElementById("canvasdiv").classList.remove("split-horizontal"); - document.getElementById("frontcanvas").classList.add("split-horizontal"); - document.getElementById("backcanvas").classList.add("split-horizontal"); - if (bomsplit) { - bomsplit.destroy(); - bomsplit = null; - canvassplit.destroy(); - canvassplit = null; - } - bomsplit = Split(['#bomdiv', '#canvasdiv'], { - sizes: [50, 50], - onDragEnd: resizeAll, - direction: "vertical", - gutterSize: 5 - }); - canvassplit = Split(['#frontcanvas', '#backcanvas'], { - sizes: [50, 50], - gutterSize: 5, - onDragEnd: resizeAll - }); - break; - case 'left-right': - document.getElementById("lr-btn").classList.add("depressed"); - document.getElementById("frontcanvas").style.display = ""; - document.getElementById("backcanvas").style.display = ""; - document.getElementById("bot").style.height = "calc(100% - 80px)"; - document.getElementById("bomdiv").classList.add("split-horizontal"); - document.getElementById("canvasdiv").classList.add("split-horizontal"); - document.getElementById("frontcanvas").classList.remove("split-horizontal"); - document.getElementById("backcanvas").classList.remove("split-horizontal"); - if (bomsplit) { - bomsplit.destroy(); - bomsplit = null; - canvassplit.destroy(); - canvassplit = null; - } - bomsplit = Split(['#bomdiv', '#canvasdiv'], { - sizes: [50, 50], - onDragEnd: resizeAll, - gutterSize: 5 - }); - canvassplit = Split(['#frontcanvas', '#backcanvas'], { - sizes: [50, 50], - gutterSize: 5, - direction: "vertical", - onDragEnd: resizeAll - }); - } - bomlayout = layout; - writeStorage("bomlayout", layout); - changeCanvasLayout(canvaslayout); -} - -function focusInputField(input) { - input.scrollIntoView(false); - input.focus(); - input.select(); -} - -function focusFilterField() { - focusInputField(document.getElementById("filter")); -} - -function focusRefLookupField() { - focusInputField(document.getElementById("reflookup")); -} - -function toggleBomCheckbox(bomrowid, checkboxnum) { - if (!bomrowid || checkboxnum > checkboxes.length) { - return; - } - var bomrow = document.getElementById(bomrowid); - var checkbox = bomrow.childNodes[checkboxnum].childNodes[0]; - checkbox.checked = !checkbox.checked; - checkbox.indeterminate = false; - checkbox.onchange(); -} - -function checkBomCheckbox(bomrowid, checkboxname) { - var checkboxnum = 0; - while (checkboxnum < checkboxes.length && - checkboxes[checkboxnum].toLowerCase() != checkboxname.toLowerCase()) { - checkboxnum++; - } - if (!bomrowid || checkboxnum >= checkboxes.length) { - return; - } - var bomrow = document.getElementById(bomrowid); - var checkbox = bomrow.childNodes[checkboxnum + 1].childNodes[0]; - checkbox.checked = true; - checkbox.indeterminate = false; - checkbox.onchange(); -} - - -function removeGutterNode(node) { - for (var i = 0; i < node.childNodes.length; i++) { - if (node.childNodes[i].classList && - node.childNodes[i].classList.contains("gutter")) { - node.removeChild(node.childNodes[i]); - break; - } - } -} - -function cleanGutters() { - removeGutterNode(document.getElementById("bot")); - removeGutterNode(document.getElementById("canvasdiv")); -} - -function setBomCheckboxes(value) { - bomCheckboxes = value; - writeStorage("bomCheckboxes", value); - populateBomTable(); -} - -document.onkeydown = function(e) { - switch (e.key) { - case "n": - if (document.activeElement.type == "text") { - return; - } - if (currentHighlightedRowId !== null) { - checkBomCheckbox(currentHighlightedRowId, "placed"); - highlightNextRow(); - e.preventDefault(); - } - break; - case "ArrowUp": - highlightPreviousRow(); - e.preventDefault(); - break; - case "ArrowDown": - highlightNextRow(); - e.preventDefault(); - break; - default: - break; - } - if (e.altKey) { - switch (e.key) { - case "f": - focusFilterField(); - e.preventDefault(); - break; - case "r": - focusRefLookupField(); - e.preventDefault(); - break; - case "z": - changeBomLayout("bom-only"); - e.preventDefault(); - break; - case "x": - changeBomLayout("left-right"); - e.preventDefault(); - break; - case "c": - changeBomLayout("top-bottom"); - e.preventDefault(); - break; - case "v": - changeCanvasLayout("F"); - e.preventDefault(); - break; - case "b": - changeCanvasLayout("FB"); - e.preventDefault(); - break; - case "n": - changeCanvasLayout("B"); - e.preventDefault(); - break; - default: - break; - } - if (e.key >= '1' && e.key <= '9') { - toggleBomCheckbox(currentHighlightedRowId, parseInt(e.key)); - } - } -} - -function initDefaults() { - bomlayout = readStorage("bomlayout"); - if (bomlayout === null) { - bomlayout = config.bom_view; - } - if (!['bom-only', 'left-right', 'top-bottom'].includes(bomlayout)) { - bomlayout = config.bom_view; - } - canvaslayout = readStorage("canvaslayout"); - if (canvaslayout === null) { - canvaslayout = config.layer_view; - } - bomCheckboxes = readStorage("bomCheckboxes"); - if (bomCheckboxes === null) { - bomCheckboxes = config.checkboxes; - } - document.getElementById("bomCheckboxes").value = bomCheckboxes; - - var b = readStorage("silkscreenVisible"); - if (b === null) { - b = config.show_silkscreen; - } - document.getElementById("silkscreenCheckbox").checked = b; - silkscreenVisible(b); - - b = readStorage("redrawOnDrag"); - if (b === null) { - b = config.redraw_on_drag; - } - document.getElementById("dragCheckbox").checked = b; - setRedrawOnDrag(b); - - b = readStorage("darkmode"); - if (b === null) { - b = config.dark_mode; - } - document.getElementById("darkmodeCheckbox").checked = b; - setDarkMode(b); - - b = readStorage("highlightpin1"); - if (b === null) { - b = config.highlight_pin1; - } - document.getElementById("highlightpin1Checkbox").checked = b; - setHighlightPin1(b); - - boardRotation = readStorage("boardRotation"); - if (boardRotation === null) { - boardRotation = config.board_rotation * 5; - } else { - boardRotation = parseInt(boardRotation); - } - document.getElementById("boardRotation").value = boardRotation / 5; - document.getElementById("rotationDegree").textContent = boardRotation; -} - -window.onload = function(e) { - initRender(); - initStorage(); - initDefaults(); - cleanGutters(); - populateMetadata(); - dbgdiv = document.getElementById("dbg"); - bom = document.getElementById("bombody"); - bomhead = document.getElementById("bomhead"); - filter = ""; - reflookup = ""; - // Triggers render - changeBomLayout(bomlayout); -} - -window.onresize = resizeAll; -window.matchMedia("print").addListener(resizeAll); - -/////////////////////////////////////////////// - - </script> -</head> - -<body> -<div id="topmostdiv" style="width: 100%; height: 100%"> - <div id="top"> - <div style="float: right;"> - <div class="hideonprint menu" style="float: right; margin: 10px; top: 8px;"> - <button class="menubtn"></button> - <div class="menu-content"> - <label class="menu-label menu-label-top"> - <input id="darkmodeCheckbox" type="checkbox" onchange="setDarkMode(this.checked)"> - Dark mode - </label> - <label class="menu-label"> - <input id="silkscreenCheckbox" type="checkbox" checked onchange="silkscreenVisible(this.checked)"> - Show silkscreen - </label> - <label class="menu-label"> - <input id="highlightpin1Checkbox" type="checkbox" onchange="setHighlightPin1(this.checked)"> - Highlight first pin - </label> - <label class="menu-label"> - <input id="dragCheckbox" type="checkbox" checked onchange="setRedrawOnDrag(this.checked)"> - Continuous redraw on drag - </label> - <label class="menu-label"> - <span>Board rotation</span> - <span style="float: right"><span id="rotationDegree">0</span>°</span> - <input id="boardRotation" type="range" min="-36" max="36" value="0" class="slider" oninput="setBoardRotation(this.value)"> - </label> - <label class="menu-label"> - <div style="margin-left: 5px">Bom checkboxes</div> - <input id="bomCheckboxes" class="menu-textbox" type=text - oninput="setBomCheckboxes(this.value)"> - </label> - <label class="menu-label"> - <span class="shameless-plug"> - <span>Created using</span> - <a target="blank" href="https://github.com/openscopeproject/InteractiveHtmlBom">InteractiveHtmlBom</a> - </span> - </label> - </div> - </div> - <div class="button-container hideonprint" - style="float: right; margin: 10px; position: relative; top: 8px"> - <button id="fl-btn" class="left-most-button" onclick="changeCanvasLayout('F')" - title="Front only">F - </button> - <button id="fb-btn" class="middle-button" onclick="changeCanvasLayout('FB')" - title="Front and Back">FB - </button> - <button id="bl-btn" class="right-most-button" onclick="changeCanvasLayout('B')" - title="Back only">B - </button> - </div> - <div class="button-container hideonprint" - style="float: right; margin: 10px; position: relative; top: 8px"> - <button id="bom-btn" class="left-most-button" onclick="changeBomLayout('bom-only')" - title="BOM only"></button> - <button id="lr-btn" class="middle-button" onclick="changeBomLayout('left-right')" - title="BOM left, drawings right"></button> - <button id="tb-btn" class="right-most-button" onclick="changeBomLayout('top-bottom')" - title="BOM top, drawings bot"></button> - </div> - </div> - <div id="fileinfodiv" style="overflow: auto;"> - <table class="fileinfo"> - <tbody> - <tr> - <td id="title" class="title" style="width: 70%"> - Title - </td> - <td id="revision" class="title" style="width: 30%"> - Revision - </td> - </tr> - <tr> - <td id="company"> - Kicad version - </td> - <td id="filedate"> - Date - </td> - </tr> - </tbody> - </table> - </div> - </div> - <div id="bot" class="split" style="height: calc(100% - 80px)"> - <div id="bomdiv" class="split split-horizontal"> - <div style="width: 100%"> - <input id="reflookup" class="searchbox reflookup hideonprint" type="text" placeholder="Ref lookup" - oninput="updateRefLookup(this.value)"> - <input id="filter" class="searchbox filter hideonprint" type="text" placeholder="Filter" - oninput="updateFilter(this.value)"> - <div class="button-container hideonprint" style="float: left"> - <button id="copy" title="Copy bom table to clipboard" - onclick="copyToClipboard()"></button> - </div> - </div> - <div id="dbg"></div> - <table class="bom"> - <thead id="bomhead"> - </thead> - <tbody id="bombody"> - </tbody> - </table> - </div> - <div id="canvasdiv" class="split split-horizontal"> - <div id="frontcanvas" class="split" style="overflow: hidden"> - <div style="position: relative; width: 100%; height: 100%;"> - <canvas id="F_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas> - <canvas id="F_slk" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas> - <canvas id="F_hl" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas> - </div> - </div> - <div id="backcanvas" class="split" style="overflow: hidden"> - <div style="position: relative; width: 100%; height: 100%;"> - <canvas id="B_bg" style="position: absolute; left: 0; top: 0; z-index: 0;"></canvas> - <canvas id="B_slk" style="position: absolute; left: 0; top: 0; z-index: 1;"></canvas> - <canvas id="B_hl" style="position: absolute; left: 0; top: 0; z-index: 2;"></canvas> - </div> - </div> - </div> - </div> -</div> -</body> - -</html> |