text:
rectangle x1="12.1340625" y1="9.05400625" x2="12.8097" y2="9.064675" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.05400625" x2="11.6667" y2="9.064675" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.05400625" x2="8.184359375" y2="9.064675" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.05400625" x2="3.371059375" y2="9.064675" layer="200" rot="R180"/>
<rectangle x1="2.512540625" y1="9.05400625" x2="2.957040625" y2="9.064675" layer="200" rot="R180"/>
<rectangle x1="13.444703125" y1="9.064675" x2="15.169359375" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.064675" x2="12.8097" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.064675" x2="11.6667" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.064675" x2="8.184359375" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.064675" x2="3.371059375" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="2.532859375" y1="9.064675" x2="2.977359375" y2="9.0750875" layer="200" rot="R180"/>
<rectangle x1="13.454859375" y1="9.0750875" x2="15.169359375" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.0750875" x2="12.8097" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.0750875" x2="11.6667" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.0750875" x2="8.184359375" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.0750875" x2="3.371059375" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="2.55571875" y1="9.0750875" x2="3.00021875" y2="9.08575625" layer="200" rot="R180"/>
<rectangle x1="13.467559375" y1="9.08575625" x2="15.169359375" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.08575625" x2="12.8097" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.08575625" x2="11.6667" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.08575625" x2="8.184359375" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.08575625" x2="3.371059375" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="2.576040625" y1="9.08575625" x2="3.020540625" y2="9.096425" layer="200" rot="R180"/>
<rectangle x1="13.477721875" y1="9.096425" x2="15.169359375" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.096425" x2="12.8097" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.096425" x2="11.6667" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.096425" x2="8.184359375" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.096425" x2="3.371059375" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="2.5963625" y1="9.096425" x2="3.0307" y2="9.10709375" layer="200" rot="R180"/>
<rectangle x1="13.487878125" y1="9.10709375" x2="15.169359375" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.10709375" x2="12.8097" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.10709375" x2="11.6667" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.10709375" x2="8.184359375" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.10709375" x2="3.371059375" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="2.619221875" y1="9.10709375" x2="3.053559375" y2="9.11750625" layer="200" rot="R180"/>
<rectangle x1="13.498040625" y1="9.11750625" x2="15.169359375" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.11750625" x2="12.8097" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.11750625" x2="11.6667" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.11750625" x2="8.184359375" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.11750625" x2="3.371059375" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="2.629378125" y1="9.11750625" x2="3.073878125" y2="9.128175" layer="200" rot="R180"/>
<rectangle x1="13.508203125" y1="9.128175" x2="15.169359375" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.128175" x2="12.8097" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.128175" x2="11.6667" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.128175" x2="8.184359375" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.128175" x2="3.371059375" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="2.6497" y1="9.128175" x2="3.0942" y2="9.13884375" layer="200" rot="R180"/>
<rectangle x1="13.518359375" y1="9.13884375" x2="15.169359375" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.13884375" x2="12.8097" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.13884375" x2="11.6667" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.13884375" x2="8.184359375" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.13884375" x2="3.371059375" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="2.672559375" y1="9.13884375" x2="3.104359375" y2="9.14925625" layer="200" rot="R180"/>
<rectangle x1="13.541221875" y1="9.14925625" x2="15.169359375" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.14925625" x2="12.8097" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.14925625" x2="11.6667" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.14925625" x2="8.184359375" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.14925625" x2="3.371059375" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="2.69288125" y1="9.14925625" x2="3.12721875" y2="9.159925" layer="200" rot="R180"/>
<rectangle x1="13.551378125" y1="9.159925" x2="15.169359375" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.159925" x2="12.8097" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="10.95804375" y1="9.159925" x2="11.6667" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.159925" x2="8.184359375" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.159925" x2="3.371059375" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="2.713203125" y1="9.159925" x2="3.147540625" y2="9.17059375" layer="200" rot="R180"/>
<rectangle x1="13.571703125" y1="9.17059375" x2="15.169359375" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.17059375" x2="12.8097" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="10.958040625" y1="9.17059375" x2="11.656540625" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.17059375" x2="8.184359375" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.17059375" x2="3.371059375" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="2.736059375" y1="9.17059375" x2="3.167859375" y2="9.18100625" layer="200" rot="R180"/>
<rectangle x1="13.594559375" y1="9.18100625" x2="15.169359375" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.18100625" x2="12.8097" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="10.968203125" y1="9.18100625" x2="11.656540625" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.18100625" x2="8.184359375" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.18100625" x2="3.371059375" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="2.756378125" y1="9.18100625" x2="3.180559375" y2="9.191675" layer="200" rot="R180"/>
<rectangle x1="13.614878125" y1="9.191675" x2="15.169359375" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.191675" x2="12.8097" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="10.968203125" y1="9.191675" x2="11.656540625" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.191675" x2="8.184359375" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.191675" x2="3.371059375" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="2.776703125" y1="9.191675" x2="3.200878125" y2="9.20234375" layer="200" rot="R180"/>
<rectangle x1="13.635203125" y1="9.20234375" x2="15.169359375" y2="9.21275625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.20234375" x2="12.8097" y2="9.21275625" layer="200" rot="R180"/>
<rectangle x1="10.968203125" y1="9.20234375" x2="11.656540625" y2="9.21275625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.20234375" x2="8.184359375" y2="9.21275625" layer="200" rot="R180"/>
<rectangle x1="2.786859375" y1="9.20234375" x2="3.371059375" y2="9.21275625" layer="200" rot="R180"/>
<rectangle x1="13.658059375" y1="9.21275625" x2="15.169359375" y2="9.223425" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.21275625" x2="12.8097" y2="9.223425" layer="200" rot="R180"/>
<rectangle x1="10.968203125" y1="9.21275625" x2="11.656540625" y2="9.223425" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.21275625" x2="8.184359375" y2="9.223425" layer="200" rot="R180"/>
<rectangle x1="2.809721875" y1="9.21275625" x2="3.371059375" y2="9.223425" layer="200" rot="R180"/>
<rectangle x1="13.678378125" y1="9.223425" x2="15.169359375" y2="9.23409375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.223425" x2="12.8097" y2="9.23409375" layer="200" rot="R180"/>
<rectangle x1="10.978359375" y1="9.223425" x2="11.646378125" y2="9.23409375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.223425" x2="8.184359375" y2="9.23409375" layer="200" rot="R180"/>
<rectangle x1="2.830040625" y1="9.223425" x2="3.371059375" y2="9.23409375" layer="200" rot="R180"/>
<rectangle x1="13.708859375" y1="9.23409375" x2="15.169359375" y2="9.24450625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.23409375" x2="12.8097" y2="9.24450625" layer="200" rot="R180"/>
<rectangle x1="10.978359375" y1="9.23409375" x2="11.646378125" y2="9.24450625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.23409375" x2="8.184359375" y2="9.24450625" layer="200" rot="R180"/>
<rectangle x1="2.850359375" y1="9.23409375" x2="3.371059375" y2="9.24450625" layer="200" rot="R180"/>
<rectangle x1="13.741878125" y1="9.24450625" x2="15.169359375" y2="9.255175" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.24450625" x2="12.8097" y2="9.255175" layer="200" rot="R180"/>
<rectangle x1="10.978359375" y1="9.24450625" x2="11.646378125" y2="9.255175" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.24450625" x2="8.184359375" y2="9.255175" layer="200" rot="R180"/>
<rectangle x1="2.873221875" y1="9.24450625" x2="3.371059375" y2="9.255175" layer="200" rot="R180"/>
<rectangle x1="13.772359375" y1="9.255175" x2="15.169359375" y2="9.26584375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.255175" x2="12.8097" y2="9.26584375" layer="200" rot="R180"/>
<rectangle x1="10.9910625" y1="9.255175" x2="11.63621875" y2="9.26584375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.255175" x2="8.184359375" y2="9.26584375" layer="200" rot="R180"/>
<rectangle x1="2.893540625" y1="9.255175" x2="3.371059375" y2="9.26584375" layer="200" rot="R180"/>
<rectangle x1="13.815540625" y1="9.26584375" x2="15.169359375" y2="9.27625625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.26584375" x2="12.8097" y2="9.27625625" layer="200" rot="R180"/>
<rectangle x1="10.9910625" y1="9.26584375" x2="11.63621875" y2="9.27625625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.26584375" x2="8.184359375" y2="9.27625625" layer="200" rot="R180"/>
<rectangle x1="2.913859375" y1="9.26584375" x2="3.371059375" y2="9.27625625" layer="200" rot="R180"/>
<rectangle x1="13.879040625" y1="9.27625625" x2="15.169359375" y2="9.286925" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.27625625" x2="12.8097" y2="9.286925" layer="200" rot="R180"/>
<rectangle x1="11.001221875" y1="9.27625625" x2="11.626059375" y2="9.286925" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.27625625" x2="8.184359375" y2="9.286925" layer="200" rot="R180"/>
<rectangle x1="2.936721875" y1="9.27625625" x2="3.371059375" y2="9.286925" layer="200" rot="R180"/>
<rectangle x1="14.026359375" y1="9.286925" x2="15.169359375" y2="9.29759375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.286925" x2="12.8097" y2="9.29759375" layer="200" rot="R180"/>
<rectangle x1="11.001221875" y1="9.286925" x2="11.626059375" y2="9.29759375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.286925" x2="8.184359375" y2="9.29759375" layer="200" rot="R180"/>
<rectangle x1="2.946878125" y1="9.286925" x2="3.371059375" y2="9.29759375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.29759375" x2="12.8097" y2="9.30800625" layer="200" rot="R180"/>
<rectangle x1="11.011378125" y1="9.29759375" x2="11.613359375" y2="9.30800625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.29759375" x2="8.184359375" y2="9.30800625" layer="200" rot="R180"/>
<rectangle x1="2.967203125" y1="9.29759375" x2="3.371059375" y2="9.30800625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.30800625" x2="12.8097" y2="9.318675" layer="200" rot="R180"/>
<rectangle x1="11.011378125" y1="9.30800625" x2="11.613359375" y2="9.318675" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.30800625" x2="8.184359375" y2="9.318675" layer="200" rot="R180"/>
<rectangle x1="2.990059375" y1="9.30800625" x2="3.371059375" y2="9.318675" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.318675" x2="12.8097" y2="9.32934375" layer="200" rot="R180"/>
<rectangle x1="11.02154375" y1="9.318675" x2="11.6032" y2="9.32934375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.318675" x2="8.184359375" y2="9.32934375" layer="200" rot="R180"/>
<rectangle x1="3.010378125" y1="9.318675" x2="3.371059375" y2="9.32934375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.32934375" x2="12.8097" y2="9.33975625" layer="200" rot="R180"/>
<rectangle x1="11.031703125" y1="9.32934375" x2="11.593040625" y2="9.33975625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.32934375" x2="8.184359375" y2="9.33975625" layer="200" rot="R180"/>
<rectangle x1="3.030703125" y1="9.32934375" x2="3.371059375" y2="9.33975625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.33975625" x2="12.8097" y2="9.350425" layer="200" rot="R180"/>
<rectangle x1="11.041859375" y1="9.33975625" x2="11.582878125" y2="9.350425" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.33975625" x2="8.184359375" y2="9.350425" layer="200" rot="R180"/>
<rectangle x1="3.053559375" y1="9.33975625" x2="3.371059375" y2="9.350425" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.350425" x2="12.8097" y2="9.36109375" layer="200" rot="R180"/>
<rectangle x1="11.041859375" y1="9.350425" x2="11.582878125" y2="9.36109375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.350425" x2="8.184359375" y2="9.36109375" layer="200" rot="R180"/>
<rectangle x1="3.073878125" y1="9.350425" x2="3.371059375" y2="9.36109375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.36109375" x2="12.8097" y2="9.37150625" layer="200" rot="R180"/>
<rectangle x1="11.0545625" y1="9.36109375" x2="11.57271875" y2="9.37150625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.36109375" x2="8.184359375" y2="9.37150625" layer="200" rot="R180"/>
<rectangle x1="3.094203125" y1="9.36109375" x2="3.371059375" y2="9.37150625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.37150625" x2="12.8097" y2="9.382175" layer="200" rot="R180"/>
<rectangle x1="11.064721875" y1="9.37150625" x2="11.562559375" y2="9.382175" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.37150625" x2="8.184359375" y2="9.382175" layer="200" rot="R180"/>
<rectangle x1="3.104359375" y1="9.37150625" x2="3.371059375" y2="9.382175" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.382175" x2="12.8097" y2="9.39284375" layer="200" rot="R180"/>
<rectangle x1="11.08504375" y1="9.382175" x2="11.5397" y2="9.39284375" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.382175" x2="8.184359375" y2="9.39284375" layer="200" rot="R180"/>
<rectangle x1="3.127221875" y1="9.382175" x2="3.371059375" y2="9.39284375" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.39284375" x2="12.8097" y2="9.40325625" layer="200" rot="R180"/>
<rectangle x1="11.095203125" y1="9.39284375" x2="11.529540625" y2="9.40325625" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.39284375" x2="8.184359375" y2="9.40325625" layer="200" rot="R180"/>
<rectangle x1="3.147540625" y1="9.39284375" x2="3.371059375" y2="9.40325625" layer="200" rot="R180"/>
<rectangle x1="12.1340625" y1="9.40325625" x2="12.8097" y2="9.413925" layer="200" rot="R180"/>
<rectangle x1="11.105359375" y1="9.40325625" x2="11.519378125" y2="9.413925" layer="200" rot="R180"/>
<rectangle x1="7.508721875" y1="9.40325625" x2="8.184359375" y2="9.413925" layer="200" rot="R180"/>
<rectangle x1="3.167859375" y1="9.40325625" x2="3.371059375" y2="9.413925" layer="200" rot="R180"/>
<rectangle x1="11.128221875" y1="9.413925" x2="11.499059375" y2="9.42459375" layer="200" rot="R180"/>
<rectangle x1="3.190721875" y1="9.413925" x2="3.371059375" y2="9.42459375" layer="200" rot="R180"/>
<rectangle x1="11.13838125" y1="9.42459375" x2="11.4762" y2="9.43500625" layer="200" rot="R180"/>
<rectangle x1="3.211040625" y1="9.42459375" x2="3.371059375" y2="9.43500625" layer="200" rot="R180"/>
<rectangle x1="11.168859375" y1="9.43500625" x2="11.455878125" y2="9.445675" layer="200" rot="R180"/>
<rectangle x1="3.231359375" y1="9.43500625" x2="3.371059375" y2="9.445675" layer="200" rot="R180"/>
<rectangle x1="11.191721875" y1="9.445675" x2="11.422859375" y2="9.45634375" layer="200" rot="R180"/>
<rectangle x1="3.254221875" y1="9.445675" x2="3.371059375" y2="9.45634375" layer="200" rot="R180"/>
<rectangle x1="11.245059375" y1="9.45634375" x2="11.372059375" y2="9.46675625" layer="200" rot="R180"/>
<rectangle x1="3.274540625" y1="9.45634375" x2="3.371059375" y2="9.46675625" layer="200" rot="R180"/>
</plain>
<libraries>
<library name="blinkiverse">
<description>Library of parts that we use for our Blinkiverse designs. Some parts copied (and modified) from the excellent Sparkfun libraries.
</description>
<packages>
<package name="CAP_0402_KEMET_MEDIAN">
<smd name="P$1" x="-0.45" y="0" dx="0.62" dy="0.62" layer="1"/>
<smd name="P$2" x="0.45" y="0" dx="0.62" dy="0.62" layer="1"/>
<wire x1="-0.5" y1="0.25" x2="0.5" y2="0.25" width="0.127" layer="51"/>
<wire x1="0.5" y1="0.25" x2="0.5" y2="-0.25" width="0.127" layer="51"/>
<wire x1="0.5" y1="-0.25" x2="-0.5" y2="-0.25" width="0.127" layer="51"/>
<wire x1="-0.5" y1="-0.25" x2="-0.5" y2="0.25" width="0.127" layer="51"/>
<wire x1="-0.95" y1="0.5" x2="0.95" y2="0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="0.95" y1="0.5" x2="0.95" y2="-0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="0.95" y1="-0.5" x2="-0.95" y2="-0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="-0.95" y1="-0.5" x2="-0.95" y2="0.5" width="0.01" layer="51" style="dashdot"/>
</package>
<package name="RES_0402_KEMET_MEDIAN">
<smd name="P$1" x="-0.45" y="0" dx="0.62" dy="0.62" layer="1"/>
<smd name="P$2" x="0.45" y="0" dx="0.62" dy="0.62" layer="1"/>
<wire x1="-0.5" y1="0.25" x2="0.5" y2="0.25" width="0.127" layer="51"/>
<wire x1="0.5" y1="0.25" x2="0.5" y2="-0.25" width="0.127" layer="51"/>
<wire x1="0.5" y1="-0.25" x2="-0.5" y2="-0.25" width="0.127" layer="51"/>
<wire x1="-0.5" y1="-0.25" x2="-0.5" y2="0.25" width="0.127" layer="51"/>
<wire x1="-0.95" y1="0.5" x2="0.95" y2="0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="0.95" y1="0.5" x2="0.95" y2="-0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="0.95" y1="-0.5" x2="-0.95" y2="-0.5" width="0.01" layer="51" style="dashdot"/>
<wire x1="-0.95" y1="-0.5" x2="-0.95" y2="0.5" width="0.01" layer="51" style="dashdot"/>
</package>
<package name="TEST_PAD_SMT">
<smd name="P$1" x="0" y="0" dx="1.8" dy="3" layer="1" roundness="50" thermals="no" cream="no"/>
</package>
<package name="OSHW-LOGO-S">
<polygon width="0.15" layer="25">
<vertex x="0.3947" y="-0.9528" curve="9.498218"/>
<vertex x="0.5465" y="-0.8746"/>
<vertex x="0.9235" y="-1.182"/>
<vertex x="1.182" y="-0.9235"/>
<vertex x="0.8746" y="-0.5465" curve="19.000773"/>
<vertex x="1.0049" y="-0.232"/>
<vertex x="1.4888" y="-0.1828"/>
<vertex x="1.4888" y="0.1828"/>
<vertex x="1.0049" y="0.232" curve="19.000773"/>
<vertex x="0.8746" y="0.5465"/>
<vertex x="1.182" y="0.9235"/>
<vertex x="0.9235" y="1.182"/>
<vertex x="0.5465" y="0.8746" curve="19.000773"/>
<vertex x="0.232" y="1.0049"/>
<vertex x="0.1828" y="1.4888"/>
<vertex x="-0.1828" y="1.4888"/>
<vertex x="-0.232" y="1.0049" curve="19.000773"/>
<vertex x="-0.5465" y="0.8746"/>
<vertex x="-0.9235" y="1.182"/>
<vertex x="-1.182" y="0.9235"/>
<vertex x="-0.8746" y="0.5465" curve="19.000773"/>
<vertex x="-1.0049" y="0.232"/>
<vertex x="-1.4888" y="0.1828"/>
<vertex x="-1.4888" y="-0.1828"/>
<vertex x="-1.0049" y="-0.232" curve="19.000773"/>
<vertex x="-0.8746" y="-0.5465"/>
<vertex x="-1.182" y="-0.9235"/>
<vertex x="-0.9235" y="-1.182"/>
<vertex x="-0.5465" y="-0.8746" curve="9.498218"/>
<vertex x="-0.3947" y="-0.9528"/>
<vertex x="-0.1794" y="-0.4331" curve="-67.514699"/>
<vertex x="-0.4688" y="0" curve="-247.473915"/>
<vertex x="0.1794" y="-0.4331"/>
</polygon>
</package>
<package name="WS2812B_CONNECTOR">
<smd name="5V" x="0" y="2.5" dx="2.7" dy="1.6" layer="16" roundness="25" rot="R180" thermals="no" cream="no"/>
<smd name="DATA" x="0" y="0" dx="2.7" dy="1.6" layer="1" roundness="25" thermals="no" cream="no"/>
<smd name="GND" x="0" y="-2.5" dx="2.7" dy="1.6" layer="1" roundness="50" thermals="no" cream="no"/>
<pad name="5V_1" x="1.35" y="2.5" drill="1" thermals="no"/>
<pad name="DATA_1" x="1.35" y="0" drill="1" diameter="1.5" thermals="no"/>
<pad name="GND_1" x="1.35" y="-2.5" drill="1" diameter="1.5" thermals="no"/>
<pad name="5V_2" x="-0.5" y="2.5" drill="1" thermals="no"/>
<pad name="DATA_2" x="-0.5" y="0" drill="1" diameter="1.5" thermals="no"/>
<pad name="GND_2" x="-0.5" y="-2.5" drill="1" diameter="1.5" thermals="no"/>
<smd name="5V1" x="0" y="2.5" dx="2.7" dy="1.6" layer="1" roundness="25" thermals="no" cream="no"/>
<smd name="DATA1" x="0" y="0" dx="2.7" dy="1.6" layer="16" roundness="25" rot="R180" thermals="no" cream="no"/>
<smd name="GND1" x="0" y="-2.5" dx="2.7" dy="1.6" layer="16" roundness="50" rot="R180" thermals="no" cream="no"/>
</package>
</packages>
</library>
<library name="adafruit">
<packages>
<package name="C0603K">
<description><b>Ceramic Chip Capacitor KEMET 0603 Reflow solder</b><p>
Metric Code Size 1608</description>
<wire x1="-0.725" y1="0.35" x2="0.725" y2="0.35" width="0.1016" layer="51"/>
<wire x1="0.725" y1="-0.35" x2="-0.725" y2="-0.35" width="0.1016" layer="51"/>
<smd name="1" x="-0.875" y="0" dx="1.05" dy="1.08" layer="1"/>
<smd name="2" x="0.875" y="0" dx="1.05" dy="1.08" layer="1"/>
<text x="-0.8" y="0.65" size="1.016" layer="25">>NAME</text>
<text x="-0.8" y="-1.65" size="1.016" layer="27">>VALUE</text>
<rectangle x1="-0.8" y1="-0.4" x2="-0.45" y2="0.4" layer="51"/>
<rectangle x1="0.45" y1="-0.4" x2="0.8" y2="0.4" layer="51"/>
</package>
</packages>
</library>
<library name="blinkinlabs">
<description>Library of parts that we use for our Blinkinlabs designs. Some parts copied (and modified) from the excellent
Sparkfun and Adafruit libraries.</description>
<packages>
<package name="QFN44ML_7X7_LONGLEADS_MOD">
<circle x="0" y="0" radius="0.635" width="1.27" layer="31"/>
<wire x1="-3.5" y1="-3.5" x2="3.5" y2="-3.5" width="0.2032" layer="51"/>
<wire x1="3.5" y1="-3.5" x2="3.5" y2="3.5" width="0.2032" layer="51"/>
<wire x1="3.5" y1="3.5" x2="-3.5" y2="3.5" width="0.2032" layer="51"/>
<wire x1="-3.5" y1="3.5" x2="-3.5" y2="-3.5" width="0.2032" layer="51"/>
<rectangle x1="-3.5" y1="0" x2="0" y2="3.5" layer="51"/>
<smd name="1" x="-3.525" y="2.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="2" x="-3.525" y="2" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="3" x="-3.525" y="1.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="4" x="-3.525" y="1" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="5" x="-3.525" y="0.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="6" x="-3.525" y="0" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="7" x="-3.525" y="-0.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="8" x="-3.525" y="-1" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="9" x="-3.525" y="-1.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="10" x="-3.525" y="-2" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="11" x="-3.525" y="-2.5" dx="1.25" dy="0.275" layer="1" roundness="80"/>
<smd name="12" x="-2.5" y="-3.4" dx="1" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="13" x="-2" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="14" x="-1.5" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="15" x="-1" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="16" x="-0.5" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="17" x="0" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="18" x="0.5" y="-3.4" dx="1" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="19" x="1" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="20" x="1.5" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="21" x="2" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="22" x="2.5" y="-3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R90"/>
<smd name="23" x="3.525" y="-2.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="24" x="3.525" y="-2" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="25" x="3.525" y="-1.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="26" x="3.525" y="-1" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="27" x="3.525" y="-0.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="28" x="3.525" y="0" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="29" x="3.525" y="0.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="30" x="3.525" y="1" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="31" x="3.525" y="1.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="32" x="3.525" y="2" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="33" x="3.525" y="2.5" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R180"/>
<smd name="34" x="2.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="35" x="2" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="36" x="1.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="37" x="1" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="38" x="0.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="39" x="0" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="40" x="-0.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="41" x="-1" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="42" x="-1.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="43" x="-2" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<smd name="44" x="-2.5" y="3.525" dx="1.25" dy="0.275" layer="1" roundness="80" rot="R270"/>
<text x="-3.9" y="4.55" size="1.27" layer="25">>NAME</text>
<text x="-3.9" y="-5.525" size="1.27" layer="27">>VALUE</text>
<pad name="PAD@4" x="0.75" y="0.75" drill="0.35" diameter="1.5" shape="square" stop="no" thermals="no"/>
<pad name="PAD@1" x="-0.75" y="0.75" drill="0.35" diameter="1.5" shape="square" stop="no" thermals="no"/>
<pad name="PAD@13" x="-0.75" y="-0.75" drill="0.35" diameter="1.5" shape="square" stop="no" thermals="no"/>
<pad name="PAD@16" x="0.75" y="-0.75" drill="0.35" diameter="1.5" shape="square" stop="no" thermals="no"/>
<polygon width="0.127" layer="1">
<vertex x="2.25" y="2.25"/>
<vertex x="2.25" y="-2.25"/>
<vertex x="-2.25" y="-2.25"/>
<vertex x="-2.25" y="2.25"/>
</polygon>
<polygon width="0.127" layer="29">
<vertex x="-2.25" y="2.25"/>
<vertex x="2.25" y="2.25"/>
<vertex x="2.25" y="-2.25"/>
<vertex x="-2.25" y="-2.25"/>
</polygon>
</package>
<package name="USB_MICRO_THRUHOLE">
<smd name="PIN$1" x="-1.3" y="2.85" dx="0.4" dy="1.65" layer="1"/>
<smd name="PIN$2" x="-0.65" y="2.85" dx="0.4" dy="1.65" layer="1"/>
<smd name="PIN$3" x="0" y="2.85" dx="0.4" dy="1.65" layer="1"/>
<smd name="PIN$4" x="0.65" y="2.85" dx="0.4" dy="1.65" layer="1"/>
<smd name="PIN$5" x="1.3" y="2.85" dx="0.4" dy="1.65" layer="1"/>
<wire x1="-4" y1="-2.5" x2="-4" y2="3" width="0.127" layer="51"/>
<wire x1="-4" y1="3" x2="4" y2="3" width="0.127" layer="51"/>
<wire x1="4" y1="3" x2="4" y2="-2.5" width="0.127" layer="51"/>
<wire x1="4" y1="-2.5" x2="-4" y2="-2.5" width="0.127" layer="51"/>
<wire x1="-3" y1="-1.45" x2="3" y2="-1.45" width="0.127" layer="51" style="shortdash"/>
<smd name="PAD$5" x="-2.5" y="2.7" dx="1.25" dy="0.95" layer="1" roundness="75" thermals="no"/>
<smd name="PAD$10" x="2.5" y="2.7" dx="1.25" dy="0.95" layer="16" roundness="75" thermals="no" cream="no"/>
<smd name="PAD$1" x="-3.1725" y="0" dx="1.645" dy="1.55" layer="1" thermals="no"/>
<smd name="PAD$4" x="3.1725" y="0" dx="1.645" dy="1.55" layer="1" thermals="no"/>
<smd name="PAD$9" x="-2.5" y="2.7" dx="1.25" dy="0.95" layer="16" roundness="75" thermals="no" cream="no"/>
<smd name="PAD$7" x="-3.55" y="0" dx="0.9" dy="1.55" layer="16" roundness="100" thermals="no" cream="no"/>
<smd name="PAD$8" x="3.55" y="0" dx="0.9" dy="1.55" layer="16" roundness="100" thermals="no" cream="no"/>
<smd name="PAD$6" x="2.5" y="2.7" dx="1.25" dy="0.95" layer="1" roundness="75" thermals="no"/>
<smd name="PAD$2" x="-1" y="0" dx="1.5" dy="1.55" layer="1" thermals="no"/>
<smd name="PAD$3" x="1" y="0" dx="1.5" dy="1.55" layer="1" thermals="no"/>
<wire x1="-2.925" y1="2.7" x2="-2.925" y2="2.725" width="0.127" layer="46"/>
<wire x1="-2.925" y1="2.725" x2="-2.65" y2="3" width="0.127" layer="46" curve="-90"/>
<wire x1="-2.65" y1="3" x2="-2.35" y2="3" width="0.127" layer="46"/>
<wire x1="-2.35" y1="3" x2="-2.075" y2="2.725" width="0.127" layer="46" curve="-90"/>
<wire x1="-2.075" y1="2.725" x2="-2.075" y2="2.7" width="0.127" layer="46"/>
<wire x1="-2.075" y1="2.7" x2="-2.35" y2="2.425" width="0.127" layer="46" curve="-90"/>
<wire x1="-2.35" y1="2.425" x2="-2.65" y2="2.425" width="0.127" layer="46"/>
<wire x1="-2.65" y1="2.425" x2="-2.925" y2="2.7" width="0.127" layer="46" curve="-90"/>
<wire x1="2.65" y1="2.425" x2="2.35" y2="2.425" width="0.127" layer="46"/>
<wire x1="2.35" y1="2.425" x2="2.075" y2="2.7" width="0.127" layer="46" curve="-90"/>
<wire x1="2.075" y1="2.7" x2="2.35" y2="2.975" width="0.127" layer="46" curve="-90"/>
<wire x1="2.35" y1="2.975" x2="2.65" y2="2.975" width="0.127" layer="46"/>
<wire x1="2.65" y1="2.975" x2="2.925" y2="2.7" width="0.127" layer="46" curve="-90"/>
<wire x1="2.925" y1="2.7" x2="2.65" y2="2.425" width="0.127" layer="46" curve="-90"/>
<wire x1="-3.3" y1="0.325" x2="-3.3" y2="-0.325" width="0.127" layer="46"/>
<wire x1="-3.3" y1="-0.325" x2="-3.55" y2="-0.575" width="0.127" layer="46" curve="-90"/>
<wire x1="-3.55" y1="-0.575" x2="-3.8" y2="-0.325" width="0.127" layer="46" curve="-90"/>
<wire x1="-3.8" y1="-0.325" x2="-3.8" y2="0.325" width="0.127" layer="46"/>
<wire x1="-3.8" y1="0.325" x2="-3.55" y2="0.575" width="0.127" layer="46" curve="-90"/>
<wire x1="-3.55" y1="0.575" x2="-3.3" y2="0.325" width="0.127" layer="46" curve="-90"/>
<wire x1="3.55" y1="-0.575" x2="3.3" y2="-0.325" width="0.127" layer="46" curve="-90"/>
<wire x1="3.3" y1="-0.325" x2="3.3" y2="0.325" width="0.127" layer="46"/>
<wire x1="3.3" y1="0.325" x2="3.55" y2="0.575" width="0.127" layer="46" curve="-90"/>
<wire x1="3.55" y1="0.575" x2="3.8" y2="0.325" width="0.127" layer="46" curve="-90"/>
<wire x1="3.8" y1="0.325" x2="3.8" y2="-0.325" width="0.127" layer="46"/>
<wire x1="3.8" y1="-0.325" x2="3.55" y2="-0.575" width="0.127" layer="46" curve="-90"/>
<text x="-3.81" y="-5" size="1.27" layer="27">>VALUE</text>
<text x="-3.81" y="3.81" size="1.27" layer="25">>NAME</text>
</package>
<package name="CRSYTAL_2520">
<smd name="P$1" x="-0.85" y="-0.65" dx="1.2" dy="1" layer="1" thermals="no"/>
<smd name="P$2" x="0.85" y="-0.65" dx="1.2" dy="1" layer="1" thermals="no"/>
<smd name="P$3" x="0.85" y="0.65" dx="1.2" dy="1" layer="1" thermals="no"/>
<smd name="P$4" x="-0.85" y="0.65" dx="1.2" dy="1" layer="1" thermals="no"/>
<wire x1="-1" y1="-1" x2="1.3" y2="-1" width="0.127" layer="51"/>
<wire x1="1.3" y1="-1" x2="1.3" y2="1" width="0.127" layer="51"/>
<wire x1="1.3" y1="1" x2="-1.3" y2="1" width="0.127" layer="51"/>
<wire x1="-1.3" y1="1" x2="-1.3" y2="-0.7" width="0.127" layer="51"/>
<wire x1="-1.3" y1="-0.7" x2="-1" y2="-1" width="0.127" layer="51"/>
<text x="-1" y="-3" size="1.27" layer="27">>VALUE</text>
<text x="-1" y="2" size="1.27" layer="25">>NAME</text>
</package>
<package name="BUTTON_2P_SMD">
<smd name="P$3" x="-2.2" y="0" dx="1.1" dy="1.5" layer="1" thermals="no"/>
<smd name="P$4" x="2.2" y="0" dx="1.1" dy="1.5" layer="1" thermals="no"/>
<wire x1="-2" y1="1.5" x2="2" y2="1.5" width="0.127" layer="51"/>
<wire x1="2" y1="1.5" x2="2" y2="-1.5" width="0.127" layer="51"/>
<wire x1="2" y1="-1.5" x2="-2" y2="-1.5" width="0.127" layer="51"/>
<wire x1="-2" y1="-1.5" x2="-2" y2="1.5" width="0.127" layer="51"/>
<text x="-3" y="-3" size="1.27" layer="27">>VALUE</text>
<text x="-3" y="2" size="1.27" layer="25">>NAME</text>
</package>
<package name="TEST_PAD_1MM">
<smd name="P$1" x="0" y="0" dx="1" dy="1" layer="1" roundness="50"/>
</package>
</packages>
</library>
</libraries>
<attributes>
</attributes>
<variantdefs>
</variantdefs>
<classes>
<class number="0" name="data" width="0.2" drill="0.3">
<clearance class="0" value="0.2"/>
</class>
<class number="1" name="power" width="0.24" drill="0.3">
<clearance class="1" value="0.2"/>
</class>
</classes>
<designrules name="BlinkyTape *">
<description language="de"><b>EAGLE Design Rules</b>
<p>
Die Standard-Design-Rules sind so gewählt, dass sie für
die meisten Anwendungen passen. Sollte ihre Platine
besondere Anforderungen haben, treffen Sie die erforderlichen
Einstellungen hier und speichern die Design Rules unter
einem neuen Namen ab.</description>
<description language="en"><b>BlinkyTape PCB Design Rules</b>
<p>
Modified from Laen's PCB Order Design Rules</description>
<param name="layerSetup" value="(1*16)"/>
<param name="mtCopper" value="0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm 0.0356mm"/>
<param name="mtIsolate" value="1.5011mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm 0.1499mm 0.2007mm"/>
<param name="mdWireWire" value="0.2mm"/>
<param name="mdWirePad" value="0.2mm"/>
<param name="mdWireVia" value="0.2mm"/>
<param name="mdPadPad" value="0.2mm"/>
<param name="mdPadVia" value="0.2mm"/>
<param name="mdViaVia" value="0.2mm"/>
<param name="mdSmdPad" value="0.2mm"/>
<param name="mdSmdVia" value="0.2mm"/>
<param name="mdSmdSmd" value="0.2mm"/>
<param name="mdViaViaSameLayer" value="8mil"/>
<param name="mnLayersViaInSmd" value="2"/>
<param name="mdCopperDimension" value="8mil"/>
<param name="mdDrill" value="0.25mm"/>
<param name="mdSmdStop" value="0mil"/>
<param name="msWidth" value="0.2mm"/>
<param name="msDrill" value="0.3mm"/>
<param name="msMicroVia" value="13mil"/>
<param name="msBlindViaRatio" value="0.5"/>
<param name="rvPadTop" value="0.25"/>
<param name="rvPadInner" value="0.25"/>
<param name="rvPadBottom" value="0.25"/>
<param name="rvViaOuter" value="0.25"/>
<param name="rvViaInner" value="0.25"/>
<param name="rvMicroViaOuter" value="0.25"/>
<param name="rvMicroViaInner" value="0.25"/>
<param name="rlMinPadTop" value="7mil"/>
<param name="rlMaxPadTop" value="20mil"/>
<param name="rlMinPadInner" value="7mil"/>
<param name="rlMaxPadInner" value="20mil"/>
<param name="rlMinPadBottom" value="7mil"/>
<param name="rlMaxPadBottom" value="20mil"/>
<param name="rlMinViaOuter" value="7mil"/>
<param name="rlMaxViaOuter" value="20mil"/>
<param name="rlMinViaInner" value="7mil"/>
<param name="rlMaxViaInner" value="20mil"/>
<param name="rlMinMicroViaOuter" value="4mil"/>
<param name="rlMaxMicroViaOuter" value="20mil"/>
<param name="rlMinMicroViaInner" value="4mil"/>
<param name="rlMaxMicroViaInner" value="20mil"/>
<param name="psTop" value="-1"/>
<param name="psBottom" value="-1"/>
<param name="psFirst" value="-1"/>
<param name="psElongationLong" value="100"/>
<param name="psElongationOffset" value="100"/>
<param name="mvStopFrame" value="1"/>
<param name="mvCreamFrame" value="0"/>
<param name="mlMinStopFrame" value="2mil"/>
<param name="mlMaxStopFrame" value="2mil"/>
<param name="mlMinCreamFrame" value="0mil"/>
<param name="mlMaxCreamFrame" value="0mil"/>
<param name="mlViaStopLimit" value="0.3mm"/>
<param name="srRoundness" value="0"/>
<param name="srMinRoundness" value="0mil"/>
<param name="srMaxRoundness" value="0mil"/>
<param name="slThermalIsolate" value="10mil"/>
<param name="slThermalsForVias" value="0"/>
<param name="dpMaxLengthDifference" value="10mm"/>
<param name="dpGapFactor" value="2.5"/>
<param name="checkGrid" value="0"/>
<param name="checkAngle" value="0"/>
<param name="checkFont" value="1"/>
<param name="checkRestrict" value="1"/>
<param name="useDiameter" value="13"/>
<param name="maxErrors" value="50"/>
</designrules>
<autorouter>
<pass name="Default">
<param name="RoutingGrid" value="50mil"/>
<param name="AutoGrid" value="1"/>
<param name="Efforts" value="0"/>
<param name="TopRouterVariant" value="1"/>
<param name="tpViaShape" value="round"/>
<param name="PrefDir.1" value="|"/>
<param name="PrefDir.2" value="0"/>
<param name="PrefDir.3" value="0"/>
<param name="PrefDir.4" value="0"/>
<param name="PrefDir.5" value="0"/>
<param name="PrefDir.6" value="0"/>
<param name="PrefDir.7" value="0"/>
<param name="PrefDir.8" value="0"/>
<param name="PrefDir.9" value="0"/>
<param name="PrefDir.10" value="0"/>
<param name="PrefDir.11" value="0"/>
<param name="PrefDir.12" value="0"/>
<param name="PrefDir.13" value="0"/>
<param name="PrefDir.14" value="0"/>
<param name="PrefDir.15" value="0"/>
<param name="PrefDir.16" value="-"/>
<param name="cfVia" value="8"/>
<param name="cfNonPref" value="5"/>
<param name="cfChangeDir" value="2"/>
<param name="cfOrthStep" value="2"/>
<param name="cfDiagStep" value="3"/>
<param name="cfExtdStep" value="0"/>
<param name="cfBonusStep" value="1"/>
<param name="cfMalusStep" value="1"/>
<param name="cfPadImpact" value="4"/>
<param name="cfSmdImpact" value="4"/>
<param name="cfBusImpact" value="0"/>
<param name="cfHugging" value="3"/>
<param name="cfAvoid" value="4"/>
<param name="cfPolygon" value="10"/>
<param name="cfBase.1" value="0"/>
<param name="cfBase.2" value="1"/>
<param name="cfBase.3" value="1"/>
<param name="cfBase.4" value="1"/>
<param name="cfBase.5" value="1"/>
<param name="cfBase.6" value="1"/>
<param name="cfBase.7" value="1"/>
<param name="cfBase.8" value="1"/>
<param name="cfBase.9" value="1"/>
<param name="cfBase.10" value="1"/>
<param name="cfBase.11" value="1"/>
<param name="cfBase.12" value="1"/>
<param name="cfBase.13" value="1"/>
<param name="cfBase.14" value="1"/>
<param name="cfBase.15" value="1"/>
<param name="cfBase.16" value="0"/>
<param name="mnVias" value="20"/>
<param name="mnSegments" value="9999"/>
<param name="mnExtdSteps" value="9999"/>
<param name="mnRipupLevel" value="10"/>
<param name="mnRipupSteps" value="100"/>
<param name="mnRipupTotal" value="100"/>
</pass>
<pass name="Follow-me" refer="Default" active="yes">
</pass>
<pass name="Busses" refer="Default" active="yes">
<param name="cfNonPref" value="4"/>
<param name="cfBusImpact" value="4"/>
<param name="cfHugging" value="0"/>
<param name="mnVias" value="0"/>
</pass>
<pass name="Route" refer="Default" active="yes">
</pass>
</autorouter>
<elements>
<element name="R2" library="blinkiverse" package="RES_0402_KEMET_MEDIAN" value="22" x="7.75" y="6.75" smashed="yes"/>
<element name="R1" library="blinkiverse" package="RES_0402_KEMET_MEDIAN" value="22" x="7.75" y="5.75" smashed="yes"/>
<element name="C5" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="1uF" x="7.4" y="4.76" smashed="yes" rot="R180"/>
<element name="C3" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="0.1uF" x="7.4" y="3.75" smashed="yes" rot="R180"/>
<element name="C6" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="18pF" x="21.5" y="2.5" smashed="yes" rot="R90"/>
<element name="C7" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="18pF" x="18" y="2" smashed="yes" rot="R270"/>
<element name="C2" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="0.1uF" x="7.55" y="7.75" smashed="yes" rot="R180"/>
<element name="C1" library="adafruit" package="C0603K" value="10uF" x="7.7" y="9" smashed="yes" rot="R180"/>
<element name="U$2" library="blinkinlabs" package="QFN44ML_7X7_LONGLEADS_MOD" value="ATMEGA32U4MU_MODDED" x="13.25" y="5.25" smashed="yes"/>
<element name="Q1" library="blinkinlabs" package="CRSYTAL_2520" value="16 MHz" x="19.75" y="2.25" smashed="yes" rot="R270"/>
<element name="C4" library="blinkiverse" package="CAP_0402_KEMET_MEDIAN" value="0.1uF" x="18" y="4.6" smashed="yes" rot="R90"/>
<element name="U$4" library="blinkinlabs" package="USB_MICRO_THRUHOLE" value="USB_MICROSMT+THRUHULE" x="1.5" y="5" smashed="yes" rot="R270"/>
<element name="U$1" library="blinkinlabs" package="TEST_PAD_1MM" value="TEST_PAD_SMT" x="9" y="1" rot="MR0"/>
<element name="U$3" library="blinkinlabs" package="TEST_PAD_1MM" value="TEST_PAD_SMT" x="7.5" y="1" rot="MR0"/>
<element name="U$5" library="blinkinlabs" package="TEST_PAD_1MM" value="TEST_PAD_SMT" x="6" y="1" rot="MR0"/>
<element name="U$6" library="blinkinlabs" package="TEST_PAD_1MM" value="TEST_PAD_SMT" x="10.5" y="1" rot="MR0"/>
<element name="U$10" library="blinkiverse" package="TEST_PAD_SMT" value="TEST_PAD_SMT" x="2" y="6.25" rot="MR90"/>
<element name="U$11" library="blinkiverse" package="TEST_PAD_SMT" value="TEST_PAD_SMT" x="16.9" y="5" rot="MR90"/>
<element name="U$12" library="blinkiverse" package="TEST_PAD_SMT" value="TEST_PAD_SMT" x="16.9" y="7.9" rot="MR270"/>
<element name="U$13" library="blinkiverse" package="TEST_PAD_SMT" value="TEST_PAD_SMT" x="16.9" y="2.1" rot="MR270"/>
<element name="U$14" library="blinkiverse" package="TEST_PAD_SMT" value="TEST_PAD_SMT" x="2" y="3.75" rot="MR270"/>
<element name="U$15" library="blinkiverse" package="OSHW-LOGO-S" value="" x="13.29" y="8.1" rot="MR0"/>
<element name="U$9" library="blinkiverse" package="WS2812B_CONNECTOR" value="WS2812B_CONNECTOR" x="23.9" y="5" rot="MR180"/>
<element name="R3" library="blinkiverse" package="RES_0402_KEMET_MEDIAN" value="200" x="18" y="8.1" rot="R90"/>
<element name="U$7" library="blinkinlabs" package="BUTTON_2P_SMD" value="" x="20.2" y="6.9" smashed="yes" rot="R270">
<attribute name="VALUE" x="17.2" y="9.9" size="1.27" layer="27" rot="R270"/>
</element>
</elements>
<signals>
<signal name="GND" class="1">
<contactref element="C5" pad="P$2"/>
<contactref element="C3" pad="P$2"/>
<contactref element="C6" pad="P$2"/>
<contactref element="C7" pad="P$2"/>
<contactref element="U$2" pad="5"/>
<contactref element="U$2" pad="35"/>
<contactref element="U$2" pad="23"/>
<contactref element="U$2" pad="15"/>
<contactref element="U$2" pad="43"/>
<contactref element="U$2" pad="PAD@1"/>
<contactref element="C1" pad="2"/>
<contactref element="C2" pad="P$2"/>
<contactref element="C4" pad="P$2"/>
<polygon width="0.24" layer="16" isolate="0.254">
<vertex x="5.05" y="7.2"/>
<vertex x="9.6" y="7.2"/>
<vertex x="10" y="6.8"/>
<vertex x="14.9" y="6.8"/>
<vertex x="14.9" y="4.6"/>
<vertex x="19.33" y="4.6"/>
<vertex x="19.73" y="5"/>
<vertex x="19.8" y="5"/>
<vertex x="20.4" y="4.4"/>
<vertex x="20.5" y="0"/>
<vertex x="5.05" y="0"/>
</polygon>
<contactref element="U$2" pad="PAD@4"/>
<contactref element="U$2" pad="PAD@13"/>
<contactref element="U$2" pad="PAD@16"/>
<wire x1="9.725" y1="5.75" x2="12.25" y2="5.75" width="0.254" layer="1"/>
<wire x1="12.25" y1="1.725" x2="12.25" y2="3.14289375" width="0.254" layer="1"/>
<wire x1="11.25" y1="8.775" x2="11.25" y2="7.15710625" width="0.254" layer="1"/>
<wire x1="15.25" y1="8.775" x2="15.25" y2="7.25710625" width="0.254" layer="1"/>
<via x="6.46" y="6.89" extent="1-16" drill="0.3"/>
<contactref element="U$4" pad="PIN$5"/>
<wire x1="4.35" y1="3.7" x2="5.75" y2="3.7" width="0.4" layer="1"/>
<wire x1="18" y1="1.55" x2="17.05" y2="1.55" width="0.254" layer="1"/>
<wire x1="17.05" y1="1.55" x2="17" y2="1.5" width="0.254" layer="1"/>
<via x="17" y="1.5" extent="1-16" drill="0.3"/>
<via x="19.35" y="4.25" extent="1-16" drill="0.3"/>
<wire x1="21.5" y1="2.95" x2="21.5" y2="3" width="0.254" layer="1"/>
<contactref element="U$13" pad="P$1"/>
<contactref element="Q1" pad="P$4"/>
<contactref element="Q1" pad="P$2"/>
<wire x1="18" y1="1.55" x2="18.95" y2="1.55" width="0.254" layer="1"/>
<wire x1="18.95" y1="1.55" x2="19.1" y2="1.4" width="0.254" layer="1"/>
<contactref element="U$9" pad="GND1"/>
<contactref element="U$9" pad="GND_1"/>
<contactref element="U$9" pad="GND_2"/>
<contactref element="U$9" pad="GND"/>
<via x="20.15" y="4.25" extent="1-16" drill="0.3"/>
<via x="6.09" y="4.76" extent="1-16" drill="0.3"/>
<via x="6.1" y="3.81" extent="1-16" drill="0.3"/>
<polygon width="0.24" layer="1">
<vertex x="6.8" y="3.5"/>
<vertex x="5.5" y="3.5"/>
<vertex x="5.5" y="5"/>
<vertex x="6.8" y="5"/>
</polygon>
<wire x1="16.775" y1="2.75" x2="15.853553125" y2="2.75" width="0.24" layer="1"/>
<wire x1="15.853553125" y1="2.75" x2="15.676778125" y2="2.823221875" width="0.24" layer="1" curve="-44.999494"/>
<wire x1="15.676778125" y1="2.823221875" x2="15.2" y2="3.3" width="0.24" layer="1"/>
<wire x1="6.825" y1="9" x2="6.56" y2="8.735" width="0.5" layer="1"/>
<wire x1="6.56" y1="8.735" x2="6.56" y2="7.7" width="0.5" layer="1"/>
<wire x1="6.56" y1="7.7" x2="6.56" y2="7.564853125" width="0.5" layer="1"/>
<wire x1="6.56" y1="7.564853125" x2="6.5" y2="7.42" width="0.5" layer="1" curve="-45"/>
<wire x1="6.5" y1="7.42" x2="6.5" y2="7.4" width="0.5" layer="1"/>
<wire x1="6.5" y1="7.4" x2="6.46" y2="7.30343125" width="0.5" layer="1" curve="45"/>
<wire x1="6.46" y1="7.30343125" x2="6.46" y2="6.89" width="0.5" layer="1"/>
<wire x1="7.1" y1="7.75" x2="7.05" y2="7.7" width="0.5" layer="1"/>
<wire x1="7.05" y1="7.7" x2="6.56" y2="7.7" width="0.5" layer="1"/>
<wire x1="21.5" y1="2.95" x2="20.55" y2="2.95" width="0.24" layer="1"/>
<wire x1="20.55" y1="2.95" x2="20.4" y2="3.1" width="0.24" layer="1"/>
<polygon width="0.24" layer="1">
<vertex x="15.4" y="3.1"/>
<vertex x="15.4" y="7.4"/>
<vertex x="11.1" y="7.4"/>
<vertex x="11.1" y="3.1"/>
</polygon>
<contactref element="U$7" pad="P$4"/>
<polygon width="0.24" layer="1">
<vertex x="25.3" y="10"/>
<vertex x="18.7" y="10"/>
<vertex x="18.7" y="4"/>
<vertex x="22.2" y="4"/>
<vertex x="22.2" y="6.3"/>
<vertex x="25.3" y="6.3"/>
</polygon>
<wire x1="18" y1="5.05" x2="18.0062" y2="5.267" width="0.24" layer="1"/>
<wire x1="18.0062" y1="5.267" x2="18.12238125" y2="5.471140625" width="0.24" layer="1" curve="-56.034368"/>
<wire x1="18.12238125" y1="5.471140625" x2="19.1" y2="6.09" width="0.24" layer="1"/>
<wire x1="20.4" y1="3.1" x2="20.4" y2="4.23" width="0.24" layer="1"/>
<wire x1="20.4" y1="4.23" x2="20.15" y2="4.25" width="0.24" layer="1"/>
<via x="19.75" y="4.8" extent="1-16" drill="0.3"/>
<via x="5.74" y="4.28" extent="1-16" drill="0.3"/>
<polygon width="0.24" layer="16">
<vertex x="25" y="10"/>
<vertex x="25.2" y="10"/>
<vertex x="25.2" y="6.3"/>
<vertex x="21.9" y="6.3"/>
<vertex x="21.9" y="10"/>
</polygon>
<via x="24.5" y="9" extent="1-16" drill="0.3"/>
<via x="23.5" y="9" extent="1-16" drill="0.3"/>
</signal>
<signal name="MOSI">
<contactref element="U$2" pad="10"/>
<contactref element="U$3" pad="P$1"/>
<wire x1="7.5" y1="1.616446875" x2="7.573221875" y2="1.793221875" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="7.573221875" y1="1.793221875" x2="8.956778125" y2="3.176778125" width="0.2" layer="1"/>
<wire x1="8.956778125" y1="3.176778125" x2="9.133553125" y2="3.25" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="9.133553125" y1="3.25" x2="9.725" y2="3.25" width="0.2" layer="1"/>
<wire x1="7.5" y1="1.616446875" x2="7.5" y2="1" width="0.2" layer="1"/>
<via x="7.5" y="1" extent="1-16" drill="0.3"/>
</signal>
<signal name="MISO">
<contactref element="U$2" pad="11"/>
<contactref element="U$1" pad="P$1"/>
<wire x1="9.725" y1="2.75" x2="9.28" y2="2.75" width="0.2" layer="1"/>
<wire x1="9" y1="2.287840625" x2="9.0487375" y2="2.43614375" width="0.2" layer="1" curve="-36.385171"/>
<wire x1="9.0487375" y1="2.43614375" x2="9.28" y2="2.75" width="0.2" layer="1"/>
<wire x1="9" y1="2.287840625" x2="9" y2="1" width="0.2" layer="1"/>
<via x="9" y="1" extent="1-16" drill="0.3"/>
</signal>
<signal name="SCK">
<contactref element="U$2" pad="9"/>
<contactref element="U$5" pad="P$1"/>
<wire x1="9.725" y1="3.75" x2="9.003553125" y2="3.75" width="0.2" layer="1"/>
<wire x1="9.003553125" y1="3.75" x2="8.826778125" y2="3.676778125" width="0.2" layer="1" curve="44.999494"/>
<wire x1="8.826778125" y1="3.676778125" x2="6.15" y2="1" width="0.2" layer="1"/>
<via x="6" y="1" extent="1-16" drill="0.3"/>
<wire x1="6" y1="1" x2="6.15" y2="1" width="0.2" layer="1"/>
</signal>
<signal name="RST">
<contactref element="U$2" pad="13"/>
<contactref element="U$6" pad="P$1"/>
<wire x1="11.25" y1="1.725" x2="11.25" y2="1.253553125" width="0.2" layer="1"/>
<wire x1="11.25" y1="1.253553125" x2="11.176778125" y2="1.076778125" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="11.176778125" y1="1.076778125" x2="10.973221875" y2="0.873221875" width="0.2" layer="1"/>
<wire x1="10.973221875" y1="0.873221875" x2="10.796446875" y2="0.8" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="10.796446875" y1="0.8" x2="10.5" y2="0.8" width="0.2" layer="1"/>
<via x="10.5" y="0.8" extent="1-16" drill="0.3"/>
<wire x1="10.5" y1="0.8" x2="10.5" y2="1" width="0.2" layer="16"/>
</signal>
<signal name="N$9">
<contactref element="C7" pad="P$1"/>
<contactref element="U$2" pad="17"/>
<contactref element="Q1" pad="P$1"/>
<wire x1="18" y1="2.45" x2="18" y2="2.696446875" width="0.2" layer="1"/>
<wire x1="18" y1="2.696446875" x2="18.073221875" y2="2.873221875" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="18.073221875" y1="2.873221875" x2="18.226778125" y2="3.026778125" width="0.2" layer="1"/>
<wire x1="18.226778125" y1="3.026778125" x2="18.403553125" y2="3.1" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="18.403553125" y1="3.1" x2="19.1" y2="3.1" width="0.2" layer="1"/>
<wire x1="18" y1="2.45" x2="17.753553125" y2="2.45" width="0.2" layer="1"/>
<wire x1="17.753553125" y1="2.45" x2="17.576778125" y2="2.376778125" width="0.2" layer="1" curve="44.999494"/>
<wire x1="17.576778125" y1="2.376778125" x2="17.473221875" y2="2.273221875" width="0.2" layer="1"/>
<wire x1="17.473221875" y1="2.273221875" x2="17.296446875" y2="2.2" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="17.296446875" y1="2.2" x2="16.703553125" y2="2.2" width="0.2" layer="1"/>
<wire x1="16.703553125" y1="2.2" x2="16.526778125" y2="2.126778125" width="0.2" layer="1" curve="44.999494"/>
<wire x1="16.526778125" y1="2.126778125" x2="16.373221875" y2="1.973221875" width="0.2" layer="1"/>
<wire x1="16.373221875" y1="1.973221875" x2="16.3" y2="1.796446875" width="0.2" layer="1" curve="44.999284"/>
<wire x1="16.3" y1="1.796446875" x2="16.3" y2="1.103553125" width="0.2" layer="1"/>
<wire x1="16.3" y1="1.103553125" x2="16.226778125" y2="0.926778125" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="16.226778125" y1="0.926778125" x2="16.073221875" y2="0.773221875" width="0.2" layer="1"/>
<wire x1="16.073221875" y1="0.773221875" x2="15.896446875" y2="0.7" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="15.896446875" y1="0.7" x2="13.843553125" y2="0.7" width="0.2" layer="1"/>
<wire x1="13.843553125" y1="0.7" x2="13.666778125" y2="0.773221875" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="13.666778125" y1="0.773221875" x2="13.323221875" y2="1.116778125" width="0.2" layer="1"/>
<wire x1="13.323221875" y1="1.116778125" x2="13.25" y2="1.293553125" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="13.25" y1="1.293553125" x2="13.25" y2="1.725" width="0.2" layer="1"/>
</signal>
<signal name="N$8">
<contactref element="C6" pad="P$1"/>
<contactref element="U$2" pad="16"/>
<contactref element="Q1" pad="P$3"/>
<via x="12.75" y="0.7" extent="1-16" drill="0.3"/>
<via x="21.5" y="1" extent="1-16" drill="0.3"/>
<wire x1="12.75" y1="1.725" x2="12.75" y2="0.7" width="0.2" layer="1"/>
<wire x1="21.5" y1="2.05" x2="21.5" y2="1" width="0.2" layer="1"/>
<wire x1="21.5" y1="1" x2="21.273221875" y2="0.773221875" width="0.2" layer="16"/>
<wire x1="21.273221875" y1="0.773221875" x2="21.096446875" y2="0.7" width="0.2" layer="16" curve="-44.999284"/>
<wire x1="21.096446875" y1="0.7" x2="12.75" y2="0.7" width="0.2" layer="16"/>
<wire x1="20.4" y1="1.4" x2="20.8" y2="1" width="0.2" layer="1"/>
<wire x1="20.8" y1="1" x2="21.5" y2="1" width="0.2" layer="1"/>
</signal>
<signal name="D+_IN">
<contactref element="R1" pad="P$1"/>
<contactref element="U$4" pad="PIN$3"/>
<wire x1="4.35" y1="5" x2="5.266446875" y2="5" width="0.2" layer="1"/>
<wire x1="5.266446875" y1="5" x2="5.443221875" y2="5.073221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="5.443221875" y1="5.073221875" x2="5.686778125" y2="5.316778125" width="0.2" layer="1"/>
<wire x1="5.686778125" y1="5.316778125" x2="5.863553125" y2="5.39" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="5.863553125" y1="5.39" x2="6.366446875" y2="5.39" width="0.2" layer="1"/>
<wire x1="6.366446875" y1="5.39" x2="6.543221875" y2="5.463221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="6.543221875" y1="5.463221875" x2="6.756778125" y2="5.676778125" width="0.2" layer="1"/>
<wire x1="6.756778125" y1="5.676778125" x2="6.933553125" y2="5.75" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="6.933553125" y1="5.75" x2="7.3" y2="5.75" width="0.2" layer="1"/>
</signal>
<signal name="D-_IN">
<contactref element="R2" pad="P$1"/>
<contactref element="U$4" pad="PIN$2"/>
<wire x1="7.25" y1="6.75" x2="7.22" y2="6.7

