text:
width="0.254" layer="1"/>
<wire x1="46.355" y1="62.611" x2="52.705" y2="62.611" width="0.254" layer="1"/>
<wire x1="52.705" y1="62.611" x2="55.626" y2="65.532" width="0.254" layer="1"/>
<wire x1="55.626" y1="65.532" x2="56.769" y2="65.532" width="0.254" layer="1"/>
<wire x1="56.769" y1="65.532" x2="58.039" y2="64.135" width="0.254" layer="1"/>
<wire x1="58.039" y1="64.135" x2="58.039" y2="62.992" width="0.254" layer="1"/>
</signal>
<signal name="CH30">
<contactref element="R30" pad="P$1"/>
<contactref element="SWITCH1" pad="P$3"/>
<wire x1="66.04" y1="74.422" x2="71.21" y2="74.422" width="0.6096" layer="16"/>
<wire x1="71.21" y1="74.422" x2="71.345" y2="74.287" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$12"/>
<wire x1="58.674" y1="63.246" x2="62.357" y2="59.309" width="0.254" layer="1"/>
<wire x1="62.357" y1="59.309" x2="72.39" y2="59.309" width="0.254" layer="1"/>
<wire x1="72.39" y1="59.309" x2="74.422" y2="61.341" width="0.254" layer="1"/>
<wire x1="74.422" y1="61.341" x2="74.422" y2="72.644" width="0.254" layer="1"/>
<wire x1="74.422" y1="72.644" x2="72.898" y2="74.168" width="0.254" layer="1"/>
<wire x1="72.898" y1="74.168" x2="71.464" y2="74.168" width="0.254" layer="1"/>
<wire x1="71.464" y1="74.168" x2="71.345" y2="74.287" width="0.254" layer="1"/>
<wire x1="43.4594" y1="70.0278" x2="43.4594" y2="66.3956" width="0.254" layer="1"/>
<wire x1="43.4594" y1="66.3956" x2="46.736" y2="63.119" width="0.254" layer="1"/>
<wire x1="46.736" y1="63.119" x2="52.324" y2="63.119" width="0.254" layer="1"/>
<wire x1="52.324" y1="63.119" x2="54.737" y2="65.659" width="0.254" layer="1"/>
<wire x1="54.737" y1="65.659" x2="54.737" y2="67.437" width="0.254" layer="1"/>
<wire x1="54.737" y1="67.437" x2="55.372" y2="68.072" width="0.254" layer="1"/>
<wire x1="55.372" y1="68.072" x2="57.277" y2="68.072" width="0.254" layer="1"/>
<wire x1="57.277" y1="68.072" x2="58.674" y2="66.802" width="0.254" layer="1"/>
<wire x1="58.674" y1="66.802" x2="58.674" y2="63.246" width="0.254" layer="1"/>
</signal>
<signal name="GND">
<contactref element="SWITCH4" pad="P$16"/>
<contactref element="SWITCH4" pad="P$15"/>
<contactref element="SWITCH4" pad="P$14"/>
<contactref element="SWITCH4" pad="P$13"/>
<contactref element="SWITCH4" pad="P$12"/>
<contactref element="SWITCH4" pad="P$11"/>
<contactref element="SWITCH4" pad="P$10"/>
<contactref element="SWITCH4" pad="P$9"/>
<contactref element="SWITCH3" pad="P$16"/>
<contactref element="SWITCH3" pad="P$15"/>
<contactref element="SWITCH3" pad="P$14"/>
<contactref element="SWITCH3" pad="P$13"/>
<contactref element="SWITCH1" pad="P$9"/>
<contactref element="SWITCH1" pad="P$10"/>
<contactref element="SWITCH1" pad="P$11"/>
<contactref element="SWITCH1" pad="P$12"/>
<contactref element="SWITCH1" pad="P$13"/>
<contactref element="SWITCH1" pad="P$14"/>
<contactref element="SWITCH1" pad="P$15"/>
<contactref element="SWITCH1" pad="P$16"/>
<contactref element="SWITCH2" pad="P$9"/>
<contactref element="SWITCH2" pad="P$10"/>
<contactref element="SWITCH2" pad="P$11"/>
<contactref element="SWITCH2" pad="P$12"/>
<contactref element="SWITCH2" pad="P$13"/>
<contactref element="SWITCH2" pad="P$14"/>
<contactref element="SWITCH2" pad="P$15"/>
<contactref element="SWITCH2" pad="P$16"/>
<contactref element="SWITCH3" pad="P$9"/>
<contactref element="SWITCH3" pad="P$10"/>
<contactref element="SWITCH3" pad="P$11"/>
<contactref element="SWITCH3" pad="P$12"/>
<contactref element="U$1" pad="P$1"/>
<contactref element="U$2" pad="P$GND"/>
<contactref element="JP6" pad="1"/>
<contactref element="100" pad="P$1"/>
<contactref element="20" pad="P$1"/>
<contactref element="JP4" pad="1"/>
<contactref element="RESGND" pad="P$1"/>
<polygon width="1.4224" layer="16">
<vertex x="7.62" y="86.487"/>
<vertex x="1.27" y="80.137"/>
<vertex x="1.27" y="8.382"/>
<vertex x="7.62" y="2.032"/>
<vertex x="77.47" y="2.032"/>
<vertex x="83.185" y="7.747"/>
<vertex x="83.185" y="80.772"/>
<vertex x="77.47" y="86.487"/>
</polygon>
<wire x1="40.64" y1="42.037" x2="40.767" y2="41.91" width="0.6096" layer="1"/>
<wire x1="40.767" y1="41.91" x2="40.767" y2="40.005" width="0.6096" layer="1"/>
<wire x1="40.767" y1="40.005" x2="45.974" y2="34.798" width="0.6096" layer="1"/>
<wire x1="45.974" y1="34.798" x2="49.031" y2="34.798" width="0.6096" layer="1"/>
<wire x1="49.031" y1="34.798" x2="49.055" y2="34.822" width="0.6096" layer="1"/>
<contactref element="U$3" pad="P$1"/>
<contactref element="U$3" pad="P$18"/>
<contactref element="U$3" pad="P$19"/>
<contactref element="U$3" pad="P$36"/>
<wire x1="47.2694" y1="71.2978" x2="47.2694" y2="70.0278" width="0.254" layer="1"/>
<wire x1="36.4744" y1="71.2978" x2="36.4744" y2="70.0278" width="0.254" layer="1"/>
<wire x1="36.4744" y1="71.2978" x2="36.3982" y2="71.4248" width="0.254" layer="1"/>
<wire x1="36.4744" y1="70.0278" x2="36.1442" y2="70.0278" width="0.254" layer="1"/>
<wire x1="36.1442" y1="70.0278" x2="35.56" y2="70.612" width="0.254" layer="1"/>
<wire x1="47.2694" y1="71.2978" x2="47.8282" y2="71.2978" width="0.254" layer="1"/>
<wire x1="47.8282" y1="71.2978" x2="48.387" y2="70.739" width="0.254" layer="1"/>
<via x="48.387" y="70.739" extent="1-16" drill="0.6"/>
<via x="35.56" y="70.612" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$4">
<contactref element="U$1" pad="P$2"/>
<contactref element="JP1" pad="3"/>
<wire x1="19.605" y1="9.572" x2="19.605" y2="15.447" width="0.8128" layer="1"/>
<wire x1="19.605" y1="15.447" x2="15.875" y2="19.177" width="0.8128" layer="1"/>
</signal>
<signal name="N$6">
<contactref element="U$1" pad="P$3"/>
<contactref element="JP1" pad="1"/>
<wire x1="9.605" y1="9.572" x2="9.605" y2="17.987" width="0.8128" layer="1"/>
<wire x1="9.605" y1="17.987" x2="10.795" y2="19.177" width="0.8128" layer="1"/>
</signal>
<signal name="N$7">
<contactref element="JP1" pad="2"/>
<contactref element="10K" pad="P$1"/>
<wire x1="13.335" y1="19.177" x2="13.335" y2="19.812" width="0.6096" layer="1"/>
<wire x1="13.335" y1="19.812" x2="15.24" y2="21.717" width="0.8128" layer="1"/>
<wire x1="15.24" y1="21.717" x2="17.145" y2="21.717" width="0.8128" layer="1"/>
<wire x1="17.145" y1="21.717" x2="22.225" y2="16.637" width="0.8128" layer="1"/>
<wire x1="22.225" y1="16.637" x2="37.91" y2="16.637" width="0.8128" layer="1"/>
<wire x1="37.91" y1="16.637" x2="38.52" y2="16.027" width="0.8128" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="10K" pad="P$2"/>
<contactref element="100K" pad="P$2"/>
<contactref element="100K_2" pad="P$2"/>
<contactref element="100" pad="P$2"/>
<contactref element="1K" pad="P$1"/>
<wire x1="42.405" y1="26.187" x2="46.915" y2="26.187" width="0.6096" layer="1"/>
<wire x1="38.52" y1="26.027" x2="38.68" y2="26.187" width="0.6096" layer="1"/>
<wire x1="36.33" y1="26.027" x2="38.52" y2="26.027" width="0.6096" layer="1"/>
<wire x1="35.56" y1="26.797" x2="36.33" y2="26.027" width="0.6096" layer="1"/>
<wire x1="35.56" y1="27.492" x2="35.56" y2="26.797" width="0.6096" layer="1"/>
<wire x1="35.39" y1="27.662" x2="35.56" y2="27.492" width="0.6096" layer="1"/>
<wire x1="38.68" y1="26.187" x2="38.68" y2="30.417" width="0.6096" layer="1"/>
<wire x1="38.68" y1="30.417" x2="38.925" y2="30.662" width="0.6096" layer="1"/>
<wire x1="38.68" y1="26.187" x2="42.405" y2="26.187" width="0.6096" layer="1"/>
<wire x1="42.405" y1="26.187" x2="42.58" y2="26.012" width="0.8128" layer="1"/>
</signal>
<signal name="N$9">
<contactref element="100K" pad="P$1"/>
<contactref element="U$2" pad="P$SIG"/>
<wire x1="41.91" y1="10.922" x2="41.91" y2="15.342" width="0.8128" layer="1"/>
<wire x1="41.91" y1="15.342" x2="42.58" y2="16.012" width="0.8128" layer="1"/>
</signal>
<signal name="N$10">
<contactref element="100K_2" pad="P$1"/>
<contactref element="JP5" pad="1"/>
<wire x1="59.69" y1="5.842" x2="64.77" y2="5.842" width="0.8128" layer="1"/>
<wire x1="49.53" y1="16.002" x2="59.69" y2="5.842" width="0.8128" layer="1"/>
<wire x1="47.1" y1="16.002" x2="49.53" y2="16.002" width="0.8128" layer="1"/>
<wire x1="46.915" y1="16.187" x2="47.1" y2="16.002" width="0.6096" layer="1"/>
</signal>
<signal name="SIG">
<contactref element="1K" pad="P$2"/>
<contactref element="20" pad="P$2"/>
<contactref element="R32" pad="P$2"/>
<contactref element="R31" pad="P$2"/>
<contactref element="R30" pad="P$2"/>
<contactref element="R29" pad="P$2"/>
<contactref element="R28" pad="P$2"/>
<contactref element="R27" pad="P$2"/>
<contactref element="R26" pad="P$2"/>
<contactref element="R25" pad="P$2"/>
<contactref element="R24" pad="P$2"/>
<contactref element="R23" pad="P$2"/>
<contactref element="R22" pad="P$2"/>
<contactref element="R21" pad="P$2"/>
<contactref element="R20" pad="P$2"/>
<contactref element="R19" pad="P$2"/>
<contactref element="R18" pad="P$2"/>
<contactref element="R17" pad="P$2"/>
<contactref element="R16" pad="P$2"/>
<contactref element="R15" pad="P$2"/>
<contactref element="R1" pad="P$2"/>
<contactref element="R2" pad="P$2"/>
<contactref element="R3" pad="P$2"/>
<contactref element="R4" pad="P$2"/>
<contactref element="R5" pad="P$2"/>
<contactref element="R6" pad="P$2"/>
<contactref element="R7" pad="P$2"/>
<contactref element="R8" pad="P$2"/>
<contactref element="R9" pad="P$2"/>
<contactref element="R10" pad="P$2"/>
<contactref element="R11" pad="P$2"/>
<contactref element="R12" pad="P$2"/>
<contactref element="R13" pad="P$2"/>
<contactref element="R14" pad="P$2"/>
<contactref element="EQ_SIG" pad="P$1"/>
<wire x1="35.39" y1="37.662" x2="37.395" y2="37.662" width="0.6096" layer="1"/>
<wire x1="37.395" y1="37.662" x2="38.989" y2="36.068" width="0.6096" layer="1"/>
<wire x1="38.989" y1="36.068" x2="38.989" y2="34.888" width="0.6096" layer="1"/>
<wire x1="38.989" y1="34.888" x2="39.055" y2="34.822" width="0.6096" layer="1"/>
<wire x1="35.343" y1="36.265" x2="35.39" y2="37.662" width="2.54" layer="16"/>
<wire x1="27.78" y1="36.322" x2="35.343" y2="36.265" width="2.54" layer="16"/>
<wire x1="27.78" y1="36.322" x2="27.78" y2="38.862" width="2.54" layer="16"/>
<wire x1="27.78" y1="38.862" x2="27.78" y2="41.402" width="2.54" layer="16"/>
<wire x1="27.78" y1="41.402" x2="27.78" y2="43.942" width="2.54" layer="16"/>
<wire x1="27.78" y1="43.942" x2="27.78" y2="46.482" width="2.54" layer="16"/>
<wire x1="27.78" y1="46.482" x2="27.78" y2="49.022" width="2.54" layer="16"/>
<wire x1="27.78" y1="49.022" x2="27.78" y2="51.562" width="2.54" layer="16"/>
<wire x1="27.78" y1="54.102" x2="27.78" y2="51.562" width="2.54" layer="16"/>
<wire x1="27.78" y1="61.722" x2="27.78" y2="54.102" width="1.016" layer="1"/>
<wire x1="27.78" y1="61.722" x2="27.78" y2="64.262" width="2.54" layer="16"/>
<wire x1="27.78" y1="64.262" x2="27.78" y2="66.802" width="2.54" layer="16"/>
<wire x1="27.78" y1="66.802" x2="27.78" y2="69.342" width="2.54" layer="16"/>
<wire x1="27.78" y1="69.342" x2="27.78" y2="71.882" width="2.54" layer="16"/>
<wire x1="27.78" y1="71.882" x2="27.78" y2="74.422" width="2.54" layer="16"/>
<wire x1="27.78" y1="74.422" x2="27.78" y2="76.962" width="2.54" layer="16"/>
<wire x1="27.78" y1="76.962" x2="27.78" y2="79.502" width="2.54" layer="16"/>
<wire x1="56.04" y1="41.402" x2="56.04" y2="38.862" width="2.54" layer="16"/>
<wire x1="56.04" y1="38.862" x2="56.04" y2="36.322" width="2.54" layer="16"/>
<wire x1="56.04" y1="41.402" x2="56.04" y2="43.942" width="2.54" layer="16"/>
<wire x1="56.04" y1="43.942" x2="56.04" y2="46.482" width="2.54" layer="16"/>
<wire x1="56.04" y1="46.482" x2="56.04" y2="49.022" width="2.54" layer="16"/>
<wire x1="56.04" y1="49.022" x2="56.04" y2="51.562" width="2.54" layer="16"/>
<wire x1="56.04" y1="51.562" x2="56.04" y2="54.102" width="2.54" layer="16"/>
<wire x1="56.04" y1="54.102" x2="56.04" y2="61.722" width="1.016" layer="1"/>
<wire x1="56.04" y1="61.722" x2="56.04" y2="64.262" width="2.54" layer="16"/>
<wire x1="56.04" y1="64.262" x2="56.04" y2="66.802" width="2.54" layer="16"/>
<wire x1="56.04" y1="66.802" x2="56.04" y2="69.342" width="2.54" layer="16"/>
<wire x1="56.04" y1="69.342" x2="56.04" y2="71.882" width="2.54" layer="16"/>
<wire x1="56.04" y1="71.882" x2="56.04" y2="74.422" width="2.54" layer="16"/>
<wire x1="56.04" y1="74.422" x2="56.04" y2="76.962" width="2.54" layer="16"/>
<wire x1="56.04" y1="76.962" x2="56.04" y2="79.502" width="2.54" layer="16"/>
<wire x1="47.31" y1="41.152" x2="55.79" y2="41.152" width="2.54" layer="16"/>
<wire x1="55.79" y1="41.152" x2="56.04" y2="41.402" width="2.54" layer="16"/>
<wire x1="46.802" y1="40.579" x2="47.31" y2="41.152" width="2.54" layer="16"/>
<wire x1="42.672" y1="36.322" x2="46.802" y2="40.579" width="2.54" layer="16"/>
<wire x1="35.46" y1="36.322" x2="42.672" y2="36.322" width="2.54" layer="16"/>
<wire x1="35.39" y1="37.662" x2="35.46" y2="36.322" width="2.54" layer="16"/>
<wire x1="56.04" y1="66.802" x2="56.04" y2="66.327" width="1.4224" layer="16"/>
<wire x1="56.04" y1="66.327" x2="55.88" y2="66.167" width="1.4224" layer="16"/>
<wire x1="55.88" y1="66.642" x2="55.88" y2="66.167" width="1.4224" layer="16"/>
<wire x1="56.04" y1="66.802" x2="55.88" y2="66.642" width="1.4224" layer="16"/>
<wire x1="56.04" y1="66.802" x2="55.88" y2="66.802" width="1.4224" layer="16"/>
<wire x1="56.04" y1="61.722" x2="56.04" y2="66.802" width="1.4224" layer="16"/>
<wire x1="55.79" y1="41.152" x2="55.79" y2="41.312" width="1.4224" layer="16"/>
<wire x1="55.79" y1="41.312" x2="55.88" y2="41.402" width="1.4224" layer="16"/>
</signal>
<signal name="CH28">
<contactref element="R28" pad="P$1"/>
<contactref element="SWITCH1" pad="P$5"/>
<wire x1="66.175" y1="69.207" x2="71.345" y2="69.207" width="0.6096" layer="16"/>
<wire x1="66.04" y1="69.342" x2="66.175" y2="69.207" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$14"/>
<wire x1="59.944" y1="71.247" x2="59.944" y2="63.627" width="0.254" layer="1"/>
<wire x1="59.944" y1="63.627" x2="63.119" y2="60.325" width="0.254" layer="1"/>
<wire x1="63.119" y1="60.325" x2="71.882" y2="60.325" width="0.254" layer="1"/>
<wire x1="71.882" y1="60.325" x2="73.152" y2="61.595" width="0.254" layer="1"/>
<wire x1="73.152" y1="61.595" x2="73.152" y2="68.072" width="0.254" layer="1"/>
<wire x1="73.152" y1="68.072" x2="72.009" y2="69.215" width="0.254" layer="1"/>
<wire x1="72.009" y1="69.215" x2="71.464" y2="69.215" width="0.254" layer="1"/>
<wire x1="71.464" y1="69.215" x2="71.345" y2="69.207" width="0.254" layer="1"/>
<wire x1="44.7294" y1="70.0278" x2="44.7294" y2="67.0306" width="0.254" layer="1"/>
<wire x1="44.7294" y1="67.0306" x2="47.371" y2="64.389" width="0.254" layer="1"/>
<wire x1="47.371" y1="64.389" x2="51.816" y2="64.389" width="0.254" layer="1"/>
<wire x1="51.816" y1="64.389" x2="53.34" y2="66.04" width="0.254" layer="1"/>
<wire x1="53.34" y1="66.04" x2="53.34" y2="72.009" width="0.254" layer="1"/>
<wire x1="53.34" y1="72.009" x2="54.61" y2="73.279" width="0.254" layer="1"/>
<wire x1="54.61" y1="73.279" x2="57.785" y2="73.279" width="0.254" layer="1"/>
<wire x1="57.785" y1="73.279" x2="59.944" y2="71.247" width="0.254" layer="1"/>
</signal>
<signal name="CH27">
<contactref element="R27" pad="P$1"/>
<contactref element="SWITCH1" pad="P$6"/>
<wire x1="66.175" y1="66.667" x2="71.345" y2="66.667" width="0.6096" layer="16"/>
<wire x1="66.04" y1="66.802" x2="66.175" y2="66.667" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$15"/>
<wire x1="52.705" y1="66.167" x2="52.705" y2="73.533" width="0.254" layer="1"/>
<wire x1="45.3644" y1="70.0278" x2="45.3644" y2="67.2846" width="0.254" layer="1"/>
<wire x1="45.3644" y1="67.2846" x2="47.625" y2="65.024" width="0.254" layer="1"/>
<wire x1="47.625" y1="65.024" x2="51.562" y2="65.024" width="0.254" layer="1"/>
<wire x1="51.562" y1="65.024" x2="52.705" y2="66.167" width="0.254" layer="1"/>
<wire x1="52.705" y1="73.533" x2="54.737" y2="75.565" width="0.254" layer="1"/>
<wire x1="54.737" y1="75.565" x2="58.166" y2="75.565" width="0.254" layer="1"/>
<wire x1="58.166" y1="75.565" x2="60.706" y2="73.152" width="0.254" layer="1"/>
<wire x1="60.706" y1="73.152" x2="60.706" y2="69.85" width="0.254" layer="1"/>
<wire x1="60.706" y1="69.85" x2="63.5" y2="66.929" width="0.254" layer="1"/>
<wire x1="63.5" y1="66.929" x2="65.913" y2="66.929" width="0.254" layer="1"/>
<wire x1="65.913" y1="66.929" x2="66.04" y2="66.802" width="0.254" layer="1"/>
</signal>
<signal name="CH26">
<contactref element="R26" pad="P$1"/>
<contactref element="SWITCH1" pad="P$7"/>
<wire x1="66.175" y1="64.127" x2="71.345" y2="64.127" width="0.6096" layer="16"/>
<wire x1="66.04" y1="64.262" x2="66.175" y2="64.127" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$17"/>
<wire x1="51.435" y1="74.168" x2="54.102" y2="76.835" width="0.254" layer="1"/>
<wire x1="54.102" y1="76.835" x2="54.102" y2="80.645" width="0.254" layer="1"/>
<wire x1="54.102" y1="80.645" x2="54.991" y2="81.534" width="0.254" layer="1"/>
<wire x1="54.991" y1="81.534" x2="60.325" y2="81.534" width="0.254" layer="1"/>
<wire x1="60.325" y1="81.534" x2="61.595" y2="80.264" width="0.254" layer="1"/>
<wire x1="61.595" y1="80.264" x2="61.595" y2="76.835" width="0.254" layer="1"/>
<wire x1="61.595" y1="76.835" x2="61.595" y2="65.405" width="0.254" layer="16"/>
<wire x1="61.595" y1="65.405" x2="62.865" y2="64.135" width="0.254" layer="1"/>
<wire x1="62.865" y1="64.135" x2="66.04" y2="64.135" width="0.254" layer="1"/>
<via x="61.595" y="76.835" extent="1-16" drill="0.6" shape="square"/>
<via x="61.595" y="65.405" extent="1-16" drill="0.6" shape="square"/>
<wire x1="46.6344" y1="70.0278" x2="46.6344" y2="67.7926" width="0.254" layer="1"/>
<wire x1="46.6344" y1="67.7926" x2="48.26" y2="66.167" width="0.254" layer="1"/>
<wire x1="48.26" y1="66.167" x2="50.927" y2="66.167" width="0.254" layer="1"/>
<wire x1="50.927" y1="66.167" x2="51.435" y2="66.675" width="0.254" layer="1"/>
<wire x1="51.435" y1="66.675" x2="51.435" y2="74.168" width="0.254" layer="1"/>
<wire x1="66.04" y1="64.135" x2="66.04" y2="64.262" width="0" layer="19" extent="1-1"/>
</signal>
<signal name="CH25">
<contactref element="R25" pad="P$1"/>
<contactref element="SWITCH1" pad="P$8"/>
<wire x1="66.175" y1="61.587" x2="71.345" y2="61.587" width="0.6096" layer="16"/>
<wire x1="66.04" y1="61.722" x2="66.175" y2="61.587" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$16"/>
<wire x1="52.07" y1="66.421" x2="52.07" y2="73.914" width="0.254" layer="1"/>
<wire x1="66.675" y1="75.692" x2="68.834" y2="73.533" width="0.254" layer="1"/>
<wire x1="68.834" y1="73.533" x2="68.834" y2="63.365" width="0.254" layer="1"/>
<wire x1="68.834" y1="63.365" x2="67.056" y2="61.587" width="0.254" layer="1"/>
<wire x1="67.056" y1="61.587" x2="66.175" y2="61.587" width="0.254" layer="1"/>
<wire x1="66.175" y1="61.587" x2="66.04" y2="61.722" width="0.254" layer="1"/>
<wire x1="45.9994" y1="70.0278" x2="45.9994" y2="67.5386" width="0.254" layer="1"/>
<wire x1="45.9994" y1="67.5386" x2="47.879" y2="65.659" width="0.254" layer="1"/>
<wire x1="47.879" y1="65.659" x2="51.308" y2="65.659" width="0.254" layer="1"/>
<wire x1="51.308" y1="65.659" x2="52.07" y2="66.421" width="0.254" layer="1"/>
<wire x1="52.07" y1="73.914" x2="54.737" y2="76.581" width="0.254" layer="1"/>
<wire x1="54.737" y1="76.581" x2="54.737" y2="77.724" width="0.254" layer="1"/>
<wire x1="54.737" y1="77.724" x2="55.372" y2="78.359" width="0.254" layer="1"/>
<wire x1="55.372" y1="78.359" x2="58.674" y2="78.359" width="0.254" layer="1"/>
<wire x1="58.674" y1="78.359" x2="59.69" y2="77.343" width="0.254" layer="1"/>
<wire x1="59.69" y1="77.343" x2="59.69" y2="76.073" width="0.254" layer="1"/>
<wire x1="59.69" y1="76.073" x2="60.071" y2="75.692" width="0.254" layer="1"/>
<wire x1="60.071" y1="75.692" x2="66.675" y2="75.692" width="0.254" layer="1"/>
</signal>
<signal name="CH23">
<contactref element="R23" pad="P$1"/>
<contactref element="SWITCH2" pad="P$2"/>
<wire x1="66.305" y1="51.827" x2="71.215" y2="51.827" width="0.6096" layer="16"/>
<wire x1="66.04" y1="51.562" x2="66.305" y2="51.827" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$21"/>
<wire x1="45.9994" y1="71.2978" x2="45.974" y2="71.3232" width="0.254" layer="1"/>
<wire x1="45.974" y1="71.3232" x2="45.974" y2="74.549" width="0.254" layer="1"/>
<wire x1="45.974" y1="74.549" x2="46.101" y2="74.676" width="0.254" layer="1"/>
<wire x1="46.101" y1="74.676" x2="50.038" y2="78.232" width="0.254" layer="1"/>
<wire x1="50.038" y1="78.232" x2="50.0634" y2="78.7146" width="0.254" layer="1"/>
<wire x1="50.0634" y1="78.7146" x2="50.038" y2="76.581" width="0.254" layer="16"/>
<via x="50.0634" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="50.038" y1="76.581" x2="50.038" y2="76.454" width="0.254" layer="16"/>
<wire x1="50.038" y1="76.454" x2="53.594" y2="72.898" width="0.254" layer="16"/>
<wire x1="53.594" y1="72.898" x2="53.594" y2="60.706" width="0.254" layer="16"/>
<wire x1="53.594" y1="60.706" x2="54.737" y2="59.563" width="0.254" layer="16"/>
<wire x1="54.737" y1="59.563" x2="59.182" y2="59.563" width="0.254" layer="16"/>
<wire x1="59.182" y1="59.563" x2="62.357" y2="56.388" width="0.254" layer="16"/>
<wire x1="62.357" y1="56.388" x2="62.357" y2="53.848" width="0.254" layer="16"/>
<wire x1="62.357" y1="53.848" x2="64.643" y2="51.562" width="0.254" layer="16"/>
<wire x1="64.643" y1="51.562" x2="66.04" y2="51.562" width="0.254" layer="16"/>
</signal>
<signal name="CH22">
<contactref element="R22" pad="P$1"/>
<contactref element="SWITCH2" pad="P$3"/>
<wire x1="66.305" y1="49.287" x2="71.215" y2="49.287" width="0.6096" layer="16"/>
<wire x1="66.04" y1="49.022" x2="66.305" y2="49.287" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$22"/>
<wire x1="45.3644" y1="71.2978" x2="45.339" y2="71.3232" width="0.254" layer="1"/>
<wire x1="45.339" y1="71.3232" x2="45.339" y2="75.057" width="0.254" layer="1"/>
<wire x1="45.339" y1="75.057" x2="48.006" y2="77.47" width="0.254" layer="1"/>
<wire x1="48.006" y1="77.47" x2="48.768" y2="78.232" width="0.254" layer="1"/>
<wire x1="48.768" y1="78.232" x2="48.7934" y2="78.7146" width="0.254" layer="1"/>
<wire x1="48.7934" y1="78.7146" x2="48.770853125" y2="76.707928125" width="0.254" layer="16"/>
<wire x1="48.770853125" y1="76.707928125" x2="49.022" y2="76.454" width="0.254" layer="16"/>
<via x="48.7934" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="49.022" y1="76.454" x2="52.832" y2="72.644" width="0.254" layer="16"/>
<wire x1="52.832" y1="72.644" x2="52.832" y2="60.579" width="0.254" layer="16"/>
<wire x1="52.832" y1="60.579" x2="54.483" y2="58.928" width="0.254" layer="16"/>
<wire x1="54.483" y1="58.928" x2="59.055" y2="58.928" width="0.254" layer="16"/>
<wire x1="59.055" y1="58.928" x2="61.849" y2="56.134" width="0.254" layer="16"/>
<wire x1="61.849" y1="56.134" x2="61.849" y2="51.816" width="0.254" layer="16"/>
<wire x1="61.849" y1="51.816" x2="64.389" y2="49.149" width="0.254" layer="16"/>
<wire x1="64.389" y1="49.149" x2="65.913" y2="49.149" width="0.254" layer="16"/>
<wire x1="65.913" y1="49.149" x2="66.04" y2="49.022" width="0.254" layer="16"/>
</signal>
<signal name="CH21">
<contactref element="R21" pad="P$1"/>
<contactref element="SWITCH2" pad="P$4"/>
<wire x1="66.305" y1="46.747" x2="71.215" y2="46.747" width="0.6096" layer="16"/>
<wire x1="66.04" y1="46.482" x2="66.305" y2="46.747" width="0.6096" layer="16"/>
<wire x1="66.305" y1="46.747" x2="65.902" y2="46.747" width="0.2032" layer="16"/>
<contactref element="U$3" pad="P$23"/>
<wire x1="44.7294" y1="71.2978" x2="44.704" y2="71.3232" width="0.254" layer="1"/>
<wire x1="44.704" y1="71.3232" x2="44.704" y2="75.692" width="0.254" layer="1"/>
<wire x1="44.704" y1="75.692" x2="47.498" y2="78.105" width="0.254" layer="1"/>
<wire x1="47.498" y1="78.105" x2="47.5234" y2="78.7146" width="0.254" layer="1"/>
<wire x1="47.5234" y1="78.7146" x2="47.498" y2="76.835" width="0.254" layer="16"/>
<via x="47.5234" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="47.498" y1="76.835" x2="52.197" y2="72.136" width="0.254" layer="16"/>
<wire x1="52.197" y1="72.136" x2="52.197" y2="60.325" width="0.254" layer="16"/>
<wire x1="52.197" y1="60.325" x2="54.229" y2="58.293" width="0.254" layer="16"/>
<wire x1="54.229" y1="58.293" x2="58.801" y2="58.293" width="0.254" layer="16"/>
<wire x1="58.801" y1="58.293" x2="61.341" y2="55.88" width="0.254" layer="16"/>
<wire x1="61.341" y1="55.88" x2="61.341" y2="50.038" width="0.254" layer="16"/>
<wire x1="61.341" y1="50.038" x2="64.643" y2="46.355" width="0.254" layer="16"/>
<wire x1="64.643" y1="46.355" x2="65.913" y2="46.355" width="0.254" layer="16"/>
<wire x1="65.913" y1="46.355" x2="66.04" y2="46.482" width="0.254" layer="16"/>
</signal>
<signal name="CH20">
<contactref element="R20" pad="P$1"/>
<contactref element="SWITCH2" pad="P$5"/>
<wire x1="66.305" y1="44.207" x2="71.215" y2="44.207" width="0.6096" layer="16"/>
<wire x1="66.04" y1="43.942" x2="66.305" y2="44.207" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$24"/>
<wire x1="44.0944" y1="71.2978" x2="44.069" y2="71.3232" width="0.254" layer="1"/>
<wire x1="44.069" y1="71.3232" x2="44.069" y2="75.819" width="0.254" layer="1"/>
<wire x1="44.069" y1="75.819" x2="44.577" y2="76.454" width="0.254" layer="1"/>
<wire x1="44.577" y1="76.454" x2="46.228" y2="78.105" width="0.254" layer="1"/>
<wire x1="46.228" y1="78.105" x2="46.2534" y2="78.7146" width="0.254" layer="1"/>
<wire x1="46.2534" y1="78.7146" x2="46.232821875" y2="77.088928125" width="0.254" layer="16"/>
<wire x1="46.232821875" y1="77.088928125" x2="46.609" y2="76.708" width="0.254" layer="16"/>
<via x="46.2534" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="46.609" y1="76.708" x2="51.435" y2="71.882" width="0.254" layer="16"/>
<wire x1="51.435" y1="71.882" x2="51.435" y2="60.198" width="0.254" layer="16"/>
<wire x1="51.435" y1="60.198" x2="53.975" y2="57.658" width="0.254" layer="16"/>
<wire x1="53.975" y1="57.658" x2="58.674" y2="57.658" width="0.254" layer="16"/>
<wire x1="58.674" y1="57.658" x2="60.706" y2="55.753" width="0.254" layer="16"/>
<wire x1="60.706" y1="55.753" x2="60.706" y2="48.133" width="0.254" layer="16"/>
<wire x1="60.706" y1="48.133" x2="64.643" y2="43.815" width="0.254" layer="16"/>
<wire x1="64.643" y1="43.815" x2="65.913" y2="43.815" width="0.254" layer="16"/>
<wire x1="65.913" y1="43.815" x2="66.04" y2="43.942" width="0.254" layer="16"/>
</signal>
<signal name="CH19">
<contactref element="R19" pad="P$1"/>
<contactref element="SWITCH2" pad="P$6"/>
<wire x1="66.305" y1="41.667" x2="71.215" y2="41.667" width="0.6096" layer="16"/>
<wire x1="66.04" y1="41.402" x2="66.305" y2="41.667" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$25"/>
<wire x1="43.4594" y1="71.2978" x2="43.434" y2="71.3232" width="0.254" layer="1"/>
<wire x1="43.434" y1="71.3232" x2="43.434" y2="76.708" width="0.254" layer="1"/>
<wire x1="43.434" y1="76.708" x2="44.958" y2="78.232" width="0.254" layer="1"/>
<wire x1="44.958" y1="78.232" x2="44.9834" y2="78.7146" width="0.254" layer="1"/>
<wire x1="44.9834" y1="78.7146" x2="44.958" y2="76.962" width="0.254" layer="16"/>
<via x="44.9834" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="44.958" y1="76.962" x2="44.958" y2="76.835" width="0.254" layer="16"/>
<wire x1="44.958" y1="76.835" x2="46.355" y2="75.438" width="0.254" layer="16"/>
<wire x1="46.355" y1="75.438" x2="46.99" y2="75.438" width="0.254" layer="16"/>
<wire x1="46.99" y1="75.438" x2="50.673" y2="71.755" width="0.254" layer="16"/>
<wire x1="50.673" y1="71.755" x2="50.673" y2="60.071" width="0.254" layer="16"/>
<wire x1="50.673" y1="60.071" x2="53.721" y2="57.023" width="0.254" layer="16"/>
<wire x1="53.721" y1="57.023" x2="58.42" y2="57.023" width="0.254" layer="16"/>
<wire x1="58.42" y1="57.023" x2="60.071" y2="55.499" width="0.254" layer="16"/>
<wire x1="60.071" y1="55.499" x2="60.071" y2="45.593" width="0.254" layer="16"/>
<wire x1="60.071" y1="45.593" x2="64.262" y2="41.275" width="0.254" layer="16"/>
<wire x1="64.262" y1="41.275" x2="65.913" y2="41.275" width="0.254" layer="16"/>
<wire x1="65.913" y1="41.275" x2="66.04" y2="41.402" width="0.254" layer="16"/>
</signal>
<signal name="CH18">
<contactref element="R18" pad="P$1"/>
<contactref element="SWITCH2" pad="P$7"/>
<wire x1="66.305" y1="39.127" x2="71.215" y2="39.127" width="0.6096" layer="16"/>
<wire x1="66.04" y1="38.862" x2="66.305" y2="39.127" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$26"/>
<wire x1="42.8244" y1="71.2978" x2="42.799" y2="71.3232" width="0.254" layer="1"/>
<wire x1="42.799" y1="71.3232" x2="42.799" y2="77.089" width="0.254" layer="1"/>
<wire x1="42.799" y1="77.089" x2="43.688" y2="77.978" width="0.254" layer="1"/>
<wire x1="43.688" y1="77.978" x2="43.688" y2="78.105" width="0.254" layer="1"/>
<wire x1="43.688" y1="78.105" x2="43.7134" y2="78.7146" width="0.254" layer="1"/>
<wire x1="43.7134" y1="78.7146" x2="43.69443125" y2="77.21606875" width="0.254" layer="16"/>
<wire x1="43.69443125" y1="77.21606875" x2="44.196" y2="76.708" width="0.254" layer="16"/>
<via x="43.7134" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="44.196" y1="76.708" x2="46.101" y2="74.803" width="0.254" layer="16"/>
<wire x1="46.101" y1="74.803" x2="46.736" y2="74.803" width="0.254" layer="16"/>
<wire x1="46.736" y1="74.803" x2="50.038" y2="71.501" width="0.254" layer="16"/>
<wire x1="50.038" y1="71.501" x2="50.038" y2="59.817" width="0.254" layer="16"/>
<wire x1="50.038" y1="59.817" x2="53.467" y2="56.388" width="0.254" layer="16"/>
<wire x1="53.467" y1="56.388" x2="58.293" y2="56.388" width="0.254" layer="16"/>
<wire x1="58.293" y1="56.388" x2="59.436" y2="55.245" width="0.254" layer="16"/>
<wire x1="59.436" y1="55.245" x2="59.436" y2="43.815" width="0.254" layer="16"/>
<wire x1="59.436" y1="43.815" x2="64.516" y2="38.735" width="0.254" layer="16"/>
<wire x1="64.516" y1="38.735" x2="65.913" y2="38.735" width="0.254" layer="16"/>
<wire x1="65.913" y1="38.735" x2="66.04" y2="38.862" width="0.254" layer="16"/>
</signal>
<signal name="CH17">
<contactref element="R17" pad="P$1"/>
<contactref element="SWITCH2" pad="P$8"/>
<wire x1="66.305" y1="36.587" x2="71.215" y2="36.587" width="0.6096" layer="16"/>
<wire x1="66.04" y1="36.322" x2="66.305" y2="36.587" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$27"/>
<wire x1="42.1894" y1="71.2978" x2="42.164" y2="71.3232" width="0.254" layer="1"/>
<wire x1="42.164" y1="71.3232" x2="42.164" y2="77.343" width="0.254" layer="1"/>
<wire x1="42.164" y1="77.343" x2="42.418" y2="77.597" width="0.254" layer="1"/>
<wire x1="42.418" y1="77.597" x2="42.418" y2="78.105" width="0.254" layer="1"/>
<wire x1="42.418" y1="78.105" x2="42.4434" y2="78.7146" width="0.254" layer="1"/>
<wire x1="42.4434" y1="78.7146" x2="42.42143125" y2="77.4699125" width="0.254" layer="16"/>
<wire x1="42.42143125" y1="77.4699125" x2="43.053" y2="76.835" width="0.254" layer="16"/>
<via x="42.4434" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="43.053" y1="76.835" x2="45.72" y2="74.168" width="0.254" layer="16"/>
<wire x1="45.72" y1="74.168" x2="46.482" y2="74.168" width="0.254" layer="16"/>
<wire x1="46.482" y1="74.168" x2="49.53" y2="71.12" width="0.254" layer="16"/>
<wire x1="49.53" y1="71.12" x2="49.53" y2="59.436" width="0.254" layer="16"/>
<wire x1="49.53" y1="59.436" x2="53.213" y2="55.753" width="0.254" layer="16"/>
<wire x1="53.213" y1="55.753" x2="58.039" y2="55.753" width="0.254" layer="16"/>
<wire x1="58.039" y1="55.753" x2="58.801" y2="54.991" width="0.254" layer="16"/>
<wire x1="58.801" y1="54.991" x2="58.801" y2="41.91" width="0.254" layer="16"/>
<wire x1="58.801" y1="41.91" x2="64.643" y2="36.068" width="0.254" layer="16"/>
<wire x1="64.643" y1="36.068" x2="65.786" y2="36.068" width="0.254" layer="16"/>
<wire x1="65.786" y1="36.068" x2="66.04" y2="36.322" width="0.254" layer="16"/>
</signal>
<signal name="CH16">
<contactref element="R16" pad="P$1"/>
<contactref element="SWITCH3" pad="P$1"/>
<wire x1="12.655" y1="36.322" x2="17.78" y2="36.322" width="0.6096" layer="16"/>
<wire x1="12.56" y1="36.227" x2="12.655" y2="36.322" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$28"/>
<wire x1="41.5544" y1="71.2978" x2="41.529" y2="71.3232" width="0.254" layer="1"/>
<wire x1="41.529" y1="71.3232" x2="41.529" y2="77.343" width="0.254" layer="1"/>
<wire x1="41.529" y1="77.343" x2="41.148" y2="77.724" width="0.254" layer="1"/>
<wire x1="41.148" y1="77.724" x2="41.148" y2="78.613" width="0.254" layer="1"/>
<wire x1="41.148" y1="78.613" x2="41.1734" y2="78.7146" width="0.254" layer="1"/>
<via x="41.1734" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="34.671" y1="72.771" x2="34.671" y2="58.293" width="0.254" layer="16"/>
<wire x1="34.671" y1="58.293" x2="32.639" y2="56.261" width="0.254" layer="16"/>
<wire x1="32.639" y1="56.261" x2="26.035" y2="56.261" width="0.254" layer="16"/>
<wire x1="26.035" y1="56.261" x2="23.622" y2="53.848" width="0.254" layer="16"/>
<wire x1="23.622" y1="53.848" x2="23.622" y2="38.1" width="0.254" layer="16"/>
<wire x1="23.622" y1="38.1" x2="21.717" y2="36.195" width="0.254" layer="16"/>
<wire x1="21.717" y1="36.195" x2="17.907" y2="36.195" width="0.254" layer="16"/>
<wire x1="17.907" y1="36.195" x2="17.78" y2="36.322" width="0.254" layer="16"/>
<wire x1="34.671" y1="72.771" x2="36.957" y2="75.057" width="0.254" layer="16"/>
<wire x1="36.957" y1="75.057" x2="38.481" y2="75.057" width="0.254" layer="16"/>
<wire x1="38.481" y1="75.057" x2="41.0845" y2="77.6605" width="0.254" layer="16"/>
<wire x1="41.0845" y1="77.6605" x2="41.0845" y2="78.5495" width="0.254" layer="16"/>
<wire x1="41.0845" y1="78.5495" x2="41.1734" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH15">
<contactref element="R15" pad="P$1"/>
<contactref element="SWITCH3" pad="P$2"/>
<wire x1="12.655" y1="38.862" x2="17.78" y2="38.862" width="0.6096" layer="16"/>
<wire x1="12.56" y1="38.767" x2="12.655" y2="38.862" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$29"/>
<wire x1="40.9194" y1="71.2978" x2="40.894" y2="71.3232" width="0.254" layer="1"/>
<wire x1="40.894" y1="71.3232" x2="40.894" y2="76.962" width="0.254" layer="1"/>
<wire x1="40.894" y1="76.962" x2="39.878" y2="77.978" width="0.254" layer="1"/>
<wire x1="39.878" y1="77.978" x2="39.878" y2="78.613" width="0.254" layer="1"/>
<wire x1="39.878" y1="78.613" x2="39.9034" y2="78.7146" width="0.254" layer="1"/>
<via x="39.9034" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="34.163" y1="73.152" x2="34.163" y2="58.547" width="0.254" layer="16"/>
<wire x1="34.163" y1="58.547" x2="32.385" y2="56.769" width="0.254" layer="16"/>
<wire x1="32.385" y1="56.769" x2="25.781" y2="56.769" width="0.254" layer="16"/>
<wire x1="25.781" y1="56.769" x2="22.987" y2="53.975" width="0.254" layer="16"/>
<wire x1="22.987" y1="53.975" x2="22.987" y2="40.386" width="0.254" layer="16"/>
<wire x1="22.987" y1="40.386" x2="21.336" y2="38.735" width="0.254" layer="16"/>
<wire x1="21.336" y1="38.735" x2="17.907" y2="38.735" width="0.254" layer="16"/>
<wire x1="17.907" y1="38.735" x2="17.78" y2="38.862" width="0.254" layer="16"/>
<wire x1="34.163" y1="73.152" x2="36.703" y2="75.692" width="0.254" layer="16"/>
<wire x1="36.703" y1="75.692" x2="37.719" y2="75.692" width="0.254" layer="16"/>
<wire x1="37.719" y1="75.692" x2="39.878" y2="77.851" width="0.254" layer="16"/>
<wire x1="39.878" y1="77.851" x2="39.878" y2="78.6892" width="0.254" layer="16"/>
<wire x1="39.878" y1="78.6892" x2="39.9034" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH14">
<contactref element="R14" pad="P$1"/>
<contactref element="SWITCH3" pad="P$3"/>
<wire x1="12.655" y1="41.402" x2="17.78" y2="41.402" width="0.6096" layer="16"/>
<wire x1="12.56" y1="41.307" x2="12.655" y2="41.402" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$30"/>
<wire x1="40.2844" y1="71.2978" x2="40.259" y2="71.3232" width="0.254" layer="1"/>
<wire x1="40.259" y1="71.3232" x2="40.259" y2="76.581" width="0.254" layer="1"/>
<wire x1="40.259" y1="76.581" x2="38.608" y2="78.232" width="0.254" layer="1"/>
<wire x1="38.608" y1="78.232" x2="38.608" y2="78.486" width="0.254" layer="1"/>
<wire x1="38.608" y1="78.486" x2="38.6334" y2="78.7146" width="0.254" layer="1"/>
<via x="38.6334" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="33.655" y1="73.533" x2="33.655" y2="58.928" width="0.254" layer="16"/>
<wire x1="33.655" y1="58.928" x2="32.004" y2="57.277" width="0.254" layer="16"/>
<wire x1="32.004" y1="57.277" x2="25.273" y2="57.277" width="0.254" layer="16"/>
<wire x1="25.273" y1="57.277" x2="22.352" y2="54.356" width="0.254" layer="16"/>
<wire x1="22.352" y1="54.356" x2="22.352" y2="42.545" width="0.254" layer="16"/>
<wire x1="22.352" y1="42.545" x2="21.082" y2="41.275" width="0.254" layer="16"/>
<wire x1="21.082" y1="41.275" x2="17.907" y2="41.275" width="0.254" layer="16"/>
<wire x1="17.907" y1="41.275" x2="17.78" y2="41.402" width="0.254" layer="16"/>
<wire x1="33.655" y1="73.533" x2="36.449" y2="76.327" width="0.254" layer="16"/>
<wire x1="36.449" y1="76.327" x2="37.211" y2="76.327" width="0.254" layer="16"/>
<wire x1="37.211" y1="76.327" x2="38.862" y2="77.978" width="0.254" layer="16"/>
<wire x1="38.862" y1="77.978" x2="38.862" y2="78.486" width="0.254" layer="16"/>
<wire x1="38.862" y1="78.486" x2="38.6334" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH13">
<contactref element="R13" pad="P$1"/>
<contactref element="SWITCH3" pad="P$4"/>
<wire x1="12.655" y1="43.942" x2="17.78" y2="43.942" width="0.6096" layer="16"/>
<wire x1="12.56" y1="43.847" x2="12.655" y2="43.942" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$31"/>
<wire x1="39.6494" y1="71.2978" x2="39.624" y2="71.3232" width="0.254" layer="1"/>
<wire x1="39.624" y1="71.3232" x2="39.624" y2="76.073" width="0.254" layer="1"/>
<wire x1="39.624" y1="76.073" x2="37.338" y2="78.359" width="0.254" layer="1"/>
<wire x1="37.338" y1="78.359" x2="37.338" y2="78.74" width="0.254" layer="1"/>
<wire x1="37.338" y1="78.74" x2="37.3634" y2="78.7146" width="0.254" layer="1"/>
<via x="37.3634" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="33.02" y1="73.787" x2="33.02" y2="59.182" width="0.254" layer="16"/>
<wire x1="33.02" y1="59.182" x2="31.623" y2="57.785" width="0.254" layer="16"/>
<wire x1="31.623" y1="57.785" x2="24.892" y2="57.785" width="0.254" layer="16"/>
<wire x1="24.892" y1="57.785" x2="21.717" y2="54.61" width="0.254" layer="16"/>
<wire x1="21.717" y1="54.61" x2="21.717" y2="45.085" width="0.254" layer="16"/>
<wire x1="21.717" y1="45.085" x2="20.574" y2="43.942" width="0.254" layer="16"/>
<wire x1="20.574" y1="43.942" x2="17.78" y2="43.942" width="0.254" layer="16"/>
<wire x1="33.02" y1="73.787" x2="36.195" y2="76.962" width="0.254" layer="16"/>
<wire x1="36.195" y1="76.962" x2="36.703" y2="76.962" width="0.254" layer="16"/>
<wire x1="36.703" y1="76.962" x2="37.338" y2="77.597" width="0.254" layer="16"/>
<wire x1="37.338" y1="77.597" x2="37.338" y2="78.6892" width="0.254" layer="16"/>
<wire x1="37.338" y1="78.6892" x2="37.3634" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH12">
<contactref element="R12" pad="P$1"/>
<contactref element="SWITCH3" pad="P$5"/>
<wire x1="12.655" y1="46.482" x2="17.78" y2="46.482" width="0.6096" layer="16"/>
<wire x1="12.56" y1="46.387" x2="12.655" y2="46.482" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$32"/>
<wire x1="39.0144" y1="71.2978" x2="38.989" y2="71.3232" width="0.254" layer="1"/>
<wire x1="38.989" y1="71.3232" x2="38.989" y2="75.819" width="0.254" layer="1"/>
<wire x1="38.989" y1="75.819" x2="37.338" y2="77.47" width="0.254" layer="1"/>
<wire x1="37.338" y1="77.47" x2="36.83" y2="77.47" width="0.254" layer="1"/>
<wire x1="36.83" y1="77.47" x2="36.068" y2="78.232" width="0.254" layer="1"/>
<wire x1="36.068" y1="78.232" x2="36.0934" y2="78.7146" width="0.254" layer="1"/>
<via x="36.0934" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="32.512" y1="74.168" x2="32.512" y2="59.436" width="0.254" layer="16"/>
<wire x1="32.512" y1="59.436" x2="31.369" y2="58.293" width="0.254" layer="16"/>
<wire x1="31.369" y1="58.293" x2="24.638" y2="58.293" width="0.254" layer="16"/>
<wire x1="24.638" y1="58.293" x2="21.209" y2="54.864" width="0.254" layer="16"/>
<wire x1="21.209" y1="54.864" x2="21.209" y2="47.879" width="0.254" layer="16"/>
<wire x1="21.209" y1="47.879" x2="19.812" y2="46.482" width="0.254" layer="16"/>
<wire x1="19.812" y1="46.482" x2="17.78" y2="46.482" width="0.254" layer="16"/>
<wire x1="32.512" y1="74.168" x2="35.941" y2="77.597" width="0.254" layer="16"/>
<wire x1="35.941" y1="77.597" x2="35.941" y2="78.5622" width="0.254" layer="16"/>
<wire x1="35.941" y1="78.5622" x2="36.0934" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH11">
<contactref element="R11" pad="P$1"/>
<contactref element="SWITCH3" pad="P$6"/>
<wire x1="12.655" y1="49.022" x2="17.78" y2="49.022" width="0.6096" layer="16"/>
<wire x1="12.56" y1="48.927" x2="12.655" y2="49.022" width="0.6096" layer="16"/>
<wire x1="17.78" y1="49.022" x2="17.907" y2="49.022" width="0.2032" layer="16"/>
<contactref element="U$3" pad="P$33"/>
<wire x1="38.3794" y1="71.2978" x2="38.354" y2="71.3232" width="0.254" layer="1"/>
<wire x1="38.354" y1="71.3232" x2="38.354" y2="75.438" width="0.254" layer="1"/>
<wire x1="38.354" y1="75.438" x2="36.957" y2="76.835" width="0.254" layer="1"/>
<wire x1="36.957" y1="76.835" x2="36.195" y2="76.835" width="0.254" layer="1"/>
<wire x1="36.195" y1="76.835" x2="34.798" y2="78.232" width="0.254" layer="1"/>
<wire x1="34.798" y1="78.232" x2="34.8234" y2="78.7146" width="0.254" layer="1"/>
<via x="34.8234" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="32.004" y1="74.422" x2="32.004" y2="59.69" width="0.254" layer="16"/>
<wire x1="32.004" y1="59.69" x2="31.242" y2="58.928" width="0.254" layer="16"/>
<wire x1="31.242" y1="58.928" x2="24.384" y2="58.928" width="0.254" layer="16"/>
<wire x1="24.384" y1="58.928" x2="20.574" y2="55.118" width="0.254" layer="16"/>
<wire x1="20.574" y1="55.118" x2="20.574" y2="50.292" width="0.254" layer="16"/>
<wire x1="20.574" y1="50.292" x2="19.177" y2="48.895" width="0.254" layer="16"/>
<wire x1="19.177" y1="48.895" x2="17.907" y2="48.895" width="0.254" layer="16"/>
<wire x1="17.907" y1="48.895" x2="17.78" y2="49.022" width="0.254" layer="16"/>
<wire x1="32.004" y1="74.422" x2="34.798" y2="77.216" width="0.254" layer="16"/>
<wire x1="34.798" y1="77.216" x2="34.798" y2="78.6892" width="0.254" layer="16"/>
<wire x1="34.798" y1="78.6892" x2="34.8234" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH10">
<contactref element="R10" pad="P$1"/>
<contactref element="SWITCH3" pad="P$7"/>
<wire x1="12.655" y1="51.562" x2="17.78" y2="51.562" width="0.6096" layer="16"/>
<wire x1="12.56" y1="51.467" x2="12.655" y2="51.562" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$34"/>
<wire x1="37.7444" y1="71.2978" x2="37.719" y2="71.3232" width="0.254" layer="1"/>
<wire x1="37.719" y1="71.3232" x2="37.719" y2="75.057" width="0.254" layer="1"/>
<wire x1="37.719" y1="75.057" x2="36.576" y2="76.2" width="0.254" layer="1"/>
<wire x1="36.576" y1="76.2" x2="35.56" y2="76.2" width="0.254" layer="1"/>
<wire x1="35.56" y1="76.2" x2="33.528" y2="78.232" width="0.254" layer="1"/>
<wire x1="33.528" y1="78.232" x2="33.5534" y2="78.7146" width="0.254" layer="1"/>
<via x="33.5534" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="31.496" y1="74.676" x2="31.496" y2="59.944" width="0.254" layer="16"/>
<wire x1="31.496" y1="59.944" x2="30.988" y2="59.436" width="0.254" layer="16"/>
<wire x1="30.988" y1="59.436" x2="24.003" y2="59.436" width="0.254" layer="16"/>
<wire x1="24.003" y1="59.436" x2="20.066" y2="55.499" width="0.254" layer="16"/>
<wire x1="20.066" y1="55.499" x2="20.066" y2="52.578" width="0.254" layer="16"/>
<wire x1="20.066" y1="52.578" x2="18.796" y2="51.308" width="0.254" layer="16"/>
<wire x1="18.796" y1="51.308" x2="18.034" y2="51.308" width="0.254" layer="16"/>
<wire x1="18.034" y1="51.308" x2="17.78" y2="51.562" width="0.254" layer="16"/>
<wire x1="31.496" y1="74.676" x2="33.401" y2="76.581" width="0.254" layer="16"/>
<wire x1="33.401" y1="76.581" x2="33.401" y2="78.5622" width="0.254" layer="16"/>
<wire x1="33.401" y1="78.5622" x2="33.5534" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH9">
<contactref element="R9" pad="P$1"/>
<contactref element="SWITCH3" pad="P$8"/>
<wire x1="12.655" y1="54.102" x2="17.78" y2="54.102" width="0.6096" layer="16"/>
<wire x1="12.56" y1="54.007" x2="12.655" y2="54.102" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$35"/>
<wire x1="37.1094" y1="71.2978" x2="37.084" y2="71.3232" width="0.254" layer="1"/>
<wire x1="37.084" y1="71.3232" x2="37.084" y2="74.676" width="0.254" layer="1"/>
<wire x1="37.084" y1="74.676" x2="36.195" y2="75.565" width="0.254" layer="1"/>
<wire x1="36.195" y1="75.565" x2="35.052" y2="75.565" width="0.254" layer="1"/>
<wire x1="35.052" y1="75.565" x2="32.258" y2="78.359" width="0.254" layer="1"/>
<wire x1="32.258" y1="78.359" x2="32.2834" y2="78.7146" width="0.254" layer="1"/>
<via x="32.2834" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="30.988" y1="74.93" x2="30.988" y2="60.198" width="0.254" layer="16"/>
<wire x1="30.988" y1="60.198" x2="30.734" y2="59.944" width="0.254" layer="16"/>
<wire x1="30.734" y1="59.944" x2="23.749" y2="59.944" width="0.254" layer="16"/>
<wire x1="23.749" y1="59.944" x2="19.558" y2="55.753" width="0.254" layer="16"/>
<wire x1="19.558" y1="55.753" x2="19.558" y2="54.61" width="0.254" layer="16"/>
<wire x1="19.558" y1="54.61" x2="19.05" y2="54.102" width="0.254" layer="16"/>
<wire x1="19.05" y1="54.102" x2="17.78" y2="54.102" width="0.254" layer="16"/>
<wire x1="30.988" y1="74.93" x2="32.131" y2="76.073" width="0.254" layer="16"/>
<wire x1="32.131" y1="76.073" x2="32.131" y2="78.5622" width="0.254" layer="16"/>
<wire x1="32.131" y1="78.5622" x2="32.2834" y2="78.7146" width="0.254" layer="16"/>
</signal>
<signal name="CH8">
<contactref element="R8" pad="P$1"/>
<contactref element="SWITCH4" pad="P$1"/>
<wire x1="12.648" y1="61.722" x2="17.78" y2="61.722" width="0.6096" layer="16"/>
<wire x1="12.58" y1="61.654" x2="12.648" y2="61.722" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$2"/>
<wire x1="29.21" y1="78.359" x2="12.319" y2="78.359" width="0.254" layer="1"/>
<wire x1="12.319" y1="78.359" x2="7.874" y2="73.787" width="0.254" layer="1"/>
<wire x1="7.874" y1="73.787" x2="7.874" y2="64.389" width="0.254" layer="1"/>
<wire x1="7.874" y1="64.389" x2="10.668" y2="61.595" width="0.254" layer="1"/>
<wire x1="10.668" y1="61.595" x2="12.521" y2="61.595" width="0.254" layer="1"/>
<wire x1="12.521" y1="61.595" x2="12.58" y2="61.654" width="0.254" layer="1"/>
<wire x1="37.1094" y1="70.0278" x2="37.1094" y2="68.9864" width="0.254" layer="1"/>
<wire x1="37.1094" y1="68.9864" x2="36.576" y2="68.453" width="0.254" layer="1"/>
<wire x1="36.576" y1="68.453" x2="35.433" y2="68.453" width="0.254" layer="1"/>
<wire x1="35.433" y1="68.453" x2="31.496" y2="72.39" width="0.254" layer="1"/>
<wire x1="31.496" y1="72.39" x2="31.496" y2="76.073" width="0.254" layer="1"/>
<wire x1="31.496" y1="76.073" x2="29.21" y2="78.359" width="0.254" layer="1"/>
</signal>
<signal name="CH7">
<contactref element="R7" pad="P$1"/>
<contactref element="SWITCH4" pad="P$2"/>
<wire x1="12.648" y1="64.262" x2="17.78" y2="64.262" width="0.6096" layer="16"/>
<wire x1="12.58" y1="64.194" x2="12.648" y2="64.262" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$4"/>
<wire x1="29.337" y1="73.152" x2="22.733" y2="73.152" width="0.254" layer="1"/>
<wire x1="22.733" y1="73.152" x2="21.336" y2="71.755" width="0.254" layer="1"/>
<wire x1="21.336" y1="71.755" x2="21.336" y2="64.516" width="0.254" layer="16"/>
<wire x1="21.336" y1="64.516" x2="20.955" y2="64.135" width="0.254" layer="1"/>
<wire x1="20.955" y1="64.135" x2="17.907" y2="64.135" width="0.254" layer="1"/>
<wire x1="17.907" y1="64.135" x2="17.78" y2="64.262" width="0.254" layer="1"/>
<via x="21.336" y="71.755" extent="1-16" drill="0.6" shape="square"/>
<via x="21.336" y="64.516" extent="1-16" drill="0.6" shape="square"/>
<wire x1="38.3794" y1="70.0278" x2="38.3794" y2="67.5894" width="0.254" layer="1"/>
<wire x1="38.3794" y1="67.5894" x2="37.719" y2="66.929" width="0.254" layer="1"/>
<wire x1="37.719" y1="66.929" x2="35.052" y2="66.929" width="0.254" layer="1"/>
<wire x1="35.052" y1="66.929" x2="30.099" y2="71.882" width="0.254" layer="1"/>
<wire x1="30.099" y1="71.882" x2="30.099" y2="72.39" width="0.254" layer="1"/>
<wire x1="30.099" y1="72.39" x2="29.337" y2="73.152" width="0.254" layer="1"/>
</signal>
<signal name="CH6">
<contactref element="R6" pad="P$1"/>
<contactref element="SWITCH4" pad="P$3"/>
<wire x1="12.648" y1="66.802" x2="17.78" y2="66.802" width="0.6096" layer="16"/>
<wire x1="12.58" y1="66.734" x2="12.648" y2="66.802" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$3"/>
<wire x1="28.702" y1="75.565" x2="16.891" y2="75.565" width="0.254" layer="1"/>
<wire x1="16.891" y1="75.565" x2="15.621" y2="74.295" width="0.254" layer="1"/>
<wire x1="15.621" y1="74.295" x2="15.621" y2="67.691" width="0.254" layer="1"/>
<wire x1="15.621" y1="67.691" x2="16.51" y2="66.802" width="0.254" layer="1"/>
<wire x1="16.51" y1="66.802" x2="17.78" y2="66.802" width="0.254" layer="1"/>
<wire x1="37.7444" y1="70.0278" x2="37.7444" y2="67.8434" width="0.254" layer="1"/>
<wire x1="37.7444" y1="67.8434" x2="37.465" y2="67.564" width="0.254" layer="1"/>
<wire x1="37.465" y1="67.564" x2="35.433" y2="67.564" width="0.254" layer="1"/>
<wire x1="35.433" y1="67.564" x2="30.861" y2="72.136" width="0.254" layer="1"/>
<wire x1="30.861" y1="72.136" x2="30.861" y2="73.406" width="0.254" layer="1"/>
<wire x1="30.861" y1="73.406" x2="28.702" y2="75.565" width="0.254" layer="1"/>
</signal>
<signal name="CH5">
<contactref element="R5" pad="P$1"/>
<contactref element="SWITCH4" pad="P$4"/>
<wire x1="12.648" y1="69.342" x2="17.78" y2="69.342" width="0.6096" layer="16"/>
<wire x1="12.58" y1="69.274" x2="12.648" y2="69.342" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$6"/>
<wire x1="31.877" y1="67.945" x2="19.177" y2="67.945" width="0.254" layer="1"/>
<wire x1="19.177" y1="67.945" x2="17.78" y2="69.342" width="0.254" layer="1"/>
<wire x1="39.6494" y1="70.0278" x2="39.6494" y2="66.8274" width="0.254" layer="1"/>
<wire x1="39.6494" y1="66.8274" x2="38.481" y2="65.659" width="0.254" layer="1"/>
<wire x1="38.481" y1="65.659" x2="34.163" y2="65.659" width="0.254" layer="1"/>
<wire x1="34.163" y1="65.659" x2="31.877" y2="67.945" width="0.254" layer="1"/>
</signal>
<signal name="CH4">
<contactref element="R4" pad="P$1"/>
<contactref element="SWITCH4" pad="P$5"/>
<wire x1="12.648" y1="71.882" x2="17.78" y2="71.882" width="0.6096" layer="16"/>
<wire x1="12.58" y1="71.814" x2="12.648" y2="71.882" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$5"/>
<wire x1="30.48"

