text:
ref element="XBEE1" pad="4"/>
<contactref element="IC5" pad="8"/>
<via x="57" y="12.75" extent="1-16" drill="0.3"/>
<via x="12" y="11.5" extent="1-16" drill="0.3"/>
<wire x1="11" y1="11.5" x2="12" y2="11.5" width="0.2032" layer="1"/>
<wire x1="35.5" y1="7" x2="37" y2="8.5" width="0.2032" layer="16"/>
<wire x1="37" y1="8.5" x2="49.5" y2="8.5" width="0.2032" layer="16"/>
<wire x1="35.5" y1="7" x2="25" y2="7" width="0.2032" layer="16"/>
<wire x1="25" y1="7" x2="22" y2="10" width="0.2032" layer="16"/>
<wire x1="22" y1="10" x2="13.5" y2="10" width="0.2032" layer="16"/>
<wire x1="13.5" y1="10" x2="12" y2="11.5" width="0.2032" layer="16"/>
<wire x1="49.5" y1="8.5" x2="52" y2="11" width="0.2032" layer="16"/>
<wire x1="52" y1="11" x2="55.25" y2="11" width="0.2032" layer="16"/>
<wire x1="55.25" y1="11" x2="57" y2="12.75" width="0.2032" layer="16"/>
<wire x1="56.625" y1="14" x2="56.625" y2="13.125" width="0.2032" layer="1"/>
<wire x1="56.625" y1="13.125" x2="57" y2="12.75" width="0.2032" layer="1"/>
</signal>
<signal name="XB1_RX">
<contactref element="XBEE1" pad="3"/>
<contactref element="R8" pad="2"/>
<wire x1="9" y1="8.5" x2="10.5" y2="8.5" width="0.2032" layer="1"/>
<wire x1="10.5" y1="8.5" x2="13.5" y2="11.5" width="0.2032" layer="1"/>
<wire x1="21.5" y1="24.75" x2="21" y2="24.75" width="0.2032" layer="1"/>
<wire x1="21" y1="24.75" x2="13.5" y2="17.25" width="0.2032" layer="1"/>
<wire x1="13.5" y1="17.25" x2="13.5" y2="11.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB1_CS">
<contactref element="XBEE1" pad="17"/>
<contactref element="IC5" pad="18"/>
<contactref element="R14" pad="1"/>
<wire x1="23.875" y1="26.875" x2="25" y2="25.75" width="0.2032" layer="1"/>
<wire x1="25" y1="25.75" x2="35" y2="25.75" width="0.2032" layer="1"/>
<via x="35" y="25.75" extent="1-16" drill="0.3"/>
<via x="42.25" y="26.125" extent="1-16" drill="0.3"/>
<wire x1="48.375" y1="25.125" x2="53.75" y2="25.125" width="0.2032" layer="1"/>
<wire x1="53.75" y1="24.875" x2="53.75" y2="21.125" width="0.2032" layer="16"/>
<wire x1="42.25" y1="26.125" x2="42.375" y2="26.25" width="0.2032" layer="1"/>
<wire x1="42.375" y1="26.25" x2="47.25" y2="26.25" width="0.2032" layer="1"/>
<wire x1="47.25" y1="26.25" x2="48.375" y2="25.125" width="0.2032" layer="1"/>
<via x="53.75" y="24.875" extent="1-16" drill="0.3"/>
<via x="53.75" y="21.125" extent="1-16" drill="0.3"/>
<wire x1="53.75" y1="25.125" x2="53.75" y2="24.875" width="0.2032" layer="1"/>
<wire x1="13.375" y1="27.625" x2="17.875" y2="27.625" width="0.2032" layer="1"/>
<wire x1="17.875" y1="27.625" x2="18.5" y2="27" width="0.2032" layer="1"/>
<wire x1="18.5" y1="27" x2="18.5" y2="26.875" width="0.2032" layer="1"/>
<wire x1="18.5" y1="26.875" x2="18.5" y2="26.5" width="0.2032" layer="1"/>
<wire x1="35" y1="25.75" x2="41" y2="25.75" width="0.2032" layer="16"/>
<wire x1="41" y1="25.75" x2="41.375" y2="26.125" width="0.2032" layer="16"/>
<wire x1="41.375" y1="26.125" x2="42.25" y2="26.125" width="0.2032" layer="16"/>
<wire x1="53.375" y1="20" x2="53.375" y2="20.75" width="0.2032" layer="1"/>
<wire x1="53.375" y1="20.75" x2="53.75" y2="21.125" width="0.2032" layer="1"/>
<wire x1="23.875" y1="26.875" x2="18.5" y2="26.875" width="0.2032" layer="1"/>
<wire x1="13.375" y1="27.625" x2="11" y2="30" width="0.2032" layer="1"/>
<wire x1="11" y1="30" x2="11" y2="33.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB1_MOSI">
<contactref element="XBEE1" pad="11"/>
<contactref element="IC5" pad="16"/>
<wire x1="26" y1="27.5" x2="34.5" y2="27.5" width="0.2032" layer="1"/>
<wire x1="34.5" y1="27.5" x2="34.625" y2="27.625" width="0.2032" layer="1"/>
<wire x1="34.625" y1="27.625" x2="35.875" y2="27.625" width="0.2032" layer="1"/>
<via x="35.875" y="27.625" extent="1-16" drill="0.3"/>
<via x="42.125" y="27.625" extent="1-16" drill="0.3"/>
<wire x1="42.125" y1="27.625" x2="47.375" y2="27.625" width="0.2032" layer="1"/>
<via x="47.375" y="27.625" extent="1-16" drill="0.3"/>
<via x="49" y="18.875" extent="1-16" drill="0.3"/>
<wire x1="53.625" y1="18.125" x2="49.75" y2="18.125" width="0.2032" layer="1"/>
<wire x1="49.75" y1="18.125" x2="49" y2="18.875" width="0.2032" layer="1"/>
<wire x1="42.125" y1="27.625" x2="41.875" y2="27.875" width="0.2032" layer="16"/>
<wire x1="41.875" y1="27.875" x2="40.875" y2="27.875" width="0.2032" layer="16"/>
<wire x1="40.875" y1="27.875" x2="40.625" y2="27.625" width="0.2032" layer="16"/>
<wire x1="40.625" y1="27.625" x2="35.875" y2="27.625" width="0.2032" layer="16"/>
<wire x1="49" y1="18.875" x2="48.625" y2="19.25" width="0.2032" layer="16"/>
<wire x1="48.625" y1="19.25" x2="48.625" y2="26.375" width="0.2032" layer="16"/>
<wire x1="48.625" y1="26.375" x2="47.375" y2="27.625" width="0.2032" layer="16"/>
<wire x1="54.675" y1="20" x2="54.675" y2="19.175" width="0.2032" layer="1"/>
<wire x1="54.675" y1="19.175" x2="53.625" y2="18.125" width="0.2032" layer="1"/>
<wire x1="23" y1="33.5" x2="23" y2="30.5" width="0.2032" layer="1"/>
<wire x1="23" y1="30.5" x2="26" y2="27.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB1_SCK">
<contactref element="XBEE1" pad="18"/>
<contactref element="IC5" pad="14"/>
<wire x1="25.375" y1="26.375" x2="35.875" y2="26.375" width="0.2032" layer="1"/>
<via x="35.875" y="26.375" extent="1-16" drill="0.3"/>
<via x="42.75" y="26.875" extent="1-16" drill="0.3"/>
<wire x1="42.75" y1="26.875" x2="47.25" y2="26.875" width="0.2032" layer="1"/>
<wire x1="47.25" y1="26.875" x2="48.625" y2="25.5" width="0.2032" layer="1"/>
<via x="56.5" y="25" extent="1-16" drill="0.3"/>
<via x="56.5" y="22.375" extent="1-16" drill="0.3"/>
<wire x1="48.625" y1="25.5" x2="56" y2="25.5" width="0.2032" layer="1"/>
<wire x1="56" y1="25.5" x2="56.5" y2="25" width="0.2032" layer="1"/>
<wire x1="56.5" y1="22.375" x2="56.5" y2="25" width="0.2032" layer="16"/>
<wire x1="41.125" y1="26.625" x2="41.625" y2="26.625" width="0.2032" layer="16"/>
<wire x1="41.625" y1="26.625" x2="41.875" y2="26.875" width="0.2032" layer="16"/>
<wire x1="41.875" y1="26.875" x2="42.75" y2="26.875" width="0.2032" layer="16"/>
<wire x1="25.375" y1="26.375" x2="24.25" y2="27.5" width="0.2032" layer="1"/>
<wire x1="24.25" y1="27.5" x2="19" y2="27.5" width="0.2032" layer="1"/>
<wire x1="19" y1="27.5" x2="18.125" y2="28.375" width="0.2032" layer="1"/>
<wire x1="18.125" y1="28.375" x2="14" y2="28.375" width="0.2032" layer="1"/>
<wire x1="35.875" y1="26.375" x2="40.875" y2="26.375" width="0.2032" layer="16"/>
<wire x1="40.875" y1="26.375" x2="41.125" y2="26.625" width="0.2032" layer="16"/>
<wire x1="55.975" y1="20" x2="55.975" y2="20.85" width="0.2032" layer="1"/>
<wire x1="55.975" y1="20.85" x2="56.75" y2="21.625" width="0.2032" layer="1"/>
<wire x1="56.75" y1="21.625" x2="56.75" y2="22.125" width="0.2032" layer="1"/>
<wire x1="56.75" y1="22.125" x2="56.5" y2="22.375" width="0.2032" layer="1"/>
<wire x1="9" y1="30.5" x2="9.875" y2="30.5" width="0.2032" layer="1"/>
<via x="9.875" y="30.5" extent="1-16" drill="0.3"/>
<wire x1="9.875" y1="30.5" x2="11.875" y2="30.5" width="0.2032" layer="16"/>
<wire x1="11.875" y1="30.5" x2="14" y2="28.375" width="0.2032" layer="16"/>
<via x="14" y="28.375" extent="1-16" drill="0.3"/>
</signal>
<signal name="XBEE1_CTS/IRQ">
<contactref element="XBEE1" pad="12"/>
<contactref element="R15" pad="1"/>
<wire x1="21" y1="30.5" x2="21" y2="29.375" width="0.2032" layer="1"/>
<wire x1="21" y1="29.375" x2="21.875" y2="28.5" width="0.2032" layer="1"/>
<wire x1="21.875" y1="28.5" x2="22.375" y2="28.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB2_VCC">
<contactref element="XBEE2" pad="1"/>
<contactref element="C17" pad="2"/>
<contactref element="C19" pad="2"/>
<contactref element="C21" pad="2"/>
<contactref element="T3" pad="3"/>
<contactref element="R23" pad="2"/>
<contactref element="T1" pad="5"/>
<contactref element="R16" pad="2"/>
<contactref element="IC3" pad="3"/>
<contactref element="R21" pad="1"/>
<via x="69" y="13.5" extent="1-16" drill="0.3"/>
<via x="68" y="26.5" extent="1-16" drill="0.3"/>
<wire x1="50.6" y1="28.5" x2="51" y2="28.5" width="0.2032" layer="1"/>
<wire x1="51" y1="28.5" x2="51.375" y2="28.125" width="0.2032" layer="1"/>
<wire x1="51.375" y1="28.125" x2="51.375" y2="26.75" width="0.2032" layer="1"/>
<wire x1="51.375" y1="26.75" x2="51.75" y2="26.375" width="0.2032" layer="1"/>
<wire x1="81" y1="33.5" x2="81" y2="35.25" width="0.4064" layer="1"/>
<wire x1="81" y1="35.25" x2="82.2" y2="35.25" width="0.4064" layer="1"/>
<wire x1="82.2" y1="35.25" x2="82.5" y2="35.55" width="0.2032" layer="1"/>
<wire x1="81" y1="35.25" x2="79" y2="35.25" width="0.4064" layer="1"/>
<wire x1="79" y1="35.25" x2="73.75" y2="35.25" width="0.2032" layer="1"/>
<wire x1="73.75" y1="35.25" x2="72" y2="37" width="0.2032" layer="1"/>
<wire x1="72" y1="37" x2="71.1" y2="37" width="0.2032" layer="1"/>
<wire x1="70.5" y1="13.5" x2="69" y2="13.5" width="0.2032" layer="1"/>
<wire x1="63" y1="27.25" x2="63" y2="26.5" width="0.4064" layer="1"/>
<wire x1="63" y1="26.5" x2="63" y2="25.475" width="0.4064" layer="1"/>
<wire x1="60.5" y1="26.5" x2="63" y2="26.5" width="0.2032" layer="1"/>
<wire x1="63" y1="26.5" x2="65" y2="26.5" width="0.4064" layer="1"/>
<wire x1="65" y1="26.8" x2="65" y2="26.5" width="0.2032" layer="1"/>
<wire x1="65" y1="26.5" x2="68" y2="26.5" width="0.4064" layer="1"/>
<via x="79" y="35.25" extent="1-16" drill="0.3"/>
<wire x1="51.75" y1="26.375" x2="60.375" y2="26.375" width="0.2032" layer="1"/>
<wire x1="60.375" y1="26.375" x2="60.5" y2="26.5" width="0.2032" layer="1"/>
<wire x1="68" y1="26.5" x2="68" y2="29.125" width="0.4064" layer="16"/>
<wire x1="68" y1="29.125" x2="74.125" y2="35.25" width="0.4064" layer="16"/>
<wire x1="79" y1="35.25" x2="74.125" y2="35.25" width="0.4064" layer="16"/>
<wire x1="68" y1="26.5" x2="68" y2="14.5" width="0.2032" layer="16"/>
<wire x1="68" y1="14.5" x2="69" y2="13.5" width="0.2032" layer="16"/>
</signal>
<signal name="XB2_TX">
<contactref element="XBEE2" pad="2"/>
<contactref element="R11" pad="2"/>
<wire x1="79" y1="30.5" x2="78" y2="30.5" width="0.2032" layer="1"/>
<via x="78" y="30.5" extent="1-16" drill="0.3"/>
<wire x1="78" y1="30.5" x2="75.5" y2="30.5" width="0.2032" layer="16"/>
<wire x1="75.5" y1="30.5" x2="73" y2="28" width="0.2032" layer="16"/>
<wire x1="73" y1="28" x2="73" y2="20.75" width="0.2032" layer="16"/>
<via x="73" y="20.75" extent="1-16" drill="0.3"/>
<wire x1="73" y1="20.75" x2="69.75" y2="17.5" width="0.2032" layer="1"/>
<wire x1="69.75" y1="17.5" x2="64" y2="17.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB2_RX">
<contactref element="XBEE2" pad="3"/>
<contactref element="R9" pad="2"/>
<wire x1="77" y1="33.5" x2="76" y2="33.5" width="0.2032" layer="1"/>
<via x="76" y="33.5" extent="1-16" drill="0.3"/>
<wire x1="76" y1="33.5" x2="75.5" y2="33.5" width="0.2032" layer="16"/>
<wire x1="75.5" y1="33.5" x2="71" y2="29" width="0.2032" layer="16"/>
<wire x1="71" y1="29" x2="71" y2="17.625" width="0.2032" layer="16"/>
<wire x1="64" y1="16" x2="64.375" y2="16" width="0.2032" layer="1"/>
<wire x1="64.375" y1="16" x2="65.375" y2="17" width="0.2032" layer="1"/>
<wire x1="65.375" y1="17" x2="70.375" y2="17" width="0.2032" layer="1"/>
<wire x1="70.375" y1="17" x2="71" y2="17.625" width="0.2032" layer="1"/>
<via x="71" y="17.625" extent="1-16" drill="0.3"/>
</signal>
<signal name="XB2_MISO">
<contactref element="XBEE2" pad="4"/>
<contactref element="IC5" pad="11"/>
<wire x1="75" y1="30.5" x2="74.5" y2="30.5" width="0.2032" layer="1"/>
<wire x1="74.5" y1="30.5" x2="64.125" y2="20.125" width="0.2032" layer="1"/>
<wire x1="57.925" y1="20" x2="57.925" y2="20.05" width="0.2032" layer="1"/>
<wire x1="57.925" y1="20.05" x2="58" y2="20.125" width="0.2032" layer="1"/>
<wire x1="58" y1="20.125" x2="64.125" y2="20.125" width="0.2032" layer="1"/>
</signal>
<signal name="XB2_SCK">
<contactref element="XBEE2" pad="18"/>
<contactref element="IC5" pad="5"/>
<wire x1="77" y1="11.5" x2="77" y2="9" width="0.2032" layer="1"/>
<wire x1="77" y1="11.5" x2="77" y2="7.375" width="0.2032" layer="1"/>
<wire x1="77" y1="7.375" x2="76.125" y2="6.5" width="0.2032" layer="1"/>
<wire x1="76.125" y1="6.5" x2="60" y2="6.5" width="0.2032" layer="1"/>
<wire x1="54.675" y1="14" x2="54.675" y2="11.825" width="0.2032" layer="1"/>
<wire x1="54.675" y1="11.825" x2="60" y2="6.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB2_CS">
<contactref element="XBEE2" pad="17"/>
<contactref element="R16" pad="1"/>
<contactref element="IC5" pad="3"/>
<via x="56" y="7.75" extent="1-16" drill="0.3"/>
<wire x1="56" y1="7.75" x2="72.75" y2="7.75" width="0.2032" layer="16"/>
<wire x1="72.75" y1="7.75" x2="75" y2="10" width="0.2032" layer="16"/>
<via x="75" y="10" extent="1-16" drill="0.3"/>
<wire x1="53.375" y1="14" x2="53.375" y2="13.25" width="0.2032" layer="1"/>
<wire x1="53.375" y1="13.25" x2="53.25" y2="13.125" width="0.2032" layer="1"/>
<wire x1="53.25" y1="13.125" x2="53.25" y2="11.625" width="0.2032" layer="1"/>
<wire x1="53.25" y1="11.625" x2="56" y2="8.875" width="0.2032" layer="1"/>
<wire x1="56" y1="8.875" x2="56" y2="7.75" width="0.2032" layer="1"/>
<wire x1="75" y1="8.5" x2="75" y2="10" width="0.2032" layer="1"/>
<wire x1="71.5" y1="13.5" x2="73.5" y2="13.5" width="0.2032" layer="1"/>
<wire x1="73.5" y1="13.5" x2="75" y2="12" width="0.2032" layer="1"/>
<wire x1="75" y1="12" x2="75" y2="10" width="0.2032" layer="1"/>
</signal>
<signal name="XBEE2_CTS/IRQ">
<contactref element="XBEE2" pad="12"/>
<contactref element="R17" pad="1"/>
<wire x1="65" y1="11.5" x2="65" y2="12.875" width="0.2032" layer="1"/>
<wire x1="65" y1="12.875" x2="64.375" y2="13.5" width="0.2032" layer="1"/>
<wire x1="64.375" y1="13.5" x2="64" y2="13.5" width="0.2032" layer="1"/>
</signal>
<signal name="XB2_MOSI">
<contactref element="XBEE2" pad="11"/>
<contactref element="IC5" pad="7"/>
<wire x1="55.975" y1="14" x2="55.975" y2="12.65" width="0.2032" layer="1"/>
<wire x1="55.975" y1="12.65" x2="56.625" y2="12" width="0.2032" layer="1"/>
<wire x1="56.625" y1="12" x2="58.25" y2="12" width="0.2032" layer="1"/>
<wire x1="58.25" y1="12" x2="58.5" y2="12.25" width="0.2032" layer="1"/>
<wire x1="58.5" y1="12.25" x2="61.125" y2="12.25" width="0.2032" layer="1"/>
<wire x1="63" y1="10.375" x2="63" y2="8.5" width="0.2032" layer="1"/>
<wire x1="61.125" y1="12.25" x2="63" y2="10.375" width="0.2032" layer="1"/>
</signal>
<signal name="D27_!XB2_PWR">
<contactref element="T3" pad="1"/>
<contactref element="R20" pad="2"/>
<contactref element="IC2" pad="19"/>
<wire x1="44.15" y1="21" x2="45.125" y2="21" width="0.2032" layer="1"/>
<wire x1="45.625" y1="21.5" x2="51.5" y2="21.5" width="0.2032" layer="1"/>
<wire x1="51.5" y1="21.5" x2="51.75" y2="21.75" width="0.2032" layer="1"/>
<wire x1="51.75" y1="21.75" x2="55.375" y2="21.75" width="0.2032" layer="1"/>
<wire x1="55.375" y1="21.75" x2="55.625" y2="21.5" width="0.2032" layer="1"/>
<wire x1="58.5" y1="21.125" x2="61.75" y2="21.125" width="0.2032" layer="1"/>
<via x="55.625" y="21.5" extent="1-16" drill="0.3"/>
<via x="58.5" y="21.125" extent="1-16" drill="0.3"/>
<wire x1="62.5" y1="21.875" x2="61.75" y2="21.125" width="0.2032" layer="1"/>
<wire x1="45.125" y1="21" x2="45.625" y2="21.5" width="0.2032" layer="1"/>
<wire x1="58.5" y1="21.125" x2="58.125" y2="21.5" width="0.2032" layer="16"/>
<wire x1="58.125" y1="21.5" x2="55.625" y2="21.5" width="0.2032" layer="16"/>
<wire x1="62.05" y1="23.275" x2="62.05" y2="22.325" width="0.2032" layer="1"/>
<wire x1="62.05" y1="22.325" x2="62.5" y2="21.875" width="0.2032" layer="1"/>
</signal>
<signal name="D31_RX_XB2">
<contactref element="R11" pad="1"/>
<contactref element="IC2" pad="16"/>
<wire x1="44.15" y1="19.5" x2="47.375" y2="19.5" width="0.2032" layer="1"/>
<wire x1="47.375" y1="19.5" x2="49.25" y2="17.625" width="0.2032" layer="1"/>
<wire x1="49.25" y1="17.625" x2="61.75" y2="17.625" width="0.2032" layer="1"/>
<wire x1="61.75" y1="17.625" x2="61.875" y2="17.5" width="0.2032" layer="1"/>
<wire x1="61.875" y1="17.5" x2="63" y2="17.5" width="0.2032" layer="1"/>
</signal>
<signal name="D30_TX_XB2">
<contactref element="R9" pad="1"/>
<contactref element="IC2" pad="15"/>
<wire x1="44.15" y1="19" x2="47.25" y2="19" width="0.2032" layer="1"/>
<wire x1="47.25" y1="19" x2="49.125" y2="17.125" width="0.2032" layer="1"/>
<wire x1="49.125" y1="17.125" x2="61.5" y2="17.125" width="0.2032" layer="1"/>
<wire x1="63" y1="16" x2="62.625" y2="16" width="0.2032" layer="1"/>
<wire x1="62.625" y1="16" x2="61.5" y2="17.125" width="0.2032" layer="1"/>
</signal>
<signal name="D26_RX_XB1">
<contactref element="R10" pad="1"/>
<contactref element="IC2" pad="38"/>
<wire x1="36.375" y1="23.5" x2="34.625" y2="23.5" width="0.2032" layer="1"/>
<wire x1="34.625" y1="23.5" x2="33.75" y2="24.375" width="0.2032" layer="1"/>
<wire x1="33.75" y1="24.375" x2="24" y2="24.375" width="0.2032" layer="1"/>
<wire x1="37.35" y1="23" x2="36.875" y2="23" width="0.2032" layer="1"/>
<wire x1="36.875" y1="23" x2="36.375" y2="23.5" width="0.2032" layer="1"/>
<wire x1="22.5" y1="23.375" x2="23" y2="23.375" width="0.2032" layer="1"/>
<wire x1="23" y1="23.375" x2="24" y2="24.375" width="0.2032" layer="1"/>
</signal>
<signal name="D25_TX_XB1">
<contactref element="R8" pad="1"/>
<contactref element="IC2" pad="37"/>
<wire x1="36.5" y1="24" x2="34.875" y2="24" width="0.2032" layer="1"/>
<wire x1="34.875" y1="24" x2="34" y2="24.875" width="0.2032" layer="1"/>
<wire x1="34" y1="24.875" x2="23.125" y2="24.875" width="0.2032" layer="1"/>
<wire x1="23.125" y1="24.875" x2="23" y2="24.75" width="0.2032" layer="1"/>
<wire x1="23" y1="24.75" x2="22.5" y2="24.75" width="0.2032" layer="1"/>
<wire x1="37.35" y1="23.5" x2="37" y2="23.5" width="0.2032" layer="1"/>
<wire x1="37" y1="23.5" x2="36.5" y2="24" width="0.2032" layer="1"/>
</signal>
<signal name="D24_INT_XB1">
<contactref element="R15" pad="2"/>
<contactref element="IC2" pad="30"/>
<via x="35" y="27" extent="1-16" drill="0.3"/>
<wire x1="35" y1="27" x2="40.75" y2="27" width="0.2032" layer="16"/>
<via x="41.25" y="27.25" extent="1-16" drill="0.3"/>
<wire x1="40.75" y1="27" x2="41" y2="27.25" width="0.2032" layer="16"/>
<wire x1="41" y1="27.25" x2="41.25" y2="27.25" width="0.2032" layer="16"/>
<wire x1="35" y1="27" x2="25.75" y2="27" width="0.2032" layer="1"/>
<wire x1="41" y1="24.15" x2="41" y2="27" width="0.2032" layer="1"/>
<wire x1="41" y1="27" x2="41.25" y2="27.25" width="0.2032" layer="1"/>
<wire x1="23.375" y1="28.5" x2="24.25" y2="28.5" width="0.2032" layer="1"/>
<wire x1="24.25" y1="28.5" x2="25.75" y2="27" width="0.2032" layer="1"/>
</signal>
<signal name="D29_INT_XB2">
<contactref element="R17" pad="2"/>
<contactref element="IC2" pad="24"/>
<wire x1="63" y1="13.5" x2="60.375" y2="13.5" width="0.2032" layer="1"/>
<via x="60.375" y="13.5" extent="1-16" drill="0.3"/>
<wire x1="45" y1="24.125" x2="46.25" y2="24.125" width="0.2032" layer="1"/>
<wire x1="46.25" y1="24.125" x2="47.25" y2="23.125" width="0.2032" layer="1"/>
<via x="50.5" y="22.625" extent="1-16" drill="0.3"/>
<wire x1="50.5" y1="22.625" x2="50.5" y2="14.625" width="0.2032" layer="16"/>
<wire x1="47.25" y1="23.125" x2="50" y2="23.125" width="0.2032" layer="1"/>
<wire x1="50" y1="23.125" x2="50.5" y2="22.625" width="0.2032" layer="1"/>
<via x="50.5" y="14.625" extent="1-16" drill="0.3"/>
<via x="53" y="9.5" extent="1-16" drill="0.3"/>
<wire x1="44.15" y1="23.5" x2="44.375" y2="23.5" width="0.2032" layer="1"/>
<wire x1="44.375" y1="23.5" x2="45" y2="24.125" width="0.2032" layer="1"/>
<wire x1="53" y1="9.5" x2="56.375" y2="9.5" width="0.2032" layer="16"/>
<wire x1="56.375" y1="9.5" x2="60.375" y2="13.5" width="0.2032" layer="16"/>
<wire x1="50.5" y1="14.625" x2="51.375" y2="13.75" width="0.2032" layer="1"/>
<wire x1="51.375" y1="13.75" x2="51.375" y2="11.125" width="0.2032" layer="1"/>
<wire x1="51.375" y1="11.125" x2="53" y2="9.5" width="0.2032" layer="1"/>
</signal>
<signal name="D23_CS_XB1">
<contactref element="IC2" pad="27"/>
<contactref element="T1" pad="1"/>
<wire x1="43.125" y1="25.375" x2="46.875" y2="25.375" width="0.2032" layer="1"/>
<wire x1="46.875" y1="25.375" x2="47.875" y2="24.375" width="0.2032" layer="1"/>
<via x="52" y="24" extent="1-16" drill="0.3"/>
<via x="52" y="27" extent="1-16" drill="0.3"/>
<wire x1="52" y1="24" x2="51.625" y2="24.375" width="0.2032" layer="1"/>
<wire x1="47.875" y1="24.375" x2="51.625" y2="24.375" width="0.2032" layer="1"/>
<wire x1="42.5" y1="24.15" x2="42.5" y2="24.75" width="0.2032" layer="1"/>
<wire x1="42.5" y1="24.75" x2="43.125" y2="25.375" width="0.2032" layer="1"/>
<wire x1="52.4" y1="27.75" x2="52.25" y2="27.75" width="0.2032" layer="1"/>
<wire x1="52.25" y1="27.75" x2="52" y2="27.5" width="0.2032" layer="1"/>
<wire x1="52" y1="27.5" x2="52" y2="27" width="0.2032" layer="1"/>
<wire x1="52" y1="24" x2="52" y2="27" width="0.2032" layer="16"/>
</signal>
<signal name="VCCCORE">
<contactref element="IC2" pad="43"/>
<contactref element="C13" pad="2"/>
<wire x1="37.35" y1="20.5" x2="35.5" y2="20.5" width="0.254" layer="1"/>
<wire x1="35.5" y1="20.5" x2="35.25" y2="20.75" width="0.254" layer="1"/>
</signal>
<signal name="VCCANA">
<contactref element="IC2" pad="6"/>
<contactref element="C8" pad="2"/>
<contactref element="C11" pad="2"/>
<wire x1="40.75" y1="15.375" x2="40.75" y2="14.375" width="0.254" layer="1"/>
<contactref element="L1" pad="2"/>
<contactref element="C10" pad="2"/>
<wire x1="40.75" y1="14.375" x2="40.75" y2="13.375" width="0.254" layer="1"/>
<wire x1="40.75" y1="13.375" x2="40.75" y2="12.175" width="0.254" layer="1"/>
<wire x1="40.75" y1="12.175" x2="40.8" y2="12.125" width="0.254" layer="1"/>
<wire x1="40.5" y1="17.35" x2="40.5" y2="16.125" width="0.254" layer="1"/>
<wire x1="40.5" y1="16.125" x2="40.75" y2="15.875" width="0.254" layer="1"/>
<wire x1="40.75" y1="15.875" x2="40.75" y2="15.375" width="0.254" layer="1"/>
</signal>
<signal name="N$13">
<contactref element="SW2" pad="4"/>
<contactref element="SW2" pad="3"/>
<contactref element="R6" pad="2"/>
<wire x1="7.125" y1="43.85" x2="7.125" y2="38" width="0.4064" layer="1"/>
<wire x1="7.125" y1="38" x2="7.125" y2="36.15" width="0.4064" layer="1"/>
<wire x1="14.5" y1="36" x2="14.5" y2="36.5" width="0.2032" layer="1"/>
<wire x1="14.5" y1="36.5" x2="13" y2="38" width="0.2032" layer="1"/>
<wire x1="13" y1="38" x2="7.125" y2="38" width="0.2032" layer="1"/>
</signal>
<signal name="N$5">
<contactref element="R22" pad="1"/>
<contactref element="D7" pad="A"/>
<wire x1="25.5" y1="16.5" x2="25.5" y2="17.625" width="0.2032" layer="1"/>
</signal>
<signal name="N$6">
<contactref element="R23" pad="1"/>
<contactref element="D8" pad="A"/>
<wire x1="60.5" y1="24.375" x2="60.5" y2="25.5" width="0.2032" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="R43" pad="1"/>
<contactref element="D20" pad="A"/>
<wire x1="60.25" y1="56" x2="61.5" y2="56" width="0.2032" layer="1"/>
</signal>
<signal name="N$9">
<contactref element="R34" pad="1"/>
<contactref element="D16" pad="A"/>
<wire x1="50.75" y1="56" x2="49.5" y2="56" width="0.2032" layer="1"/>
</signal>
<signal name="D17_SDA_IMU">
<contactref element="IC2" pad="21"/>
<contactref element="IC6" pad="11"/>
<contactref element="R45" pad="1"/>
<via x="39.125" y="6.5" extent="1-16" drill="0.3"/>
<via x="34.25" y="3.625" extent="1-16" drill="0.3"/>
<via x="46.125" y="22.5" extent="1-16" drill="0.3"/>
<wire x1="46.125" y1="22.5" x2="45.375" y2="21.75" width="0.2032" layer="16"/>
<via x="44.5" y="13.375" extent="1-16" drill="0.3"/>
<wire x1="44.15" y1="22" x2="44.875" y2="22" width="0.2032" layer="1"/>
<wire x1="44.875" y1="22" x2="45.375" y2="22.5" width="0.2032" layer="1"/>
<wire x1="45.375" y1="22.5" x2="46.125" y2="22.5" width="0.2032" layer="1"/>
<wire x1="31.5" y1="3.7375" x2="31.5" y2="3.625" width="0.2032" layer="1"/>
<wire x1="31.5" y1="3.625" x2="34.25" y2="3.625" width="0.2032" layer="1"/>
<wire x1="34.25" y1="3.625" x2="36.25" y2="3.625" width="0.2032" layer="16"/>
<wire x1="36.25" y1="3.625" x2="39.125" y2="6.5" width="0.2032" layer="16"/>
<wire x1="38.375" y1="6.35" x2="38.975" y2="6.35" width="0.2032" layer="1"/>
<wire x1="38.975" y1="6.35" x2="39.125" y2="6.5" width="0.2032" layer="1"/>
<wire x1="39.125" y1="6.5" x2="46.75" y2="6.5" width="0.2032" layer="16"/>
<via x="46.75" y="6.5" extent="1-16" drill="0.3"/>
<wire x1="34.5" y1="5.25" x2="34.5" y2="3.875" width="0.2032" layer="1"/>
<wire x1="34.5" y1="3.875" x2="34.25" y2="3.625" width="0.2032" layer="1"/>
<wire x1="46.75" y1="6.5" x2="46.75" y2="10.875" width="0.2032" layer="1"/>
<wire x1="46.75" y1="10.875" x2="44.5" y2="13.125" width="0.2032" layer="1"/>
<wire x1="44.5" y1="13.125" x2="44.5" y2="13.375" width="0.2032" layer="1"/>
<wire x1="44.5" y1="13.375" x2="44.5" y2="13.625" width="0.2032" layer="16"/>
<wire x1="44.5" y1="13.625" x2="45.375" y2="14.5" width="0.2032" layer="16"/>
<wire x1="45.375" y1="14.5" x2="45.375" y2="21.75" width="0.2032" layer="16"/>
<contactref element="IC7" pad="5"/>
</signal>
<signal name="D18_SCL_IMU">
<contactref element="IC2" pad="22"/>
<contactref element="IC6" pad="9"/>
<contactref element="R44" pad="1"/>
<via x="33.25" y="4.375" extent="1-16" drill="0.3"/>
<via x="37.875" y="7.25" extent="1-16" drill="0.3"/>
<via x="45.625" y="23.125" extent="1-16" drill="0.3"/>
<via x="43.625" y="13" extent="1-16" drill="0.3"/>
<wire x1="44.15" y1="22.5" x2="44.75" y2="22.5" width="0.2032" layer="1"/>
<wire x1="44.75" y1="22.5" x2="45.375" y2="23.125" width="0.2032" layer="1"/>
<wire x1="45.375" y1="23.125" x2="45.625" y2="23.125" width="0.2032" layer="1"/>
<wire x1="32.05" y1="5" x2="33" y2="5" width="0.2032" layer="1"/>
<wire x1="33" y1="5" x2="33.25" y2="5.25" width="0.2032" layer="1"/>
<wire x1="33.25" y1="4.375" x2="33.25" y2="5.25" width="0.2032" layer="1"/>
<wire x1="33.25" y1="4.375" x2="36.25" y2="4.375" width="0.2032" layer="16"/>
<wire x1="36.25" y1="4.375" x2="37.875" y2="6" width="0.2032" layer="16"/>
<wire x1="37.875" y1="6" x2="37.875" y2="7.125" width="0.2032" layer="16"/>
<wire x1="37.875" y1="6.35" x2="37.875" y2="7.25" width="0.2032" layer="1"/>
<wire x1="37.875" y1="7.25" x2="37.875" y2="7.125" width="0.2032" layer="16"/>
<wire x1="37.875" y1="7.125" x2="45.875" y2="7.125" width="0.2032" layer="16"/>
<wire x1="45.875" y1="7.125" x2="46" y2="7.25" width="0.2032" layer="16"/>
<via x="46" y="7.25" extent="1-16" drill="0.3"/>
<wire x1="44.875" y1="22.375" x2="45.625" y2="23.125" width="0.2032" layer="16"/>
<wire x1="46" y1="7.25" x2="46.25" y2="7.5" width="0.2032" layer="1"/>
<wire x1="46.25" y1="7.5" x2="46.25" y2="10.75" width="0.2032" layer="1"/>
<wire x1="46.25" y1="10.75" x2="44" y2="13" width="0.2032" layer="1"/>
<wire x1="44" y1="13" x2="43.625" y2="13" width="0.2032" layer="1"/>
<wire x1="43.625" y1="13" x2="43.625" y2="13.75" width="0.2032" layer="16"/>
<wire x1="43.625" y1="13.75" x2="44.875" y2="15" width="0.2032" layer="16"/>
<wire x1="44.875" y1="15" x2="44.875" y2="22.375" width="0.2032" layer="16"/>
<contactref element="IC7" pad="6"/>
</signal>
<signal name="SDO2">
<contactref element="IC6" pad="12"/>
<contactref element="J14" pad="2"/>
<wire x1="31" y1="3.7375" x2="31" y2="3.375" width="0.2032" layer="1"/>
<wire x1="31" y1="3.375" x2="31.875" y2="2.5" width="0.2032" layer="1"/>
<wire x1="31.875" y1="2.5" x2="31.875" y2="2.25" width="0.2032" layer="1"/>
</signal>
<signal name="SDO1">
<contactref element="IC6" pad="17"/>
<contactref element="J15" pad="2"/>
<wire x1="28.5" y1="3.7375" x2="28.5" y2="2.375" width="0.2032" layer="1"/>
<wire x1="28.5" y1="2.375" x2="28.375" y2="2.25" width="0.2032" layer="1"/>
</signal>
<signal name="D6_IO6">
<contactref element="IC2" pad="3"/>
<contactref element="R26" pad="1"/>
<contactref element="D17" pad="3"/>
<via x="42.75" y="32.875" extent="1-16" drill="0.3"/>
<via x="38.25" y="14.25" extent="1-16" drill="0.3"/>
<wire x1="48.25" y1="25.75" x2="42.75" y2="31.25" width="0.2032" layer="16"/>
<wire x1="42.75" y1="31.25" x2="42.75" y2="32.875" width="0.2032" layer="16"/>
<wire x1="42.75" y1="33.775" x2="42.75" y2="34.625" width="0.2032" layer="1"/>
<wire x1="42.75" y1="33.775" x2="42.75" y2="32.875" width="0.2032" layer="1"/>
<wire x1="39" y1="17.35" x2="39" y2="16.5" width="0.2032" layer="1"/>
<wire x1="39" y1="16.5" x2="38.25" y2="15.75" width="0.2032" layer="1"/>
<wire x1="38.25" y1="15.75" x2="38.25" y2="14.25" width="0.2032" layer="1"/>
<wire x1="48.25" y1="15.5" x2="44.5" y2="11.75" width="0.2032" layer="16"/>
<wire x1="44.5" y1="11.75" x2="40.75" y2="11.75" width="0.2032" layer="16"/>
<wire x1="40.75" y1="11.75" x2="38.25" y2="14.25" width="0.2032" layer="16"/>
<wire x1="48.25" y1="25.75" x2="48.25" y2="15.5" width="0.2032" layer="16"/>
</signal>
<signal name="D5_IO5">
<contactref element="IC2" pad="4"/>
<contactref element="R27" pad="1"/>
<contactref element="D15" pad="3"/>
<via x="40.25" y="32.875" extent="1-16" drill="0.3"/>
<via x="38.875" y="15.375" extent="1-16" drill="0.3"/>
<wire x1="44.375" y1="12.25" x2="47.875" y2="15.75" width="0.2032" layer="16"/>
<wire x1="47.875" y1="25.5" x2="40.5" y2="32.875" width="0.2032" layer="16"/>
<wire x1="40.5" y1="32.875" x2="40.25" y2="32.875" width="0.2032" layer="16"/>
<wire x1="40.25" y1="33.775" x2="40.25" y2="34.625" width="0.2032" layer="1"/>
<wire x1="40.25" y1="33.775" x2="40.25" y2="32.875" width="0.2032" layer="1"/>
<wire x1="39.5" y1="17.35" x2="39.5" y2="16.375" width="0.2032" layer="1"/>
<wire x1="39.5" y1="16.375" x2="38.875" y2="15.75" width="0.2032" layer="1"/>
<wire x1="38.875" y1="15.75" x2="38.875" y2="15.375" width="0.2032" layer="1"/>
<wire x1="44.375" y1="12.25" x2="41.125" y2="12.25" width="0.2032" layer="16"/>
<wire x1="41.125" y1="12.25" x2="38.875" y2="14.5" width="0.2032" layer="16"/>
<wire x1="38.875" y1="14.5" x2="38.875" y2="15.375" width="0.2032" layer="16"/>
<wire x1="47.875" y1="25.5" x2="47.875" y2="15.75" width="0.2032" layer="16"/>
</signal>
<signal name="D1_IO1">
<contactref element="IC2" pad="9"/>
<contactref element="R31" pad="1"/>
<contactref element="D9" pad="3"/>
<via x="30.25" y="32.875" extent="1-16" drill="0.3"/>
<via x="44" y="15.5" extent="1-16" drill="0.3"/>
<wire x1="45.5" y1="24" x2="45.5" y2="25.25" width="0.2032" layer="16"/>
<wire x1="45.5" y1="25.25" x2="42.375" y2="28.375" width="0.2032" layer="16"/>
<wire x1="42.375" y1="28.375" x2="36.25" y2="28.375" width="0.2032" layer="16"/>
<wire x1="36.25" y1="28.375" x2="31.75" y2="32.875" width="0.2032" layer="16"/>
<wire x1="31.75" y1="32.875" x2="30.25" y2="32.875" width="0.2032" layer="16"/>
<wire x1="30.25" y1="33.775" x2="30.25" y2="34.625" width="0.2032" layer="1"/>
<wire x1="30.25" y1="33.775" x2="30.25" y2="32.875" width="0.2032" layer="1"/>
<wire x1="42" y1="17.35" x2="42" y2="16.625" width="0.2032" layer="1"/>
<wire x1="42" y1="16.625" x2="43.125" y2="15.5" width="0.2032" layer="1"/>
<wire x1="43.125" y1="15.5" x2="44" y2="15.5" width="0.2032" layer="1"/>
<wire x1="44" y1="15.5" x2="44.375" y2="15.875" width="0.2032" layer="16"/>
<wire x1="44.375" y1="15.875" x2="44.375" y2="22.875" width="0.2032" layer="16"/>
<wire x1="44.375" y1="22.875" x2="45.5" y2="24" width="0.2032" layer="16"/>
</signal>
<signal name="D9_UART_PWR">
<contactref element="IC2" pad="47"/>
<contactref element="T5" pad="5"/>
<contactref element="R32" pad="1"/>
<via x="35" y="17.75" extent="1-16" drill="0.3"/>
<wire x1="35" y1="17.75" x2="35" y2="16.5" width="0.2032" layer="16"/>
<wire x1="35" y1="16.5" x2="40.25" y2="11.25" width="0.2032" layer="16"/>
<wire x1="40.25" y1="11.25" x2="44.625" y2="11.25" width="0.2032" layer="16"/>
<wire x1="44.625" y1="11.25" x2="48.75" y2="15.375" width="0.2032" layer="16"/>
<wire x1="48.75" y1="15.375" x2="48.875" y2="15.375" width="0.2032" layer="16"/>
<via x="48.875" y="15.375" extent="1-16" drill="0.3"/>
<wire x1="48.875" y1="15.375" x2="49.125" y2="15.625" width="0.2032" layer="1"/>
<wire x1="49.125" y1="15.625" x2="59" y2="15.625" width="0.2032" layer="1"/>
<wire x1="59" y1="15.625" x2="59.25" y2="15.375" width="0.2032" layer="1"/>
<via x="59.25" y="15.375" extent="1-16" drill="0.3"/>
<via x="58.125" y="27.75" extent="1-16" drill="0.3"/>
<wire x1="37.35" y1="18.5" x2="36.875" y2="18.5" width="0.2032" layer="1"/>
<wire x1="36.875" y1="18.5" x2="36.25" y2="17.875" width="0.2032" layer="1"/>
<wire x1="36.25" y1="17.875" x2="35.125" y2="17.875" width="0.2032" layer="1"/>
<wire x1="35.125" y1="17.875" x2="35" y2="17.75" width="0.2032" layer="1"/>
<wire x1="58.5" y1="29.625" x2="58.125" y2="29.25" width="0.2032" layer="1"/>
<wire x1="58.125" y1="29.25" x2="58.125" y2="27.75" width="0.2032" layer="1"/>
<wire x1="59.25" y1="15.375" x2="59.25" y2="17.25" width="0.2032" layer="16"/>
<wire x1="59.25" y1="17.25" x2="60" y2="18" width="0.2032" layer="16"/>
<wire x1="60" y1="18" x2="60" y2="25.875" width="0.2032" layer="16"/>
<wire x1="60" y1="25.875" x2="58.125" y2="27.75" width="0.2032" layer="16"/>
<wire x1="58.5" y1="29.625" x2="58.9" y2="29.625" width="0.2032" layer="1"/>
<wire x1="58.9" y1="29.625" x2="59.75" y2="29.625" width="0.2032" layer="1"/>
<wire x1="59.75" y1="29.625" x2="60" y2="29.875" width="0.2032" layer="1"/>
</signal>
<signal name="MCU_CS_XBEE2">
<contactref element="R13" pad="1"/>
<contactref element="T1" pad="3"/>
<contactref element="IC5" pad="19"/>
<contactref element="IC5" pad="17"/>
<wire x1="53.25" y1="29.25" x2="53.5" y2="29.25" width="0.2032" layer="1"/>
<wire x1="53.5" y1="29.25" x2="53.5" y2="29.125" width="0.2032" layer="1"/>
<via x="51.625" y="29.25" extent="1-16" drill="0.3"/>
<wire x1="51.625" y1="29.25" x2="51.375" y2="29" width="0.2032" layer="16"/>
<wire x1="51.375" y1="29" x2="51.375" y2="23.625" width="0.2032" layer="16"/>
<via x="52" y="18.75" extent="1-16" drill="0.3"/>
<wire x1="54.025" y1="20" x2="54.025" y2="19.275" width="0.2032" layer="1"/>
<wire x1="54.025" y1="19.275" x2="53.75" y2="19" width="0.2032" layer="1"/>
<wire x1="52.75" y1="19" x2="53.75" y2="19" width="0.2032" layer="1"/>
<wire x1="52.4" y1="29.25" x2="51.625" y2="29.25" width="0.2032" layer="1"/>
<wire x1="52.4" y1="29.25" x2="53.375" y2="29.25" width="0.2032" layer="1"/>
<wire x1="53.375" y1="29.25" x2="53.5" y2="29.125" width="0.2032" layer="1"/>
<wire x1="52.725" y1="20" x2="52.725" y2="18.975" width="0.2032" layer="1"/>
<wire x1="52.725" y1="18.975" x2="52.5" y2="18.75" width="0.2032" layer="1"/>
<wire x1="52.5" y1="18.75" x2="52" y2="18.75" width="0.2032" layer="1"/>
<wire x1="52.75" y1="19" x2="52.725" y2="18.975" width="0.2032" layer="1"/>
<wire x1="52" y1="18.75" x2="52" y2="23" width="0.2032" layer="16"/>
<wire x1="52" y1="23" x2="51.375" y2="23.625" width="0.2032" layer="16"/>
</signal>
<signal name="MCU_CS_XBEE1">
<contactref element="IC5" pad="1"/>
<contactref element="IC5" pad="2"/>
<contactref element="R12" pad="1"/>
<contactref element="T1" pad="6"/>
<via x="51.375" y="14.875" extent="1-16" drill="0.3"/>
<via x="50.625" y="27" extent="1-16" drill="0.3"/>
<wire x1="52.725" y1="14" x2="52.075" y2="14" width="0.2032" layer="1"/>
<wire x1="50.6" y1="27.75" x2="50.625" y2="27.75" width="0.2032" layer="1"/>
<wire x1="50.625" y1="27.75" x2="50.625" y2="27.25" width="0.2032" layer="1"/>
<wire x1="50.625" y1="27.25" x2="50.625" y2="27" width="0.2032" layer="1"/>
<wire x1="49.5" y1="27.25" x2="50.625" y2="27.25" width="0.2032" layer="1"/>
<wire x1="51.375" y1="14.875" x2="51.375" y2="22.875" width="0.2032" layer="16"/>
<wire x1="51.375" y1="22.875" x2="50.625" y2="23.625" width="0.2032" layer="16"/>
<wire x1="50.625" y1="23.625" x2="50.625" y2="27" width="0.2032" layer="16"/>
<wire x1="52.075" y1="14" x2="52.075" y2="14.675" width="0.2032" layer="1"/>
<wire x1="52.075" y1="14.675" x2="51.875" y2="14.875" width="0.2032" layer="1"/>
<wire x1="51.875" y1="14.875" x2="51.375" y2="14.875" width="0.2032" layer="1"/>
</signal>
<signal name="RST_XB1">
<contactref element="XBEE1" pad="5"/>
<contactref element="IC4" pad="2"/>
<wire x1="13" y1="8.5" x2="13" y2="6.6" width="0.2032" layer="1"/>
<wire x1="13" y1="6.6" x2="12.725" y2="6.325" width="0.2032" layer="1"/>
</signal>
<signal name="RST_XB2">
<contactref element="XBEE2" pad="5"/>
<contactref element="IC3" pad="2"/>
<wire x1="68.9" y1="36.05" x2="69.075" y2="36.05" width="0.2032" layer="1"/>
<wire x1="69.075" y1="36.05" x2="69.5" y2="35.625" width="0.2032" layer="1"/>
<wire x1="69.5" y1="35.625" x2="72" y2="35.625" width="0.2032" layer="1"/>
<wire x1="72" y1="35.625" x2="73" y2="34.625" width="0.2032" layer="1"/>
<wire x1="73" y1="34.625" x2="73" y2="33.5" width="0.2032" layer="1"/>
</signal>
<signal name="D22_!XB1_PWR">
<contactref element="IC2" pad="48"/>
<contactref element="R18" pad="2"/>
<contactref element="T2" pad="1"/>
<via x="24.375" y="20.125" extent="1-16" drill="0.3"/>
<wire x1="23.565" y1="20.06" x2="23.5" y2="20.125" width="0.2032" layer="1"/>
<wire x1="23.95" y1="18.725" x2="23.95" y2="19.675" width="0.2032" layer="1"/>
<wire x1="23.95" y1="19.675" x2="23.5" y2="20.125" width="0.2032" layer="1"/>
<via x="30.5" y="16.5" extent="1-16" drill="0.3"/>
<wire x1="37.35" y1="18" x2="37" y2="18" width="0.2032" layer="1"/>
<wire x1="37" y1="18" x2="36.5" y2="17.5" width="0.2032" layer="1"/>
<wire x1="36.5" y1="17.5" x2="36" y2="17.5" width="0.2032" layer="1"/>
<wire x1="30.5" y1="16.5" x2="30.5" y2="16.625" width="0.2032" layer="1"/>
<wire x1="30.5" y1="16.625" x2="31.25" y2="17.375" width="0.2032" layer="1"/>
<wire x1="31.25" y1="17.375" x2="34.25" y2="17.375" width="0.2032" layer="1"/>
<wire x1="34.25" y1="17.375" x2="34.625" y2="17" width="0.2032" layer="1"/>
<wire x1="34.625" y1="17" x2="35.5" y2="17" width="0.2032" layer="1"/>
<wire x1="35.5" y1="17" x2="36" y2="17.5" width="0.2032" layer="1"/>
<wire x1="24.375" y1="20.125" x2="23.5" y2="20.125" width="0.2032" layer="1"/>
<wire x1="30.5" y1="16.5" x2="28" y2="16.5" width="0.2032" layer="16"/>
<wire x1="28" y1="16.5" x2="24.375" y2="20.125" width="0.2032" layer="16"/>
</signal>
<signal name="N$3">
<contactref element="R3" pad="2"/>
<contactref element="D2" pad="A"/>
<wire x1="5" y1="39.25" x2="5" y2="37.25" width="0.2032" layer="1"/>
</signal>
<signal name="N$12">
<contactref element="R4" pad="2"/>
<contactref element="D3" pad="A"/>
<wire x1="3.5" y1="39.25" x2="3.5" y2="37.25" width="0.2032" layer="1"/>
</signal>
<signal name="IO6">
<contactref element="R26" pad="2"/>
<via x="41.875" y="35.75" extent="1-16" drill="0.3"/>
<wire x1="42.75" y1="35.625" x2="42" y2="35.625" width="0.2032" layer="1"/>
<wire x1="42" y1="35.625" x2="41.875" y2="35.75" width="0.2032" layer="1"/>
<contactref element="J8" pad="4"/>
<wire x1="41.875" y1="35.75" x2="41.875" y2="49" width="0.2032" layer="16"/>
<wire x1="41.875" y1="49" x2="35.5" y2="55.375" width="0.2032" layer="16"/>
<via x="35.5" y="55.375" extent="1-16" drill="0.3"/>
<wire x1="35.5" y1="55.375" x2="35.5" y2="58.1" width="0.2032" layer="1"/>
</signal>
<signal name="IO5">
<contactref element="R27" pad="2"/>
<via x="39.375" y="35.75" extent="1-16" drill="0.3"/>
<wire x1="40.25" y1="35.625" x2="39.5" y2="35.625" width="0.2032" layer="1"/>
<wire x1="39.5" y1="35.625" x2="39.375" y2="35.75" width="0.2032" layer="1"/>
<contactref element="J8" pad="3"/>
<wire x1="39.375" y1="35.75" x2="39.375" y2="46.25" width="0.2032" layer="16"/>
<wire x1="39.375" y1="46.25" x2="33.5" y2="52.125" width="0.2032" layer="16"/>
<wire x1="33.5" y1="52.125" x2="33.5" y2="55.375" width="0.2032" layer="16"/>
<via x="33.5" y="55.375" extent="1-16" drill="0.3"/>
<wire x1="33.5" y1="55.375" x2="33.5" y2="58.1" width="0.2032" layer="1"/>
</signal>
<signal name="IO4">
<contactref element="J6" pad="4"/>
<contactref element="R28" pad="2"/>
<via x="37.75" y="36.5" extent="1-16" drill="0.3"/>
<wire x1="37.75" y1="35.625" x2="37.75" y2="36.5" width="0.2032" layer="1"/>
<wire x1="37.75" y1="36.5" x2="38.375" y2="37.125" width="0.2032" layer="16"/>
<wire x1="38.375" y1="37.125" x2="38.375" y2="43.625" width="0.2032" layer="16"/>
<wire x1="38.375" y1="43.625" x2="35.5" y2="46.5" width="0.2032" layer="16"/>
<via x="35.5" y="46.5" extent="1-16" drill="0.3"/>
<wire x1="35.5" y1="46.5" x2="35.5" y2="49.1" width="0.2032" layer="1"/>
</signal>
<signal name="IO3">
<contactref element="J6" pad="3"/>
<contactref element="R29" pad="2"/>
<via x="36.125" y="35.75" extent="1-16" drill="0.3"/>
<wire x1="35.25" y1="35.625" x2="36" y2="35.625" width="0.2032" layer="1"/>
<wire x1="36" y1="35.625" x2="36.125" y2="35.75" width="0.2032" layer="1"/>
<wire x1="36.125" y1="35.75" x2="36.625" y2="36.25" width="0.2032" layer="16"/>
<wire x1="36.625" y1="36.25" x2="36.625" y2="40" width="0.2032" layer="16"/>
<wire x1="36.625" y1="40" x2="33.5" y2="43.125" width="0.2032" layer="16"/>
<wire x1="33.5" y1="43.125" x2="33.5" y2="46.5" width="0.2032" layer="16"/>
<via x="33.5" y="46.5" extent="1-16" drill="0.3"/>
<wire x1="33.5" y1="46.5" x2="33.5" y2="49.1" width="0.2032" layer="1"/>
</signal>
<signal name="IO2">
<contactref element="J5" pad="4"/>
<contactref element="R30" pad="2"/>
<wire x1="32.75" y1="35.625" x2="33.5" y2="35.625" width="0.2032" layer="1"/>
<wire x1="33.5" y1="35.625" x2="33.625" y2="35.75" width="0.2032" layer="1"/>
<via x="33.625" y="35.75" extent="1-16" drill="0.3"/>
<wire x1="33.625" y1="35.75" x2="33.75" y2="35.75" width="0.2032" layer="16"/>
<wire x1="33.75" y1="35.75" x2="35.5" y2="37.5" width="0.2032" layer="16"/>
<via x="35.5" y="37.5" extent="1-16" drill="0.3"/>
<wire x1="35.5" y1="37.5" x2="35.5" y2="40.1" width="0.2032" layer="1"/>
</signal>
<signal name="IO1">
<contactref element="J5" pad="3"/>
<contactref element="R31" pad="2"/>
<wire x1="30.25" y1="35.625" x2="31" y2="35.625" width="0.2032" layer="1"/>
<wire x1="31" y1="35.625" x2="31.125" y2="35.75" width="0.2032" layer="1"/>
<via x="31.125" y="35.75" extent="1-16" drill="0.3"/>
<wire x1="31.125" y1="35.75" x2="31.75" y2="35.75" width="0.2032" layer="16"/>
<wire x1="31.75" y1="35.75" x2="33.5" y2="37.5" width="0.2032" layer="16"/>
<via x="33.5" y="37.5" extent="1-16" drill="0.3"/>
<wire x1="33.5" y1="37.5" x2="33.5" y2="40.1" width="0.2032" layer="1"/>
</signal>
<signal name="D7_STATUS_RED">
<contactref element="R3" pad="1"/>
<contactref element="IC2" pad="39"/>
<wire x1="33.5" y1="23.875" x2="24.75" y2="23.875" width="0.2032" layer="1"/>
<via x="23.875" y="23" extent="1-16" drill="0.3"/>
<wire x1="23.875" y1="23" x2="21.5" y2="23" width="0.2032" layer="16"/>
<wire x1="21.5" y1="23" x2="10.5" y2="34" width="0.2032" layer="16"/>
<wire x1="10.5" y1="34" x2="5.5" y2="34" width="0.2032" layer="16"/>
<via x="5.5" y="34" extent="1-16" drill="0.3"/>
<wire x1="5" y1="36.25" x2="5" y2="35.75" width="0.2032" layer="1"/>
<wire x1="5" y1="35.75" x2="5.5" y2="35.25" width="0.2032" layer="1"/>
<wire x1="5.5" y1="35.25" x2="5.5" y2="34" width="0.2032" layer="1"/>
<wire x1="37.35" y1="22.5" x2="36.75" y2="22.5" width="0.2032" layer="1"/>
<wire x1="36.75" y1="22.5" x2="36.25" y2="23" width="0.2032" layer="1"/>
<wire x1="36.25" y1="23" x2="34.375" y2="23" width="0.2032" layer="1"/>
<wire x1="34.375" y1="23" x2="33.5" y2="23.875" width="0.2032" layer="1"/>
<wire x1="24.75" y1="23.875" x2="23.875" y2="23" width="0.2032" layer="1"/>
</signal>
<signal name="D8_STATUS_GREEN">
<contactref element="R4" pad="1"/>
<contactref element="IC2" pad="41"/>
<via x="31" y="21.5" extent="1-16" drill="0.3"/>
<wire x1="31" y1="21.5" x2="30.875" y2="21.375" width="0.2032" layer="16"/>
<wire x1="30.875" y1="21.375" x2="27.625" y2="21.375" width="0.2032" layer="16"/>
<wire x1="27.625" y1="21.375" x2="24.5" y2="24.5" width="0.2032" layer="16"/>
<wire x1="24.5" y1="24.5" x2="21.875" y2="24.5" width="0.2032" layer="16"/>
<wire x1="21.875" y1="24.5" x2="11" y2="35.375" width="0.2032" layer="16"/>
<wire x1="11" y1="35.375" x2="3.5" y2="35.375" width="0.2032" layer="16"/>
<via x="3.5" y="35.375" extent="1-16" drill="0.3"/>
<wire x1="3.5" y1="36.25" x2="3.5" y2="35.375" width="0.2032" layer="1"/>
<wire x1="37.35" y1="21.5" x2="36.5" y2="21.5" width="0.2032" layer="1"/>
<wire x1="36.5" y1="21.5" x2="36" y2="22" width="0.2032" layer="1"/>
<wire x1="36" y1="22" x2="31.5" y2="22" width="0.2032" layer="1"/>
<wire x1="31.5" y1="22" x2="31" y2="21.5" width="0.2032" layer="1"/>
</signal>
<signal name="D14_I2C_PWR">
<contactref element="IC2" pad="20"/>
<contactref element="T5" pad="2"/>
<contactref element="R37" pad="1"/>
<contactref element="R39" pad="2"/>
<contactref element="T6" pad="5"/>
<contactref element="T6" pad="2"/>
<contactref element="R38" pad="2"/>
<wire x1="44.15" y1="21.5" x2="45" y2="21.5" width="0.2032" layer="1"/>
<wire x1="45" y1="21.5" x2="45.375" y2="21.875" width="0.2032" layer="1"/>
<wire x1="45.375" y1="21.875" x2="51.125" y2="21.875" width="0.2032" layer="1"/>
<wire x1="51.125" y1="21.875" x2="51.5" y2="22.25" width="0.2032" layer="1"/>
<wire x1="51.5" y1="22.25" x2="55.5" y2="22.25" width="0.2032" layer="1"/>
<via x="58.625" y="34" extent="1-16" drill="0.3"/>
<via x="56" y="28.625" extent="1-16" drill="0.3"/>
<via x="55.625" y="22.375" extent="1-16" drill="0.3"/>
<wire x1="55.7738" y1="22.5238" x2="55.7738" y2="28.3988" width="0.2032" layer="16"/>
<wire x1="55.7738" y1="28.3988" x2="56" y2="28.625" width="0.2032" layer="16"/>
<wire x1="55.5" y1="22.25" x2="55.625" y2="22.375" width="0.2032" layer="1"/>
<wire x1="59.525" y1="34" x2="60.625" y2="34" width="0.2032" layer="1"/>
<wire x1="57.725" y1="34" x2="58.625" y2="34" width="0.2032" layer="1"/>
<wire x1="58.625" y1="34" x2="59.525" y2="34" width="0.2032" layer="1"/>
<wire x1="58.625" y1="34" x2="58.625" y2="35.625" width="0.2032" layer="1"/>
<wire x1="58.625" y1="35.625" x2="58.875" y2="35.875" width="0.2032" layer="1"/>
<wire x1="58.625" y1="34" x2="55.875" y2="34" width="0.2032" layer="16"/>
<wire x1="57.1" y1="29.625" x2="56" y2="29.625" width="0.2032" layer="1"/>
<wire x1="56" y1="29.625" x2="56" y2="29.5" width="0.2032" layer="1"/>
<wire x1="56" y1="29.5" x2="56" y2="28.625" width="0.2032" layer="1"/>
<via x="55.875" y="34" extent="1-16" drill="0.3"/>
<wire x1="55.875" y1="34" x2="55.875" y2="31.75" width="0.2032" layer="1"/>
<wire x1="55.875" y1="31.75" x2="55.25" y2="31.125" width="0.2032" layer="1"/>
<wire x1="55.25" y1="31.125" x2="55.25" y2="29.875" width="0.2032" layer="1"/>
<wire x1="55.25" y1="29.875" x2="55.625" y2="29.5" width="0.2032" layer="1"/>
<wire x1="55.625" y1="29.5" x2="56" y2="29.5" width="0.2032" layer="1"/>
<wire x1="55.7738" y1="22.5238" x2="55.625" y2="22.375" width="0.2032" layer="16"/>
</signal>
<signal name="D2_IO2">
<contactref element="IC2" pad="10"/>
<contactref element="R30" pad="1"/>
<contactref element="D12" pad="3"/>
<via x="32.75" y="32.875" extent="1-16" drill="0.3"/>
<via x="46" y="15.5" extent="1-16" drill="0.3"/>
<wire x1="46.75" y1="24.75" x2="42.625" y2="28.875" width="0.2032" layer="16"/>
<wire x1="42.625" y1="28.875" x2="36.75" y2="28.875" width="0.2032" layer="16"/>
<wire x1="36.75" y1="28.875" x2="32.75" y2="32.875" width="0.2032" layer="16"/>
<wire x1="32.75" y1="33.775" x2="32.75" y2="34.625" width="0.2032" layer="1"/>
<wire x1="32.75" y1="33.775" x2="32.75" y2="32.875" width="0.2032" layer="1"/>
<wire x1="46" y1="15.5" x2="46" y2="21.3996" width="0.2032" layer="16"/>
<wire x1="42.5" y1="17.35" x2="42.5" y2="16.75" width="0.2032" layer="1"/>
<wire x1="42.5" y1="16.75" x2="43.125" y2="16.125" width="0.2032" layer="1"/>
<wire x1="43.125" y1="16.125" x2="45.375" y2="16.125" width="0.2032" layer="1"/>
<wire x1="45.375" y1="16.125" x2="46" y2="15.5" width="0.2032" layer="1"/>
<wire x1="46.75" y1="24.75" x2="46.75" y2="22.1496" width="0.2032" layer="16"/>
<wire x1="46.75" y1="22.1496" x2="46" y2="21.3996" width="0.2032" layer="16"/>
</signal>
<signal name="D3_IO3">
<contactref element="IC2" pad="11"/>
<contactref element="R29" pad="1"/>
<contactref element="D13" pad="3"/>
<via x="35.25" y="32.875" extent="1-16" drill="0.3"/>
<via x="46.625" y="16.125" extent="1-16" drill="0.3"/>
<wire x1="47.125" y1="21.79" x2="47.125" y2="25" width="0.2032" layer="16"/>
<wire x1="47.125" y1="25" x2="42.75" y2="29.375" width="0.2032" layer="16"/>
<wire x1="42.75" y1="29.375" x2="38.75" y2="29.375" width="0.2032" layer="16"/>
<wire x1="38.75" y1="29.375" x2="35.25" y2="32.875" width="0.2032" layer="16"/>
<wire x1="35.25" y1="33.775" x2="35.25" y2="34.625" width="0.2032" layer="1"/>
<wire x1="35.25" y1="33.775" x2="35.25" y2="32.875" width="0.2032" layer="1"/>
<wire x1="46.625" y1="16.125" x2="46.625" y2="21.29" width="0.2032" layer="16"/>
<wire x1="43" y1="17.35" x2="43" y2="16.875" width="0.2032" layer="1"/>
<wire x1="43" y1="16.875" x2="43.25" y2="16.625" width="0.2032" layer="1"/>
<wire x1="43.25" y1="16.625" x2="46.125" y2="16.625" width="0.2032" layer="1"/>
<wire x1="46.125" y1="16.625" x2="46.625" y2="16.125" width="0.2032" layer="1"/>
<wire x1="47.125" y1="21.79" x2="46.625" y2="21.29" width="0.2032" layer="16"/>
</signal>
<signal name="D0_SW">
<contactref element="IC2" pad="29"/>
<wire x1="41.5" y1="24.15" x2="41.5" y2="25.25" width="0.2032" layer="1"/>
<wire x1="41.5" y1="25.25" x2="41.625" y2="25.375" width="0.2032" layer="1"/>
<via x="41.625" y="25.375" extent="1-16" drill="0.3"/>
<via x="42.375" y="13.5" extent="1-16" drill="0.3"/>
<wire x1="42.375" y1="13.5" x2="43.25" y2="14.375" width="0.2032" layer="16"/>
<wire x1="43.25" y1="14.375" x2="43.25" y2="15.75" width="0.2032" layer="16"/>
<wire x1="43.25" y1="15.75" x2="43.875" y2="16.375" width="0.2032" layer="16"/>
<wire x1="42.5" y1="13.375" x2="42.375" y2="13.5" width="0.2032" layer="1"/>
<wire x1="41.625" y1="25.375" x2="44.375" y2="25.375" width="0.2032" layer="16"/>
<wire x1="44.375" y1="25.375" x2="44.875" y2="24.875" width="0.2032" layer="16"/>
<wire x1="44.875" y1="24.875" x2="44.875" y2="24.125" width="0.2032" layer="16"/>
<wire x1="44.875" y1="24.125" x2="43.875" y2="23.125" width="0.2032" layer="16"/>
<wire x1="43.875" y1="23.125" x2="43.875" y2="16.375" width="0.2032" layer="16"/>
<contactref element="R2" pad="1"/>
<wire x1="42.5" y1="13.375" x2="42.5" y2="11" width="0.2032" layer="1"/>
</signal>
<signal name="SW">
<contactref element="SW1" pad="2"/>
<contactref element="SW1" pad="1"/>
<contactref element="R2" pad="2"/>
<wire x1="44.75" y1="2.15" x2="44.75" y2="9.85" width="0.4064" layer="1"/>
<wire x1="42.5" y1="10" x2="44.6" y2="10" width="0.2032" layer="1"/>
<wire x1="44.6" y1="10" x2="44.75" y2="9.85" width="0.2032" layer="1"/>
</signal>
<signal name="V5V">
<contactref element="F2" pad="1"/>
<contactref element="D1" pad="C"/>
<wire x1="13.925" y1="54" x2="13.925" y2="54.8" width="0.4064" layer="1"/>
<wire x1="13.925" y1="54.8" x2="15.075" y2="55.95" width="0.4064" layer="1"/>
<wire x1="15.075" y1="56.5" x2="15.075" y2="55.95" width="0.4064" layer="1"/>
</signal>
<signal name="VIN">
<contactref element="D1" pad="A"/>
<contactref element="J2" pad="1"/>
<wire x1="17.175" y1="56.5" x2="17.175" y2="56.3" width="0.4064" layer="1"/>
<wire x1="17.175" y1="56.3" x2="16.375" y2="55.5" width="0.4064" layer="1"/>
<via x="16.375" y="55.5" extent="1-16" drill="0.3"/>
<via x="10.5" y="54.875" extent="1-16" drill="0.3"/>
<wire x1="10.5" y1="54.875" x2="10.5" y2="58.1" width="0.4064" layer="1"/>
<wire x1="16.375" y1="55.5" x2="11.125" y2="55.5" width="0.6096" layer="16"/>
<wire x1="11.125" y1="55.5" x2="10.5" y2="54.875" width="0.6096" layer="16"/>
</signal>
</signals>
<errors>
<approved hash="4,1,1068279b1a181d89"/>
<approved hash="4,1,f34d221ffb530f2f"/>
<approved hash="4,1,a1c0de22de46a1a4"/>
<approved hash="4,1,a244dda6dc86a364"/>
<approved hash="4,1,1aa69e57f21465d1"/>
<approved hash="4,1,6f8ace939fa438c5"/>
<approved hash="4,1,1139c5c4f82e1bcd"/>
<approved hash="4,1,f6e8c5481edd0d5f"/>
<approved hash="4,1,a1c0de22d9c6a624"/>
<approved hash="4,1,a104dee6dc86a364"/>
<approved hash="4,1,1c7f7a2c14ee6485"/>
<approved hash="4,1,6e1f2cd87ece3d0d"/>
<approved hash="4,1,d2db8668ea88b32e"/>
<approved hash="4,1,7a0dd3619a4c1c24"/>
<approved hash="4,1,a1c0de22de46a1a4"/>
<approved hash="4,1,fe5108bf69ad89b7"/>
<approved hash="4,1,617d8bce0c5edff7"/>
<approved hash="4,1,cd2a3e73b63c3e4d"/>
<approved hash="4,1,fabe9f9cfed45823"/>
<approved hash="4,1,97520677574bc85b"/>
<approved hash="4,1,a1c0de22d9c6a624"/>
<approved hash="4,1,ed641c516db58a74"/>
<approved hash="4,1,ea8090e931d133b0"/>
<approved hash="4,1,3545121cac925e00"/>
<approved hash="4,1,149748d70a5064cf"/>
<approved hash="4,1,9b35835edb1fc167"/>
<approved hash="4,1,34055d4e069f26a2"/>
<approved hash="4,1,adf050f307033591"/>
<approved hash="4,1,3216d2b8a63928fd"/>
<approved hash="4,1,a105fe77b131c134"/>
<approved hash="4,1,3c3273dcaa5ceb3c"/>
<approved hash="4,1,229856e2561cd7a1"/>
<approved hash="19,1,51821de21d105170"/>
<approved hash="4,1,ee78a286a296ee68"/>
<approved hash="4,1,39da55bb5847f0ea"/>
<approved hash="4,1,012e0f617533804b"/>
<approved hash="4,1,50ea48e2fe7ac080"/>
<approved hash="4,1,ad3590b403211852"/>
<approved hash="4,1,b2f22615d52b8500"/>
<approved hash="4,1,ea8dee135532a56a"/>
<approved hash="4,1,b3d39747cd00f769"/>
<approved hash="4,1,9eb7672181bd9dba"/>
<approved hash="4,1,e439cfca3a0ac90b"/>
<approved hash="4,1,10b0d2413a593df2"/>
<approved hash="4,1,421d9d481ba209e6"/>
<approved hash="4,1,9d7c0115e0d947ea"/>