license_type: permissive

branch_name: refs/heads/master

extension: brd


text:
5" width="0.2" layer="1"/>
<wire x1="4.35" y1="5.65" x2="5.346446875" y2="5.65" width="0.2" layer="1"/>
<wire x1="5.346446875" y1="5.65" x2="5.523221875" y2="5.723221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="5.523221875" y1="5.723221875" x2="5.526778125" y2="5.726778125" width="0.2" layer="1"/>
<wire x1="5.526778125" y1="5.726778125" x2="5.703553125" y2="5.8" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="5.703553125" y1="5.8" x2="6.146446875" y2="5.8" width="0.2" layer="1"/>
<wire x1="6.146446875" y1="5.8" x2="6.323221875" y2="5.873221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="6.323221875" y1="5.873221875" x2="6.75" y2="6.3" width="0.2" layer="1"/>
<wire x1="6.75" y1="6.3" x2="7.2" y2="6.7" width="0.2" layer="1"/>
<wire x1="7.2" y1="6.7" x2="7.25" y2="6.75" width="0.2" layer="1"/>
<wire x1="7.25" y1="6.75" x2="7.3" y2="6.75" width="0.2" layer="1"/>
</signal>
<signal name="D-">
<contactref element="R2" pad="P$2"/>
<contactref element="U$2" pad="3"/>
<wire x1="9.725" y1="6.75" x2="8.2" y2="6.75" width="0.2" layer="1"/>
</signal>
<signal name="D+">
<contactref element="U$2" pad="4"/>
<contactref element="R1" pad="P$2"/>
<wire x1="9.725" y1="6.25" x2="9.123553125" y2="6.25" width="0.2" layer="1"/>
<wire x1="9.123553125" y1="6.25" x2="8.946778125" y2="6.176778125" width="0.2" layer="1" curve="44.999494"/>
<wire x1="8.946778125" y1="6.176778125" x2="8.593221875" y2="5.823221875" width="0.2" layer="1"/>
<wire x1="8.593221875" y1="5.823221875" x2="8.416446875" y2="5.75" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="8.416446875" y1="5.75" x2="8.2" y2="5.75" width="0.2" layer="1"/>
</signal>
<signal name="D10">
<contactref element="U$2" pad="30"/>
<wire x1="18.073553125" y1="7" x2="18.296446875" y2="7" width="0.2" layer="1"/>
<wire x1="18.296446875" y1="7" x2="18.473221875" y2="7.073221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="18.473221875" y1="7.073221875" x2="18.626778125" y2="7.226778125" width="0.2" layer="1"/>
<wire x1="18.626778125" y1="7.226778125" x2="18.7" y2="7.403553125" width="0.2" layer="1" curve="44.999284"/>
<wire x1="18.7" y1="7.403553125" x2="18.7" y2="8.496446875" width="0.2" layer="1"/>
<wire x1="18.7" y1="8.496446875" x2="18.773221875" y2="8.673221875" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="18.773221875" y1="8.673221875" x2="19.126778125" y2="9.026778125" width="0.2" layer="1"/>
<wire x1="18.073553125" y1="7" x2="17.896778125" y2="6.926778125" width="0.2" layer="1" curve="44.999494"/>
<wire x1="17.896778125" y1="6.926778125" x2="17.773221875" y2="6.803221875" width="0.2" layer="1"/>
<wire x1="17.773221875" y1="6.803221875" x2="17.7" y2="6.626446875" width="0.2" layer="1" curve="44.999284"/>
<wire x1="17.7" y1="6.626446875" x2="17.7" y2="6.603553125" width="0.2" layer="1"/>
<wire x1="17.7" y1="6.603553125" x2="17.626778125" y2="6.426778125" width="0.2" layer="1" curve="-44.999494"/>
<wire x1="17.626778125" y1="6.426778125" x2="17.523221875" y2="6.323221875" width="0.2" layer="1"/>
<wire x1="17.523221875" y1="6.323221875" x2="17.346446875" y2="6.25" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="17.346446875" y1="6.25" x2="16.775" y2="6.25" width="0.2" layer="1"/>
<contactref element="U$7" pad="P$3"/>
<wire x1="19.126778125" y1="9.026778125" x2="19.303553125" y2="9.1" width="0.2" layer="1" curve="-44.999284"/>
<wire x1="19.303553125" y1="9.1" x2="20.2" y2="9.1" width="0.2" layer="1"/>
</signal>
<signal name="AREF">
<contactref element="U$2" pad="42"/>
</signal>
<signal name="N$2">
<contactref element="U$2" pad="6"/>
<contactref element="C5" pad="P$1"/>
<wire x1="7.85" y1="4.76" x2="8.193203125" y2="4.752371875" width="0.24" layer="1"/>
<wire x1="8.193203125" y1="4.752371875" x2="8.375534375" y2="4.825534375" width="0.24" layer="1" curve="46.281134"/>
<wire x1="8.375534375" y1="4.825534375" x2="8.726778125" y2="5.176778125" width="0.24" layer="1"/>
<wire x1="8.726778125" y1="5.176778125" x2="8.903553125" y2="5.25" width="0.24" layer="1" curve="-44.999284"/>
<wire x1="8.903553125" y1="5.25" x2="9.725" y2="5.25" width="0.24" layer="1"/>
</signal>
<signal name="LED_DATA">
<via x="18" y="9.37" extent="1-16" drill="0.3"/>
<contactref element="U$9" pad="DATA1"/>
<contactref element="U$9" pad="DATA_1"/>
<contactref element="U$9" pad="DATA_2"/>
<contactref element="U$9" pad="DATA"/>
<contactref element="R3" pad="P$2"/>
<wire x1="25.25" y1="5" x2="23.9" y2="5" width="0.4064" layer="16"/>
<wire x1="23.4" y1="5" x2="23.9" y2="5" width="0.4064" layer="16"/>
<wire x1="18" y1="8.55" x2="18" y2="9.37" width="0.2" layer="1"/>
<wire x1="21.926778125" y1="9.173221875" x2="21.803221875" y2="9.296778125" width="0.2" layer="16"/>
<wire x1="21.803221875" y1="9.296778125" x2="21.626446875" y2="9.37" width="0.2" layer="16" curve="44.999284"/>
<wire x1="21.626446875" y1="9.37" x2="18" y2="9.37" width="0.2" layer="16"/>
<wire x1="22.9" y1="5" x2="22.9" y2="5.996446875" width="0.2" layer="16"/>
<wire x1="22.9" y1="5.996446875" x2="22.826778125" y2="6.173221875" width="0.2" layer="16" curve="44.999494"/>
<wire x1="22.826778125" y1="6.173221875" x2="22.073221875" y2="6.926778125" width="0.2" layer="16"/>
<wire x1="22.073221875" y1="6.926778125" x2="22" y2="7.103553125" width="0.2" layer="16" curve="-44.999284"/>
<wire x1="22" y1="7.103553125" x2="22" y2="8.996446875" width="0.2" layer="16"/>
<wire x1="22" y1="8.996446875" x2="21.926778125" y2="9.173221875" width="0.2" layer="16" curve="44.999494"/>
<wire x1="22.9" y1="5" x2="23.4" y2="5" width="0.2" layer="16"/>
<wire x1="23.9" y1="5" x2="23.9" y2="5" width="0" layer="19" extent="1-16"/>
</signal>
<signal name="VCC" class="1">
<contactref element="C1" pad="1"/>
<contactref element="U$2" pad="34"/>
<contactref element="U$2" pad="44"/>
<contactref element="U$2" pad="24"/>
<contactref element="U$2" pad="14"/>
<contactref element="U$2" pad="2"/>
<contactref element="U$2" pad="7"/>
<contactref element="C2" pad="P$1"/>
<contactref element="C3" pad="P$1"/>
<contactref element="C4" pad="P$1"/>
<wire x1="16.75" y1="8.75" x2="16.5" y2="8.775" width="0.254" layer="1"/>
<wire x1="16.5" y1="8.775" x2="15.75" y2="8.775" width="0.254" layer="1"/>
<wire x1="11.75" y1="1.725" x2="11.75" y2="0.7" width="0.254" layer="1"/>
<via x="11.75" y="0.7" extent="1-16" drill="0.3"/>
<via x="6.05" y="2.77" extent="1-16" drill="0.3"/>
<via x="9.95" y="8.55" extent="1-16" drill="0.3"/>
<via x="16.75" y="8.75" extent="1-16" drill="0.3"/>
<contactref element="U$4" pad="PIN$1"/>
<via x="5.67" y="6.43" extent="1-16" drill="0.3"/>
<wire x1="4.35" y1="6.3" x2="5.23" y2="6.3" width="0.4" layer="1"/>
<wire x1="5.23" y1="6.3" x2="5.23" y2="7" width="0.4" layer="1"/>
<contactref element="U$12" pad="P$1"/>
<via x="18.92" y="5.2" extent="1-16" drill="0.3"/>
<wire x1="9.725" y1="7.25" x2="9.7" y2="7.25" width="0.254" layer="1"/>
<polygon width="0.24" layer="16">
<vertex x="5.1" y="10"/>
<vertex x="22.2" y="10"/>
<vertex x="22.2" y="3.7"/>
<vertex x="25.3" y="3.7"/>
<vertex x="25.3" y="0"/>
<vertex x="21" y="0"/>
<vertex x="21" y="4.5"/>
<vertex x="20" y="5.5"/>
<vertex x="19.5" y="5.5"/>
<vertex x="19.1" y="5.1"/>
<vertex x="15.4" y="5.1"/>
<vertex x="15.4" y="7.3"/>
<vertex x="10.2" y="7.3"/>
<vertex x="9.8" y="7.7"/>
<vertex x="5.1" y="7.7"/>
</polygon>
<contactref element="U$9" pad="5V_1"/>
<contactref element="U$9" pad="5V1"/>
<contactref element="U$9" pad="5V"/>
<contactref element="U$9" pad="5V_2"/>
<via x="5.35" y="9.35" extent="1-16" drill="0.3"/>
<via x="5.75" y="8.75" extent="1-16" drill="0.3"/>
<polygon width="0.24" layer="1">
<vertex x="5" y="10"/>
<vertex x="5" y="6.2"/>
<vertex x="6" y="6.2"/>
<vertex x="6" y="10"/>
</polygon>
<wire x1="9.725" y1="4.75" x2="9.083553125" y2="4.75" width="0.24" layer="1"/>
<wire x1="9.083553125" y1="4.75" x2="8.906778125" y2="4.676778125" width="0.24" layer="1" curve="44.999494"/>
<wire x1="8.27" y1="3.75" x2="8.646778125" y2="4.126778125" width="0.24" layer="1"/>
<wire x1="8.646778125" y1="4.126778125" x2="8.72" y2="4.303553125" width="0.24" layer="1" curve="44.999284"/>
<wire x1="8.72" y1="4.303553125" x2="8.72" y2="4.386446875" width="0.24" layer="1"/>
<wire x1="8.72" y1="4.386446875" x2="8.793221875" y2="4.563221875" width="0.24" layer="1" curve="-44.999494"/>
<wire x1="8.793221875" y1="4.563221875" x2="8.906778125" y2="4.676778125" width="0.24" layer="1"/>
<wire x1="7.85" y1="3.75" x2="8.27" y2="3.75" width="0.24" layer="1"/>
<wire x1="8.27" y1="3.75" x2="7.363221875" y2="2.843221875" width="0.24" layer="1"/>
<wire x1="7.363221875" y1="2.843221875" x2="7.186446875" y2="2.77" width="0.24" layer="1" curve="-44.999284"/>
<wire x1="7.186446875" y1="2.77" x2="6.05" y2="2.77" width="0.24" layer="1"/>
<via x="9.95" y="9.25" extent="1-16" drill="0.3"/>
<wire x1="10.75" y1="8.775" x2="10.175" y2="8.775" width="0.24" layer="1"/>
<wire x1="10.175" y1="8.775" x2="9.95" y2="8.55" width="0.24" layer="1"/>
<wire x1="8" y1="7.75" x2="8.228709375" y2="7.64936875" width="0.24" layer="1"/>
<wire x1="8.228709375" y1="7.64936875" x2="8.269196875" y2="7.626865625" width="0.24" layer="1" curve="-10.631255"/>
<wire x1="8.269196875" y1="7.626865625" x2="8.75616875" y2="7.293675" width="0.24" layer="1"/>
<wire x1="8.75616875" y1="7.293675" x2="8.897340625" y2="7.25" width="0.24" layer="1" curve="34.380345"/>
<wire x1="8.897340625" y1="7.25" x2="9.725" y2="7.25" width="0.24" layer="1"/>
<wire x1="9.95" y1="8.55" x2="9.9" y2="8.6" width="0.5" layer="1"/>
<wire x1="9.9" y1="8.6" x2="9.9" y2="9.2" width="0.5" layer="1"/>
<wire x1="9.9" y1="9.2" x2="9.7" y2="9" width="0.5" layer="1"/>
<wire x1="9.7" y1="9" x2="8.575" y2="9" width="0.5" layer="1"/>
<wire x1="8.575" y1="9" x2="8.3" y2="8.725" width="0.5" layer="1"/>
<wire x1="6.05" y1="2.77" x2="6.03" y2="2.77" width="0.5" layer="16"/>
<wire x1="6.03" y1="2.77" x2="4.9" y2="3.9" width="0.5" layer="16"/>
<wire x1="4.9" y1="3.9" x2="4.9" y2="5.556446875" width="0.5" layer="16"/>
<wire x1="4.9" y1="5.556446875" x2="4.973221875" y2="5.733221875" width="0.5" layer="16" curve="-44.999494"/>
<wire x1="4.973221875" y1="5.733221875" x2="5.67" y2="6.43" width="0.5" layer="16"/>
<wire x1="6.05" y1="2.77" x2="10.705" y2="2.77" width="0.5" layer="16"/>
<wire x1="10.705" y1="2.77" x2="11.75" y2="1.725" width="0.5" layer="16"/>
<wire x1="11.75" y1="1.725" x2="11.75" y2="0.7" width="0.5" layer="16"/>
<wire x1="16.775" y1="3.25" x2="17.446446875" y2="3.25" width="0.24" layer="1"/>
<wire x1="17.446446875" y1="3.25" x2="17.623221875" y2="3.323221875" width="0.24" layer="1" curve="44.999494"/>
<wire x1="17.623221875" y1="3.323221875" x2="17.926778125" y2="3.626778125" width="0.24" layer="1"/>
<wire x1="17.926778125" y1="3.626778125" x2="18" y2="3.803553125" width="0.24" layer="1" curve="44.999284"/>
<wire x1="18" y1="3.803553125" x2="18" y2="4.15" width="0.24" layer="1"/>
<wire x1="18" y1="4.21" x2="18" y2="4.15" width="0.24" layer="1"/>
<wire x1="18" y1="4.21" x2="18.51" y2="4.21" width="0.24" layer="1"/>
<wire x1="18.51" y1="4.21" x2="18.7" y2="4.4" width="0.24" layer="1"/>
<wire x1="18.7" y1="4.4" x2="18.7" y2="4.9" width="0.24" layer="1"/>
<wire x1="18.7" y1="4.9" x2="18.92" y2="5.2" width="0.24" layer="1"/>
<wire x1="8" y1="7.75" x2="8" y2="8.321446875" width="0.5" layer="1"/>
<wire x1="8" y1="8.321446875" x2="8.073221875" y2="8.498221875" width="0.5" layer="1" curve="-44.999494"/>
<wire x1="8.073221875" y1="8.498221875" x2="8.575" y2="9" width="0.5" layer="1"/>
<via x="5.35" y="8.15" extent="1-16" drill="0.3"/>
<polygon width="0.24" layer="1">
<vertex x="25.2" y="0"/>
<vertex x="25.3" y="0"/>
<vertex x="25.3" y="3.7"/>
<vertex x="22.6" y="3.7"/>
<vertex x="22.6" y="0"/>
</polygon>
<via x="23.5" y="1" extent="1-16" drill="0.3"/>
<via x="24.5" y="1" extent="1-16" drill="0.3"/>
</signal>
<signal name="N$3">
</signal>
<signal name="N$4">
</signal>
<signal name="N$5">
</signal>
<signal name="N$6">
</signal>
<signal name="N$1">
</signal>
<signal name="D11">
<contactref element="U$2" pad="12"/>
<contactref element="U$14" pad="P$1"/>
<via x="9.85" y="1.97" extent="1-16" drill="0.3"/>
<wire x1="10.75" y1="1.85" x2="10.06709375" y2="1.85" width="0.2" layer="1"/>
<wire x1="10.06709375" y1="1.85" x2="9.8750375" y2="1.93995625" width="0.2" layer="1" curve="-50.194979"/>
<wire x1="9.8750375" y1="1.93995625" x2="9.85" y2="1.97" width="0.2" layer="1"/>
<wire x1="4.343221875" y1="3.676778125" x2="4.166446875" y2="3.75" width="0.2" layer="16" curve="44.999284"/>
<wire x1="4.166446875" y1="3.75" x2="2" y2="3.75" width="0.2" layer="16"/>
<wire x1="4.343221875" y1="3.676778125" x2="5.326778125" y2="2.693221875" width="0.2" layer="16"/>
<wire x1="5.326778125" y1="2.693221875" x2="5.4" y2="2.516446875" width="0.2" layer="16" curve="-44.999284"/>
<wire x1="5.4" y1="2.516446875" x2="5.41163125" y2="2.48836875" width="0.2" layer="16" curve="45.003189"/>
<wire x1="5.41163125" y1="2.48836875" x2="5.726778125" y2="2.173221875" width="0.2" layer="16"/>
<wire x1="5.726778125" y1="2.173221875" x2="5.903553125" y2="2.1" width="0.2" layer="16" curve="44.999284"/>
<wire x1="9.85" y1="1.97" x2="9.773221875" y2="2.026778125" width="0.2" layer="16"/>
<wire x1="9.773221875" y1="2.026778125" x2="9.596446875" y2="2.1" width="0.2" layer="16" curve="44.999284"/>
<wire x1="9.596446875" y1="2.1" x2="5.903553125" y2="2.1" width="0.2" layer="16"/>
</signal>
<signal name="D7">
<contactref element="U$2" pad="1"/>
<contactref element="U$10" pad="P$1"/>
<via x="9.02" y="7.92" extent="1-16" drill="0.3"/>
<wire x1="9.02" y1="7.92" x2="8.844778125" y2="7.674690625" width="0.2" layer="16"/>
<wire x1="8.844778125" y1="7.674690625" x2="8.641346875" y2="7.57" width="0.2" layer="16" curve="-54.461773"/>
<wire x1="8.641346875" y1="7.57" x2="5.863553125" y2="7.57" width="0.2" layer="16"/>
<wire x1="5.863553125" y1="7.57" x2="5.686778125" y2="7.496778125" width="0.2" layer="16" curve="44.999494"/>
<wire x1="5.686778125" y1="7.496778125" x2="4.513221875" y2="6.323221875" width="0.2" layer="16"/>
<wire x1="4.513221875" y1="6.323221875" x2="4.336446875" y2="6.25" width="0.2" layer="16" curve="-44.999284"/>
<wire x1="4.336446875" y1="6.25" x2="2" y2="6.25" width="0.2" layer="16"/>
<wire x1="9.725" y1="7.75" x2="9.29" y2="7.75" width="0.2" layer="1"/>
<wire x1="9.29" y1="7.75" x2="9.02" y2="7.92" width="0.2" layer="1"/>
</signal>
<signal name="A9">
<contactref element="U$2" pad="29"/>
<via x="18.33" y="6.37" extent="1-16" drill="0.3"/>
<contactref element="U$11" pad="P$1"/>
<wire x1="16.775" y1="5.75" x2="17.615253125" y2="5.75" width="0.2" layer="1"/>
<wire x1="17.615253125" y1="5.75" x2="17.7934625" y2="5.824665625" width="0.2" layer="1" curve="45.465916"/>
<wire x1="17.7934625" y1="5.824665625" x2="18.33" y2="6.37" width="0.2" layer="1"/>
<wire x1="16.9" y1="5" x2="16.97" y2="5" width="0.2" layer="16"/>
<wire x1="16.97" y1="5" x2="18.33" y2="6.37" width="0.2" layer="16"/>
</signal>
<signal name="SHIELD">
<contactref element="U$4" pad="PAD$8"/>
<contactref element="U$4" pad="PAD$10"/>
<contactref element="U$4" pad="PAD$2"/>
<contactref element="U$4" pad="PAD$4"/>
<contactref element="U$4" pad="PAD$5"/>
<contactref element="U$4" pad="PAD$7"/>
<contactref element="U$4" pad="PAD$6"/>
<contactref element="U$4" pad="PAD$1"/>
<contactref element="U$4" pad="PAD$3"/>
<contactref element="U$4" pad="PAD$9"/>
<polygon width="0.254" layer="1">
<vertex x="0.05" y="10"/>
<vertex x="4.55" y="10"/>
<vertex x="4.55" y="7"/>
<vertex x="2.75" y="7"/>
<vertex x="2.75" y="3"/>
<vertex x="4.55" y="3"/>
<vertex x="4.55" y="0"/>
<vertex x="0.05" y="0"/>
</polygon>
<polygon width="0.24" layer="16" isolate="0.254">
<vertex x="0.05" y="10"/>
<vertex x="4.55" y="10"/>
<vertex x="4.55" y="7.5"/>
<vertex x="2.75" y="7.5"/>
<vertex x="2.75" y="2.5"/>
<vertex x="4.55" y="2.5"/>
<vertex x="4.55" y="0"/>
<vertex x="0.05" y="0"/>
</polygon>
<wire x1="4.2" y1="7.5" x2="4.2" y2="7.5" width="0" layer="19" extent="1-16"/>
<wire x1="4.2" y1="2.5" x2="4.2" y2="2.5" width="0" layer="19" extent="1-16"/>
</signal>
<signal name="D13">
<contactref element="U$2" pad="32"/>
<contactref element="R3" pad="P$1"/>
<wire x1="16.775" y1="7.25" x2="17.496446875" y2="7.25" width="0.2" layer="1"/>
<wire x1="17.496446875" y1="7.25" x2="17.673221875" y2="7.323221875" width="0.2" layer="1" curve="44.999494"/>
<wire x1="17.673221875" y1="7.323221875" x2="18" y2="7.65" width="0.2" layer="1"/>
</signal>
</signals>
<errors>
<approved hash="19,1,94ad1d2120bb26fa"/>
<approved hash="19,1,42abeee0888cfa7a"/>
<approved hash="19,1,8aa342f736de7076"/>
<approved hash="5,1,604122d63935ff2e"/>
<approved hash="18,30,84b3e9f5b1cb661a"/>
<approved hash="18,30,427e8ecdb23e462c"/>
<approved hash="18,30,e01a3c648ef88daa"/>
<approved hash="3,1,8ff8ebc0ebc68ffe"/>
<approved hash="5,1,2a47b0893934ff74"/>
<approved hash="19,1,993c8d8c15a08fc1"/>
<approved hash="5,1,3bd08bcc7a4ffaa9"/>
<approved hash="5,1,bbd347c9904814aa"/>
<approved hash="5,1,b68a009aba00cbf9"/>
<approved hash="19,1,db1a479714b9ae8f"/>
<approved hash="19,1,8ceb02a3f8da72d2"/>
<approved hash="19,1,f519fd7d752e75b6"/>
<approved hash="4,1,808d798f6e7cbcb2"/>
<approved hash="4,1,979f681d6e70abaa"/>
<approved hash="4,1,60d14460c1751b7d"/>
<approved hash="4,1,f58a97079b00f98d"/>
<approved hash="4,1,c145a3baafbdcd42"/>
<approved hash="4,1,dde0af5da35ad1e7"/>
<approved hash="19,16,9c0c6676607a9a00"/>
<approved hash="19,16,040b8a718c7a0200"/>
<approved hash="19,16,240c1676107e2204"/>
<approved hash="19,16,bdc00d3e92b5f649"/>
<approved hash="19,16,243ba2c225a5d358"/>
<approved hash="19,16,02011389ba2351ae"/>
<approved hash="5,16,5f5ab975bf53a1bb"/>
<approved hash="19,16,531cabbb9cfce1a1"/>
<approved hash="19,16,0ef5534f55d7e090"/>
<approved hash="19,16,3ea7f12057d9ad48"/>
<approved hash="4,16,60d14460c1751b7d"/>
<approved hash="19,16,39910a3525c5da87"/>
<approved hash="4,16,808d798f6e7cbcb2"/>
<approved hash="4,16,979f681d6e70abaa"/>
<approved hash="4,16,a6199cae98b45be2"/>
<approved hash="4,16,f58a97079b00f98d"/>
<approved hash="19,16,81f2d20eea18ff8a"/>
<approved hash="4,16,dde0af5da35ad1e7"/>
<approved hash="4,16,c145a3baafbdcd42"/>
</errors>
</board>
</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>


