text:
<connects>
<connect gate="G$1" pin="D1" pad="6"/>
<connect gate="G$1" pin="D2" pad="4"/>
<connect gate="G$1" pin="G1" pad="1"/>
<connect gate="G$1" pin="G2" pad="3"/>
<connect gate="G$1" pin="S1" pad="5"/>
<connect gate="G$1" pin="S2" pad="2"/>
</connects>
<technologies>
<technology name="">
<attribute name="MANUFACTURER" value="ON Semiconductor"/>
<attribute name="MPN" value="FDC6312P"/>
</technology>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="frames">
<description>Frames for Sheet and Layout</description>
<packages>
</packages>
<symbols>
<symbol name="DINA3_L">
<frame x1="0" y1="0" x2="388.62" y2="264.16" columns="4" rows="4" layer="94" border-left="no" border-top="no" border-right="no" border-bottom="no"/>
</symbol>
<symbol name="DOCFIELD">
<wire x1="0" y1="0" x2="71.12" y2="0" width="0.1016" layer="94"/>
<wire x1="101.6" y1="15.24" x2="87.63" y2="15.24" width="0.1016" layer="94"/>
<wire x1="0" y1="0" x2="0" y2="5.08" width="0.1016" layer="94"/>
<wire x1="0" y1="5.08" x2="71.12" y2="5.08" width="0.1016" layer="94"/>
<wire x1="0" y1="5.08" x2="0" y2="15.24" width="0.1016" layer="94"/>
<wire x1="101.6" y1="15.24" x2="101.6" y2="5.08" width="0.1016" layer="94"/>
<wire x1="71.12" y1="5.08" x2="71.12" y2="0" width="0.1016" layer="94"/>
<wire x1="71.12" y1="5.08" x2="87.63" y2="5.08" width="0.1016" layer="94"/>
<wire x1="71.12" y1="0" x2="101.6" y2="0" width="0.1016" layer="94"/>
<wire x1="87.63" y1="15.24" x2="87.63" y2="5.08" width="0.1016" layer="94"/>
<wire x1="87.63" y1="15.24" x2="0" y2="15.24" width="0.1016" layer="94"/>
<wire x1="87.63" y1="5.08" x2="101.6" y2="5.08" width="0.1016" layer="94"/>
<wire x1="101.6" y1="5.08" x2="101.6" y2="0" width="0.1016" layer="94"/>
<wire x1="0" y1="15.24" x2="0" y2="22.86" width="0.1016" layer="94"/>
<wire x1="101.6" y1="35.56" x2="0" y2="35.56" width="0.1016" layer="94"/>
<wire x1="101.6" y1="35.56" x2="101.6" y2="22.86" width="0.1016" layer="94"/>
<wire x1="0" y1="22.86" x2="101.6" y2="22.86" width="0.1016" layer="94"/>
<wire x1="0" y1="22.86" x2="0" y2="35.56" width="0.1016" layer="94"/>
<wire x1="101.6" y1="22.86" x2="101.6" y2="15.24" width="0.1016" layer="94"/>
<text x="1.27" y="1.27" size="2.54" layer="94">Date:</text>
<text x="12.7" y="1.27" size="2.54" layer="94">>LAST_DATE_TIME</text>
<text x="72.39" y="1.27" size="2.54" layer="94">Sheet:</text>
<text x="86.36" y="1.27" size="2.54" layer="94">>SHEET</text>
<text x="88.9" y="11.43" size="2.54" layer="94">REV:</text>
<text x="1.27" y="19.05" size="2.54" layer="94">TITLE:</text>
<text x="1.27" y="11.43" size="2.54" layer="94">Document Number:</text>
<text x="17.78" y="19.05" size="2.54" layer="94">>DRAWING_NAME</text>
</symbol>
</symbols>
<devicesets>
<deviceset name="DINA3_L" prefix="FRAME" uservalue="yes">
<description>FRAME

DIN A3, landscape with extra doc field</description>
<gates>
<gate name="G$1" symbol="DINA3_L" x="0" y="0"/>
<gate name="G$2" symbol="DOCFIELD" x="287.02" y="0" addlevel="must"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
<library name="supply1">
<description>Supply Symbols

 GND, VCC, 0V, +5V, -5V, etc.

 Please keep in mind, that these devices are necessary for the
 automatic wiring of the supply signals.

 The pin name defined in the symbol is identical to the net which is to be wired automatically.

 In this library the device names are the same as the pin names of the symbols, therefore the correct signal names appear next to the supply symbols in the schematic.

 <author>Created by librarian@cadsoft.de</author></description>
