n+eaZZ*Tu+N*P3o)rO5>
zIn~UkhF}7egU=TAzRRqZ+q~&C@@W{j{_c(M+w2vRYt0&Hi5JhP|Fj)o2_L5*M-O-i
zgLF2}wkCwhNreD~X!y{-1yqt@QrGgTy8UJgHu(z5P8c9Cdur6ec_a|JySja;9ZEGA
zBV%J}sQ9Axg2g6iv8|?a3aYCO&IFD&yy={sovG2uhx(dc7nT?6173X;Y7jv-69h0Y
zFvVe~B*!fyUGtflD;JL*oZMgtL{+#${SasGM))c18>DMX25(`$(<(=T8wlRy~=q5gd-Wd0w{@jCC%14_>SOHTRIP
zu-p52W#h$Bcy0mE6E2ZAW!+sd+)NY|P1)47nlmT>S&aZhk2Z*_r$kfa$mX??R4wl6%GnftqxZ)ziWi+%
z!t+YiQ&e%nP*i03qS^%}y6nCZDpkroA)-L8P?ace1{Mf}{_VQ$ojF
z?ccjSLHsb`3XHtaPS6}t748oK05o&JJdK{$E>5RV8SmIGWfB3KV*<9+{+QT{RuCv1fJXb8j
z`H(7Y`DbV7J#1_l((JX`L-ne~KQAxX1Oy{R(d1UEbH}+!E}MKq@#MpRTF4h;iWDqz
zoACK)GJlwft%urOD!;~Hv~gN6JU$*>t11;(?QS;;_u%+ww`BIaR#hhW3zl9@T2vHL
zgZ?0of0G`LwzpLiaau;K76Sj+WbPDYF|MSW)s$L#YWQxFfGCrv1&6Z)j8PuhCegHF
zCP%1iyw%+-0u!JACV&t-!5esy{Fw_23uMkb1H;4E#LLT}8H~+Y(6X{ghqvg6CI{t-
z4g)a}G1QD>h93b8lP2&)GA;0&LLH4>dU0&B7VxDmP5uetVb0oXucC}K-&NbqgWepd
z`06ek!yFtxbZh+Ho{v$8g}TJif6zzKYsy__amT~Hpv&A$kaPJ>N2K7CDr5#zAnMq2
z0ce*x`roea)!k;t16(+qx}MtEZFN#Os;eqWL&^nIvn4;%Ie+Vt+PTwre%G*HjqMJ_
za6CF&BF^6St>*_+sglK3_mj+UUput(QDib}
zam?j>xFkB;uj%Ql%9bl2UYEFe>GAo+<@h^t49=#GWN#nTz$=ntRc8^gXzh01Hs}z4
zvxjmG8!!JoB1sc3Rwo1lU!>YkfFk;r&|<=rtE-??DuMHm6L!M8o3>C_;L!-p@W<(H)Jv1a=o??I?ig
z(Qb``tXme!TsT3Zv5%#$#dLbd1XaLRW%X(iH??5ibx#-2CJy4xvWO6*fg(A
zjv03KG&N~N!TNZ6V{S$g=v!EnjGtkp%1OGpHOV`y0t6E;AH7R?|}puHf}6QlXECi~2P`E}vBTd^|nBz?{yO
zModI>X3*jB*40EMRiJ`FMs_(@vAD3HqN~dw=qQR25gD0yxo*a#uBRnsZ_m=)+`MAX
z1yp)BKGHr>(J6!8Ws})^RQZVsBu-e4O14kN(`sH^t%mZeSsCZ~86smfuL-k)5ry>b
zL`b1~VWTEa&YE%bQHa4#lXsU}Kh&0%)kPyjvR$-nTlu@|biLDQXugJvQGjLW8Y}61
zd_>#M8tTf<`~}^qxU27^k1IYG)ODafpNXU=i*Hu^<{}leH?_-1`(YxSsR>+cdEjr^
zd`K4So-yJp74T2%n3zh&+Ubjo^zt5g@fra{GJASl7+4s=_TKbL$sS89^^DZ$0_5yf
zp_TRcgAgHZ4K8lrLaEMH;@Rhi%yzWIY!EG7c*n$V)(dt)z4N~L#&E2Ix>WsOl*|ml
z$lcwoF5H@*`*up{%oc&@G=V*~1f!9l+bM01TKTQJy9nyB76V9VRosOQZ7e$Fe
zHT^yF76Lc6i}}B0fEu3YWB$n^^+98i=m&W9TBQo{_K6a#5?&Yogj?60Lb-3V`wkn3
XA1&DpOLh<3Z$imRDoNCenFRj_IUG?6
literal 0
HcmV?d00001
diff --git a/doc/images/ot-contrib-nanoleaf.png b/doc/images/ot-contrib-nanoleaf.png
new file mode 100644
index 0000000000000000000000000000000000000000..ca18d20aaa1fcbaec1024622a72a75b1722d9240
GIT binary patch
literal 6692
zcmZWuWl$Vl(_J9AySuwQEV{V6JAojkPQ&r0%U``EG#aIL(o8Qhu{$00_5A&
z`}3QsJGW+Ps(Na=`}8?y;&ruEaIvVc00024nyR8cV&6k7DGW5kxh;*<1OPyac2-c(
zRZ~!4@bva@aCUnO0C1#)rbwyw%hC*5Ta@T?F})}78_|_CBOvvf<065`my??N3A9~f
z=L)lM@+C#O!r{q-l~G`5EnaOT!#&dW!EW&Z6YC2+HBEo?nW5hOwj_5f}gSnG()vX49;n+@6Io7_$Hy9Q_tc-8J(kmLRrvv-+rcb
zhJy7b-^o7%gvO~P+dkWZQGBXTBYsQ2L?@MEpF#iG+W)v3Ahd-n!oAU3$CSQ3osDBbrlJ%(0BAR4X5m^H3#6gn4YR;J^%nV
z@xO%x$o)crxQXtorlo|whlNATM5p7OrU?L0Fsdoa83rt$z7DiBP+9np3c#$29^v8(
zFGr0|2uC(IT=geJCFiPbb#3;8SIQ!h`q$hL*CZfsN4{(BJi}^*&PQ@Hk-pXY3_uo)
zX4#stNoQ)##BZ^qH<;e=!M($Qnq5NuBl1$r3bM`W=;o
z-;p9BMB=>i(-O44xgkQ9p%?mv#;Lrje{qqbEBI~*cDmBwJ&5Hg_GM4+?M7HYa@JEw
zdKibwLo8NYiETXvPm|rToP`3lrB-Ou>>Rp@20f0zL5spp7?C`L;DP^2aOOLzLn1z1=4@GbJ6#@grxwyD6-a0rq=$e@PEzFI*`@K;FgOP#g@BzL1S2NA73m=ac
zYOPg_jmgF*CLkpxs8BrG&)M0F_Icj%4;FBgYV{2aNR#mvdJRF3iu@svCEW@IAOIhT
zyG7Y@Sw@Gk!33taf9OB+_pWu^)w`UU%P%#5&w68Te_cl(?Ci|xzSbUNO-$q|1H@go
zBChx9M+1bnw@XyIR#G3~QHc@6#KZ`Qh@eHm!_WKCot&J?wa34W*;bEY7$>9~ewMuy
z)q{pZK=?SPAPT%vDF~!gPD3p5FBkA8%lZSnl$Wra7|eNm9st_i+mq)YK?YFZprPSV
zgx9RV;LFQY6%`frEiESb*CHsi&G!c>gzg?kr<9l7kE6vH0}xPn6b?{afLq_S?r9+$k9uF^xjf?Y@WKs06>ejFG@N
zjg%V7N%9I$hGteNsvE77*7uUGSITA_P7g`Bdz8(UKg!?m^70D0E$W`EL(z>hGpB#d
z52dl|Oc$x(-#=(&1@~y$?xlk~n&rsB>J3cK7K(9E(`8U>UR2>_5=AD$KGAonYGZ1|
zU7O-g1gzonvMFbzFEJBg{8eu!xdMww#m6;#1MH8EszqngH
z4~1A6_b2kPiHXzLe(!tVWSki|RG$=Gve!r>k#66$K0R^qVhS(gR903JG`yp(2wB=5
zG$p6t$V#t_OwG2fc;%eY!@XweucbjzaUp#ak@P|cK3aA$XL4%7EG{X5e41iUPoxE6
zy}bO_YujL6ZLMwu`&MdM!Ar#bp8eI`0~u}G-e>ia0MjQ7n;Z*0j-aY*6eEpSBRu!G
z&pfNn6<;q#z4p&u>o2Xg`Ft&%Z+xInx7O_bYFVM2d21P-Wa$G4J6l@JS+)fq`@gBo
zHhO>Yixd$ OsQ|7m|)Nj|5es%o_+iHzByq+Y*5S;A*Dmx_V
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