text:
package models_test

import (
	"github.com/kamilwoloszyn/photo-cms/models"
	. "github.com/onsi/ginkgo"
	. "github.com/onsi/gomega"
	"gorm.io/gorm"
)

var _ = Describe("Payment model", func() {
	var (
		paymentMethod models.PaymentMethod
		payment       models.Payment
	)

	BeforeEach(func() {
		paymentMethod = CreatePaymentMethod()
		payment = CreatePayment(paymentMethod)
	})
	AfterEach(func() {
		payment.Delete()
		paymentMethod.Delete()
	})
	Describe("Basic crud testing", func() {
		var (
			obtainedPayment models.Payment
		)

		BeforeEach(func() {
			obtainedPayment = models.Payment{}
		})
		Context("Add or update an operations", func() {
			It("Should create a new payment in db", func() {
				err := obtainedPayment.SetID(payment.GetID())
				Expect(err).ShouldNot(HaveOccurred())
				err = obtainedPayment.FetchByID()
				Expect(err).ShouldNot(HaveOccurred())
				Expect(obtainedPayment.PaymentAmount).To(Equal(payment.PaymentAmount))
			})
			It("Should update an existing payment", func() {
				err := obtainedPayment.SetID(payment.GetID())
				Expect(err).ShouldNot(HaveOccurred())
				payment.PaymentAmount = 100
				err = payment.UpdateInstance()
				Expect(err).ShouldNot(HaveOccurred())
				err = obtainedPayment.FetchByID()
				Expect(err).ShouldNot(HaveOccurred())
				Expect(obtainedPayment.PaymentAmount).To(Equal(payment.PaymentAmount))
			})
		})
		Context("Delete operations", func() {
			It("Should delete existing payment", func() {
				err := obtainedPayment.SetID(payment.GetID())
				Expect(err).ShouldNot(HaveOccurred())
				err = payment.Delete()
				Expect(err).ShouldNot(HaveOccurred())
				err = obtainedPayment.FetchByID()
				Expect(err).To(Equal(gorm.ErrRecordNotFound))
				Expect(obtainedPayment.PaymentMethodId).To(Equal(""))
			})
		})

	})

	Describe("Relationship test", func() {
		var (
			deliveryMethod models.DeliveryMethod
			delivery       models.Delivery
			order          models.Order
			err            error
		)

		BeforeEach(func() {
			deliveryMethod = CreateDeliveryMethod()
			delivery = CreateDelivery(deliveryMethod)
			order = CreateOrder(payment, delivery)
		})
		JustAfterEach(func() {
			err = payment.AssignTo(&order)
		})

		AfterEach(func() {
			order.Delete()
			payment.Delete()
			delivery.Delete()
		})
		Context("One order", func() {
			Expect(err).ShouldNot(HaveOccurred())
			Expect(payment.Order.Price).To(Equal(order.Price))
		})
	})
})