<packages>
</packages>
<symbols>
<symbol name="GND">
<wire x1="-1.905" y1="0" x2="1.905" y2="0" width="0.254" layer="94"/>
<text x="-2.54" y="-2.54" size="1.778" layer="96">>VALUE</text>
<pin name="GND" x="0" y="2.54" visible="off" length="short" direction="sup" rot="R270"/>
</symbol>
<symbol name="+3V3">
<wire x1="1.27" y1="-1.905" x2="0" y2="0" width="0.254" layer="94"/>
<wire x1="0" y1="0" x2="-1.27" y2="-1.905" width="0.254" layer="94"/>
<text x="-2.54" y="-5.08" size="1.778" layer="96" rot="R90">>VALUE</text>
<pin name="+3V3" x="0" y="-2.54" visible="off" length="short" direction="sup" rot="R90"/>
</symbol>
</symbols>
<devicesets>
<deviceset name="GND" prefix="GND">
<description>SUPPLY SYMBOL</description>
<gates>
<gate name="1" symbol="GND" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
<deviceset name="+3V3" prefix="+3V3">
<description>SUPPLY SYMBOL</description>
<gates>
<gate name="G$1" symbol="+3V3" x="0" y="0"/>
</gates>
<devices>
<device name="">
<technologies>
<technology name=""/>
</technologies>
</device>
</devices>
</deviceset>
</devicesets>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="default" width="0" drill="0">
</class>
</classes>
<parts>
<part name="SW1" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW2" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW3" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW4" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="CONN4" library="igor_lbr" deviceset="PINHD-1X10" device="-FFC-1MM-Z"/>
<part name="FRAME1" library="frames" deviceset="DINA3_L" device=""/>
<part name="SW5" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW6" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW7" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="SW8" library="igor_lbr" deviceset="OMRON-B3W-9" device=""/>
<part name="U1" library="igor_lbr" deviceset="74*165" device="" technology="HC"/>
<part name="GND2" library="supply1" deviceset="GND" device=""/>
<part name="C1" library="igor_lbr" deviceset="CAPACITOR" device="-0805" value="100n"/>
<part name="+3V1" library="supply1" deviceset="+3V3" device=""/>
<part name="GND3" library="supply1" deviceset="GND" device=""/>
<part name="GND4" library="supply1" deviceset="GND" device=""/>
<part name="GND5" library="supply1" deviceset="GND" device=""/>
<part name="GND6" library="supply1" deviceset="GND" device=""/>
<part name="GND7" library="supply1" deviceset="GND" device=""/>
<part name="GND8" library="supply1" deviceset="GND" device=""/>
<part name="GND9" library="supply1" deviceset="GND" device=""/>
<part name="GND10" library="supply1" deviceset="GND" device=""/>
<part name="GND11" library="supply1" deviceset="GND" device=""/>
<part name="R1" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R2" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R3" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R4" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R5" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R6" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R7" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R8" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="+3V2" library="supply1" deviceset="+3V3" device=""/>
<part name="U2" library="igor_lbr" deviceset="74*595" device="-SO16" technology="HC"/>
<part name="GND1" library="supply1" deviceset="GND" device=""/>
<part name="C2" library="igor_lbr" deviceset="CAPACITOR" device="-0805" value="100n"/>
<part name="GND12" library="supply1" deviceset="GND" device=""/>
<part name="+3V3" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V4" library="supply1" deviceset="+3V3" device=""/>
<part name="Q1" library="igor_lbr" deviceset="FDC6312P" device=""/>
<part name="Q2" library="igor_lbr" deviceset="FDC6312P" device=""/>
<part name="Q3" library="igor_lbr" deviceset="FDC6312P" device=""/>
<part name="Q4" library="igor_lbr" deviceset="FDC6312P" device=""/>
<part name="R9" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R10" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R11" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R12" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R13" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R14" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R15" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="R16" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="750"/>
<part name="GND13" library="supply1" deviceset="GND" device=""/>
<part name="GND14" library="supply1" deviceset="GND" device=""/>
<part name="GND15" library="supply1" deviceset="GND" device=""/>
<part name="GND16" library="supply1" deviceset="GND" device=""/>
<part name="GND17" library="supply1" deviceset="GND" device=""/>
<part name="GND18" library="supply1" deviceset="GND" device=""/>
<part name="GND19" library="supply1" deviceset="GND" device=""/>
<part name="GND20" library="supply1" deviceset="GND" device=""/>
<part name="R17" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R18" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R19" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R20" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R21" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R22" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R23" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="R24" library="igor_lbr" deviceset="RESISTOR" device="-0805" value="4k7"/>
<part name="CONN1" library="igor_lbr" deviceset="PINHD-1X10" device="-FFC-1MM-Z"/>
<part name="CONN2" library="igor_lbr" deviceset="PINHD-1X10" device="-FFC-1MM-Z"/>
<part name="GND21" library="supply1" deviceset="GND" device=""/>
<part name="+3V5" library="supply1" deviceset="+3V3" device=""/>
<part name="GND22" library="supply1" deviceset="GND" device=""/>
<part name="GND23" library="supply1" deviceset="GND" device=""/>
<part name="+3V6" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V7" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V8" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V9" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V10" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V11" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V12" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V13" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V14" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V15" library="supply1" deviceset="+3V3" device=""/>
<part name="+3V16" library="supply1" deviceset="+3V3" device=""/>
</parts>
<sheets>
<sheet>
<plain>
<text x="10.16" y="5.08" size="5.08" layer="97">Note: same-sided flat
cables should be used,
such as Molex 15267-0257</text>
</plain>
<instances>
<instance part="SW1" gate="-SW" x="180.34" y="137.16" smashed="yes">
<attribute name="NAME" x="175.26" y="139.7" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW2" gate="-SW" x="180.34" y="127" smashed="yes">
<attribute name="NAME" x="175.26" y="129.54" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW3" gate="-SW" x="180.34" y="116.84" smashed="yes">
<attribute name="NAME" x="175.26" y="119.38" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW4" gate="-SW" x="180.34" y="106.68" smashed="yes">
<attribute name="NAME" x="175.26" y="109.22" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="CONN4" gate="G$1" x="48.26" y="50.8"/>
<instance part="FRAME1" gate="G$1" x="0" y="0"/>
<instance part="FRAME1" gate="G$2" x="287.02" y="0"/>
<instance part="SW5" gate="-SW" x="180.34" y="96.52" smashed="yes">
<attribute name="NAME" x="175.26" y="99.06" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW6" gate="-SW" x="180.34" y="86.36" smashed="yes">
<attribute name="NAME" x="175.26" y="88.9" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW7" gate="-SW" x="180.34" y="76.2" smashed="yes">
<attribute name="NAME" x="175.26" y="78.74" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="SW8" gate="-SW" x="180.34" y="66.04" smashed="yes">
<attribute name="NAME" x="175.26" y="68.58" size="1.778" layer="95" font="vector"/>
</instance>
<instance part="U1" gate="G$1" x="35.56" y="215.9"/>
<instance part="GND2" gate="1" x="25.4" y="238.76" rot="R270"/>
<instance part="C1" gate="C" x="33.02" y="248.92" smashed="yes" rot="R90">
<attribute name="NAME" x="30.48" y="254" size="1.778" layer="95" font="vector"/>
<attribute name="VALUE" x="30.48" y="251.46" size="1.778" layer="96" font="vector"/>
</instance>
<instance part="+3V1" gate="G$1" x="27.94" y="254"/>
<instance part="GND3" gate="1" x="38.1" y="248.92" rot="R90"/>
<instance part="GND4" gate="1" x="187.96" y="137.16" rot="R90"/>
<instance part="GND5" gate="1" x="187.96" y="127" rot="R90"/>
<instance part="GND6" gate="1" x="187.96" y="116.84" rot="R90"/>
<instance part="GND7" gate="1" x="187.96" y="106.68" rot="R90"/>
<instance part="GND8" gate="1" x="187.96" y="96.52" rot="R90"/>
<instance part="GND9" gate="1" x="187.96" y="86.36" rot="R90"/>
<instance part="GND10" gate="1" x="187.96" y="76.2" rot="R90"/>
<instance part="GND11" gate="1" x="187.96" y="66.04" rot="R90"/>
<instance part="R1" gate="G$1" x="218.44" y="137.16"/>
<instance part="R2" gate="G$1" x="218.44" y="127"/>
<instance part="R3" gate="G$1" x="218.44" y="116.84"/>
<instance part="R4" gate="G$1" x="218.44" y="106.68"/>
<instance part="R5" gate="G$1" x="218.44" y="96.52"/>
<instance part="R6" gate="G$1" x="218.44" y="86.36"/>
<instance part="R7" gate="G$1" x="218.44" y="76.2"/>
<instance part="R8" gate="G$1" x="218.44" y="66.04"/>
<instance part="+3V2" gate="G$1" x="226.06" y="144.78"/>
<instance part="U2" gate="G$1" x="35.56" y="167.64"/>
<instance part="GND1" gate="1" x="27.94" y="190.5" rot="R270"/>
<instance part="C2" gate="C" x="33.02" y="200.66" smashed="yes" rot="R90">
<attribute name="NAME" x="30.48" y="205.74" size="1.778" layer="95" font="vector"/>
<attribute name="VALUE" x="30.48" y="203.2" size="1.778" layer="96" font="vector"/>
</instance>
<instance part="GND12" gate="1" x="38.1" y="200.66" rot="R90"/>
<instance part="+3V3" gate="G$1" x="27.94" y="205.74"/>
<instance part="+3V4" gate="G$1" x="30.48" y="170.18" rot="R180"/>
<instance part="Q1" gate="G$1" x="289.56" y="195.58"/>
<instance part="Q2" gate="G$1" x="289.56" y="167.64"/>
<instance part="Q3" gate="G$1" x="289.56" y="139.7"/>
<instance part="Q4" gate="G$1" x="289.56" y="111.76"/>
<instance part="R9" gate="G$1" x="312.42" y="210.82"/>
<instance part="R10" gate="G$1" x="312.42" y="200.66" smashed="yes">
<attribute name="NAME" x="309.88" y="205.74" size="1.778" layer="95" font="vector"/>
<attribute name="VALUE" x="309.88" y="203.2" size="1.778" layer="96" font="vector"/>
</instance>
<instance part="R11" gate="G$1" x="312.42" y="182.88"/>
<instance part="R12" gate="G$1" x="312.42" y="172.72"/>
<instance part="R13" gate="G$1" x="312.42" y="154.94"/>
<instance part="R14" gate="G$1" x="312.42" y="144.78"/>
<instance part="R15" gate="G$1" x="312.42" y="127"/>
<instance part="R16" gate="G$1" x="312.42" y="116.84"/>
<instance part="GND13" gate="1" x="327.66" y="210.82" rot="R90"/>
<instance part="GND14" gate="1" x="327.66" y="200.66" rot="R90"/>
<instance part="GND15" gate="1" x="327.66" y="182.88" rot="R90"/>
<instance part="GND16" gate="1" x="327.66" y="172.72" rot="R90"/>
<instance part="GND17" gate="1" x="327.66" y="154.94" rot="R90"/>
<instance part="GND18" gate="1" x="327.66" y="144.78" rot="R90"/>
<instance part="GND19" gate="1" x="327.66" y="127" rot="R90"/>
<instance part="GND20" gate="1" x="327.66" y="116.84" rot="R90"/>
<instance part="R17" gate="G$1" x="233.68" y="236.22"/>
<instance part="R18" gate="G$1" x="233.68" y="226.06"/>
<instance part="R19" gate="G$1" x="233.68" y="215.9"/>
<instance part="R20" gate="G$1" x="233.68" y="205.74"/>
<instance part="R21" gate="G$1" x="233.68" y="195.58"/>
<instance part="R22" gate="G$1" x="233.68" y="185.42"/>
<instance part="R23" gate="G$1" x="233.68" y="175.26"/>
<instance part="R24" gate="G$1" x="233.68" y="165.1"/>
<instance part="CONN1" gate="G$1" x="48.26" y="116.84"/>
<instance part="CONN2" gate="G$1" x="48.26" y="83.82"/>
<instance part="GND21" gate="1" x="40.64" y="76.2" rot="R270"/>
<instance part="+3V5" gate="G$1" x="15.24" y="71.12" rot="R90"/>
<instance part="GND22" gate="1" x="43.18" y="83.82"/>
<instance part="GND23" gate="1" x="43.18" y="144.78" rot="R180"/>
<instance part="+3V6" gate="G$1" x="15.24" y="109.22" rot="R90"/>
<instance part="+3V7" gate="G$1" x="15.24" y="119.38" rot="R90"/>
<instance part="+3V8" gate="G$1" x="241.3" y="243.84"/>
<instance part="+3V9" gate="G$1" x="266.7" y="205.74" rot="R90"/>
<instance part="+3V10" gate="G$1" x="266.7" y="177.8" rot="R90"/>
<instance part="+3V11" gate="G$1" x="266.7" y="149.86" rot="R90"/>
<instance part="+3V12" gate="G$1" x="266.7" y="121.92" rot="R90"/>
<instance part="+3V13" gate="G$1" x="337.82" y="121.92" rot="R270"/>
<instance part="+3V14" gate="G$1" x="337.82" y="149.86" rot="R270"/>
<instance part="+3V15" gate="G$1" x="337.82" y="177.8" rot="R270"/>
<instance part="+3V16" gate="G$1" x="337.82" y="205.74" rot="R270"/>
<instance part="SW1" gate="-LED" x="322.58" y="210.82" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="218.44" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW2" gate="-LED" x="322.58" y="200.66" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="198.12" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW3" gate="-LED" x="322.58" y="182.88" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="190.5" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW4" gate="-LED" x="322.58" y="172.72" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="170.18" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW5" gate="-LED" x="322.58" y="154.94" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="162.56" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW7" gate="-LED" x="322.58" y="127" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="134.62" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW8" gate="-LED" x="322.58" y="116.84" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="114.3" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
<instance part="SW6" gate="-LED" x="322.58" y="144.78" smashed="yes" rot="MR270">
<attribute name="NAME" x="314.96" y="142.24" size="1.778" layer="95" font="vector" rot="MR180"/>
</instance>
</instances>
<busses>
</busses>
<nets>
<net name="BUTTON1" class="0">
<segment>
<pinref part="SW1" gate="-SW" pin="1"/>
<wire x1="175.26" y1="137.16" x2="172.72" y2="137.16" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D5"/>
<wire x1="55.88" y1="226.06" x2="58.42" y2="226.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R1" gate="G$1" pin="1"/>
<wire x1="213.36" y1="137.16" x2="210.82" y2="137.16" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON2" class="0">
<segment>
<pinref part="SW2" gate="-SW" pin="1"/>
<wire x1="175.26" y1="127" x2="172.72" y2="127" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D6"/>
<wire x1="55.88" y1="223.52" x2="58.42" y2="223.52" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R2" gate="G$1" pin="1"/>
<wire x1="213.36" y1="127" x2="210.82" y2="127" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON3" class="0">
<segment>
<pinref part="SW3" gate="-SW" pin="1"/>
<wire x1="175.26" y1="116.84" x2="172.72" y2="116.84" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D0"/>
<wire x1="55.88" y1="238.76" x2="58.42" y2="238.76" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R3" gate="G$1" pin="1"/>
<wire x1="213.36" y1="116.84" x2="210.82" y2="116.84" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON4" class="0">
<segment>
<pinref part="SW4" gate="-SW" pin="1"/>
<wire x1="175.26" y1="106.68" x2="172.72" y2="106.68" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D2"/>
<wire x1="55.88" y1="233.68" x2="58.42" y2="233.68" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R4" gate="G$1" pin="1"/>
<wire x1="213.36" y1="106.68" x2="210.82" y2="106.68" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON5" class="0">
<segment>
<pinref part="SW5" gate="-SW" pin="1"/>
<wire x1="175.26" y1="96.52" x2="172.72" y2="96.52" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D4"/>
<wire x1="55.88" y1="228.6" x2="58.42" y2="228.6" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R5" gate="G$1" pin="1"/>
<wire x1="213.36" y1="96.52" x2="210.82" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON6" class="0">
<segment>
<pinref part="SW6" gate="-SW" pin="1"/>
<wire x1="175.26" y1="86.36" x2="172.72" y2="86.36" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D7"/>
<wire x1="55.88" y1="220.98" x2="58.42" y2="220.98" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R6" gate="G$1" pin="1"/>
<wire x1="213.36" y1="86.36" x2="210.82" y2="86.36" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON7" class="0">
<segment>
<pinref part="SW7" gate="-SW" pin="1"/>
<wire x1="175.26" y1="76.2" x2="172.72" y2="76.2" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D1"/>
<wire x1="55.88" y1="236.22" x2="58.42" y2="236.22" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R7" gate="G$1" pin="1"/>
<wire x1="213.36" y1="76.2" x2="210.82" y2="76.2" width="0.1524" layer="91"/>