repository: kemerelab/EphysHelperPCBs

license_type: permissive

repo_name: kemerelab/EphysHelperPCBs

branch_name: refs/heads/master

extension: brd


text:
y1="70.485" x2="19.177" y2="70.485" width="0.254" layer="1"/>
<wire x1="19.177" y1="70.485" x2="17.78" y2="71.882" width="0.254" layer="1"/>
<wire x1="39.0144" y1="70.0278" x2="39.0144" y2="67.2084" width="0.254" layer="1"/>
<wire x1="39.0144" y1="67.2084" x2="38.1" y2="66.294" width="0.254" layer="1"/>
<wire x1="38.1" y1="66.294" x2="34.671" y2="66.294" width="0.254" layer="1"/>
<wire x1="34.671" y1="66.294" x2="30.48" y2="70.485" width="0.254" layer="1"/>
</signal>
<signal name="CH3">
<contactref element="R3" pad="P$1"/>
<contactref element="SWITCH4" pad="P$6"/>
<wire x1="12.648" y1="74.422" x2="17.78" y2="74.422" width="0.6096" layer="16"/>
<wire x1="12.58" y1="74.354" x2="12.648" y2="74.422" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$8"/>
<wire x1="10.922" y1="62.992" x2="9.271" y2="64.643" width="0.254" layer="1"/>
<wire x1="9.271" y1="64.643" x2="9.271" y2="71.045" width="0.254" layer="1"/>
<wire x1="9.271" y1="71.045" x2="12.58" y2="74.354" width="0.254" layer="1"/>
<wire x1="40.9194" y1="70.0278" x2="40.9194" y2="66.0654" width="0.254" layer="1"/>
<wire x1="40.9194" y1="66.0654" x2="39.116" y2="64.262" width="0.254" layer="1"/>
<wire x1="39.116" y1="64.262" x2="30.099" y2="64.262" width="0.254" layer="1"/>
<wire x1="30.099" y1="64.262" x2="28.829" y2="62.992" width="0.254" layer="1"/>
<wire x1="28.829" y1="62.992" x2="10.922" y2="62.992" width="0.254" layer="1"/>
</signal>
<signal name="CH2">
<contactref element="R2" pad="P$1"/>
<contactref element="SWITCH4" pad="P$7"/>
<wire x1="12.648" y1="76.962" x2="17.78" y2="76.962" width="0.6096" layer="16"/>
<wire x1="12.58" y1="76.894" x2="12.648" y2="76.962" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$7"/>
<wire x1="14.859" y1="65.532" x2="14.097" y2="66.294" width="0.254" layer="1"/>
<wire x1="14.097" y1="66.294" x2="14.097" y2="76.073" width="0.254" layer="1"/>
<wire x1="14.097" y1="76.073" x2="13.208" y2="76.962" width="0.254" layer="1"/>
<wire x1="13.208" y1="76.962" x2="12.648" y2="76.962" width="0.254" layer="1"/>
<wire x1="12.648" y1="76.962" x2="12.58" y2="76.894" width="0.254" layer="1"/>
<wire x1="40.2844" y1="70.0278" x2="40.2844" y2="66.4464" width="0.254" layer="1"/>
<wire x1="40.2844" y1="66.4464" x2="38.862" y2="65.024" width="0.254" layer="1"/>
<wire x1="38.862" y1="65.024" x2="29.083" y2="65.024" width="0.254" layer="1"/>
<wire x1="29.083" y1="65.024" x2="28.575" y2="65.532" width="0.254" layer="1"/>
<wire x1="28.575" y1="65.532" x2="14.859" y2="65.532" width="0.254" layer="1"/>
</signal>
<signal name="CH1">
<contactref element="R1" pad="P$1"/>
<contactref element="SWITCH4" pad="P$8"/>
<wire x1="12.648" y1="79.502" x2="17.78" y2="79.502" width="0.6096" layer="16"/>
<wire x1="12.58" y1="79.434" x2="12.648" y2="79.502" width="0.6096" layer="16"/>
<contactref element="U$3" pad="P$10"/>
<wire x1="42.1894" y1="70.0278" x2="42.164" y2="70.0024" width="0.254" layer="1"/>
<wire x1="42.037" y1="64.516" x2="40.767" y2="63.119" width="0.254" layer="16"/>
<via x="42.037" y="64.516" extent="1-16" drill="0.6" shape="square"/>
<wire x1="40.767" y1="63.119" x2="38.989" y2="63.119" width="0.254" layer="16"/>
<wire x1="38.989" y1="63.119" x2="37.973" y2="62.103" width="0.254" layer="1"/>
<via x="38.989" y="63.119" extent="1-16" drill="0.6" shape="square"/>
<wire x1="37.973" y1="62.103" x2="30.099" y2="62.103" width="0.254" layer="1"/>
<wire x1="30.099" y1="62.103" x2="30.099" y2="81.026" width="0.254" layer="16"/>
<wire x1="30.099" y1="81.026" x2="19.304" y2="81.026" width="0.254" layer="1"/>
<wire x1="19.304" y1="81.026" x2="17.78" y2="79.502" width="0.254" layer="1"/>
<via x="30.099" y="62.103" extent="1-16" drill="0.6" shape="square"/>
<via x="30.099" y="81.026" extent="1-16" drill="0.6" shape="square"/>
<wire x1="42.164" y1="70.0024" x2="42.164" y2="64.643" width="0.254" layer="1"/>
<wire x1="42.164" y1="64.643" x2="42.037" y2="64.516" width="0.254" layer="1"/>
</signal>
<signal name="HS_GND">
<contactref element="JP4" pad="2"/>
<contactref element="JP3" pad="2"/>
<contactref element="JP2" pad="2"/>
<wire x1="43.18" y1="45.847" x2="43.18" y2="46.482" width="0.6096" layer="16"/>
<wire x1="43.18" y1="46.482" x2="40.64" y2="49.022" width="0.6096" layer="16"/>
<wire x1="40.64" y1="49.022" x2="40.64" y2="49.657" width="0.6096" layer="16"/>
<wire x1="43.18" y1="42.037" x2="43.18" y2="45.847" width="0.6096" layer="16"/>
<wire x1="40.64" y1="49.657" x2="38.481" y2="51.816" width="0.4064" layer="1"/>
<wire x1="38.481" y1="51.816" x2="38.481" y2="56.515" width="0.4064" layer="1"/>
<wire x1="38.481" y1="56.515" x2="36.576" y2="58.42" width="0.4064" layer="1"/>
<via x="36.576" y="58.42" extent="1-16" drill="0.6"/>
</signal>
<signal name="N$42">
<contactref element="JP3" pad="1"/>
<contactref element="RESGND" pad="P$2"/>
<wire x1="38.735" y1="45.847" x2="40.64" y2="45.847" width="0.6096" layer="16"/>
<wire x1="36.83" y1="47.752" x2="38.735" y2="45.847" width="0.6096" layer="16"/>
<wire x1="36.83" y1="47.752" x2="36.83" y2="50.762" width="0.6096" layer="16"/>
<wire x1="36.83" y1="50.762" x2="36.725" y2="50.867" width="0.6096" layer="16"/>
</signal>
<signal name="N$43">
<contactref element="JP2" pad="1"/>
<contactref element="EQ_SIG" pad="P$2"/>
<wire x1="43.18" y1="49.657" x2="43.2816" y2="49.6824" width="0.6096" layer="16"/>
<wire x1="43.2816" y1="49.6824" x2="44.5516" y2="50.927" width="0.6096" layer="16"/>
<wire x1="44.5516" y1="50.927" x2="47.085" y2="50.927" width="0.6096" layer="16"/>
<wire x1="47.085" y1="50.927" x2="47.31" y2="51.152" width="0.6096" layer="16"/>
</signal>
<signal name="CH29">
<contactref element="R29" pad="P$1"/>
<contactref element="SWITCH1" pad="P$4"/>
<wire x1="66.175" y1="71.747" x2="71.345" y2="71.747" width="0.6096" layer="16"/>
<wire x1="66.04" y1="71.882" x2="66.175" y2="71.747" width="0.6096" layer="16"/>
<wire x1="66.04" y1="72.517" x2="66.04" y2="71.882" width="0.254" layer="16"/>
<contactref element="U$3" pad="P$13"/>
<wire x1="59.309" y1="63.373" x2="62.738" y2="59.817" width="0.254" layer="1"/>
<wire x1="62.738" y1="59.817" x2="72.136" y2="59.817" width="0.254" layer="1"/>
<wire x1="72.136" y1="59.817" x2="73.787" y2="61.468" width="0.254" layer="1"/>
<wire x1="73.787" y1="61.468" x2="73.787" y2="70.612" width="0.254" layer="1"/>
<wire x1="73.787" y1="70.612" x2="72.644" y2="71.755" width="0.254" layer="1"/>
<wire x1="72.644" y1="71.755" x2="71.353" y2="71.755" width="0.254" layer="1"/>
<wire x1="71.353" y1="71.755" x2="71.345" y2="71.747" width="0.254" layer="1"/>
<wire x1="44.0944" y1="70.0278" x2="44.0944" y2="66.6496" width="0.254" layer="1"/>
<wire x1="44.0944" y1="66.6496" x2="46.99" y2="63.754" width="0.254" layer="1"/>
<wire x1="46.99" y1="63.754" x2="52.07" y2="63.754" width="0.254" layer="1"/>
<wire x1="52.07" y1="63.754" x2="53.975" y2="65.786" width="0.254" layer="1"/>
<wire x1="53.975" y1="65.786" x2="53.975" y2="69.469" width="0.254" layer="1"/>
<wire x1="53.975" y1="69.469" x2="54.864" y2="70.485" width="0.254" layer="1"/>
<wire x1="54.864" y1="70.485" x2="57.912" y2="70.485" width="0.254" layer="1"/>
<wire x1="57.912" y1="70.485" x2="59.309" y2="69.088" width="0.254" layer="1"/>
<wire x1="59.309" y1="69.088" x2="59.309" y2="63.373" width="0.254" layer="1"/>
</signal>
<signal name="CH24">
<contactref element="R24" pad="P$1"/>
<contactref element="SWITCH2" pad="P$1"/>
<wire x1="66.305" y1="54.367" x2="71.215" y2="54.367" width="0.6096" layer="16"/>
<wire x1="66.04" y1="54.102" x2="66.305" y2="54.367" width="0.6096" layer="16"/>
<wire x1="66.04" y1="54.102" x2="65.405" y2="54.102" width="0.2032" layer="16"/>
<contactref element="U$3" pad="P$20"/>
<wire x1="46.6344" y1="71.2978" x2="46.609" y2="71.3232" width="0.254" layer="1"/>
<wire x1="46.609" y1="71.3232" x2="46.609" y2="74.168" width="0.254" layer="1"/>
<wire x1="46.609" y1="74.168" x2="50.165" y2="77.47" width="0.254" layer="1"/>
<wire x1="50.165" y1="77.47" x2="51.308" y2="78.105" width="0.254" layer="1"/>
<wire x1="51.308" y1="78.105" x2="51.3334" y2="78.7146" width="0.254" layer="1"/>
<wire x1="51.3334" y1="78.7146" x2="51.308" y2="76.962" width="0.254" layer="16"/>
<via x="51.3334" y="78.7146" extent="1-16" drill="0.6" shape="square"/>
<wire x1="51.308" y1="76.962" x2="51.308" y2="76.2" width="0.254" layer="16"/>
<wire x1="51.308" y1="76.2" x2="54.229" y2="73.279" width="0.254" layer="16"/>
<wire x1="54.229" y1="73.279" x2="54.229" y2="60.96" width="0.254" layer="16"/>
<wire x1="54.229" y1="60.96" x2="55.118" y2="60.071" width="0.254" layer="16"/>
<wire x1="55.118" y1="60.071" x2="59.563" y2="60.071" width="0.254" layer="16"/>
<wire x1="59.563" y1="60.071" x2="63.246" y2="56.388" width="0.254" layer="16"/>
<wire x1="63.246" y1="56.388" x2="63.246" y2="55.118" width="0.254" layer="16"/>
<wire x1="63.246" y1="55.118" x2="64.389" y2="53.975" width="0.254" layer="16"/>
<wire x1="64.389" y1="53.975" x2="65.278" y2="53.975" width="0.254" layer="16"/>
<wire x1="65.278" y1="53.975" x2="65.405" y2="54.102" width="0.254" layer="16"/>
</signal>
</signals>
</board>
</drawing>
</eagle>