license: MIT

repository: kamilwoloszyn/photo-cms

repo_name: kamilwoloszyn/photo-cms

branch_name: refs/heads/main

extension: go


text:
#pragma once

#include <string>
#include <vector>
#include <functional>
#include <unordered_map>
#include "Game.h"
#include "../helpers/errors.h"
#include "../helpers/json.h"

namespace esper {
	using namespace std;

	class DefinitionManager {
	public:
		using CreateDefFunction = std::function<void* (
			DefinitionManager* manager,
			JsonValue& def,
			void* parent
		)>;

		using DefMap = unordered_map<string, void*>;
		using DefFunctionMap = unordered_map<string, CreateDefFunction>;
		using GameDefsMap = unordered_map<Game*, DefFunctionMap*>;

		inline static DefFunctionMap generalDefClasses = DefFunctionMap();
		inline static GameDefsMap gameDefClasses = GameDefsMap();

		DefinitionManager(Game& game) {
			readDefs(game);
			initDefClasses(game);
			buildRecordDefs();
		}

		~DefinitionManager() {
			free(defs);
			free(defClasses);
			free(recordDefs);
		}

		void readDefs(Game& game) {
			defs = readJsonFile("./defs/" + game.abbreviation + ".json");
		}

		void initDefClasses(Game& game) {
			defClasses = new DefFunctionMap();
			defClasses->insert(
				generalDefClasses.begin(),
				generalDefClasses.end()
			);
			defClasses->insert(
				gameDefClasses[&game]->begin(),
				gameDefClasses[&game]->end()
			);
		}