</segment>
</net>
<net name="BUTTON8" class="0">
<segment>
<pinref part="SW8" gate="-SW" pin="1"/>
<wire x1="175.26" y1="66.04" x2="172.72" y2="66.04" width="0.1524" layer="91" style="longdash"/>

</segment>
<segment>
<pinref part="U1" gate="G$1" pin="D3"/>
<wire x1="55.88" y1="231.14" x2="58.42" y2="231.14" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R8" gate="G$1" pin="1"/>
<wire x1="213.36" y1="66.04" x2="210.82" y2="66.04" width="0.1524" layer="91"/>

</segment>
</net>
<net name="GND" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="GND"/>
<pinref part="GND2" gate="1" pin="GND"/>
<wire x1="27.94" y1="238.76" x2="30.48" y2="238.76" width="0.1524" layer="91"/>
<pinref part="U1" gate="G$1" pin="!CE"/>
<wire x1="30.48" y1="231.14" x2="27.94" y2="231.14" width="0.1524" layer="91"/>
<wire x1="27.94" y1="231.14" x2="27.94" y2="238.76" width="0.1524" layer="91"/>
<junction x="27.94" y="238.76"/>
</segment>
<segment>
<pinref part="C1" gate="C" pin="2"/>
<pinref part="GND3" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW1" gate="-SW" pin="2"/>
<pinref part="GND4" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW2" gate="-SW" pin="2"/>
<pinref part="GND5" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW3" gate="-SW" pin="2"/>
<pinref part="GND6" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW4" gate="-SW" pin="2"/>
<pinref part="GND7" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW5" gate="-SW" pin="2"/>
<pinref part="GND8" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW6" gate="-SW" pin="2"/>
<pinref part="GND9" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW7" gate="-SW" pin="2"/>
<pinref part="GND10" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="SW8" gate="-SW" pin="2"/>
<pinref part="GND11" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="GND"/>
<pinref part="GND1" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="C2" gate="C" pin="2"/>
<pinref part="GND12" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="1"/>
<pinref part="GND21" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="10"/>
<pinref part="GND22" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="1"/>
<pinref part="GND23" gate="1" pin="GND"/>
</segment>
<segment>
<pinref part="GND13" gate="1" pin="GND"/>
<pinref part="SW1" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND14" gate="1" pin="GND"/>
<pinref part="SW2" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND15" gate="1" pin="GND"/>
<pinref part="SW3" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND16" gate="1" pin="GND"/>
<pinref part="SW4" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND17" gate="1" pin="GND"/>
<pinref part="SW5" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND19" gate="1" pin="GND"/>
<pinref part="SW7" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND20" gate="1" pin="GND"/>
<pinref part="SW8" gate="-LED" pin="C"/>
</segment>
<segment>
<pinref part="GND18" gate="1" pin="GND"/>
<pinref part="SW6" gate="-LED" pin="C"/>
</segment>
</net>
<net name="+3V3" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="VCC"/>
<wire x1="30.48" y1="241.3" x2="27.94" y2="241.3" width="0.1524" layer="91"/>
<wire x1="27.94" y1="241.3" x2="27.94" y2="248.92" width="0.1524" layer="91"/>
<pinref part="+3V1" gate="G$1" pin="+3V3"/>
<pinref part="C1" gate="C" pin="1"/>
<wire x1="27.94" y1="248.92" x2="27.94" y2="251.46" width="0.1524" layer="91"/>
<junction x="27.94" y="248.92"/>
</segment>
<segment>
<pinref part="R8" gate="G$1" pin="2"/>
<wire x1="223.52" y1="66.04" x2="226.06" y2="66.04" width="0.1524" layer="91"/>
<wire x1="226.06" y1="66.04" x2="226.06" y2="76.2" width="0.1524" layer="91"/>
<pinref part="R1" gate="G$1" pin="2"/>
<wire x1="226.06" y1="76.2" x2="226.06" y2="86.36" width="0.1524" layer="91"/>
<wire x1="226.06" y1="86.36" x2="226.06" y2="96.52" width="0.1524" layer="91"/>
<wire x1="226.06" y1="96.52" x2="226.06" y2="106.68" width="0.1524" layer="91"/>
<wire x1="226.06" y1="106.68" x2="226.06" y2="116.84" width="0.1524" layer="91"/>
<wire x1="226.06" y1="116.84" x2="226.06" y2="127" width="0.1524" layer="91"/>
<wire x1="226.06" y1="127" x2="226.06" y2="137.16" width="0.1524" layer="91"/>
<wire x1="226.06" y1="137.16" x2="226.06" y2="142.24" width="0.1524" layer="91"/>
<wire x1="223.52" y1="137.16" x2="226.06" y2="137.16" width="0.1524" layer="91"/>
<pinref part="R2" gate="G$1" pin="2"/>
<wire x1="223.52" y1="127" x2="226.06" y2="127" width="0.1524" layer="91"/>
<pinref part="R3" gate="G$1" pin="2"/>
<wire x1="223.52" y1="116.84" x2="226.06" y2="116.84" width="0.1524" layer="91"/>
<pinref part="R4" gate="G$1" pin="2"/>
<wire x1="223.52" y1="106.68" x2="226.06" y2="106.68" width="0.1524" layer="91"/>
<pinref part="R5" gate="G$1" pin="2"/>
<wire x1="223.52" y1="96.52" x2="226.06" y2="96.52" width="0.1524" layer="91"/>
<pinref part="R6" gate="G$1" pin="2"/>
<wire x1="223.52" y1="86.36" x2="226.06" y2="86.36" width="0.1524" layer="91"/>
<pinref part="R7" gate="G$1" pin="2"/>
<wire x1="223.52" y1="76.2" x2="226.06" y2="76.2" width="0.1524" layer="91"/>
<junction x="226.06" y="76.2"/>
<junction x="226.06" y="86.36"/>
<junction x="226.06" y="96.52"/>
<junction x="226.06" y="106.68"/>
<junction x="226.06" y="116.84"/>
<junction x="226.06" y="127"/>
<junction x="226.06" y="137.16"/>
<pinref part="+3V2" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="VCC"/>
<wire x1="30.48" y1="193.04" x2="27.94" y2="193.04" width="0.1524" layer="91"/>
<wire x1="27.94" y1="193.04" x2="27.94" y2="200.66" width="0.1524" layer="91"/>
<pinref part="C2" gate="C" pin="1"/>
<wire x1="27.94" y1="200.66" x2="27.94" y2="203.2" width="0.1524" layer="91"/>
<junction x="27.94" y="200.66"/>
<pinref part="+3V3" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="U2" gate="G$1" pin="!MR"/>
<pinref part="+3V4" gate="G$1" pin="+3V3"/>
<wire x1="30.48" y1="172.72" x2="30.48" y2="175.26" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="2"/>
<wire x1="43.18" y1="73.66" x2="40.64" y2="73.66" width="0.1524" layer="91"/>
<wire x1="40.64" y1="73.66" x2="40.64" y2="71.12" width="0.1524" layer="91"/>
<pinref part="CONN4" gate="G$1" pin="3"/>
<wire x1="40.64" y1="71.12" x2="43.18" y2="71.12" width="0.1524" layer="91"/>
<wire x1="40.64" y1="71.12" x2="17.78" y2="71.12" width="0.1524" layer="91"/>
<junction x="40.64" y="71.12"/>
<pinref part="+3V5" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="2"/>
<wire x1="43.18" y1="106.68" x2="40.64" y2="106.68" width="0.1524" layer="91"/>
<wire x1="40.64" y1="106.68" x2="40.64" y2="109.22" width="0.1524" layer="91"/>
<pinref part="CONN2" gate="G$1" pin="1"/>
<wire x1="40.64" y1="109.22" x2="43.18" y2="109.22" width="0.1524" layer="91"/>
<pinref part="+3V6" gate="G$1" pin="+3V3"/>
<wire x1="40.64" y1="109.22" x2="17.78" y2="109.22" width="0.1524" layer="91"/>
<junction x="40.64" y="109.22"/>
</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="10"/>
<wire x1="43.18" y1="119.38" x2="40.64" y2="119.38" width="0.1524" layer="91"/>
<wire x1="40.64" y1="119.38" x2="40.64" y2="121.92" width="0.1524" layer="91"/>
<pinref part="CONN1" gate="G$1" pin="9"/>
<wire x1="40.64" y1="121.92" x2="43.18" y2="121.92" width="0.1524" layer="91"/>
<pinref part="+3V7" gate="G$1" pin="+3V3"/>
<wire x1="40.64" y1="119.38" x2="17.78" y2="119.38" width="0.1524" layer="91"/>
<junction x="40.64" y="119.38"/>
</segment>
<segment>
<pinref part="R24" gate="G$1" pin="2"/>
<wire x1="238.76" y1="165.1" x2="241.3" y2="165.1" width="0.1524" layer="91"/>
<wire x1="241.3" y1="165.1" x2="241.3" y2="175.26" width="0.1524" layer="91"/>
<pinref part="R17" gate="G$1" pin="2"/>
<wire x1="241.3" y1="175.26" x2="241.3" y2="185.42" width="0.1524" layer="91"/>
<wire x1="241.3" y1="185.42" x2="241.3" y2="195.58" width="0.1524" layer="91"/>
<wire x1="241.3" y1="195.58" x2="241.3" y2="205.74" width="0.1524" layer="91"/>
<wire x1="241.3" y1="205.74" x2="241.3" y2="215.9" width="0.1524" layer="91"/>
<wire x1="241.3" y1="215.9" x2="241.3" y2="226.06" width="0.1524" layer="91"/>
<wire x1="241.3" y1="226.06" x2="241.3" y2="236.22" width="0.1524" layer="91"/>
<wire x1="241.3" y1="236.22" x2="241.3" y2="241.3" width="0.1524" layer="91"/>
<wire x1="238.76" y1="236.22" x2="241.3" y2="236.22" width="0.1524" layer="91"/>
<pinref part="R18" gate="G$1" pin="2"/>
<wire x1="238.76" y1="226.06" x2="241.3" y2="226.06" width="0.1524" layer="91"/>
<pinref part="R19" gate="G$1" pin="2"/>
<wire x1="238.76" y1="215.9" x2="241.3" y2="215.9" width="0.1524" layer="91"/>
<pinref part="R20" gate="G$1" pin="2"/>
<wire x1="238.76" y1="205.74" x2="241.3" y2="205.74" width="0.1524" layer="91"/>
<pinref part="R21" gate="G$1" pin="2"/>
<wire x1="238.76" y1="195.58" x2="241.3" y2="195.58" width="0.1524" layer="91"/>
<pinref part="R22" gate="G$1" pin="2"/>
<wire x1="238.76" y1="185.42" x2="241.3" y2="185.42" width="0.1524" layer="91"/>
<pinref part="R23" gate="G$1" pin="2"/>
<wire x1="238.76" y1="175.26" x2="241.3" y2="175.26" width="0.1524" layer="91"/>
<junction x="241.3" y="175.26"/>
<junction x="241.3" y="185.42"/>
<junction x="241.3" y="195.58"/>
<junction x="241.3" y="205.74"/>
<junction x="241.3" y="215.9"/>
<junction x="241.3" y="226.06"/>
<junction x="241.3" y="236.22"/>
<pinref part="+3V8" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="S2"/>
<wire x1="284.48" y1="177.8" x2="269.24" y2="177.8" width="0.1524" layer="91"/>
<pinref part="+3V10" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q4" gate="G$1" pin="S2"/>
<wire x1="284.48" y1="121.92" x2="269.24" y2="121.92" width="0.1524" layer="91"/>
<pinref part="+3V12" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q4" gate="G$1" pin="S1"/>
<wire x1="307.34" y1="121.92" x2="335.28" y2="121.92" width="0.1524" layer="91"/>
<pinref part="+3V13" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q3" gate="G$1" pin="S1"/>
<wire x1="307.34" y1="149.86" x2="335.28" y2="149.86" width="0.1524" layer="91"/>
<pinref part="+3V14" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="S1"/>
<wire x1="307.34" y1="177.8" x2="335.28" y2="177.8" width="0.1524" layer="91"/>
<pinref part="+3V15" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q1" gate="G$1" pin="S1"/>
<wire x1="307.34" y1="205.74" x2="335.28" y2="205.74" width="0.1524" layer="91"/>
<pinref part="+3V16" gate="G$1" pin="+3V3"/>
</segment>
<segment>
<pinref part="Q1" gate="G$1" pin="S2"/>
<pinref part="+3V9" gate="G$1" pin="+3V3"/>
<wire x1="269.24" y1="205.74" x2="284.48" y2="205.74" width="0.1524" layer="91"/>
</segment>
<segment>
<pinref part="Q3" gate="G$1" pin="S2"/>
<pinref part="+3V11" gate="G$1" pin="+3V3"/>
<wire x1="269.24" y1="149.86" x2="284.48" y2="149.86" width="0.1524" layer="91"/>
</segment>
</net>
<net name="SR_IN_LATCH" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="!PL"/>
<wire x1="30.48" y1="228.6" x2="27.94" y2="228.6" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="7"/>
<wire x1="43.18" y1="127" x2="40.64" y2="127" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="4"/>
<wire x1="43.18" y1="101.6" x2="40.64" y2="101.6" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="5"/>
<wire x1="43.18" y1="66.04" x2="40.64" y2="66.04" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_IN_CLOCK" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="CP"/>
<wire x1="30.48" y1="226.06" x2="27.94" y2="226.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="6"/>
<wire x1="43.18" y1="129.54" x2="40.64" y2="129.54" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="5"/>
<wire x1="43.18" y1="99.06" x2="40.64" y2="99.06" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="4"/>
<wire x1="43.18" y1="68.58" x2="40.64" y2="68.58" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_IN_DATA" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="Q7"/>
<wire x1="30.48" y1="223.52" x2="27.94" y2="223.52" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="6"/>
<wire x1="43.18" y1="63.5" x2="40.64" y2="63.5" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="3"/>
<wire x1="43.18" y1="104.14" x2="40.64" y2="104.14" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED1_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q0"/>
<wire x1="55.88" y1="193.04" x2="58.42" y2="193.04" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q1" gate="G$1" pin="G1"/>
<wire x1="284.48" y1="210.82" x2="281.94" y2="210.82" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R17" gate="G$1" pin="1"/>
<wire x1="228.6" y1="236.22" x2="226.06" y2="236.22" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED2_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q7"/>
<wire x1="55.88" y1="175.26" x2="58.42" y2="175.26" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q1" gate="G$1" pin="G2"/>
<wire x1="284.48" y1="200.66" x2="281.94" y2="200.66" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R18" gate="G$1" pin="1"/>
<wire x1="228.6" y1="226.06" x2="226.06" y2="226.06" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED3_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q6"/>
<wire x1="55.88" y1="177.8" x2="58.42" y2="177.8" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="G1"/>
<wire x1="284.48" y1="182.88" x2="281.94" y2="182.88" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R19" gate="G$1" pin="1"/>
<wire x1="228.6" y1="215.9" x2="226.06" y2="215.9" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED4_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q5"/>
<wire x1="55.88" y1="180.34" x2="58.42" y2="180.34" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q2" gate="G$1" pin="G2"/>
<wire x1="284.48" y1="172.72" x2="281.94" y2="172.72" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R20" gate="G$1" pin="1"/>
<wire x1="228.6" y1="205.74" x2="226.06" y2="205.74" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED5_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q4"/>
<wire x1="55.88" y1="182.88" x2="58.42" y2="182.88" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q3" gate="G$1" pin="G1"/>
<wire x1="284.48" y1="154.94" x2="281.94" y2="154.94" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R21" gate="G$1" pin="1"/>
<wire x1="228.6" y1="195.58" x2="226.06" y2="195.58" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED6_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q3"/>
<wire x1="55.88" y1="185.42" x2="58.42" y2="185.42" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q3" gate="G$1" pin="G2"/>
<wire x1="284.48" y1="144.78" x2="281.94" y2="144.78" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R22" gate="G$1" pin="1"/>
<wire x1="228.6" y1="185.42" x2="226.06" y2="185.42" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED7_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q2"/>
<wire x1="55.88" y1="187.96" x2="58.42" y2="187.96" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q4" gate="G$1" pin="G1"/>
<wire x1="284.48" y1="127" x2="281.94" y2="127" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R23" gate="G$1" pin="1"/>
<wire x1="228.6" y1="175.26" x2="226.06" y2="175.26" width="0.1524" layer="91"/>