repository: sensebox/senseBoxMCU-core

repo_name: sensebox/senseBoxMCU-core

extension: brd


text:
<approved hash="4,1,a49da61626a6a304"/>
<approved hash="4,1,8296d6b4f40eb0cb"/>
<approved hash="4,1,c10e070565dca2db"/>
<approved hash="4,1,30e5455fd84ab376"/>
<approved hash="4,1,69ee4c299bfca0bd"/>
<approved hash="4,1,6220a6c2a7c46326"/>
<approved hash="4,1,a22022c223c5a327"/>
<approved hash="4,1,d9f047f3db135b96"/>
<approved hash="4,1,8dad4cee66e2b927"/>
<approved hash="4,1,6260a682a4866064"/>
<approved hash="4,1,a26022822087a065"/>
<approved hash="19,1,39811de11d103970"/>
<approved hash="19,1,7181cde1cd107170"/>
<approved hash="19,1,7a41c621c4107870"/>
<approved hash="19,1,6201de61dc086068"/>
<approved hash="19,1,f757f2abf3e7f61b"/>
<approved hash="19,1,d1a8b597bc4fe188"/>
<approved hash="19,1,3ef5763a1987e8bd"/>
<approved hash="19,1,3e8522f84d49e8c1"/>
<approved hash="5,1,99fc07cefff19f11"/>
<approved hash="19,1,9da779958c4ef180"/>
<approved hash="19,1,d686aaf679419cc3"/>
<approved hash="19,1,d6f6fe342d8f9cbf"/>
<approved hash="19,1,7a00be60bc077867"/>
<approved hash="19,1,6980ade0ad1f697f"/>
<approved hash="19,1,6240a620a41f607f"/>
<approved hash="19,1,d48df071f118d5e4"/>
<approved hash="19,1,d24df6b1f5e8d114"/>
<approved hash="19,1,7e22c1decedc7120"/>
<approved hash="19,1,7dbac246fd0442f8"/>
<approved hash="19,1,743b0c4733044b78"/>
<approved hash="19,1,77a30fdf00dc78a0"/>
<approved hash="19,1,024916b515f2010e"/>
<approved hash="19,1,04891075110205fe"/>
<approved hash="19,1,7e403620341c7c7c"/>
<approved hash="19,1,66002e602c046464"/>
<approved hash="19,1,7e41362134187c78"/>
<approved hash="19,1,66012e612c006460"/>
<approved hash="5,1,3e56b93a4c0e8a1f"/>
<approved hash="19,1,3e411e211c183c78"/>
<approved hash="19,1,2601066104002460"/>
<approved hash="5,1,7a4f7d3a5e0bef43"/>
<approved hash="19,1,75866de66d197579"/>
<approved hash="19,1,6600466044046464"/>
<approved hash="19,1,7e405e205c1c7c7c"/>
<approved hash="19,1,fe7e1e1e1c20fc40"/>
<approved hash="19,1,e63e065e0438e458"/>
<approved hash="19,1,759f3dff3d007560"/>
<approved hash="19,1,661e467e441b647b"/>
<approved hash="19,1,7e5e5e3e5c037c63"/>
<approved hash="4,16,f6e8c5481edd0d5f"/>
<approved hash="4,16,1139c5c4f82e1bcd"/>
<approved hash="4,16,a104dee6dc86a364"/>
<approved hash="4,16,a1c0de22d9c6a624"/>
<approved hash="4,16,6e1f2cd87ece3d0d"/>
<approved hash="4,16,1c7f7a2c14ee6485"/>
<approved hash="4,16,f34d221ffb530f2f"/>
<approved hash="4,16,1068279b1a181d89"/>
<approved hash="4,16,a244dda6dc86a364"/>
<approved hash="4,16,a1c0de22de46a1a4"/>
<approved hash="4,16,1aa69e57f21465d1"/>
<approved hash="4,16,6f8ace939fa438c5"/>
<approved hash="4,16,fb20ea7344edfc30"/>
<approved hash="4,16,46de1a785286230f"/>
<approved hash="4,16,1d3ee9cf40b41faf"/>
<approved hash="4,16,3216d2b8a63928fd"/>
<approved hash="4,16,11b63ccae8a04d66"/>
<approved hash="4,16,18c7a99fc5321610"/>
<approved hash="4,16,f0983a42e8cda869"/>
<approved hash="4,16,149748d70a5064cf"/>
<approved hash="4,16,7e4341888c9cb74f"/>
<approved hash="4,16,3e1bb0c4bad9f0ca"/>
<approved hash="4,16,819b63ceb1707225"/>
<approved hash="4,16,eff8a306a316efe8"/>
<approved hash="4,16,851682155086769d"/>
<approved hash="4,16,b2f22615d52b8500"/>
<approved hash="4,16,7bcaa73f69d6b0d3"/>
<approved hash="4,16,ee78a286a296ee68"/>
<approved hash="4,16,8925a798d5e23c49"/>
<approved hash="4,16,4d677be814f3ea06"/>
<approved hash="4,16,4b3a98aff79de96e"/>
<approved hash="4,16,8dbc416737843b25"/>
<approved hash="4,16,f3f7373edd36defd"/>
<approved hash="4,16,e439cfca3a0ac90b"/>
<approved hash="4,16,9eb7672181bd9dba"/>
<approved hash="4,16,95459bd1678e809b"/>
<approved hash="4,16,cc2f02e46d45c674"/>
<approved hash="4,16,aeb3a08562cffbb4"/>
<approved hash="4,16,a266c2615f44a026"/>
<approved hash="4,16,e1d8bb29a763e871"/>
<approved hash="4,16,f5ef8d07e8977279"/>
<approved hash="4,16,38c46f7a90be052d"/>
<approved hash="4,16,d45b08afc3bef133"/>
<approved hash="4,16,e1356a518b76e9eb"/>
<approved hash="4,16,d9f047f3db135b96"/>
<approved hash="4,16,8dad4cee66e2b927"/>
<approved hash="4,16,6260a682a4866064"/>
<approved hash="4,16,a26022822087a065"/>
<approved hash="4,16,30e5455fd84ab376"/>
<approved hash="4,16,69ee4c299bfca0bd"/>
<approved hash="4,16,6220a6c2a7c46326"/>
<approved hash="4,16,a22022c223c5a327"/>
<approved hash="4,16,ee1a7920c968d801"/>
<approved hash="4,16,488343be36423175"/>
<approved hash="4,16,7dbe97a0e5730367"/>
<approved hash="4,16,48d63b7a8331fac7"/>
<approved hash="4,16,8db3d1199fb2103a"/>
<approved hash="4,16,2dad534eb3e63c35"/>
<approved hash="4,16,5c356424a9c6c60d"/>
<approved hash="4,16,c52d4fb964b37d2d"/>
</errors>
</board>
</drawing>
</eagle>