		void buildRecordDefs() {
			recordDefs = new DefMap();
			forEachEntry(defs, [&](const JsonValue& name, const JsonValue& value) {
				recordDefs->at(name.GetString()) = buildDef(value, nullptr);
			});
		}

		JsonValue* resolveDef(string id) {
			if (!defs->HasMember(id)) throw error("Failed to resolve def: " + id);
			return &(*defs)[id];
		}

		CreateDefFunction resolveDefClass(string defType) {
			return defClasses->at(defType);
		}

		void* buildDef(const JsonValue& input, void* parent = nullptr) {
			JsonValue& src = const_cast<JsonValue&>(input);
			if (!src.IsObject()) throw error("Definition source must be an object.");
			if (src.HasMember("id")) {
				string id = src["id"].GetString();
				src = *objectAssign(
					new JsonValue(),
					{ &src, resolveDef(id) },
					defs->GetAllocator()
				);
			}
			string type = src["type"].GetString();
			CreateDefFunction createDef = resolveDefClass(type);
			return invoke(createDef, this, src, parent);
		}

		vector<void*>* buildDefs(
			rapidjson::GenericValue<
				rapidjson::UTF8<char>,
				rapidjson::MemoryPoolAllocator<rapidjson::CrtAllocator>
			>& defs, void* parent) {
			if (!defs.IsArray()) throw error("defs must be an array.");
			int index = 0;
			vector<void*>* builtDefs = new vector<void*>(defs.Size());
			for (auto it = defs.Begin(); it != defs.End(); it++) {
				void* def = buildDef(*it, parent);
				//def->index = index;
				(*builtDefs)[index++] = def;
			}
			return builtDefs;
		}