</segment>
</net>
<net name="LED8_Q" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q1"/>
<wire x1="55.88" y1="190.5" x2="58.42" y2="190.5" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="Q4" gate="G$1" pin="G2"/>
<wire x1="284.48" y1="116.84" x2="281.94" y2="116.84" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="R24" gate="G$1" pin="1"/>
<wire x1="228.6" y1="165.1" x2="226.06" y2="165.1" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_OUT_DATA" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="DS"/>
<wire x1="30.48" y1="185.42" x2="27.94" y2="185.42" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="8"/>
<wire x1="43.18" y1="58.42" x2="40.64" y2="58.42" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="6"/>
<wire x1="43.18" y1="96.52" x2="40.64" y2="96.52" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_OUT_OE" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="!OE"/>
<wire x1="30.48" y1="182.88" x2="27.94" y2="182.88" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="2"/>
<wire x1="43.18" y1="139.7" x2="40.64" y2="139.7" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="9"/>
<wire x1="43.18" y1="88.9" x2="40.64" y2="88.9" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="7"/>
<wire x1="43.18" y1="60.96" x2="40.64" y2="60.96" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_OUT_LATCH" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="STCP"/>
<wire x1="30.48" y1="180.34" x2="27.94" y2="180.34" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="3"/>
<wire x1="43.18" y1="137.16" x2="40.64" y2="137.16" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="8"/>
<wire x1="43.18" y1="91.44" x2="40.64" y2="91.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="9"/>
<wire x1="43.18" y1="55.88" x2="40.64" y2="55.88" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_OUT_CLOCK" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="SHCP"/>
<wire x1="30.48" y1="177.8" x2="27.94" y2="177.8" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN2" gate="G$1" pin="7"/>
<wire x1="43.18" y1="93.98" x2="40.64" y2="93.98" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="4"/>
<wire x1="43.18" y1="134.62" x2="40.64" y2="134.62" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN4" gate="G$1" pin="10"/>
<wire x1="43.18" y1="53.34" x2="40.64" y2="53.34" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$24" class="0">
<segment>
<pinref part="Q1" gate="G$1" pin="D1"/>
<pinref part="R9" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$25" class="0">
<segment>
<pinref part="Q1" gate="G$1" pin="D2"/>
<pinref part="R10" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$26" class="0">
<segment>
<pinref part="Q2" gate="G$1" pin="D1"/>
<pinref part="R11" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$27" class="0">
<segment>
<pinref part="Q2" gate="G$1" pin="D2"/>
<pinref part="R12" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$28" class="0">
<segment>
<pinref part="Q3" gate="G$1" pin="D1"/>
<pinref part="R13" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$29" class="0">
<segment>
<pinref part="Q3" gate="G$1" pin="D2"/>
<pinref part="R14" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$30" class="0">
<segment>
<pinref part="Q4" gate="G$1" pin="D1"/>
<pinref part="R15" gate="G$1" pin="1"/>
</segment>
</net>
<net name="N$31" class="0">
<segment>
<pinref part="Q4" gate="G$1" pin="D2"/>
<pinref part="R16" gate="G$1" pin="1"/>
</segment>
</net>
<net name="SR_IN_DAISY_OUT" class="0">
<segment>
<pinref part="U1" gate="G$1" pin="DS"/>
<wire x1="30.48" y1="218.44" x2="27.94" y2="218.44" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="8"/>
<wire x1="43.18" y1="124.46" x2="40.64" y2="124.46" width="0.1524" layer="91"/>