text:
export class ItemStyles {
    ballColor: string;
    paddleColor: string;
    brickGradientStart: string;
    brickGradientEnd: string;
    brickBorder: string;
    scoreFont: string;
    scoreColor: string;
    livesFont: string;
    livesColor: string;
    canvasBackgroundColor: string;
}

license: MIT

repository: milantenk/angular-breakout-game-pwa

repo_name: milantenk/angular-breakout-game-pwa

branch_name: refs/heads/main

gha_license_id: MIT

gha_language: TypeScript

extension: ts


text:
file(REMOVE_RECURSE
  "CMakeFiles/untitled.dir/main.cpp.o"
  "CMakeFiles/untitled.dir/compute_shape.cpp.o"
  "CMakeFiles/untitled.dir/compute_dfxi.cpp.o"
  "CMakeFiles/untitled.dir/compute_dj.cpp.o"
  "CMakeFiles/untitled.dir/compute_dji.cpp.o"
  "CMakeFiles/untitled.dir/compute_dfx.cpp.o"
  "CMakeFiles/untitled.dir/set_mesh.cpp.o"
  "CMakeFiles/untitled.dir/set_bc.cpp.o"
  "CMakeFiles/untitled.dir/set_connectivity.cpp.o"
  "untitled.pdb"
  "untitled"
)