		void* getFileHeaderDef() {
			return recordDefs->at("TES4");
		}

		JsonDocument* defs;
		DefMap* recordDefs;
		DefFunctionMap* defClasses;
	};

	template<class T> inline void registerDef(string defType) {
		DefinitionManager::generalDefClasses[defType] = [](
			DefinitionManager* manager,
			JsonValue& def,
			void* parent
		) -> void* {
			return (void*)(new T(manager, def, parent));
		};
	}

	template<class T> inline void registerDef(Game& game, string defType) {
		DefinitionManager::gameDefClasses[&game][defType] = [](
			DefinitionManager* manager,
			JsonValue& def,
			void* parent
		) -> void* {
			return (void*)(new T(manager, def, parent));
		};
	}
}

repository: Pospelove/esper-cpp

repo_name: Pospelove/esper-cpp

extension: h


text:
SUMMARY = "Header-only C++ library for JSON Schema validation"
HOMEPAGE = "https://github.com/tristanpenman/valijson"
LICENSE = "BSD-2-Clause"
LIC_FILES_CHKSUM = "file://LICENSE;md5=015106c62262b2383f6c72063f0998f2"

SRC_URI = "git://github.com/tristanpenman/valijson.git"
PV = "0.1+git${SRCPV}"

SRCREV = "c2f22fddf599d04dc33fcd7ed257c698a05345d9"