license_type: permissive

branch_name: refs/heads/master


text:
@InProceedings{ss3d,
  author       = "O. Mees and M. Tatarchenko and T. Brox and W. Burgard",
  title        = "Self-supervised 3D Shape and Viewpoint Estimation from Single Images for Robotics",
  booktitle    = "IROS",
  year         = "2019"
}

license: MIT

repository: tatarchm/academic

repo_name: tatarchm/academic

gha_license_id: MIT

gha_language: Shell

extension: bib


text:
package iterator

// nolint: megacheck
type baseIterator interface {
	// Next returns true if there is another value in the data stream.
	// If it returns false, err should be checked for errors.
	Next() bool

	// Err returns any error encountered during iteration.
	Err() error

	// Close closes the iterator.
	Close()
}

gha_language: Go

extension: go


text:
/*
 * TencentBlueKing is pleased to support the open source community by making 蓝鲸智云-权限中心(BlueKing-IAM) available.
 * Copyright (C) 2017-2021 THL A29 Limited, a Tencent company. All rights reserved.
 * Licensed under the MIT License (the "License"); you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at http://opensource.org/licenses/MIT
 * 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 database

import (
	"context"
	"time"

	"github.com/jmoiron/sqlx"

	"iam/pkg/util"
)

// ============== timer ==============
type queryFunc func(db *sqlx.DB, dest interface{}, query string, args ...interface{}) error

func queryTimer(f queryFunc) queryFunc {
	return func(db *sqlx.DB, dest interface{}, query string, args ...interface{}) error {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		// NOTE: must be args...
		return f(db, dest, query, args...)
	}
}

type deleteFunc func(db *sqlx.DB, query string, args ...interface{}) (int64, error)

func deleteTimer(f deleteFunc) deleteFunc {
	return func(db *sqlx.DB, query string, args ...interface{}) (int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		// NOTE: must be args...
		return f(db, query, args...)
	}
}

type deleteWithCtxFunc func(ctx context.Context, db *sqlx.DB, query string, args ...interface{}) (int64, error)

func deleteWithCtxTimer(f deleteWithCtxFunc) deleteWithCtxFunc {
	return func(ctx context.Context, db *sqlx.DB, query string, args ...interface{}) (int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		// NOTE: must be args...
		return f(ctx, db, query, args...)
	}
}

type updateFunc func(db *sqlx.DB, query string, args interface{}) (int64, error)

func updateTimer(f updateFunc) updateFunc {
	return func(db *sqlx.DB, query string, args interface{}) (int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(db, query, args)
	}
}

type bulkInsertFunc func(db *sqlx.DB, query string, args interface{}) error

func bulkInsertTimer(f bulkInsertFunc) bulkInsertFunc {
	return func(db *sqlx.DB, query string, args interface{}) error {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(db, query, args)
	}
}

// ================== raw execute func ==================
func sqlxSelectFunc(db *sqlx.DB, dest interface{}, query string, args ...interface{}) error {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return err
	}
	err = db.Select(dest, query, args...)
	return err
}

func sqlxGetFunc(db *sqlx.DB, dest interface{}, query string, args ...interface{}) error {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return err
	}
	err = db.Get(dest, query, args...)

	if err == nil {
		return nil
	}

	return err
}

func sqlxDeleteFunc(db *sqlx.DB, query string, args ...interface{}) (int64, error) {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return 0, err
	}

	result, err := db.Exec(query, args...)
	if err != nil {
		return 0, err
	}

	rowsAffected, err := result.RowsAffected()

	if err != nil {
		return 0, err
	}

	return rowsAffected, nil
}

func sqlxDeleteWithCtxFunc(ctx context.Context, db *sqlx.DB, query string, args ...interface{}) (int64, error) {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return 0, err
	}

	result, err := db.ExecContext(ctx, query, args...)
	if err != nil {
		return 0, err
	}

	rowsAffected, err := result.RowsAffected()

	if err != nil {
		return 0, err
	}

	return rowsAffected, nil
}

func sqlxUpdateFunc(db *sqlx.DB, query string, args interface{}) (int64, error) {
	result, err := db.NamedExec(query, args)
	if err != nil {
		return 0, err
	}

	rowsAffected, err := result.RowsAffected()
	if err != nil {
		return 0, err
	}

	return rowsAffected, nil
}

func sqlxBulkInsertFunc(db *sqlx.DB, query string, args interface{}) error {
	q, arrayArgs, err := bindArray(sqlx.BindType(db.DriverName()), query, args, db.Mapper)
	if err != nil {
		return err
	}
	_, err = db.Exec(q, arrayArgs...)
	return err
}

// NOTE 重BulkInsert复制, BulkInsert可能会修改, 注意不要复用
func sqlxBulkUpdateFunc(db *sqlx.DB, query string, args interface{}) error {
	tx, err := db.Beginx()
	if err != nil {
		return err
	}
	defer RollBackWithLog(tx)

	err = SqlxBulkUpdateWithTx(tx, query, args)
	if err != nil {
		return err
	}

	return tx.Commit()
}

// ============== timer with tx ==============
type insertWithTxFunc func(tx *sqlx.Tx, query string, args interface{}) error

func insertWithTxTimer(f insertWithTxFunc) insertWithTxFunc {
	return func(tx *sqlx.Tx, query string, args interface{}) error {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(tx, query, args)
	}
}

// type insertReturnIDWithTxFunc func(tx *sqlx.Tx, query string, args interface{}) (int64, error)
//
// func insertReturnIDWithTxTimer(f insertReturnIDWithTxFunc) insertReturnIDWithTxFunc {
// 	return func(tx *sqlx.Tx, query string, args interface{}) (int64, error) {
// 		start := time.Now()
// 		defer logSlowSQL(start, query, args)
// 		return f(tx, query, args)
// 	}
// }

type bulkInsertWithTxFunc func(tx *sqlx.Tx, query string, args interface{}) error

func bulkInsertWithTxTimer(f bulkInsertWithTxFunc) bulkInsertWithTxFunc {
	return func(tx *sqlx.Tx, query string, args interface{}) error {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(tx, query, args)
	}
}

type bulkInsertReturnIDWithTxFunc func(tx *sqlx.Tx, query string, args interface{}) ([]int64, error)

func bulkInsertReturnIDWithTxTimer(f bulkInsertReturnIDWithTxFunc) bulkInsertReturnIDWithTxFunc {
	return func(tx *sqlx.Tx, query string, args interface{}) ([]int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(tx, query, args)
	}
}

type execWithTxFunc func(tx *sqlx.Tx, query string, args ...interface{}) error

func execWithTxTimer(f execWithTxFunc) execWithTxFunc {
	return func(tx *sqlx.Tx, query string, args ...interface{}) error {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		// NOTE: must be args...
		return f(tx, query, args...)
	}
}

type deleteReturnRowsWithTxFunc func(tx *sqlx.Tx, query string, args ...interface{}) (int64, error)

func deleteReturnRowsWithTxTimer(f deleteReturnRowsWithTxFunc) deleteReturnRowsWithTxFunc {
	return func(tx *sqlx.Tx, query string, args ...interface{}) (int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		// NOTE: must be args...
		return f(tx, query, args...)
	}
}

type updateWithTxFunc func(tx *sqlx.Tx, query string, args interface{}) (int64, error)

func updateWithTxTimer(f updateWithTxFunc) updateWithTxFunc {
	return func(tx *sqlx.Tx, query string, args interface{}) (int64, error) {
		start := time.Now()
		defer logSlowSQL(start, query, args)
		return f(tx, query, args)
	}
}

// ================== raw execute func with tx ==================
//func sqlxExecWithTx(tx *sqlx.Tx, query string, args ...interface{}) error {
//	_, err := tx.Exec(query, args...)
//	return err
//}

func sqlxInsertWithTx(tx *sqlx.Tx, query string, args interface{}) error {
	_, err := tx.NamedExec(query, args)
	return err
}

//func sqlxInsertReturnIDWithTx(tx *sqlx.Tx, query string, args interface{}) (int64, error) {
//	res, err := tx.NamedExec(query, args)
//	if err != nil {
//		return 0, err
//	}
//	return res.LastInsertId()
//}

func sqlxBulkInsertWithTx(tx *sqlx.Tx, query string, args interface{}) error {
	q, arrayArgs, err := bindArray(sqlx.BindType(tx.DriverName()), query, args, tx.Mapper)
	if err != nil {
		return err
	}
	_, err = tx.Exec(q, arrayArgs...)
	return err
}

func sqlxBulkInsertReturnIDWithTx(tx *sqlx.Tx, query string, args interface{}) ([]int64, error) {
	/*
		批量插入并按顺序返回插入数据的ID

		使用预编译遍历执行, 而不是直接批量执行的原因:
		1. 使用一条INSERT语句插入多个行, LAST_INSERT_ID() 只返回插入的第一行数据时产生的值
		2. 如果MySQL配置的auto_increment_increment != 1 会导致除了第一条插入的数据, 后续的数据id无法预期
		3. 基于以上原因, 使用预编译循环插入, 每次拿到的LAST_INSERT_ID一定是上一次插入的id值, 能规避以上错误
	*/
	// 预编译
	stmt, err := tx.PrepareNamed(query)
	if err != nil {
		return nil, err
	}
	defer stmt.Close()

	argSlice, err := util.ToSlice(args)
	// 转换不成功，说明是非数组，则单个条件
	if err != nil {
		return nil, err
	}

	ids := make([]int64, 0, len(argSlice))
	// 遍历执行
	for _, arg := range argSlice {
		result, err := stmt.Exec(arg)
		if err != nil {
			return nil, err
		}
		id, err := result.LastInsertId()
		if err != nil {
			return nil, err
		}
		ids = append(ids, id)
	}
	return ids, nil
}