# Per-language clean rules from dependency scanning.
foreach(lang CXX)
  include(CMakeFiles/untitled.dir/cmake_clean_${lang}.cmake OPTIONAL)
endforeach()

extension: cmake


text:
using Org.Apache.Hadoop.Yarn.Proto;
using Org.Apache.Hadoop.Yarn.Server.Api.Protocolrecords;
using Sharpen;

namespace Org.Apache.Hadoop.Yarn.Server.Api.Protocolrecords.Impl.PB
{
	public class SCMUploaderNotifyResponsePBImpl : SCMUploaderNotifyResponse
	{
		internal YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto proto = YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto
			.GetDefaultInstance();

		internal YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto.Builder builder
			 = null;

		internal bool viaProto = false;

		public SCMUploaderNotifyResponsePBImpl()
		{
			builder = YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto.NewBuilder
				();
		}

		public SCMUploaderNotifyResponsePBImpl(YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto
			 proto)
		{
			this.proto = proto;
			viaProto = true;
		}

		public virtual YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto GetProto
			()
		{
			MergeLocalToProto();
			proto = viaProto ? proto : ((YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto
				)builder.Build());
			viaProto = true;
			return proto;
		}

		public override bool GetAccepted()
		{
			YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProtoOrBuilder p = viaProto
				 ? proto : builder;
			// Default to true, when in doubt just leave the file in the cache
			return (p.HasAccepted()) ? p.GetAccepted() : true;
		}