</segment>
</net>
<net name="SR_OUT_DAISY_OUT" class="0">
<segment>
<pinref part="U2" gate="G$1" pin="Q7S"/>
<wire x1="55.88" y1="170.18" x2="58.42" y2="170.18" width="0.1524" layer="91"/>

</segment>
<segment>
<pinref part="CONN1" gate="G$1" pin="5"/>
<wire x1="43.18" y1="132.08" x2="40.64" y2="132.08" width="0.1524" layer="91"/>

</segment>
</net>
<net name="N$1" class="0">
<segment>
<pinref part="R9" gate="G$1" pin="2"/>
<pinref part="SW1" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$2" class="0">
<segment>
<pinref part="R10" gate="G$1" pin="2"/>
<pinref part="SW2" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$3" class="0">
<segment>
<pinref part="R11" gate="G$1" pin="2"/>
<pinref part="SW3" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$4" class="0">
<segment>
<pinref part="R12" gate="G$1" pin="2"/>
<pinref part="SW4" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$5" class="0">
<segment>
<pinref part="R13" gate="G$1" pin="2"/>
<pinref part="SW5" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$6" class="0">
<segment>
<pinref part="R15" gate="G$1" pin="2"/>
<pinref part="SW7" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$7" class="0">
<segment>
<pinref part="R16" gate="G$1" pin="2"/>
<pinref part="SW8" gate="-LED" pin="A"/>
</segment>
</net>
<net name="N$8" class="0">
<segment>
<pinref part="R14" gate="G$1" pin="2"/>
<pinref part="SW6" gate="-LED" pin="A"/>
</segment>
</net>
</nets>
</sheet>
</sheets>
</schematic>
</drawing>
<compatibility>
<note version="6.3" minversion="6.2.2" severity="warning">
Since Version 6.2.2 text objects can contain more than one line,
which will not be processed correctly with this version.
</note>
</compatibility>
</eagle>

license_type: permissive

branch_name: refs/heads/master


text:
namespace CrystalQuartz.Web.DemoOwin
{
    using System.Collections.Generic;
    using System.Collections.Specialized;
    using CrystalQuartz.Core.SchedulerProviders;
    using Quartz;

    public class FakeProvider : StdSchedulerProvider
    {
        protected override NameValueCollection GetSchedulerProperties()
        {
            var properties = base.GetSchedulerProperties();
            properties.Add("test1", "test1value");
            return properties;
        }

        protected override void InitScheduler(IScheduler scheduler)
        {
            // construct job info
            var jobDetail = JobBuilder.Create<HelloJob>()
                .WithIdentity("myJob")
                .StoreDurably()
                .Build();

            // fire every minute
            var trigger = TriggerBuilder.Create()
                .WithIdentity("myTrigger")
                .StartNow()
                .WithSimpleSchedule(x => x.WithIntervalInMinutes(1).RepeatForever())
                .Build();

            scheduler.ScheduleJob(jobDetail, trigger);

            // construct job info
            var jobDetail2 = JobBuilder.Create<HelloJob>()
                .WithIdentity("myJob2")
                .Build();

            // fire every 3 minutes
            var trigger2 = TriggerBuilder.Create()
                .WithIdentity("myTrigger2")
                .StartNow()
                .WithSimpleSchedule(x => x.WithIntervalInMinutes(3))
                .Build();

            scheduler.ScheduleJob(jobDetail2, trigger2);

            var trigger3 = TriggerBuilder.Create()
                .WithIdentity("myTrigger3")
                .ForJob(jobDetail2)
                .StartNow()
                .WithSimpleSchedule(x => x.WithIntervalInSeconds(2).RepeatForever())
                //.WithSimpleSchedule(x => x.WithIntervalInMinutes(5).RepeatForever())
                .Build();

            scheduler.ScheduleJob(trigger3);

            // construct job info
            var jobDetail4 = JobBuilder.Create<HelloJob>()
                .WithIdentity("myJob4", "MyOwnGroup")
                .Build();

            jobDetail4.JobDataMap.Add("key1", "value1");
            jobDetail4.JobDataMap.Add("key2", "value2");
            jobDetail4.JobDataMap.Add("key3", 1L);
            jobDetail4.JobDataMap.Add("key4", 1d);

            // fire every hour
            ITrigger trigger4 = TriggerBuilder.Create()
                .WithIdentity("myTrigger4", jobDetail4.Key.Group)
                .StartNow()
                .WithSimpleSchedule(x => x.WithIntervalInMinutes(1))
                .Build();

            ITrigger trigger5 = TriggerBuilder.Create()
                .WithIdentity("myTrigger5", jobDetail4.Key.Group)
                .StartNow()
                .WithCronSchedule("0 0/5 * * * ?")
                .Build();

            scheduler.ScheduleJob(jobDetail4, new HashSet<ITrigger>(new[] { trigger4, trigger5}), false);
//            scheduler.ScheduleJob(jobDetail4, trigger5);

            scheduler.PauseJob(new JobKey("myJob4", "MyOwnGroup"));
            scheduler.PauseTrigger(new TriggerKey("myTrigger3", "DEFAULT"));
        }
    }
}

license: MIT

repository: StevenDeRoover/CrystalQuartz

repo_name: StevenDeRoover/CrystalQuartz

extension: cs


text:
// Code generated by protoc-gen-gogo.
// source: wrappers.proto
// DO NOT EDIT!

/*
Package wrappers is a generated protocol buffer package.

It is generated from these files:
	wrappers.proto

It has these top-level messages:
	DoubleValue
	FloatValue
	Int64Value
	UInt64Value
	Int32Value
	UInt32Value
	BoolValue
	StringValue
	BytesValue
*/
package wrappers

import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"

import io "io"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
const _ = proto.GoGoProtoPackageIsVersion1

// Wrapper message for `double`.
//
// The JSON representation for `DoubleValue` is JSON number.
type DoubleValue struct {
	// The double value.
	Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *DoubleValue) Reset()                    { *m = DoubleValue{} }
func (m *DoubleValue) String() string            { return proto.CompactTextString(m) }
func (*DoubleValue) ProtoMessage()               {}
func (*DoubleValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{0} }

// Wrapper message for `float`.
//
// The JSON representation for `FloatValue` is JSON number.
type FloatValue struct {
	// The float value.
	Value float32 `protobuf:"fixed32,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *FloatValue) Reset()                    { *m = FloatValue{} }
func (m *FloatValue) String() string            { return proto.CompactTextString(m) }
func (*FloatValue) ProtoMessage()               {}
func (*FloatValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{1} }

// Wrapper message for `int64`.
//
// The JSON representation for `Int64Value` is JSON string.
type Int64Value struct {
	// The int64 value.
	Value int64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *Int64Value) Reset()                    { *m = Int64Value{} }
func (m *Int64Value) String() string            { return proto.CompactTextString(m) }
func (*Int64Value) ProtoMessage()               {}
func (*Int64Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{2} }

// Wrapper message for `uint64`.
//
// The JSON representation for `UInt64Value` is JSON string.
type UInt64Value struct {
	// The uint64 value.
	Value uint64 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *UInt64Value) Reset()                    { *m = UInt64Value{} }
func (m *UInt64Value) String() string            { return proto.CompactTextString(m) }
func (*UInt64Value) ProtoMessage()               {}
func (*UInt64Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{3} }

// Wrapper message for `int32`.
//
// The JSON representation for `Int32Value` is JSON number.
type Int32Value struct {
	// The int32 value.
	Value int32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *Int32Value) Reset()                    { *m = Int32Value{} }
func (m *Int32Value) String() string            { return proto.CompactTextString(m) }
func (*Int32Value) ProtoMessage()               {}
func (*Int32Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{4} }

// Wrapper message for `uint32`.
//
// The JSON representation for `UInt32Value` is JSON number.
type UInt32Value struct {
	// The uint32 value.
	Value uint32 `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *UInt32Value) Reset()                    { *m = UInt32Value{} }
func (m *UInt32Value) String() string            { return proto.CompactTextString(m) }
func (*UInt32Value) ProtoMessage()               {}
func (*UInt32Value) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{5} }

// Wrapper message for `bool`.
//
// The JSON representation for `BoolValue` is JSON `true` and `false`.
type BoolValue struct {
	// The bool value.
	Value bool `protobuf:"varint,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *BoolValue) Reset()                    { *m = BoolValue{} }
func (m *BoolValue) String() string            { return proto.CompactTextString(m) }
func (*BoolValue) ProtoMessage()               {}
func (*BoolValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{6} }

// Wrapper message for `string`.
//
// The JSON representation for `StringValue` is JSON string.
type StringValue struct {
	// The string value.
	Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *StringValue) Reset()                    { *m = StringValue{} }
func (m *StringValue) String() string            { return proto.CompactTextString(m) }
func (*StringValue) ProtoMessage()               {}
func (*StringValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{7} }

// Wrapper message for `bytes`.
//
// The JSON representation for `BytesValue` is JSON string.
type BytesValue struct {
	// The bytes value.
	Value []byte `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
}

func (m *BytesValue) Reset()                    { *m = BytesValue{} }
func (m *BytesValue) String() string            { return proto.CompactTextString(m) }
func (*BytesValue) ProtoMessage()               {}
func (*BytesValue) Descriptor() ([]byte, []int) { return fileDescriptorWrappers, []int{8} }