S = "${WORKDIR}/git"

inherit cmake

EXTRA_OECMAKE = "-DINSTALL_HEADERS=1 -DBUILD_TESTS=0"

# valijson is a header only C++ library, so the main package will be empty.
RDEPENDS_${PN}-dev = ""

BBCLASSEXTEND = "native nativesdk"

gha_license_id: MIT

extension: bb


text:
require swt-gtk.inc

PR = "r3"

SRC_URI = "http://ftp.wh2.tu-dresden.de/pub/mirrors/eclipse/eclipse/downloads/drops/R-3.4.2-200902111700/swt-3.4.2-gtk-linux-x86.zip \
           file://Makefile"

# A number which is used by SWT to mark the shared libraries.
SWT_API_VERSION = "3.4"

PROVIDES = "swt3.4-gtk"

RCONFLICTS_${PN} = "libswt3.5-gtk-java"

SRC_URI[md5sum] = "2b97f05f86bd7138491d9a8c5934e840"
SRC_URI[sha256sum] = "30c8c545faabae331420a6c37194470a4f74f508eab4e0463c65953d09cde6eb"

repository: overo/overo-oe-natty

repo_name: overo/overo-oe-natty

branch_name: HEAD


text:
package instrumentation

import (
	"github.com/newrelic/go-agent"
	"github.com/porthos-rpc/porthos-go"
)