		public override void SetAccepted(bool b)
		{
			MaybeInitBuilder();
			builder.SetAccepted(b);
		}

		private void MergeLocalToProto()
		{
			if (viaProto)
			{
				MaybeInitBuilder();
			}
			proto = ((YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto)builder.Build
				());
			viaProto = true;
		}

		private void MaybeInitBuilder()
		{
			if (viaProto || builder == null)
			{
				builder = YarnServerCommonServiceProtos.SCMUploaderNotifyResponseProto.NewBuilder
					(proto);
			}
			viaProto = false;
		}
	}
}

extension: cs


text:
// Copyright © 2020 Dmitry Stoletov <info@imega.ru>
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

package formatter

import (
	"io"
)

type forStatement struct {
	FieldList *fieldlist
	Explist   *explist
	Body      statement
}

func (forStatement) InnerStatement(prev, cur *element) (bool, statement) {
	return false, &fieldlist{}
}

func (forStatement) TypeOf() typeStatement {
	return tsFor
}

func (s *forStatement) IsEnd(prev, cur *element) (bool, bool) {
	return false, cur.Token.Type == nEnd
}

func (s *forStatement) Append(el *element) {}

func (s *forStatement) AppendStatement(st statement) {
	switch v := st.(type) {
	case *fieldlist:
		s.FieldList = v
	case *explist:
		s.Explist = v
	}
}