func init() {
	proto.RegisterType((*DoubleValue)(nil), "sojern.protobuf.DoubleValue")
	proto.RegisterType((*FloatValue)(nil), "sojern.protobuf.FloatValue")
	proto.RegisterType((*Int64Value)(nil), "sojern.protobuf.Int64Value")
	proto.RegisterType((*UInt64Value)(nil), "sojern.protobuf.UInt64Value")
	proto.RegisterType((*Int32Value)(nil), "sojern.protobuf.Int32Value")
	proto.RegisterType((*UInt32Value)(nil), "sojern.protobuf.UInt32Value")
	proto.RegisterType((*BoolValue)(nil), "sojern.protobuf.BoolValue")
	proto.RegisterType((*StringValue)(nil), "sojern.protobuf.StringValue")
	proto.RegisterType((*BytesValue)(nil), "sojern.protobuf.BytesValue")
}
func (m *DoubleValue) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *DoubleValue) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0x9
		i++
		i = encodeFixed64Wrappers(data, i, uint64(math.Float64bits(float64(m.Value))))
	}
	return i, nil
}

func (m *FloatValue) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *FloatValue) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0xd
		i++
		i = encodeFixed32Wrappers(data, i, uint32(math.Float32bits(float32(m.Value))))
	}
	return i, nil
}

func (m *Int64Value) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *Int64Value) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0x8
		i++
		i = encodeVarintWrappers(data, i, uint64(m.Value))
	}
	return i, nil
}

func (m *UInt64Value) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *UInt64Value) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0x8
		i++
		i = encodeVarintWrappers(data, i, uint64(m.Value))
	}
	return i, nil
}

func (m *Int32Value) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *Int32Value) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0x8
		i++
		i = encodeVarintWrappers(data, i, uint64(m.Value))
	}
	return i, nil
}

func (m *UInt32Value) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *UInt32Value) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value != 0 {
		data[i] = 0x8
		i++
		i = encodeVarintWrappers(data, i, uint64(m.Value))
	}
	return i, nil
}

func (m *BoolValue) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *BoolValue) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if m.Value {
		data[i] = 0x8
		i++
		if m.Value {
			data[i] = 1
		} else {
			data[i] = 0
		}
		i++
	}
	return i, nil
}

func (m *StringValue) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *StringValue) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Value) > 0 {
		data[i] = 0xa
		i++
		i = encodeVarintWrappers(data, i, uint64(len(m.Value)))
		i += copy(data[i:], m.Value)
	}
	return i, nil
}

func (m *BytesValue) Marshal() (data []byte, err error) {
	size := m.Size()
	data = make([]byte, size)
	n, err := m.MarshalTo(data)
	if err != nil {
		return nil, err
	}
	return data[:n], nil
}

func (m *BytesValue) MarshalTo(data []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Value) > 0 {
		data[i] = 0xa
		i++
		i = encodeVarintWrappers(data, i, uint64(len(m.Value)))
		i += copy(data[i:], m.Value)
	}
	return i, nil
}

func encodeFixed64Wrappers(data []byte, offset int, v uint64) int {
	data[offset] = uint8(v)
	data[offset+1] = uint8(v >> 8)
	data[offset+2] = uint8(v >> 16)
	data[offset+3] = uint8(v >> 24)
	data[offset+4] = uint8(v >> 32)
	data[offset+5] = uint8(v >> 40)
	data[offset+6] = uint8(v >> 48)
	data[offset+7] = uint8(v >> 56)
	return offset + 8
}
func encodeFixed32Wrappers(data []byte, offset int, v uint32) int {
	data[offset] = uint8(v)
	data[offset+1] = uint8(v >> 8)
	data[offset+2] = uint8(v >> 16)
	data[offset+3] = uint8(v >> 24)
	return offset + 4
}
func encodeVarintWrappers(data []byte, offset int, v uint64) int {
	for v >= 1<<7 {
		data[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	data[offset] = uint8(v)
	return offset + 1
}
func (m *DoubleValue) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 9
	}
	return n
}

func (m *FloatValue) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 5
	}
	return n
}

func (m *Int64Value) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 1 + sovWrappers(uint64(m.Value))
	}
	return n
}

func (m *UInt64Value) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 1 + sovWrappers(uint64(m.Value))
	}
	return n
}

func (m *Int32Value) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 1 + sovWrappers(uint64(m.Value))
	}
	return n
}

func (m *UInt32Value) Size() (n int) {
	var l int
	_ = l
	if m.Value != 0 {
		n += 1 + sovWrappers(uint64(m.Value))
	}
	return n
}

func (m *BoolValue) Size() (n int) {
	var l int
	_ = l
	if m.Value {
		n += 2
	}
	return n
}

func (m *StringValue) Size() (n int) {
	var l int
	_ = l
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovWrappers(uint64(l))
	}
	return n
}

func (m *BytesValue) Size() (n int) {
	var l int
	_ = l
	l = len(m.Value)
	if l > 0 {
		n += 1 + l + sovWrappers(uint64(l))
	}
	return n
}