func sqlxBulkUpdateWithTx(tx *sqlx.Tx, query string, args interface{}) error {
	// 预编译
	stmt, err := tx.PrepareNamed(query)
	if err != nil {
		return err
	}
	defer stmt.Close()

	argSlice, err := util.ToSlice(args)
	// 转换不成功，说明是非数组，则单个条件
	if err != nil {
		return err
	}

	// 遍历执行
	for _, arg := range argSlice {
		_, err = stmt.Exec(arg)
		if err != nil {
			return err
		}
	}
	return nil
}

func sqlxDeleteWithTx(tx *sqlx.Tx, query string, args ...interface{}) error {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return err
	}
	// TODO: 后续考虑是否需要返回删除的数量
	_, err = tx.Exec(query, args...)
	return err
}

func sqlxDeleteReturnRowsWithTx(tx *sqlx.Tx, query string, args ...interface{}) (int64, error) {
	query, args, err := sqlx.In(query, args...)
	if err != nil {
		return 0, err
	}
	result, err := tx.Exec(query, args...)
	if err != nil {
		return 0, err
	}

	rowsAffected, err := result.RowsAffected()
	if err != nil {
		return 0, err
	}
	return rowsAffected, nil
}

func sqlxUpdateWithTx(tx *sqlx.Tx, query string, args interface{}) (int64, error) {
	result, err := tx.NamedExec(query, args)
	if err != nil {
		return 0, err
	}

	rowsAffected, err := result.RowsAffected()
	if err != nil {
		return 0, err
	}

	return rowsAffected, nil
}