func (s *forStatement) GetBody(prevSt statement, cur *element) statement {
	if cur.Token.Type != nDo {
		return prevSt
	}

	if s.Body == nil {
		s.Body = new(body).New()
	}

	return s.Body
}

func (s *forStatement) GetStatement(prev, cur *element) statement {
	if cur.Token.Type == nFor {
		return &forStatement{}
	}

	// if cur.Token.Type == nIn {
	// 	return &explist{}
	// }

	if prev != nil && prev.Token.Type == nIn {
		return &explist{}
	}

	if isExp(cur) {
		return &field{}
	}

	return nil
}

func (s *forStatement) Format(c *Config, p printer, w io.Writer) error {
	if err := writeKeywordWithSpaceRight(c, nFor, w); err != nil {
		return err
	}

	if s.FieldList != nil {
		if err := s.FieldList.Format(c, p, w); err != nil {
			return err
		}
	}

	if s.Explist != nil {
		if err := writeKeywordWithSpace(c, nIn, w); err != nil {
			return err
		}

		if err := s.Explist.Format(c, p, w); err != nil {
			return err
		}
	}

	if st, ok := s.Body.(*body); ok {
		if err := space(w); err != nil {
			return err
		}

		np := p
		np.ParentStatement = s.TypeOf()
		np.IgnoreFirstPad = true

		if err := st.Format(c, np, w); err != nil {
			return err
		}
	}

	return nil
}