func sovWrappers(x uint64) (n int) {
	for {
		n++
		x >>= 7
		if x == 0 {
			break
		}
	}
	return n
}
func sozWrappers(x uint64) (n int) {
	return sovWrappers(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *DoubleValue) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: DoubleValue: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: DoubleValue: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 1 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var v uint64
			if (iNdEx + 8) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += 8
			v = uint64(data[iNdEx-8])
			v |= uint64(data[iNdEx-7]) << 8
			v |= uint64(data[iNdEx-6]) << 16
			v |= uint64(data[iNdEx-5]) << 24
			v |= uint64(data[iNdEx-4]) << 32
			v |= uint64(data[iNdEx-3]) << 40
			v |= uint64(data[iNdEx-2]) << 48
			v |= uint64(data[iNdEx-1]) << 56
			m.Value = float64(math.Float64frombits(v))
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *FloatValue) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: FloatValue: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: FloatValue: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 5 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var v uint32
			if (iNdEx + 4) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += 4
			v = uint32(data[iNdEx-4])
			v |= uint32(data[iNdEx-3]) << 8
			v |= uint32(data[iNdEx-2]) << 16
			v |= uint32(data[iNdEx-1]) << 24
			m.Value = float32(math.Float32frombits(v))
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Int64Value) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Int64Value: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Int64Value: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			m.Value = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				m.Value |= (int64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *UInt64Value) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: UInt64Value: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: UInt64Value: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			m.Value = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				m.Value |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *Int32Value) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Int32Value: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Int32Value: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			m.Value = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				m.Value |= (int32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *UInt32Value) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: UInt32Value: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: UInt32Value: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			m.Value = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				m.Value |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *BoolValue) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: BoolValue: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: BoolValue: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var v int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				v |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			m.Value = bool(v != 0)
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *StringValue) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: StringValue: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: StringValue: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthWrappers
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Value = string(data[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func (m *BytesValue) Unmarshal(data []byte) error {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: BytesValue: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: BytesValue: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 1:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType)
			}
			var byteLen int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				byteLen |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			if byteLen < 0 {
				return ErrInvalidLengthWrappers
			}
			postIndex := iNdEx + byteLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Value = append(m.Value[:0], data[iNdEx:postIndex]...)
			if m.Value == nil {
				m.Value = []byte{}
			}
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipWrappers(data[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthWrappers
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipWrappers(data []byte) (n int, err error) {
	l := len(data)
	iNdEx := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowWrappers
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := data[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if data[iNdEx-1] < 0x80 {
					break
				}
			}
			return iNdEx, nil
		case 1:
			iNdEx += 8
			return iNdEx, nil
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowWrappers
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := data[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			iNdEx += length
			if length < 0 {
				return 0, ErrInvalidLengthWrappers
			}
			return iNdEx, nil
		case 3:
			for {
				var innerWire uint64
				var start int = iNdEx
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return 0, ErrIntOverflowWrappers
					}
					if iNdEx >= l {
						return 0, io.ErrUnexpectedEOF
					}
					b := data[iNdEx]
					iNdEx++
					innerWire |= (uint64(b) & 0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				innerWireType := int(innerWire & 0x7)
				if innerWireType == 4 {
					break
				}
				next, err := skipWrappers(data[start:])
				if err != nil {
					return 0, err
				}
				iNdEx = start + next
			}
			return iNdEx, nil
		case 4:
			return iNdEx, nil
		case 5:
			iNdEx += 4
			return iNdEx, nil
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
	}
	panic("unreachable")
}

var (
	ErrInvalidLengthWrappers = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowWrappers   = fmt.Errorf("proto: integer overflow")
)

var fileDescriptorWrappers = []byte{
	// 246 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xe2, 0xe2, 0x2b, 0x2f, 0x4a, 0x2c,
	0x28, 0x48, 0x2d, 0x2a, 0xd6, 0x2b, 0x28, 0xca, 0x2f, 0xc9, 0x17, 0xe2, 0x2f, 0xce, 0xcf, 0x4a,
	0x2d, 0xca, 0x83, 0xf0, 0x92, 0x4a, 0xd3, 0x94, 0x94, 0xb9, 0xb8, 0x5d, 0xf2, 0x4b, 0x93, 0x72,
	0x52, 0xc3, 0x12, 0x73, 0x4a, 0x53, 0x85, 0x44, 0xb8, 0x58, 0xcb, 0x40, 0x0c, 0x09, 0x46, 0x05,
	0x46, 0x0d, 0xc6, 0x20, 0x08, 0x47, 0x49, 0x89, 0x8b, 0xcb, 0x2d, 0x27, 0x3f, 0xb1, 0x04, 0x8b,
	0x1a, 0x26, 0x24, 0x35, 0x9e, 0x79, 0x25, 0x66, 0x26, 0x58, 0xd4, 0x30, 0xc3, 0xd4, 0x00, 0x2d,
	0x0b, 0xc5, 0xa5, 0x88, 0x05, 0xd5, 0x20, 0x63, 0x23, 0x2c, 0x6a, 0x58, 0xd1, 0x0c, 0xc2, 0xaa,
	0x88, 0x17, 0xa6, 0x48, 0x91, 0x8b, 0xd3, 0x29, 0x3f, 0x3f, 0x07, 0x8b, 0x12, 0x0e, 0x24, 0x73,
	0x82, 0x4b, 0x8a, 0x32, 0xf3, 0xd2, 0xb1, 0x28, 0xe2, 0x44, 0x72, 0x90, 0x53, 0x65, 0x49, 0x6a,
	0x31, 0x16, 0x35, 0x3c, 0x50, 0x35, 0x4e, 0x99, 0x27, 0x1e, 0xc9, 0x31, 0x5e, 0x00, 0xe2, 0x07,
	0x40, 0xcc, 0x25, 0x9c, 0x9c, 0x9f, 0xab, 0x97, 0x9e, 0x9f, 0x9f, 0x9e, 0x93, 0x0a, 0x0f, 0x69,
	0x27, 0xde, 0x70, 0x68, 0x54, 0x04, 0x80, 0x44, 0x02, 0x18, 0xa3, 0x38, 0x60, 0x71, 0xb3, 0x80,
	0x91, 0xf1, 0x07, 0x23, 0xe3, 0x22, 0x26, 0x66, 0xf7, 0x00, 0xa7, 0x55, 0x4c, 0x72, 0xee, 0x10,
	0x8d, 0x01, 0x50, 0x8d, 0x7a, 0xe1, 0xa9, 0x39, 0x39, 0xde, 0x79, 0xf9, 0xe5, 0x79, 0x21, 0x95,
	0x05, 0xa9, 0xc5, 0x49, 0x6c, 0x60, 0x13, 0x8d, 0x01, 0x01, 0x00, 0x00, 0xff, 0xff, 0x42, 0xbd,
	0xb8, 0x83, 0xdb, 0x01, 0x00, 0x00,
}

repository: sojern/gcloud-golang

repo_name: sojern/gcloud-golang

gha_language: Go

extension: go


text:
vtk_module(vtkDomainsChemistryOpenGL2
  TCL_NAME
    vtkRenderingChemistryOpenGLII
  DEPENDS
    vtkRenderingOpenGL2
  IMPLEMENTS
    vtkDomainsChemistry
  BACKEND
    OpenGL2
  PRIVATE_DEPENDS
    vtkglew
  KIT
    vtkOpenGL
  TEST_DEPENDS
    vtkTestingCore
    vtkTestingRendering
    vtkInteractionStyle
    vtkRendering${VTK_RENDERING_BACKEND}
    ${extra_opengl_depend}
  )

repository: hlzz/dotfiles

repo_name: hlzz/dotfiles

extension: cmake


text:
/*
 *          Copyright Andrey Semashev 2007 - 2014.
 * Distributed under the Boost Software License, Version 1.0.
 *    (See accompanying file LICENSE_1_0.txt or copy at
 *          http://www.boost.org/LICENSE_1_0.txt)
 */
/*!
 * \file   default_sink.hpp
 * \author Andrey Semashev
 * \date   08.01.2012
 *
 * \brief  This header is the Boost.Log library implementation, see the library documentation
 *         at http://www.boost.org/doc/libs/release/libs/log/doc/html/index.html.
 */

#ifndef BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_
#define BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_

#include <boost/log/detail/config.hpp>
#include <boost/log/sinks/sink.hpp>
#include <boost/log/attributes/attribute_name.hpp>
#include <boost/log/attributes/value_extraction.hpp>
#include <boost/log/attributes/value_visitation.hpp>
#include <boost/log/attributes/fallback_policy.hpp>
#include <boost/log/expressions/message.hpp>
#include <boost/log/trivial.hpp>
#if !defined(BOOST_LOG_NO_THREADS)
#include <boost/thread/mutex.hpp>
#endif
#include <boost/log/detail/header.hpp>

#ifdef BOOST_HAS_PRAGMA_ONCE
#pragma once
#endif

namespace boost {

BOOST_LOG_OPEN_NAMESPACE

namespace sinks {

namespace aux {

//! The default sink to be used when no sinks are registered in the logging core
class default_sink :
    public sink
{
private:
#if !defined(BOOST_LOG_NO_THREADS)
    typedef mutex mutex_type;
    mutex_type m_mutex;
#endif
    attribute_name const m_severity_name, m_message_name;
    value_extractor< boost::log::trivial::severity_level, fallback_to_default< boost::log::trivial::severity_level > > const m_severity_extractor;
    value_visitor_invoker< expressions::tag::message::value_type > m_message_visitor;

public:
    default_sink();
    ~default_sink();
    bool will_consume(attribute_value_set const&);
    void consume(record_view const& rec);
    void flush();
};

} // namespace aux

} // namespace sinks

BOOST_LOG_CLOSE_NAMESPACE // namespace log

} // namespace boost

#include <boost/log/detail/footer.hpp>

#endif // BOOST_LOG_DEFAULT_SINK_HPP_INCLUDED_

repository: hyCpp/projecgt

repo_name: hyCpp/projecgt

extension: hpp


text:
DESCRIPTION = "This plugin does not provide any helpers to pytest, it does, however, provide a helpers namespace in pytest which enables you to register helper functions in your conftest.py to be used within your tests without having to import them."
HOMEPAGE = "https://github.com/saltstack/pytest-helpers-namespace"
SECTION = "devel/python"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://PKG-INFO;md5=71fac4dfeee99c39c51f617e9486237c"

SRC_URI[md5sum] = "80fe3e515f640b1459709b539f6b857e"
SRC_URI[sha256sum] = "d8bdb017c0f7271699c08850b6b12e1ce9e52913cbd4461b5febd21082a29113"

inherit pypi setuptools3

RDEPENDS_${PN} += " \
    python3-pytest \
    "

repository: EttusResearch/meta-ettus

repo_name: EttusResearch/meta-ettus

branch_name: refs/heads/zeus

gha_license_id: MIT

gha_language: Python

extension: bb


text:
package netserv

import (
	"io/ioutil"
	"strconv"
	"strings"
)

type Protoent struct {
	Name    string
	Aliases []string
	Number  int
}

type Servent struct {
	Name     string
	Aliases  []string
	Port     int
	Protocol *Protoent
}

var (
	Protocols []*Protoent
	Services  []*Servent
)

func init() {
	protoMap := make(map[string]*Protoent)

	data, err := ioutil.ReadFile("/etc/protocols")
	if err != nil {
		panic(err)
	}

	for _, line := range strings.Split(string(data), "\n") {
		line = strings.TrimSpace(line)
		split := strings.SplitN(line, "#", 2)
		fields := strings.Fields(split[0])
		if len(fields) < 2 {
			continue
		}

		num, err := strconv.ParseInt(fields[1], 10, 32)
		if err != nil {
			panic(err)
		}

		protoent := &Protoent{
			Name:    fields[0],
			Aliases: fields[2:],
			Number:  int(num),
		}
		Protocols = append(Protocols, protoent)

		protoMap[fields[0]] = protoent
	}

	data, err = ioutil.ReadFile("/etc/services")
	if err != nil {
		panic(err)
	}

	for _, line := range strings.Split(string(data), "\n") {
		line = strings.TrimSpace(line)
		split := strings.SplitN(line, "#", 2)
		fields := strings.Fields(split[0])
		if len(fields) < 2 {
			continue
		}

		name := fields[0]
		portproto := strings.SplitN(fields[1], "/", 2)
		port, err := strconv.ParseInt(portproto[0], 10, 32)
		if err != nil {
			panic(err)
		}

		proto := portproto[1]
		aliases := fields[2:]

		Services = append(Services, &Servent{
			Name:     name,
			Aliases:  aliases,
			Port:     int(port),
			Protocol: protoMap[proto],
		})
	}
}
func (this *Protoent) Equal(other *Protoent) bool {
	if this == nil && other == nil {
		return true
	}

	if this == nil || other == nil {
		return false
	}

	return this.Number == other.Number
}

func GetProtoByNumber(num int) (protoent *Protoent) {
	for _, protoent := range Protocols {
		if protoent.Number == num {
			return protoent
		}
	}
	return nil
}

func GetProtoByName(name string) (protoent *Protoent) {
	for _, protoent := range Protocols {
		if protoent.Name == name {
			return protoent
		}

		for _, alias := range protoent.Aliases {
			if alias == name {
				return protoent
			}
		}
	}

	return nil
}

func GetServByName(name string, protocol *Protoent) (servent *Servent) {
	for _, servent := range Services {
		if !servent.Protocol.Equal(protocol) {
			continue
		}

		if servent.Name == name {
			return servent
		}

		for _, alias := range servent.Aliases {
			if alias == name {
				return servent
			}
		}
	}

	return nil
}

func GetServByPort(port int, protocol *Protoent) *Servent {
	for _, servent := range Services {
		if servent.Port == port && servent.Protocol.Equal(protocol) {
			return servent
		}
	}

	return nil
}


text:
#include "ros/ros.h"
// #include "std_msgs/UInt16.h"
#include "sensor_msgs/Range.h"
#include "mavros_msgs/OpticalFlowRad.h"
#include "sensor_msgs/Imu.h"
#include <message_filters/subscriber.h>
#include <message_filters/synchronizer.h>
#include <message_filters/sync_policies/approximate_time.h>
#include "trackFeatures.h"

using namespace message_filters;
using namespace sensor_msgs;
using namespace mavros_msgs;

float gyro_x = 0.0;
float gyro_y = 0.0;

float acc_x = 0.0;
float acc_y = 0.0;

float vel_x = 0.0;
float vel_y = 0.0;

float timer = 0.0;

float dt  = 0.0;

float opt_flow_x = 0.0;
float opt_flow_y = 0.0;

float ground_speed_x = 0.0;
float ground_speed_y = 0.0;

float imu_speed_x = 0.0;
float imu_speed_y = 0.0;

float ground_speed_x_ratio = 0.0;
float ground_speed_y_ratio = 0.0;

ros::Publisher groundspeed_pub;

void callback(const Imu::ConstPtr& Imumsg, const OpticalFlowRad::ConstPtr& Opticalflowmsg)
{

   mavros_msgs::OpticalFlowRad m;

   gyro_x = Imumsg->angular_velocity.x;
   gyro_y = Imumsg->angular_velocity.y;

   acc_x = Imumsg->linear_acceleration.x;
   acc_y = Imumsg->linear_acceleration.y;

   opt_flow_x = Opticalflowmsg->integrated_x;
   opt_flow_y = Opticalflowmsg->integrated_y;

   dt = (Opticalflowmsg->integration_time_us)/1000000;

   if(abs(gyro_y*dt*379.05) > 1)
   	ground_speed_x = ((opt_flow_x) + (gyro_y*dt*379.05));
   else
	ground_speed_x = opt_flow_x ;

   if(abs(gyro_x*dt*366.6) > 1)
   	ground_speed_y = (opt_flow_y - (gyro_x*dt*366.6));
   else
	ground_speed_y = opt_flow_y ;

   imu_speed_x = vel_y + gyro_y;
   imu_speed_y = vel_x + gyro_x;

   ground_speed_x_ratio = opt_flow_x/gyro_y ;
   ground_speed_y_ratio = opt_flow_y/gyro_x ;

   ROS_INFO("opt_flow_x is %f", opt_flow_x);
   ROS_INFO("opt_flow_y is %f", opt_flow_y);

    ROS_INFO("gyro_x is %f", gyro_x);
   ROS_INFO("gyro_y is %f", gyro_y);

   ROS_INFO("vel_x is %f", vel_x);
   ROS_INFO("vel_y is %f", vel_y);

   ROS_INFO("imu_speed_x is %f", imu_speed_x);
   ROS_INFO("imu_speed_y is %f", imu_speed_y);

   //ROS_INFO("compass angle is %f", compass_angle);

   m.integrated_x = ground_speed_x;
   m.integrated_y = ground_speed_y;

   m.integrated_xgyro = gyro_y*131;
   m.integrated_ygyro = gyro_x*131;

   m.integrated_zgyro = opt_flow_x;
   m.distance = opt_flow_y;

   m.header.stamp=ros::Time::now();

   groundspeed_pub.publish(m);

}

int main(int argc, char **argv)
{
  ros::init(argc, argv, "groundspeed_node");

  ros::NodeHandle n;

  groundspeed_pub = n.advertise<mavros_msgs::OpticalFlowRad>("ground_speed", 10);

  message_filters::Subscriber<mavros_msgs::OpticalFlowRad> OpticalFlow_sub(n, "OpticalFlowXY", 1);
  message_filters::Subscriber<sensor_msgs::Imu> imu_sub(n, "crazyflie/imu", 1);

  typedef sync_policies::ApproximateTime< sensor_msgs::Imu, mavros_msgs::OpticalFlowRad> MySyncPolicy;

  Synchronizer<MySyncPolicy> sync(MySyncPolicy(10), imu_sub, OpticalFlow_sub);

  sync.registerCallback(boost::bind(&callback, _1,_2));

  ros::spin();

  return 0;
}

extension: cpp


text:
require webkitgtk.inc

DEPENDS += " libgcrypt"

SRC_URI = "\
   https://www.webkitgtk.org/releases/webkitgtk-${PV}.tar.xz \
"

SRC_URI[md5sum] = "af18c2cfa00cadfd0b4d8db21cab011d"
SRC_URI[sha256sum] = "0c6d80cc7eb5d32f8063041fa11a1a6f17a29765c2f69c6bc862cd47c2d539b8"

PACKAGECONFIG ?= "x11 opengl gles2 webcrypto gst_gl video"
PACKAGECONFIG[webcrypto] = "-DENABLE_WEB_CRYPTO=ON,-DENABLE_WEB_CRYPTO=OFF,libgcrypt libtasn1"
PACKAGECONFIG[gst_gl] = "-DUSE_GSTREAMER_GL=ON,-DUSE_GSTREAMER_GL=OFF,gstreamer1.0-plugins-bad"

repository: kopera/meta-webkit

repo_name: kopera/meta-webkit


text:
@Article{extance:2016,
  author =       {Extance, Andy},
  title =        {How {DNA} could store all the world's data},
  journal =      {Nature},
  year =         2016,
  volume =    537,
  number =    7618,
  pages =     {22--14},
  month =     {August 31}}

@Article{goldman:2013,
  author =       {Goldman, Nick and Bertone, Paul and Chen, Siyuan, and Dessimoz, Christophe, and LeProust, Emily M., and Sipos, Botond, and Birney, Ewan},
  title =        {Towards practical, high-capacity, low-maintenance information storage in synthesized {DNA}},
  journal =      {Nature},
  year =         2013,
  volume =    494,
  number =    7435,
  pages =     {77--80},
  month =     {February 3}}

repository: louridas/rwa

repo_name: louridas/rwa

gha_language: Jupyter Notebook

extension: bib


text:
package sgload

import (
	"fmt"
	"log"
)

type GateLoadSpec struct {
	LoadSpec
	WriteLoadSpec
	ReadLoadSpec
	UpdateLoadSpec
}

func (gls GateLoadSpec) Validate() error {

	if err := gls.LoadSpec.Validate(); err != nil {
		return err
	}

	if err := gls.ReadLoadSpec.Validate(); err != nil {
		return err
	}

	if err := gls.WriteLoadSpec.Validate(); err != nil {
		return err
	}

	if err := gls.UpdateLoadSpec.Validate(); err != nil {
		return err
	}

	// Currently we need at least as many writers as updaters, since
	// they use writer credentials, and if more updaters than writers
	// the writer creds will be non-existent for some updaters
	if gls.UpdateLoadSpec.NumUpdaters > gls.WriteLoadSpec.NumWriters {
		return fmt.Errorf("Need at least as many writers as updaters")
	}

	return nil
}

// Validate this spec or panic
func (gls GateLoadSpec) MustValidate() {
	if err := gls.Validate(); err != nil {
		log.Panicf("Invalid GateLoadSpec: %+v. Error: %v", gls, err)
	}
}

repository: couchbaselabs/sgload

repo_name: couchbaselabs/sgload


text:
// Copyright (c) .NET Foundation and contributors. All rights reserved.

using Microsoft.TemplateEngine.OweLib.Common.Serialization;
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Runtime.Serialization;

namespace Microsoft.TemplateEngine.OweLib.Configuration
{
    [DataContract]
    internal sealed class ConfigurationManager
    {
        static ConfigurationManager()
        {
            string settingsFile = Path.Combine(Directory.GetCurrentDirectory(), "app.config.json");
            if (File.Exists(settingsFile))
            {
                string json = File.ReadAllText(settingsFile);
                if (!string.IsNullOrWhiteSpace(json))
                {
                    try
                    {
                        AppSettings = JsonSerializer.Deserialize<ConfigurationManager>(json);
                    }
                    catch (Exception e)
                    {
                        Trace.TraceWarning($"Failed to deserialize settings file.  Details: {e.Message}");
                    }
                }
            }
        }

        [IgnoreDataMember]
        internal static ConfigurationManager AppSettings { get; }

        [IgnoreDataMember]
        internal string this[string key]
        {
            get
            {
                if (string.IsNullOrWhiteSpace(key))
                {
                    return string.Empty;
                }

                AppSetting firstMatch = Settings.FirstOrDefault(x => x.Key == key);
                return firstMatch == null ? string.Empty : firstMatch.Value;
            }
        }

        [IgnoreDataMember]
        internal string this[AppKey key]
        {
            get
            {
                string keyString = key.ToString();
                AppSetting firstMatch = Settings.FirstOrDefault(x => x.Key == keyString);
                return firstMatch == null ? string.Empty : firstMatch.Value;
            }
        }

        [DataMember(Name = "settings")]
        internal List<AppSetting> Settings { get; set; }
    }
}

repository: donJoseLuis/owe

repo_name: donJoseLuis/owe


text:
package key

import (
	"testing"

	"github.com/Focinfi/ckb-sdk-go/types"

	"github.com/stretchr/testify/assert"
)

var (
	testPrivKeyHex = "0x3f86634c419dd7f266793c9fda9fb4ccbe121ce395ed14e699a741a4dabf0177"
	testPubKeyHex  = "0x03579b698bde7d204bdbf845704d0912a56589f61f43d6143d770945c6af350d4e"
)

func TestNewFromPrivKeyHex(t *testing.T) {
	key, err := NewFromPrivKeyHex(testPrivKeyHex, types.ModeTestNet)
	if err != nil {
		t.Fatal(err)
	}
	assert.Equal(t, testPubKeyHex, key.pubKeyHex.Hex())
}

func TestSign(t *testing.T) {
	key, err := NewFromPrivKeyHex(testPrivKeyHex, types.ModeTestNet)
	if err != nil {
		t.Fatal(err)
	}
	gotSign, err := key.Sign("0x1abc")
	if err != nil {
		t.Fatal(err)
	}
	wantSign := "0x30450221009e0f9776b125da2ffd17aaef11aaf2c68779abf0df79b7c3b11c22b6dcca9c8b02201cff47a3adc87f4e02c17da0a1b0540e2e08a7c50d0a93568cef33583e75b1fb"
	assert.Equal(t, wantSign, gotSign.Hex())
}

func TestSignRecoverable(t *testing.T) {
	key, err := NewFromPrivKeyHex(testPrivKeyHex, types.ModeTestNet)
	if err != nil {
		t.Fatal(err)
	}
	gotSign, err := key.SignRecoverableFor32BytesHex("0x1000000000000000000000000000000000000000000000000000000000000000")
	if err != nil {
		t.Fatal(err)
	}
	wantSign := "0xdf14f66e8f3ab10fedee7147c8ce3be9044da14fd8e4cd0dbd654e7bf59e3ce42ce9fa8e5b89af24bb1a8855ded3ad99f05fd35a9d07a4225b89a39be127aca401"
	assert.Equal(t, wantSign, gotSign.Hex())
}

repository: Focinfi/ckb-sdk-go

repo_name: Focinfi/ckb-sdk-go


text:
SUMMARY = "IoT Reference OS Kit Application Framework"
LICENSE = "MIT"

inherit packagegroup

RDEPENDS_${PN} = " \
    iot-app-fw \
"


text:
@article{Brito_2015,
 author = {de Brito, Anderson Fernandes and Braconi, Carla Torres and Weidmann, Manfred and Dilcher, Meik and Alves, Jo{\~{a}}o Marcelo Pereira and Gruber, Arthur and Andrade Zanotto, Paolo Marinho de},
 title = {The Pangenome of the Anticarsia gemmatalis Multiple Nucleopolyhedrovirus (AgMNPV)},
 journal = {Genome Biology and Evolution},
 publisher = {Oxford University Press ({OUP})},
 year = {2015},
 month = {nov},
 number = {1},
 volume = {8},
 pages = {94--108},
 url = {https://doi.org/10.1093%2Fgbe%2Fevv231},
 doi = {10.1093/gbe/evv231}
}