func WrapHandler(app newrelic.Application, method string, handler porthos.MethodHandler) (string, porthos.MethodHandler) {
	return method, func(req porthos.Request, res porthos.Response) {
		tx := app.StartTransaction(method, nil, nil)
		defer tx.End()

		handler(&TxRequest{tx, req}, &TxResponse{tx, res})
	}
}

repository: porthos-rpc/go-instrumentation

repo_name: porthos-rpc/go-instrumentation

gha_language: Go


text:
/** 组织机构管理 */
import { get, post } from '@/utils/ajax'

export const enum API {
  organizationTree = 'auth-server/organization/getOrganizationTree',
  getOrganizationInfoById = 'auth-server/organization/getOrganizationInfoById',
  addOrganization = 'auth-server/organization/addOrganization',
  getOrganizationInfo = 'auth-server/organization/getOrganizationInfo',
  getOrgByUserInfo = 'auth-server/organization/getOrganizationListByUserInfo',
  getOrganizationUpdateInfo = 'auth-server/organization/getOrganizationUpdateInfo',
  businessId= 'service-platform/securityIncident/securityIncidentPageListByBusinessId',
  listByBusinessId='service-platform/securityIncident/securityIncidentPageListByHostId',
  getIncidentCount='service-platform/securityIncident/getIncidentCount',
  queryHostsByIds= 'asset/host/queryHostsByIds',
  // 获取当前单位的本级或下级
  getOrganizationListById= 'auth-server/organization/getOrganizationListById',
}

export interface Menu {
  /** 主键ID example: uuid */
  id?: string
  /** 单位名称 */
  organizationName?: string
  /** 单位级别 */
  organizationLevel?: string
  /** 上级单位 */
  parentName?: string
  /** 简称 */
  abbreviation?: string
  /** 备注 */
  organizationDesc?: string
  /** 备注 */
  organizationPath?: string
  /** 是否可用 */
  enabled?: number
  /** 模块上级ID */
  parentId?: string
}

function getOrganizationTree() {
  return get(API.organizationTree)
}

function getOrganizationInfoById(organizationId: string) {
  return get(API.getOrganizationInfoById, { organizationId })
}
function getOrgByUserInfo() {
  return get(API.getOrgByUserInfo)
}
function getOrganizationListById(param: object) {
  return get(API.getOrganizationListById, param)
}

function addOrganization(param: object) {
  return post(API.addOrganization, param)
}

function getIncidentCount(param: object) {
  return post(API.getIncidentCount, param)
}
function listByBusinessId(param: object) {
  return post(API.listByBusinessId, param)
}

function businessId(param: object) {
  return post(API.businessId, param)
}

function getOrganizationInfo(param: string) {
  return get(API.getOrganizationInfo, { param })
}

function getOrganizationUpdateInfo(param: string) {
  return get(API.getOrganizationUpdateInfo, { param })
}
function queryHostsByIds(param: any) {
  return post(API.queryHostsByIds, param)
}

export {
  getOrganizationTree,
  getOrganizationInfoById,
  addOrganization,
  getOrganizationInfo,
  getOrganizationListById,
  getOrganizationUpdateInfo,
  businessId,
  listByBusinessId,
  getIncidentCount,
  queryHostsByIds,
  getOrgByUserInfo,

}

extension: ts


text:
@InProceedings{schmidt15,
  supplementary = {Supplementary:schmidt15-supp.pdf},
  title = {{Non-Uniform Stochastic Average Gradient Method for Training Conditional Random Fields}},
  author = {Schmidt, Mark and Babanezhad, Reza and Ahmed, Mohamed and Defazio, Aaron and Clifton, Ann and Sarkar, Anoop},
  pages = {819-828},
  abstract = {We apply stochastic average gradient (SAG) algorithms for training conditional random fields (CRFs). We describe a practical implementation that uses structure in the CRF gradient to reduce the memory requirement of this linearly-convergent stochastic gradient method, propose a non-uniform sampling scheme that substantially improves practical performance, and analyze the rate of convergence of the SAGA variant under non-uniform sampling. Our experimental results reveal that our method significantly outperforms existing methods in terms of the training objective, and performs as well or better than optimally-tuned stochastic gradient methods in terms of test error.},
}

repository: mreid/papersite

repo_name: mreid/papersite

gha_language: TeX

extension: bib


text:
@article{Hopkins2019,
 abstract = {The Deep Western Boundary Current (DWBC) in the subpolar North Atlantic is the lower limb of the Atlantic Meridional Overturning Circulation and a key component of the global climate system. Here, a mooring array deployed at 60°N in the Irminger Sea, between 2014 and 2016 provides the longest continuous record of total DWBC volume transport at this latitude. The 1.8 year averaged transport of water denser than $σ$$þeta$ = 27.8 kg m‐3 was ‐10.8 ± 4.9 Sv (mean ± 1 std; 1 Sv = 106 m3 s‐1). Of this total, we find ‐4.1 ± 1.4 Sv within the densest layer ($σ$$þeta$ \textgreater 27.88 kg m‐3) that originated from the Denmark Strait Overflow. The lighter North East Atlantic Deep Water layer ($σ$$þeta$ = 27.8‐27.88 kg m‐3) carries ‐6.5 ± 7.7 Sv. The variability in transport ranges between 2 and 65 days. There is a distinct shift from high to low frequency with distance from the East Greenland slope. High frequency fluctuations (2‐8 days) close to the continental slope are likely associated with topographic Rossby waves and/or cyclonic eddies. Here, perturbations in layer thickness make a significant (20‐60%) contribution to transport variability. In deeper water, toward the centre of the Irminger Basin, transport variance at 55 days dominates. Our results suggest that there has been a 1.8 Sv increase in total transport since 2005‐2006, but this difference can be accounted for by a range of methodological and data limitation biases.},
 author = {Hopkins, J.E. and Holliday, N.P. and Rayner, D. and Houpert, L. and Le Bras, I. A. and Straneo, F. and Wilson, C. and Bacon, S.},
 doi = {10.1029/2018JC014730},
 file = {:home/isabela/.local/share/data/Mendeley Ltd./Mendeley Desktop/Downloaded/Hopkins et al. - 2019 - Transport Variability of the Irminger Sea Deep Western Boundary Current From a Mooring Array.pdf:pdf},
 issn = {2169-9275},
 journal = {Journal of Geophysical Research: Oceans},
 keywords = {Atlantic Meridional Overturning Circulation,Deep Western Boundary Current,Irminger Sea,mooring array,transport variability},
 month = {may},
 pages = {2018JC014730},
 publisher = {John Wiley & Sons, Ltd},
 title = {Transport variability of the Irminger Sea Deep Western Boundary Current from a mooring array},
 url = {https://onlinelibrary.wiley.com/doi/abs/10.1029/2018JC014730},
 year = {2019}
}

repository: DamienDesb/academic-kickstart

repo_name: DamienDesb/academic-kickstart