repository: iMega/luaformatter

repo_name: iMega/luaformatter

gha_language: Go

extension: go


text:
package storage

import (
	"context"
	"time"

	"github.com/harm-matthias-harms/rpm/backend/utils"
	"go.mongodb.org/mongo-driver/mongo"
	"go.mongodb.org/mongo-driver/mongo/options"
)

// MongoSession Handels the mongo Database needs to be public for integration testing.
var MongoSession *mongo.Database

// SetMongoDatabase sets the database when ever a server is created
func SetMongoDatabase() error {
	client, err := mongo.NewClient(options.Client().ApplyURI(utils.GetEnv("MONGO_URL", "mongodb://localhost:27017")))
	if err != nil {
		return err
	}
	ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
	defer cancel()
	err = client.Connect(ctx)
	if err != nil {
		return err
	}
	MongoSession = client.Database(utils.GetEnv("MONGO_DATABASE", "test"))

	//create indexes
	createUserIndexes()
	mcMigrations()
	return nil
}

repository: harm-matthias-harms/rpm

repo_name: harm-matthias-harms/rpm


text:
/**
 * Copyright 2019 Amazon.com, Inc. or its affiliates. All Rights Reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 *
 *     http://aws.amazon.com/apache2.0/
 *
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */

#ifndef _APL_PLAY_MEDIA_COMMAND_H
#define _APL_PLAY_MEDIA_COMMAND_H

#include "apl/command/corecommand.h"

namespace apl {

class PlayMediaCommand : public CoreCommand {
public:
    static CommandPtr create(const ContextPtr& context,
                             Properties&& properties,
                             const CoreComponentPtr& base) {
        auto ptr = std::make_shared<PlayMediaCommand>(context, std::move(properties), base);
        return ptr->validate() ? ptr : nullptr;
    }

    PlayMediaCommand(const ContextPtr& context, Properties&& properties, const CoreComponentPtr& base)
            : CoreCommand(context, std::move(properties), base)
    {}

    const CommandPropDefSet& propDefSet() const override {
        static CommandPropDefSet sPlayMediaCommandProperties(CoreCommand::propDefSet(), {
                {kCommandPropertyAudioTrack,  kCommandAudioTrackForeground, sCommandAudioTrackMap },
                {kCommandPropertyComponentId, "",                           asString,               kPropRequiredId},
                {kCommandPropertySource,      Object::EMPTY_ARRAY(),        asMediaSourceArray,     kPropRequired}
        });

        return sPlayMediaCommandProperties;
    };

    CommandType type() const override { return kCommandTypePlayMedia; }

    ActionPtr execute(const TimersPtr& timers, bool fastMode) override {
        if (fastMode) {
            CONSOLE_CTP(mContext) << "Ignoring PlayMedia command in fast mode";
            return nullptr;
        }

        if (!calculateProperties())
            return nullptr;

        return Action::make(timers, [this](ActionRef ref) {
            auto audioTrack = getValue(kCommandPropertyAudioTrack);

            EventBag bag;
            bag.emplace(kEventPropertyAudioTrack, audioTrack);
            bag.emplace(kEventPropertySource, getValue(kCommandPropertySource));

            // An ActionRef is always required.  The viewhost should resolve it immediately if it is background
            // audio and should resolve it after playing if it is foreground audio.
            Event event(kEventTypePlayMedia,
                        std::move(bag),
                        mTarget,
                        ref);

            mContext->pushEvent(std::move(event));
        });
    }
};

} // namespace apl

#endif // _APL_PLAY_MEDIA_COMMAND_H

repository: ysak-y/apl-core-library

repo_name: ysak-y/apl-core-library

extension: h


text:
package filter

import (
	"fmt"

	"github.com/melias122/engine/engine"
)

func NewFilterSTL1(min, max float64, HHrxNums engine.Nums, n int) Filter {
	return &filterSTL1{newFilterSTL("ƩSTL 1-DO", min, max, HHrxNums, n)}
}

func NewFilterSTL2(min, max float64, HrxNums engine.Nums, n int) Filter {
	return &filterSTL2{newFilterSTL("ƩSTL OD-DO", min, max, HrxNums, n)}
}

type filterSTL1 struct{ *filterSTL }

func (f *filterSTL1) CheckSkupina(s engine.Skupina) bool {
	return f.filterSTL.chceckSkupina(s.S1[0], s.S1[1])
}

type filterSTL2 struct{ *filterSTL }

func (f *filterSTL2) CheckSkupina(s engine.Skupina) bool {
	return f.filterSTL.chceckSkupina(s.S2[0], s.S2[1])
}

type filterSTL struct {
	n        int
	min, max float64
	nums     engine.Nums
	fname    string
}

func newFilterSTL(fname string, min, max float64, nums engine.Nums, n int) *filterSTL {
	if min <= 0 {
		min = 0.1
	}
	return &filterSTL{
		n:     n,
		min:   nextLSS(min),
		max:   nextGRT(max),
		nums:  nums,
		fname: fname,
	}
}

func (s *filterSTL) Check(k engine.Kombinacia) bool {
	var sum float64
	for i, c := range k {
		sum += s.nums[c-1].SNext(i + 1)
	}
	if (len(k) == s.n && sum < s.min) || sum > s.max {
		return false
	}
	return true
}

func (s *filterSTL) chceckSkupina(min, max float64) bool {
	return !outOfRangeFloats64(s.min, s.max, min, max)
}

func (s *filterSTL) String() string {
	return fmt.Sprintf("%s: %s-%s", s.fname, engine.Ftoa(s.min), engine.Ftoa(s.max))
}


text:
import { execFile } from 'child_process';
import { SIMC_SAVE_PATH, SIMC_PATH } from './config';
import _p from 'path';

export interface ISimCArmory {
  realm: string;
  name: string;
}

export function armory_from_string(inp: string): ISimCArmory {
  const i = inp.split(',').map((v) => v.toLowerCase());
  if (i.length != 2) throw new Error('Invalid parameter count. Example: realmname,character');
  const i2 = i[0].replace(/ /g, '-');
  const i3 = i[1];
  return {
    realm: i2,
    name: i3,
  };
}

export function string_from_armory(arm: ISimCArmory): string {
  return `us,${arm.realm},${arm.name}`;
}

export async function simc(inp: string): Promise<string> {
  return new Promise((resolve, reject) => {
    try {
      const match = /\barmory=(.*)\b/g.exec(inp);
      if (match != null) {
        const armstr: string = match[1];
        const file: string = `${armstr.replace(/,/g, '_')}.html`;
        const filename = _p.resolve(SIMC_SAVE_PATH, file);
        const script = inp
          .replace(/\bhtml=.*\b/g, `html=${filename}`)
          .replace(/\s/g, ' ')
          .replace(/\bcalculate_scale_factors=1\b/g, '');
        const args = script.trim().split(' ');
        if (!/\bhtml=.*\b/g.test(script)) args.push(`html=${filename}`);
        execFile(SIMC_PATH, args, null, (err, stdout, stderr) => {
          if (err != undefined) reject(err);
          else {
            if (stderr instanceof Buffer) stderr = stderr.toString();
            if (stderr.length != 0) reject(new Error(stderr));
            else resolve(file);
          }
        });
      }
    } catch (e) {
      reject(e);
    }
  });
}


text:
DESCRIPTION = "GSM Audio Library"
SECTION = "libs"
PRIORITY = "optional"
#DEPENDS = ""
LICENSE = "libgsm"
inherit pkgconfig gpe

SRC_URI = "http://www.netsw.org/audio/convert/gsm-${PV}.tar.gz \
 file://${FILESDIR}/libgsm_patch;patch=1;pnum=0"

S = "${WORKDIR}/gsm-1.0-pl10/"

headers = "gsm.h"

do_stage () {
        oe_libinstall -a -C lib libgsm ${STAGING_LIBDIR}
	mkdir -p ${STAGING_INCDIR}/gsm
	for h in ${headers}; do
		install -m 0644 ${S}/inc/$h ${STAGING_INCDIR}/gsm/$h
	done
}

#do_install () {
#	gpe_do_install
#	oe_runmake PREFIX=${prefix} DESTDIR=${D} install-devel
#}

repository: jdegges/gumstix-pip-oe

repo_name: jdegges/gumstix-pip-oe


text:
SUMMARY = "All packages multimedia packages available for XFCE"

inherit packagegroup

# While this item does not require it, it depends on xfmpc and xfc4-mpc-plugin
# that wants mpd which does
LICENSE_FLAGS = "commercial"

RDEPENDS_${PN} = " \
    parole \
    xfmpc \
    xfce4-mpc-plugin \
"

repository: ni/meta-openembedded

repo_name: ni/meta-openembedded

branch_name: refs/heads/nilrt/master/hardknott

gha_language: BitBake

extension: bb


text:
export class ActionNames {
    static IncrementCounter = 'INCREMENT_COUNTER';
    static DecrementCounter = 'DECREMENT_COUNTER';
    static IncrementCounterNumber = 'INCREMENT_COUNTER_NUMBER';
    static DecrementCounterNumber = 'DECREMENT_COUNTER_NUMBER';
};

export interface ICounterState {
    counters:number[];
    counterNumber:number;
}

export class CounterReducer {

    // Reducer is static so that the data service can reference it without an object
    static reducer(state:ICounterState, action) : ICounterState {

        if (state === undefined) {
            return {
                counters: [0],
                counterNumber: 0
            };  // Undefined state.  Return initial state
        }

        let index: number;
        let counters: number[];
        let newVal: number;

        switch(action.type) {

            case ActionNames.IncrementCounter:
                index = state.counterNumber;
                newVal = state.counters[index] + 1;
                counters = [...state.counters.slice(0, index), newVal, ...state.counters.slice(index + 1)];
                return Object.assign({}, state, {counters});

            case ActionNames.DecrementCounter:
                index = state.counterNumber;
                newVal = state.counters[index] - 1;
                counters = [...state.counters.slice(0, index), newVal, ...state.counters.slice(index + 1)];
                return Object.assign({}, state, {counters});

            case ActionNames.IncrementCounterNumber:
                return CounterReducer.IncrementCounterNumberInternal(state);

            case ActionNames.DecrementCounterNumber:
                return CounterReducer.DecrementCounterNumberInternal(state);

            default:                        // Unknown action.  Don't change state
                return state;
        }
    }

