jK6P#%qaTF|mBJ
zI`5zV-sel|nu4ZhhZ>XQ*;D_K~CHk476a?{^4ODBTE_CL-a(0pT7j{^9Z?i)LzrkYhpOCS)B3<|*HhdYTZrFr@C%Yq=E3ilE%AHno7_USesFvJF}LfFXG=;9
zg656M@8%Q??1+-n^+UOW(;9FZeaz|F<4(zn0zrIs<7MI%7VWo8ELhkvii?upwI})Q
z0KY3w@%y$swFVG0Z`}R=xSjeYx3G{q!R^~maSKOgW+8*9dE+PFt;!@{c_AOl78^`j
z8x-#xc5eJ4vs++gX;CF%ZoHRat&G1=(FNh9MXk+Z@sSTXheQv|20emy=n?b~j-W?$
zpxv$bXgl#cy!-JshUc%h@$M&Eo9SQv>V11b@YZyKtpRhmb>r{Equo}Y(Q36^q>q%N
z0FJ7UKK?ba0w?DuSTi*vj&gWBVD??1x?9&`;%qWhqCq$6D
zOz@b5uM!-P@F>Ak>`5YXjo`3^$L>SFl{`f*O3)2MD~u}16=^Y7$(ndBr5lpdU#kbr;3UX?WtxN!_!Zg%3CNmw+Oz
z%k}4=d*LSabTK7QSuAczn#h&xr1d=@2mje#%=TgT3QWWG=ZK+^;F~UXtn@FfimSTb0WXsJfhjn$K^HQUlDL%;FX3X{_H8wL){
z!)-2Tk>;U2>8iG!t1`N4?N)~tyV6?hb>(=w;VWGYch;Sxu3vu%D7XTO&;&K5U5aWb
zLi+bGN6>x_x|xUVZ6Kr@N__6?kvN-Qn^d2BVK43157QyH0&c=hTP_92z&YJ)f;tFW
z;)oGPzVvo(;Sv0$uaBJHYP|(0H#imsf_K<|Q8?-JV_(v1G&NNjTWTAPcDvP9Us)wS
zZ2wZsiVmmJB(S}(9?4;)6TjaJZ0l>&(a*is?7-lfNv^4hfAT#G*Hj}u`-QK){o*G6
z*N27wx;&f}wfvPs{_0J4jyvZ8Tz;KQD)U1@{|9X<_@N+qeJBY(6R6;h0$T$7
zO5lQ*2uwgrnjGIZara3k+GG;}YC`!Sb&nWuO9r4rO$z%4-g=UOF4@2&HE`rX%A_Da
zR5VEzpl40q*thV`lPqLHc>YNtKogsslMGZq88%j*P=>2=2vKUFkX+SZqk|ye*Ah|(
zXl#@5{UGi?DTqud7pRRxrG#ELxwLQMy{DOY`LGGxe_DMROnjf)n^4$gsgd9^b5RRp
zxFfk-1;4Gd-GuiEq^__h(qd}0Igef^#S!wZ!NR2n30S)d*4DDEjqO{5F|c;`Db~gw
zvo;FW-paNX*tZ5_VC~PIVl9wuZTz(Q8d&?WWbGtb(&7}Hb?zMaeJ8Qlu7y$Dnfz&0
njdTo1xt@ev-Eyi^kC__-b3e~E7tS^ZqhRhYzS&$j%iR9~&e*Ai
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_connection_manager.mpy b/shared-module/adafruit_connection_manager.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..002d5cd8538342456ab2f6a200fa11ca3a85fb73
GIT binary patch
literal 3541
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
Nl4q89%aU$c{ss*jf`0%2
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_dotstar.mpy b/shared-module/adafruit_dotstar.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..d41fc8a40f71dd3b68fc806f75854c9e89f289cc
GIT binary patch
literal 1467
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
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_ds18x20.mpy b/shared-module/adafruit_ds18x20.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..1cf8806c0a293dbce494a475a0b3f7fb9f54f13b
GIT binary patch
literal 1650
zcmZWnOK%!i6uyIb+vc4cjBzqy2*yBwnE!W~(tH)~?OiOy_F;4GGQgt=CwB1kCA*CZZVXza;V
zvCa)rcm^fsT1^!GU%e7oZR{F7eVs|7k)|L+IYi+~aksX!$MIrWKn|{0E=xiafZU)x
zGgoR=5C(t!7T9)*dkD+IZUb7CTati$J&z#CoMuHHP7;dcfee|%ot6v~0M@fNc?jdH
zNS*O>w>3`OiDiGmwJX*|S*+K1q<*7L#F}z(kabY2mjaO=3Y@fHJ82qo+$}-UM#gc#
z1@H|Kq$LNJU0L3kUtI?tt1P#cUA?@Xy$Z_a>IcQMI={BEm|tI5Sw?{Yehn0konO3M
zK#2=!M?(^Uw!DY--9~MgDj}LnH5rDbEnRHMNC0~U89uAZa-;c4B5|`OS6ihxFYYEz
z){(e;@_VxV6@JlQp|%+9FF^=05-glw;VdJo-bBopbaWC94TmwClJVrs#Y<_kF&U?)
z;WZ@VnyOF6FQu(Iz+_CiRMHS$sPm#E3A{}9cT8$KCTn%FzgluIwm32*K0-h4EKV-9
znlf1u$e9>PC*jaBQj|!Vfr#jOpE7y7Sd-!Vk`?f1f22QuQWinmZR`lL5Jy^TO!{Fk
z79qAt#U5lsvBf|r7RzUYL6(&rI((i&IHcsphwzZ%&_{@IgI|yJ1;t?m+2l83W8rEH
z{AO%c92T%y{T6Hi|1iiS{$V@}@+inQ|0o_UT(fREC;wuzg=@qXMc^={!&B4{j!=3W
zjp-@Fwutb@@D^cc0B^+C4ki(wRVSA1z?tf}#>_;($JhW7|tFsR+NA^Q|dAmG&
zXe!S-FW|VtjuQ;RPG^!KQUpE?uMS?H)8}?DLz<*Uh_#D)>}3pij4|SI#)KyrGY&8o
zOaa;om|%_{KG=?8C(Q(vrEqX6ywG*KD9a1>%Wm82b{RX}l&Co|v^`@P#H-0MtB+Q;NLRG&8PA}@{Jl2^uk!q%
zIpFcpX{9td844vkuIP(DSS{Bu67>Czwr2v~3{lAO
z573{)884ktz6ymW&o2dHf%%!X+jC|4xa&FN3IoP9f3;N_tn$mxzBsn<1RJ&uJa(@xu4gb_iuTKIC>2}
z00;IJ^oqUK4IKP)_iy#>)8p>r_x%2J+BQxrN1<>`;yHz*D^;M8FTj=s3fWptYA#o0i5Dium$;)oG<@
U<;U6n3a?wNL0b8F8(8xH0;_4|J^%m!
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_ducky.mpy b/shared-module/adafruit_ducky.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..cdf7493cf94cf22992eaf576a006327248414723
GIT binary patch
literal 1941
zcmb7@OLN**6o4=I5l6w!wNOxB_uAq0dF$5mt@$21r`fRlL9
z8SrE}-F4Gte*})5Wfx78P5(gSMJB8E2XyiSdM+}ZPN$n{=IA^3JnlL7C5)m=^`RM~
zVr(_{s%^cpXFk~v@9v}XW9{mWg(lM0zS*c)XzuTj?P?|bQbsCBXe^mslhCN7h{z=?c}Xjv36)!w
z^rDJfL;=!$gP1KT2otrhxum?nsU$ToAY4>+PSdg_G*MJ-Wf&3}5_#&NiEg{b`V%l2
zDNz_WiGJ!NDq=NxH97Dy{ekVK`Z^j;EQ3Tru7bosu7Sisu7lhFxrs&-%U8&6nf#)N
z%B!3J{T4VLQIb-SG(@RfF)tyC*CZ~DXjo5P&t!!(!bI(B(`l)!a-yyj*ZSj$f#Oj$
zSt;mwL6al}vA}F5V`nq=pdatbss%Z#KtmA3scJ?RxV~X*O;UiIS|qmgJ$u
zqzsE6ECh5L36FxAkhhVm(L9GXt*TUcFtdAy?DdwTw1$Hc{6&doVdnjiddsTBEUxJUfkg
zqur=iO}*Yi6JD>FRiw-4z~|B=RpOvUO(D@hXl7$)$Ea6YD6(|zz>T-6HLGsG6Y1`B
zOS$f|?j0AH+Ex=C%#PgNZnt+^w<3|p)%Nz@W*BlKgIgcr29HgsHcfbR>VA70iuLy{
z3<+rDT>sckPmOYpjEho&D`pD1y_OMp7yYq4{83zd?s(+wFoDd>Vo~smGr|AyRlS|u
zl#_LK@X)+tYIu5x9V#a;cJK&{MyE&Ek#Yy00ex)x411=WqDqrreGr9m%CUjZvbqnk
zj~16EhujpVHUa1GIRY1U5sc$;f(d+{0OLsl8oO=K1PuPf221cM_Sm>Ua1l@0m?roP
ze{SOvffsuTF5}AtGkAu;hkXQo>?fGTvjhPgAPC|h!5p3=2;mUHJf0_5zzYP6c#&WU
zFA;=sm>`0$*oY7;<0!#Z93!~qa}dPwb%GoCCc!QI1;K56$Hr}fFY%WIckx|<6})1D
z+hmPG6k$H*Wci%wIB+4F|L$JL|AKyTXL6G@G0#?_h!vs^R*O2>^_)5M?e@pvfM9Kj
zQs*1Lf7TD5I6oT>z3h3!qn<}vKs`^Q)AOw6dY&Xu21$XW>BomS6LYSH-W=;`-`iKr
z8dl;CCX3a$<1M}YD(2|C6Xl*e!Q@`W9c6wh_i!U;{&2;*uUVb%SAs!)CKyW0X+ghV
z2#JAtzT!>r$-qKnfe*y^zyco(Mddl#$>ihc=fj>m^_$3RW-`=sr(xo3ujEd5|9Id@
z_uR?Xd=BdL+;Z_XnC0&84?J?}LW!<^5VbP>H7>*)#9v7TFG9>x(Q9VF-Ry0z2!)f-R_Y2&@95Z?xE9Fj?S*mtOK2x`v!3vjXb>Hq)$
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_ens160.mpy b/shared-module/adafruit_ens160.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..aff3b6d298e8ab34fede2ed1fe4bed869c4253fa
GIT binary patch
literal 2473
zcmZ`(&2!t<5r3p83ZxhY0Oe;|Vr>{8DT$#e3Z`h)mJ{(Sl59%+5Ghfu9S{Uy5eY?d
zK+vuZnE@HwqvX)0>Ew``)9JAX%F~`Y(;3%oFFp0pQ`_nPkaosBb^%)cm`O3f+uz%_
zyKmqA_95d$mn3&kl*M~mU)2Sr-CIt^W8Gu)E}^SO3i9-HtuN_lKn)IOR9+Hf<-RH@
zDE!K$(eIrpXUm0ZThxws$3FPY$?7WyO*vG1x}wF*a4*BV%lm0nNA7aL6#VzwHektP
zS@cli|C;m=kyRmMve4DlPFrjtceM=w5qa1adGzD1+CD_yyb3wMDmzvP%1?ASJs9?o
zbBoU)HyljuAop@C9$Q78+|Djk207L?;Y&kZ6dn8#M}uv4ToZ3s)O10W(X7-`L`{%7
zM@M2?M#ND^RuCaH`uC7CRoX&CWv`Gygpw)n2%GAAiYA*m$93hX3t8!XO)=fOkdbJf
z0!5nrBUM)QzD2Vq(wIw!MK&|jSN{`yM96bGYSCl?M-nI1RW;&flLCbohSbigdduJkjiGuLN@nds+zB$ne9S0C+y~Pxgw%1yp_%8(Ck=UN$q4)p*8g(4o(3UOeb-v{Y7+cXipP2r5*>3D0}nL00RIJOG)C`0KeT0LycT7orXqd99C!K}^FY`T7@nyov#}liu_~h1B+o~R8=6Rht>i2Y}p)jx6kB+g){!0ifTI@%e
zjy7H#Hvr*CCSq}jeC=v%d4-sW$5x2Rm1RB_|8gz5ZmS#qa5x&}`8@l6w3-RZpL;ou
z3*}+Ra3RSk&DpUX#tA%OkdBCLZZhD&jst^q0-g#uu@f*sx+3;DcYwe|z=d6)nI=7;
zc_%Q9rvo1B0gV^z-wk-N_h56?AW4!UY0?*Q%*_NyOa>@S1!znMeAoxJ=fD;R&f#-_
z&ja=c&g1h3x7_>G&3|Px2e)i@$qV>>4&e_d2W#vmYZx;So8Tu;ba1Wc%ul|IX~mcD=p`kGi<9V2TBJ
zHb3{t>vCPLpInsJPdv@_FNkLSW2RZBw($-*iwhKCkaG})p+pnuHS5;kQtb2*6)=*-B^(sxc0wvnHUI!a`)Q6fX|
zg&QS!-g9vF#>hYa&B(vN@*_WNHCVskiPVfwnGl^deeE;vaT7_~0jzW{crVwCArlJG
zw?_UbecK#fuMg|n-YYfZgjoo)#^%V!8G9q2bAx_%IunB#yyVg#IkX>??%XX&Ul5;0
z;x*%EbtWAShm*$CB`zHbC$FW8&qluG?4ONqUqv|gho^5uAo)khhgJ}JV&*ED0JEe$
z4(FdIgRtQ|8M4Ok-t*_r%MfcN+aJwbF>7(xa!6VZ37c?xE^hzhpXiThVfb6l@giY|
zBKhVyd-XSaX|DY2RI0h$*J{SE*Fh^iEH3+3YsOP17z!_j!oiV`eMYCDKricjRt7o`
zMH%mR3ajJ~VYi1>7#^9!<7#B$zh+#vX8fKR`L0WY<}At9>c;ahn>(d*|IC>DO#*-5
zeI05}Q0|4A@fXP92IqXiP5oOM6j@M-#$V}=PPwV?IOl&j;yaVy8zrerxfg53-@tl}
XbG-mAS(rDBzk@0J5Sq1MCx?5$4af7P`ka1qP
zn#oItrcHbK1o;NDA(?iwi=^pp_5rqOlXkV6Nz-1^53t7&sBAdD^ZcLlJpXf!6DD+X
zzR#C0@B@6c%GVx1npqax9S)c0^u4
zZ}rkPwyRvB9c(9d5Y_GVP4hiik1W~k%0~jS%C(AE+C-LU7#=i!r|aRJtnL9>tAY&8
zkk_HNyQ+fgoG%n4gmZFvn=cAgL~Z5wdXuX#x7SVJYKZ8loLB%9OFM!jgWkg$q*izH
z6>hJFoLrTc1fj(3iUqldT-|9=5I2i5B<={Mf?f#c_@Y?R$-zlNzQ7goavm|ek|+zD
zT!adGR4mD5WED#stU|Vq;R2$$()L!*v9(f$v?{7u+JNw$!!Fg3t?TbSiUSK$RVJxn}ErS5a<%gJmSd|yq|spX|~7DaB);uWb}ft}aTK52qeMCCeW+7e5M
zYPW@RDF}OLKh^(sQI;#!HzScvQ7&$8g!%GTqCN}L*a5Fv_G>lqYX3Fduqz2i$mUa8Y@5uyv7kh$V
zqb9wG3VQYzsF3F%M@?m82)D)!lr_U+pE}(0*2a7;6cQIc4<0%jmd4Pbt+?>a-TB#X
zQ(@dnMeK%#r|wnaMryQ;6FRy8_jS1CnLk=tSqb((oI#W=hEZeo>6jsoQEnKGFnVHr
zln=Nc*l+if*JGwOO~(dcWb6z?%x#*E4Z;|(2Owh6DZ^iDq<=h8usK^ah7*1!puDS?
zCw;y`F!&7q{X!rxN%U#WxIv|dnktPeDs6A6G@*nrl_XxNG}$9Zk8Yf(GgqTukr%H}~^;>d@nDJt9Oi)ReN2zt@upJ@8e^%TIjzyI%hFN8%laukRKMhZc
zVTkx~96M9Vp(V$8(=krOp;H{w@SDeT`vx}i;S+6t6?~~Ayu{CmB>?4@WK#F4WQcCn`y{)=pK@(OSEzarm!F-e|4W|9JHHr^J^ZvuuX1FO1mSQKgYv@TugjGfnrF
zTvT|CKb*Kjd7{eKxdp}>39qP*u{p$s&>1n?*+Sf)EVAq8(51NwO`5Cqpz(#~@V4eK
zw$s7GvKoId9i)8GIpsK)W5TI$r%ZeAi6!V}|23KN8qXK+Lmf@8qv>_doBX3ei$AJ-
wc`Tzg`
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_fxos8700.mpy b/shared-module/adafruit_fxos8700.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..95562fbb6432971dd6031b620c10c4ec737c1626
GIT binary patch
literal 1734
zcmah{O>@&m7+%S7VoYLWS!`2m8pR4uqBydVKjHvGaqQSh2!X^&Xr?e5BP+3nV0&bl
zkW(e&VSpLvsb_lVsa))seq0l1`vW>XbcRl+hn{+X4*Yogc1{kDm7t2U0-YNmE
zA7v#;-a=}&uqgu?>yj-?;5aa(kSb?$s1gG-+Ex`!HlYJet)x=ZOThOoq~+y8D^DqC
zMc^n_G$a>tpjRoh`s%E4a;Q~C&2G0HZ)G!HL$4WE_$;
zSq1$#u^?-0#+=*23pM9{9yr=t0WLv=Zp$iOZ2=)bAv}{(5hE7G6N%}0bSaJIGgC-R
z|2q=?Pb8KG5M7F=(aN%^0V2vwFJvw+Wl(x4zB;?ShBC|Xg=Bmw2|VwLFU1$q(`N1W
zIIjF2$921JXSaauhN6{0U_4?FR7owCWL4V%RaZA&3UFj|IaMx~0X%#rMfs@p-OjMsg+~W)Z^b>kD0M%)^L>pFjzyvqG5x{#@X$qndc?=$HaC->
zYtm!1pC0Eezx|v{)013xn2?+Gev0-o&c<$(toPG(#`P#lc#ZT+oNz4W8Bi8UuB7@yK3-9yKKq
F=^yO!@6Z4M
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_hts221.mpy b/shared-module/adafruit_hts221.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..baeab7bae0d5a30afce9a4f02220a2ce09606921
GIT binary patch
literal 2281
zcmZ`(-BTOa6~97&kRszKX
zkf#++TD9>^nEVCFQ(qU`X`h>q_8;h5$J0Lawc|{jne?&euK2Pi8ENPI?m6dozV_Tr
zb)%~roqAknNx>iLn9^Sp(-m;Rg{k*@}9#3
zxz&wIp}xPa*Bi2qrcbGLWn0yBrEU?mw$+`xKdYSN}r;Oa1qC@4#wNof6JBU#=>Zz8{um@tLt$84Z$Yr%gK$V<7$X@z!LN=bnMp+bPImQ;No
z4Z!$5K09JM69pP>)DLLMr0*t-fLurH*p)T)3yaDCdB3awlr?cF1(
zOm>ZA(9TkAtlnK9>zUO&a@gYV2bHtE;B>nkwgmi7b=TTD(P6s=I`=CV!C{-|=}d^x$*%Fm
zf(jQ!(5u1&wNet=DKqm!!eX@nXL_-OY+8u#jqIVWfz#J1>^3xAC@Mlh*rJzs3q3AH
zlC~|u=nteLp@^9CPj5WBG@|^W@AJOWXAY(V&krM_JyFlY+E`X-j=f-Z|1$<#M6Ev8M48yQt`=G~n5nuE%
znDMcg1z!##d3_w_HkV!Z*@b_lQ=7}S_x;Toyy!OwUdoGz=}UItzPxB-Fx!{3W6WZ2
z|FCV!wwV_@7#@tgB-;^-|8{z-~PsN;;~7^d)+1tS3CRuNG^2@A!kdCD@26kfMrQbhQQ
zXv0J79kBz(cnzc-s3{0^mm|`XuH~9n{6ZDucInm@NOfG5ilakyFvF;(s_($3gg-p%Q
zn%q?Ch9p1AWCyNE#y^EnCJu@g1jYMml5!leO7C{*M~c^eG73}s6O9!)Iel#&4kEkoS`)RtHlu$`9y
z)RnDrQC3s{-z^)8S`v%Ebw|++;7*tD7Ql7+{fbu
z8mgog0VgS%gcFyyje=SdI+#eoFv`GvCBjAC1cSV$$s;eaORF?Sp~
zyO_?&A1IQHDapW9R&ik-y&_4nt^;@ma_dD|E`u?>pgs_aO1@wSO6k4|TtZ$p0Hw=D
z$BP~1iUE9vn$H*Iu8+c)uIbhd(U3t8CPSZjb>NBGcj~|=X)*=~c}=a9!C=?xvO7?F
z$1QaDMeVTO$=iY2x4r7tCAlO6cjseAZPUutHF_$z?G`Xx|D>{3%
zHeK`jtXT+KVoA))8lbuZz>}#(w|a5QLGPCM5HCsz)P_>9+nF4IHWfj^mYvPATxHQH
z09Q^lL_l7*X0Kn5M)QhMsAMCOx)nWDXY|IYOcy(budT1$67DL?
z%4(MzIf9)xHqQHIHVTT)6qT$dYTJy4g{o+>&WOw_CmA*So-7#=Kn_`)Fr^Paii%|g
zxSVs5IcvGBlG_r5#NV>^pV*f7lf2Xp`p#B`|ikFUndqflf*qZjNWDedS`qS#sADZS|D9rVv2^AJs>q>-O7
zdpks6gkMYq%vgpAg_kGC$EU;85_P2!!$}TVqW$IKGV5r6nOJVreH4F_T4tRwLT=W5
z-d5d5HxoiD_0{KzO}2-=Q1^P{MBRt#UIbq|u6ya@y3d!Aewo?6e(|Qcl$o-g@nA5p
z6im)cgeF#JCMJSWj;ovLK=skd(|XnZ?$>Mf_kdbyG+Qy}A$80Ce%juB`G@xIaqZ-@
z-?8M2#7*JP
zwy)K&9mhxfZPwLjb~k&0xBq^$XFg9X?*(dwza3HJo{0@J@bSMN#YnvUBw*(LY2w8U
zRDTj9pHbwK^PbPBTF_ZnKRDJkIa{&f%_}8ZUN}Zl$
zJ*V+z+;Py7Y70Cyg~PweOis_#>FI`b42IHhCjI$-oennOOcR%Ykyf5*jQs7l=9!xw
z4D;qL6UH2HemHw<4M3``Ez%J_x@!JD!$fDp&IXKTn{W=lSF#6nnzNwu$E~>I5Eo)|
zjq$7IVVCRhd9GEQH#1C
literal 0
HcmV?d00001
diff --git a/shared-module/adafruit_ina260.mpy b/shared-module/adafruit_ina260.mpy
new file mode 100644
index 0000000000000000000000000000000000000000..e0c38329aca27059b4a768675ea487a0aa9ab883
GIT binary patch
literal 2468
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