// the func after decorate
var (
	SqlxSelect = queryTimer(sqlxSelectFunc)
	SqlxGet    = queryTimer(sqlxGetFunc)

	SqlxDelete     = deleteTimer(sqlxDeleteFunc)
	SqlxUpdate     = updateTimer(sqlxUpdateFunc)
	SqlxBulkInsert = bulkInsertTimer(sqlxBulkInsertFunc)
	SqlxBulkUpdate = bulkInsertTimer(sqlxBulkUpdateFunc)

	SqlxDeleteWithCtx = deleteWithCtxTimer(sqlxDeleteWithCtxFunc)
	SqlxInsertWithTx  = insertWithTxTimer(sqlxInsertWithTx)

	// SqlxInsertReturnIDWithTx     = insertReturnIDWithTxTimer(sqlxInsertReturnIDWithTx)

	SqlxBulkInsertWithTx         = bulkInsertWithTxTimer(sqlxBulkInsertWithTx)
	SqlxBulkInsertReturnIDWithTx = bulkInsertReturnIDWithTxTimer(sqlxBulkInsertReturnIDWithTx)
	SqlxBulkUpdateWithTx         = bulkInsertWithTxTimer(sqlxBulkUpdateWithTx)
	SqlxDeleteWithTx             = execWithTxTimer(sqlxDeleteWithTx)
	SqlxDeleteReturnRowsWithTx   = deleteReturnRowsWithTxTimer(sqlxDeleteReturnRowsWithTx)
	SqlxUpdateWithTx             = updateWithTxTimer(sqlxUpdateWithTx)
	// SqlxExecWithTx               = execWithTxTimer(sqlxExecWithTx)

	// SqlxSensitiveGet will query without timer and logger
	SqlxSensitiveGet = sqlxGetFunc
)