    // private static methods used by the reducer function

    private static IncrementCounterNumberInternal(state:ICounterState) : ICounterState {
        let newCounter:number = state.counterNumber + 1;
        let counters:number[] = newCounter >= state.counters.length ?
            [...state.counters, 0] : state.counters;

        return Object.assign({}, state, {counters, counterNumber: newCounter});
    }

    private static DecrementCounterNumberInternal(state:ICounterState) : ICounterState {
        let newCounter:number = state.counterNumber === 0 ? 0 : state.counterNumber - 1;
        return Object.assign({}, state, {counterNumber: newCounter});
    }

}


text:
export let messages = {
  en: {
    "login.form.header_text": "Signin with existed account",
    "login.form.message": "Register an account at",
    "login.form.register": "Register",
    "login.form.error": "Invalid username or password",
    "login.form.password": "Password",
    "login.form.username": "Username",
    "login.text": "login",
    "login.form.login_button_text": "Login",
    "login.form.username_placeholder": "Enter username",
    "login.form.password_placeholder": "Enter password",
    "registration.form.header_text": "Creat a new account",
    "registration.form.register_button_text": "Register",
    "registration.text": "register",
    "header.account.profile": "Profile",
    "header.account.signout": "Sign out",
    "header.menu.admin": "Manage",
    "field.size.userForm.password": "Password must be at least 8 characters",
    "field.size.userForm.username": "Username must be at least 3 characters"
  }
}

repository: telescreen/spring-examples

repo_name: telescreen/spring-examples


text:
// Program.cs
// <copyright file="Program.cs"> This code is protected under the MIT License. </copyright>using System;
using System;
using System.Net;
using System.Net.Sockets;
using System.Threading;
using System.Timers;
using Networking;
using Tron;

namespace ServerApplication
{
    /// <summary>
    /// The main program.
    /// </summary>
    public class Program
    {
        /// <summary>
        /// Gets or sets the instance of the server.
        /// </summary>
        public static Server Server { get; set; }

        /// <summary>
        /// Gets or sets the timer to keep the game updating at a correct rate.
        /// </summary>
        public static System.Timers.Timer Timer { get; set; }

        /// <summary>
        /// Gets or sets the string the user has inputted.
        /// </summary>
        public static string Input { get; set; }

        /// <summary>
        /// Gets or sets the local ip address.
        /// </summary>
        public static IPAddress LocalIP { get; set; }

        /// <summary>
        /// Gets or sets a value indicating whether the game has started.
        /// </summary>
        public static bool GameStarted { get; set; }

        /// <summary>
        /// The main entry point for the application.
        /// </summary>
        /// <param name="args"> Any arguments/commands that the program is run/compiled with. </param>
        public static void Main(string[] args)
        {
            // Add a shutdown hook to shutdown the server
            AppDomain.CurrentDomain.ProcessExit += (s, e) => { Server.Shutdown(); };

            Console.Title = "Tron Server";

            // Initalize server
            Server = new Server();
            Server.Start();
            GameStarted = false;

            // Initalize the timer
            Timer = new System.Timers.Timer(1000 / 50);
            Timer.AutoReset = true;
            Timer.Enabled = true;
            Timer.Elapsed += HandleTimerElapse;
            Timer.Start();

            // Get local ip
            LocalIP = GetLocalIP();

            while (true)
            {
                // Draw user interface
                DisplayUI();

                // Get inputs without blocking
                if (Console.KeyAvailable)
                {
                    ConsoleKeyInfo inpKey = Console.ReadKey(true);

                    // Parse the input
                    if (inpKey.Key == ConsoleKey.Enter)
                    {
                        if (Input.ToLower() == "shutdown")
                        {
                            // Breaking the loop will shutdown the server
                            break;
                        }
                        else
                        {
                            // If not shutting down run the command
                            RunCommand(Input);
                        }

                        // Clear the input
                        Input = string.Empty;
                    }
                    else if (inpKey.Key == ConsoleKey.Backspace && Input.Length > 0)
                    {
                        // Remove a character from the end
                        Input = Input.Remove(Input.Length - 1);
                    }
                    else if (char.IsLetterOrDigit(inpKey.KeyChar) || char.IsSeparator(inpKey.KeyChar))
                    {
                        // Add the key to the input
                        Input += inpKey.KeyChar;
                    }
                }
            }

            // Exit application if loop has been broken
            Environment.Exit(0);
        }

        /// <summary>
        /// Displays the user interface.
        /// </summary>
        public static void DisplayUI()
        {
            // Set window height to incude everything
            Console.WindowHeight = 30;

            // Clear the console and wait to avoid display issues
            Thread.Sleep(50);
            Console.Clear();

            Console.WriteLine("Tron server:");
            Console.WriteLine("Your local IP: {0}", LocalIP.ToString());
            Console.WriteLine("Game open on port: {0}\n", Server.Port);

            string active = "active";
            if (!GameStarted)
            {
                active = "not active";
            }

            Console.WriteLine("The game is currently: {0}\n", active);

            // Display connected players
            Console.WriteLine("Connected players:");
            for (int i = 0; i < 12; i++)
            {
                if (Server.ClientEPs[i] == null)
                {
                    Console.WriteLine("{0}: Not connected", i + 1);
                }
                else
                {
                    Console.WriteLine("{0}: {1}:{2} ({3})", i + 1, Server.ClientEPs[i].Address.ToString(), Server.ClientEPs[i].Port, (CellValues)i + 1);
                }
            }

            // Display command instructions
            Console.WriteLine("\n");
            Console.WriteLine("To start the game (needs two players min) type 'start (wins needed)'\nWins needed must be a whole positive integer between 1 and 30");
            Console.WriteLine("To kick a player type 'kick (player id)'\nPlayer id is next to their ip address.");
            Console.WriteLine("To shutdown the server type 'shutdown'.\n");

            // Display current input
            Console.WriteLine(">>> {0}_", Input);
        }

        /// <summary>
        /// Runs a command.
        /// </summary>
        /// <param name="input"> The command. </param>
        public static void RunCommand(string input)
        {
            // For trying to parse integers
            int parsedInt;

            try
            {
                if (Input.ToLower().Substring(0, 6) == "start " && int.TryParse(Input.Substring(6), out parsedInt) && parsedInt > 0 && parsedInt <= 30 && !GameStarted && Server.Tron.Players >= 2)
                {
                    // Start the game
                    Server.Tron = new TronGame(Server.Tron.Players, parsedInt);
                    Server.Tron.ResetGame(true);
                    Server.Tron.TimeTillAction = 6;
                    Server.Tron.TimerChaged += Server.SendTimeLeft;
                    GameStarted = true;
                }
                else if (Input.ToLower().Substring(0, 5) == "kick " && int.TryParse(Input.Substring(5), out parsedInt) && parsedInt <= 12 && parsedInt >= 1)
                {
                    // Kick player
                    Server.RemovePlayer(parsedInt - 1, true);
                }
            }
            catch (ArgumentOutOfRangeException)
            {
                // Catch errors with message too small to run Input.Substring
            }
        }

        /// <summary>
        /// Handles the game refresh timer elapsing
        /// </summary>
        /// <param name="sender"> The origin of the event. </param>
        /// <param name="e"> The event arguments. </param>
        public static void HandleTimerElapse(object sender, ElapsedEventArgs e)
        {
            if (GameStarted)
            {
                Server.Tron.Update();

                // Stop game if there is only one player
                if (Server.Tron.Players < 2)
                {
                    for (int i = 0; i < 12; i++)
                    {
                        Server.RemovePlayer(i, true);
                    }

                    GameStarted = false;
                }
            }
        }

        /// <summary>
        /// Gets the local ip address.
        /// </summary>
        /// <returns> The local ip address. </returns>
        public static IPAddress GetLocalIP()
        {
            // Get host entry
            IPHostEntry host = Dns.GetHostEntry(Dns.GetHostName());

            foreach (IPAddress ip in host.AddressList)
            {
                // Return the local ip
                if (ip.AddressFamily == AddressFamily.InterNetwork)
                {
                    return ip;
                }
            }

            return null;
        }
    }
}


text:
// Code generated by github.com/99designs/gqlgen, DO NOT EDIT.

package model

import (
	"fmt"
	"io"
	"strconv"
)

type Node interface {
	IsNode()
}

type Quiz interface {
	IsQuiz()
}

type QuizAnswer interface {
	IsQuizAnswer()
}

type CurrentUserProfile struct {
	ID           string  `json:"id"`
	Email        string  `json:"email"`
	DisplayName  string  `json:"displayName"`
	ScreenImgURL *string `json:"screenImgUrl"`
}

type FourChoicesQuiz struct {
	ID       string        `json:"id"`
	QuizType QuizType      `json:"quizType"`
	Question string        `json:"question"`
	Choices  []*QuizChoice `json:"choices"`
}

func (FourChoicesQuiz) IsQuiz() {}

type FourChoicesQuizAnswer struct {
	Quiz             Quiz   `json:"quiz"`
	AnsweredPlayerID string `json:"answeredPlayerID"`
	CorrectChoiceID  string `json:"correctChoiceID"`
}

func (FourChoicesQuizAnswer) IsQuizAnswer() {}

type Player struct {
	ID          string       `json:"id"`
	UserID      string       `json:"userId"`
	UserProfile *UserProfile `json:"userProfile"`
}

func (Player) IsNode() {}

type QuizChoice struct {
	ID     string `json:"id"`
	Choice string `json:"choice"`
}

func (QuizChoice) IsNode() {}

type QuizRoom struct {
	ID      string    `json:"id"`
	Players []*Player `json:"players"`
}

func (QuizRoom) IsNode() {}

type UpdatePlayerIDInput struct {
	PlayerID string `json:"playerId"`
}

type UserProfile struct {
	ID           string  `json:"id"`
	DisplayName  string  `json:"displayName"`
	ScreenImgURL *string `json:"screenImgUrl"`
}

func (UserProfile) IsNode() {}

type ErrorCode string

const (
	ErrorCodeUnauthenticated ErrorCode = "UNAUTHENTICATED"
	ErrorCodeUnauthorized    ErrorCode = "UNAUTHORIZED"
	ErrorCodeAlreadyExist    ErrorCode = "ALREADY_EXIST"
	ErrorCodeInvalidArgument ErrorCode = "INVALID_ARGUMENT"
	ErrorCodeNotFound        ErrorCode = "NOT_FOUND"
	ErrorCodeInternal        ErrorCode = "INTERNAL"
)

var AllErrorCode = []ErrorCode{
	ErrorCodeUnauthenticated,
	ErrorCodeUnauthorized,
	ErrorCodeAlreadyExist,
	ErrorCodeInvalidArgument,
	ErrorCodeNotFound,
	ErrorCodeInternal,
}

func (e ErrorCode) IsValid() bool {
	switch e {
	case ErrorCodeUnauthenticated, ErrorCodeUnauthorized, ErrorCodeAlreadyExist, ErrorCodeInvalidArgument, ErrorCodeNotFound, ErrorCodeInternal:
		return true
	}
	return false
}

func (e ErrorCode) String() string {
	return string(e)
}

func (e *ErrorCode) UnmarshalGQL(v interface{}) error {
	str, ok := v.(string)
	if !ok {
		return fmt.Errorf("enums must be strings")
	}

	*e = ErrorCode(str)
	if !e.IsValid() {
		return fmt.Errorf("%s is not a valid ErrorCode", str)
	}
	return nil
}

func (e ErrorCode) MarshalGQL(w io.Writer) {
	fmt.Fprint(w, strconv.Quote(e.String()))
}

type QuizType string

const (
	QuizTypeFourChoices QuizType = "FourChoices"
)

var AllQuizType = []QuizType{
	QuizTypeFourChoices,
}

func (e QuizType) IsValid() bool {
	switch e {
	case QuizTypeFourChoices:
		return true
	}
	return false
}

func (e QuizType) String() string {
	return string(e)
}

func (e *QuizType) UnmarshalGQL(v interface{}) error {
	str, ok := v.(string)
	if !ok {
		return fmt.Errorf("enums must be strings")
	}

	*e = QuizType(str)
	if !e.IsValid() {
		return fmt.Errorf("%s is not a valid QuizType", str)
	}
	return nil
}

func (e QuizType) MarshalGQL(w io.Writer) {
	fmt.Fprint(w, strconv.Quote(e.String()))
}

type Role string

const (
	RoleUser Role = "USER"
)

var AllRole = []Role{
	RoleUser,
}

func (e Role) IsValid() bool {
	switch e {
	case RoleUser:
		return true
	}
	return false
}

func (e Role) String() string {
	return string(e)
}

func (e *Role) UnmarshalGQL(v interface{}) error {
	str, ok := v.(string)
	if !ok {
		return fmt.Errorf("enums must be strings")
	}

	*e = Role(str)
	if !e.IsValid() {
		return fmt.Errorf("%s is not a valid Role", str)
	}
	return nil
}

func (e Role) MarshalGQL(w io.Writer) {
	fmt.Fprint(w, strconv.Quote(e.String()))
}

repository: k-yomo/eitan

repo_name: k-yomo/eitan