text:
#include <pybind11/pybind11.h>

namespace py = pybind11;
void exportContact(py::module & );
void exportB2World(py::module & );
void exportB2Body(py::module & );
void exportB2Math(py::module & );
void exportB2Fixture(py::module & );
void exportB2Shape(py::module & );
void exportb2Joint(py::module & );
void exportb2JointDef(py::module & );
void exportB2WorldCallbacks(py::module & );
void exportB2Draw(py::module & );
void exportB2Particle(py::module & );
void exportB2ParticleSystem(py::module & );
void exportB2ParticleGroup(py::module & );
void exportb2Collision(py::module & );
void exportExtendedDebugDraw(py::module & );

void exportb2Vectorization(py::module &);
void exportEmitter(py::module &);

PYBIND11_PLUGIN(_pybox2d) {
    py::module pybox2dModule("_pybox2d", "pybox2d python bindings");

    exportContact(pybox2dModule);
    exportB2World(pybox2dModule);
    exportB2Body(pybox2dModule);
    exportB2Math(pybox2dModule);
    exportB2Shape(pybox2dModule);
    exportB2Fixture(pybox2dModule);
    exportb2Joint(pybox2dModule);
    exportb2JointDef(pybox2dModule);
    exportB2WorldCallbacks(pybox2dModule);
    exportB2Draw(pybox2dModule);
    exportB2Particle(pybox2dModule);
    exportB2ParticleSystem(pybox2dModule);
    exportB2ParticleGroup(pybox2dModule);
    exportb2Collision(pybox2dModule);
    exportExtendedDebugDraw(pybox2dModule);
    exportb2Vectorization(pybox2dModule);
    exportEmitter(pybox2dModule);

    return pybox2dModule.ptr();
}

license: Zlib

repository: DerThorsten/liquidfun

repo_name: DerThorsten/liquidfun

extension: cxx


text:
package reply

import "hawx.me/code/iirc/message"

func PrivMsg(nick, user, host, subject, msg string) message.M {
	return message.Message3(
		message.Prefix(nick, user, host),
		"PRIVMSG",
		message.ParamsT([]string{subject}, msg))
}

repository: hawx/iirc

repo_name: hawx/iirc