From c5b3b1df7029ddb4adb63d63d0f093c24e0180cf Mon Sep 17 00:00:00 2001 From: baiywt Date: Mon, 2 Dec 2024 13:58:41 +0800 Subject: [PATCH] Add support for opirv2 --- external/cache/debs/riscv64/wiringpi_2.55.deb | Bin 95260 -> 0 bytes external/cache/debs/riscv64/wiringpi_2.57.deb | Bin 0 -> 125304 bytes .../orangepi-config/debian-config-functions | 1 + external/config/boards/orangepir2s.conf | 8 + external/config/boards/orangepirv2.conf | 9 + external/config/bootenv/ky.txt | 2 + external/config/bootscripts/boot-ky.cmd | 57 + external/config/cli/noble/main/packages | 41 +- .../config/cli/noble/main/packages.uninstall | 2 + .../environments/gnome/config_base/packages | 58 + .../noble/environments/gnome/debian/postinst | 52 + .../gnome/orangepi/create_desktop_package.sh | 164 + .../desktop/noble/environments/gnome/support | 1 + .../config/kernel/linux-ky-current.config | 9491 +++++++++++++++++ external/config/sources/families/ky.conf | 103 + .../config/sources/families/starfive2.conf | 2 + external/config/sources/riscv64.conf | 2 - ...chain-linux-glibc-x86_64-v1.0.1.tar.xz.asc | 1 + ...in-linux-glibc-x86_64-v1.0.1.tar.xz.md5sum | 1 + .../orangepi/orangepi-hardware-optimization | 13 + .../bsp/common/usr/sbin/nand-sata-install | 2 +- .../hooks/add_firmware_to_initrd.sh | 8 + .../bsp/ky/opt/camtest_sensor0_mode0.json | 69 + .../bsp/ky/opt/camtest_sensor2_mode0.json | 69 + .../bsp/ky/opt/openwebui_0.0.1_riscv64.deb | Bin 0 -> 25930 bytes .../bsp/ky/usr/bin/brcm_patchram_plus | Bin 0 -> 15208 bytes .../packages/bsp/ky/usr/bin/gadget-setup.sh | 852 ++ .../packages/bsp/ky/usr/lib/firmware/esos.elf | Bin 0 -> 103196 bytes .../system/getty@.service.d/override.conf | 5 + .../serial-getty@.service.d/override.conf | 5 + .../bsp/ky/usr/local/bin/auto_login_cli.sh | 29 + .../packages/bsp/ky/usr/local/bin/create_ap | 1919 ++++ .../packages/bsp/ky/usr/local/bin/memtester | Bin 0 -> 18776 bytes .../bsp/ky/usr/local/bin/reset_ssh.sh | 4 + .../bsp/ky/usr/local/bin/stressapptest | Bin 0 -> 281664 bytes .../packages/bsp/ky/usr/sbin/blink_all_gpio | Bin 0 -> 8832 bytes scripts/general.sh | 6 + scripts/image-helpers.sh | 2 +- scripts/main.sh | 8 + 39 files changed, 12973 insertions(+), 13 deletions(-) delete mode 100644 external/cache/debs/riscv64/wiringpi_2.55.deb create mode 100644 external/cache/debs/riscv64/wiringpi_2.57.deb create mode 100644 external/config/boards/orangepir2s.conf create mode 100644 external/config/boards/orangepirv2.conf create mode 100644 external/config/bootenv/ky.txt create mode 100644 external/config/bootscripts/boot-ky.cmd mode change 100755 => 100644 external/config/cli/noble/main/packages create mode 100644 external/config/cli/noble/main/packages.uninstall create mode 100644 external/config/desktop/noble/environments/gnome/config_base/packages create mode 100644 external/config/desktop/noble/environments/gnome/debian/postinst create mode 100755 external/config/desktop/noble/environments/gnome/orangepi/create_desktop_package.sh create mode 100644 external/config/desktop/noble/environments/gnome/support create mode 100644 external/config/kernel/linux-ky-current.config create mode 100644 external/config/sources/families/ky.conf create mode 100644 external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.asc create mode 100644 external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.md5sum create mode 100755 external/packages/bsp/ky/etc/initramfs-tools/hooks/add_firmware_to_initrd.sh create mode 100644 external/packages/bsp/ky/opt/camtest_sensor0_mode0.json create mode 100644 external/packages/bsp/ky/opt/camtest_sensor2_mode0.json create mode 100644 external/packages/bsp/ky/opt/openwebui_0.0.1_riscv64.deb create mode 100755 external/packages/bsp/ky/usr/bin/brcm_patchram_plus create mode 100755 external/packages/bsp/ky/usr/bin/gadget-setup.sh create mode 100755 external/packages/bsp/ky/usr/lib/firmware/esos.elf create mode 100644 external/packages/bsp/ky/usr/lib/systemd/system/getty@.service.d/override.conf create mode 100644 external/packages/bsp/ky/usr/lib/systemd/system/serial-getty@.service.d/override.conf create mode 100755 external/packages/bsp/ky/usr/local/bin/auto_login_cli.sh create mode 100755 external/packages/bsp/ky/usr/local/bin/create_ap create mode 100755 external/packages/bsp/ky/usr/local/bin/memtester create mode 100755 external/packages/bsp/ky/usr/local/bin/reset_ssh.sh create mode 100755 external/packages/bsp/ky/usr/local/bin/stressapptest create mode 100755 external/packages/bsp/ky/usr/sbin/blink_all_gpio diff --git a/external/cache/debs/riscv64/wiringpi_2.55.deb b/external/cache/debs/riscv64/wiringpi_2.55.deb deleted file mode 100644 index ee9d69ea0fbb1003e6588c7575e3b82be960d430..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 95260 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 Mqa@$S_^O8AsAW-o4~M zpL4Q|lG3r&me;@7-#qLq%f(h-W>6%%qb?^;!D7>m($w8Kf^#_=02W_l?D@zNlKBIUdOz@`qLHYn8jdEG4kQ78GgUr7G4vCc9#gmS;rEy+~ozZ@DVpwqJbdQq!G=EUpk*4{}KsY6SN?kjNcbOoq*q7@9WNT6YjdIpayrI+z0ngK3B+FS?Z6T)uP1Fp<=dtBv@atsona&G#4o+kHed; zM0+)$abK=9?yoKPOV;qBbV^Vl|KB`t`+c_gzDugWS?$6b+V%_?6a{foti}Wdn_lf1 z<0d(s?3kVMjg3Y;AT9AFQSfl`auzyO3q?Q~*?XdsKC-_0`_~$mg!%%!oboq;KMT7v zQhw1%rk?U-_3v(^mFoESfB9aeJ)`!l`Tj2Im?JL6{u&Z&`fM;dI*Lq+w!Uy`F@%DG z;G3FD+Us*Ff3PV)-~!JLkKt~4l`8E>gA)DB9lR?YVRhI9!?(0q}Hty6;o z<-TvM_zq6Y5AxKnt|};bfryPG`=V(@QqO?J#;f4qUR@uKe=_B5>y+5l@NA+z?P(*E z5Du}?^j9{QngST?CQLLg^V?Nq0H|vknqq6x(BopT!jkbTZOt>(|Es`jyz>80-=PP$ zt*5GrvbU-~7Igk6O*j1+c&tK5@rNR?E2kddjz>ZJWE*d}*OsU#MHJdZSx+UCze&>- zB8Lflt!UNYWozyH8we?XgWioHNHPzFi_uCu(ffynFu*{^5JTZ(&3-vuWNgYg0aJ)6 zwpQA38{}QqjwZ{}88t?yV0ho|nKZq>aR3jz)1T3*G=&PLyqdIVM)T9Sy>%Hq5oFUP zT6Zf<#4Rr<1tO}zcF zEpzy#{PrpdPOxi0TBm=}2dI9zoxwVHO)#9B7RztousaENIH>~75hN09RG7CGDK#p> z%Pm;KZT7U$SRV-Jj;ZgGfHY!;E2B!=b+A^XsyEhI5QRQw7iQ-m%x3_wJbMq6f zXsI*m64ys0)YKIq00bntC5GLj@vkP}5b?9Fb(f3vl8CT(EeLJzk~g1qR?VFFV|sx^ z_5|U*bji)5(GSSiJ&5dmgDm5Y|A)PrCrxfdE~0r`h-a_0>l8>zyJVr@9*NSgLJpDSz2i#ZSNuKxhH8pQv*9<9yl*cnnQ zV@e;ZMmXF45*ZDt0IhvAs)5Gf$pGrydZP;}$O=D$>R2ha%HbLD7SCycJ>gR6XpVQ{ z^Kxevte_kF#XA7Y+N#DNp@=aqI)0eLF| z$vfC)FCQdf)>SV7X+ogmS1pQhaKdjy+CEJ6d}oH*veDJuif$s4!3^5&?}CV2^t5em z>uy4!{{(u1r%mq1ug`VS1~dV|vFTit@eA;0 zyi(>5#1UY#c|LiwT8BfEM=49|PU^CM_G%uIF$6*FfkuvZfTtokn>E0-)+p>sKmQ8bV z!E;yR3p_RXpN>^fbag+XnHAss=yR<&fNc`YWl3@aqZ2=T9oK}P>M}1yB3wXvNf~(} zTiEHd6fy|_$Lv-v-3MGYpR~+v8cn^OI7OPzey|6)lNqp&zI1w`wEneSYeO|GnT~bJ zyt3v^>_dpA+w0^hRAtZlZemcfW-2=$vxsK+cS@w0xEcU}xXenwl)Ex~rb|5bSKshF+~+!Ec?%n{-1 zqfK_vOce@LSi$+QO`?NP6ALD-U!|(MzpsoM&ed5Rg*RxA1e2X0?&QIH4W)3=kgap9W1JIL-McBUj|Jss}>NLj0LYikiTnX1&k)T!&Xs}R*87b^Cl_yb!(++3d zH=!rtQ<{O7VqaD>+x9gFzGX%exB*mb&SlaN_J1l*W!pl?K4BdxaxiPp)1A!>WICvu zxA?o9^r~q`+TNN667V;&N^!xL*ilh&+571rDNisrb}F#>f{F;g%4PEqN$~#^&bc_v z0t;A+#~f{kOXJxkMy61;# zW-4c>3Yt8j!iar{X3zM%zUbX&c}X1%jrre7hx{ErH?=W>>rO8n{olV>)6;#H#)2hk z@hmawrHK3oN^u#JhYb3Y_WC+W*7|vRkEew50!V_K#>pE?6#nW;>!LNMuxBEE@++ri zBYI2}J@d%LMTL`#*YY3A3DCZ^oV+IAF{B_M6VT5jU@@|9TJOu1taYn28;Rc;h7qUeX%Ee||0wKI5S3tCei}zm2esfL%^oC%*`F;zlUe)p&GnGxi*-08 zWHN%;-7Xa?6Fb+QJy8dbinw(OE|<^{EHDNiv{X57C0eQ7g_M2Bf_PM?M7q;^7Lh*~ z{IszRK)3cY<@WKsxpgxxP)7}=qvNDmBzc!ilx*rH+cyK^V#K=sJuxi95_GD9HFD3O zk`e4tk7_e4F`SH^ygkCXTKPyr%4FV5PR|_R!g8q-rTBLuIUobLW3(8cn}^`fK;E2B zPZAG9cn;*q+c${PI{u0cgq9-eV?xEe*mFCw0ThW?zl>;$g0|HghPtr?@cMo zaNf^)Ad#Kfh|MxwpaLjtG@gK@(jvV2^$hux zl+ftGX%@QqM^kWkD!`L}m47dgczGrW{X*u;xlQ3o#a06ui9w#QvQ--nyjRL!jEg0Y zie84y=Mc@}=g6+0UM50?osZ-K-aKCJ96G+Fw`Fz2N>v_(tj~wrl|@8|lgn>Zm3ylq zuFX$h#yD0tq1KxTNng~d=?#hv0go%shw95yEuP~Nu9kP;(|`2^ z%sYmpV~El>PQGH&BP=}aJ2UEpK(L7NA~?S1@BwK z`sFh+`{>Q3?CexSWWG4b%|NY=w*iu3HP`Qx{PF2v8*~ZI{$mWftbw1(Yzsk8j|Gbi z4r5K|wL~i*J8jPSLVWq&BXjzW#gR;dzqG*@<(?ARua^mW?Z`;>_+ZzxQM-C8WE6AP z0Fac0-DjE=t^|kA`m9?cHJLJz0J}^p4?p8uzY{+kQmQCnq#ycSPu9BL_l`&FE0Yd? zPA)Lpl#Cs@^80I;zB7V%l%7utm%NkbB@KKS$=@rF+bo*aW-9ab&K8=rc8csazLqS9 z>XhvmCxHEPKj0{a__gx$ZfLT2Ut%8%qU_y}^1K)`Q2qfA0`t-F0II_I?DTUu?uoBz z(U!4ExY?}UO0^x*-69nQyl;jzkuA|un?xCa^5l9J%jZ*uzxcvuqC?Cew}?BNCiS!2 zFL|Y119O)g&W%o&G;EMXoE6RyVj&&m@pT%7tJR;4nsmV#74urJR_iL2?Et>!UcgAI z2g%W>V4TNS(Se)}dBG7cazpgLjmFSDaFjN z))9f86Aj(^(aKu8oe~*e-zV{Msp!DTq z$GlNuN-wXG+0`nsKfyil(|I8uZm=UXhUgwDRM0ZLAtKhPQjg{W^f?Iz2dC%-jz17qKwFHp6^3NXJGGOHy+ zvzz{pZO3FLmDZi`b^GIwYsefxo)j4jG0DOw#+O?0oZOtNi-yAw-7tFlAqmOXgv3sW z^4-OM`m<9$62nm6C>rQ`SYCE#5OOQ$C9vya7wm-d3dbkH^xN_sQg2S;|KT-bgP@zM z=CIPKD0x1o=Oph(4)A+|D9ZaF+BdOfd0qs*Uql&c5<9lMdsKdKO{a(j80)sZ=<>~^ zEZt4TNjB)h z6G*a zsZ`8a^BvA=o_s)_iW5{wE$uQ*g93y`W8-MZV{9>7k*WQkGiGYXNK$GHb`^rEQtfBR z`(A!yN-_C`^mb0cH0)>3_Tw?f(|Q@-oZ{&%nKU_qP(KsaR*k)%&P8vRYB6?Ye^6l# zhJJpg7c)JeG^sS?5lbVJLgvpd#9r)P1dRAhUm{y<3|_nwq8GD17Oa=Tb%C$Cbv$I!B5JM@ zf{i-5O~Ez>v?u#HlZ%XGpjB?TSN{D+o6%ng({pt!4Ym7x!G`+KdNoNNdeCu$1ZI9B zubN-Yo_+=9+JeyJ99>jo^vtF{3-B5YG=_xPzUP^5cQbNjM1~u$7c_%pY_!+@?7=6w zbxPZXig3;4_s)DX$ufbS;HWppKLh5equLycLOzUd7G3jf>b$ySg}o>Irv7Cd-b6~@ zJYC~rN8x9&X%6;2wr5q2yi=*Go^C3#pq;mM25+KYA?{jcG{yg|Up&Tjoi-9mF4Flj z>HVuE2`KAf^1Z8U%$fhpHT29g!Hl57o~T&uR&o4?VRy#m!kKxKE--K{QHHB7v^;uY z-6isQ&U(N=4Dp|f{f?kRghe2AgHk7VuyqF_VGjiP1o0_Hz-i5$uf zAiNGW)<Qd=pH%R z4N@eqkSzV9=20eXc7lyqcXtL>-*#S+Z#$0TEgDR;9szEKAYE%Xj7?(I7_+!JF|crg zj=D6cG|M6>+mdcnZDRt9^B)I0icj)G8|sa0KxV4G0HKk6hb_VEh}6Mk>EHF}d-)lt zzM0_l6y||*8ZJt^EVGNQ^A?)uir_c6{3r&BPr$IPed&s!ixs zD^A3Ow03`cpw5;92`Q?bU4gI}eDRPoIF*F=!lks-uW*49`2IP*9w|raTG)skOuXTm z*8yob=EK@r{D^Bx*#40Z%gAO0EcT6?Uh{}!6Jws8Fp=Tu<58+GDhA*SdROd^@^-0o*cVyx4ujmC#Hy%4sUPcdlZuNePynNadG=Dv}ye8K5Oo z@ZNHc_?iRV99|Ihnr(tB%;7dfblBY}*0Jb{_@B}Hg??a1buGWj9w-304~;H5Mq)^P zd95f~J&OAvsnJ2%MA>H<{PaF?-#b!PegTloWI0QOh3RB8lXv;MuuOMlU3Zxo*r!3` zwk0LZ%dI(*$G`-xY&1zoqI`{NM;2C04#Nt@fycqxNiZxE;MgA;Fv-i@v1u zq@`SSira1T(4nebhQDIYZaul#3N0J~YXf0+Tn5b2Qi@6c9Zxjbwgx_3GjO$tD{{JE z7G}Ef;m~|~sPy<`;!y+JwF|RgSI2y)LA}9wSWA@y%BG-E$kk2JqQG6=Lk}QkjB#Ulo9pvtQ|@PWvo9>wziF?OpANMXu@22%XCp4 zRX{?%Z+}KMhn)?11OT{FfoVDRpH)0Qif4wT&TdY7e!yBBFa zYz$V6AU^(?cOax)J4pdJ2T0~M<)H2HATluK3PBUMc`p=ajXuISWtj%;Tre%x9@7=Z zG2d>4fa1DyGX^ylU)(*Qb;7-EvPx|Aeq+GZnN8xI4T{;O|Bk!`PvwIoJ9-!2*F^}y z8E(KiZy~l&BM#6d1h+plDvw2;iL$M+BH`2fQ&*rG>_ucnM~Az)w*ivoiJ53f%YKoP z@YF&0JUbFWjEJ76ER2$YV8ObM5GOD;Du&hAJkG25=!R0zPc)T(W9zD|dt-;~=QDT= z&8JO%lwFh8dhQe#;y*Kiu6v@A7pBX?nXy`{N4vjIC%aTnXCI;MDySi@99Mx;Q=3^z zx^C_(<)?vmGZqImm%~HY5sh3|8O=&)-d=9M8jYdQ>Ck%Xb`^|umNagkcu5BM7UIB20ae(o^49-Q3 z*;*KQH2&ZP{~81)#}6EZGeb^}%k$t*inb>OP#zW|)YwQ}V>FR=Ibl3};AwJmQA5=` z1s~5h4inVk46BVRwh+rZn1YYKGMTH*t~;556DQ74Ura3Txb^Tt4l2eCA65K&Hz=xF zlq*f*dDFGE9CCKbQW3k1r;EzN052!sc!)@HBv*gT2e;9%6gCcPX;c zfa}q8Vt3VL9d^y#Xo1E7s?GE(A6s#VgcO-K)y4TMi|^B*{nLF=N#w5q(VDE=W;0ud zD38&@$6fwG?*ETOP=f=_2Tgv@m=tB!YKq6KvLa-us%I^= z%Ur^A0qs7_Fo|+{55MdeV7#2nFkwNn7D#*d+ldjOz<*00He62^@WWDZ_g1m&NsJ~} z!F@EP7$kZkX@MPV4P>+AF2N5el1F|};qkcI$!P|j(E};~MrRQn6Y2=a?Zp52Zn0rd zBF`EXT5u`Fz&)7@rh2F?;)FV@UM6j2jli5?u5wTlh0|`wFM&(nFGn?w6GK_vmwKsQF z(>x{L@UC29v_dD;E2lVCm1kT~4*aMtsDdoP>Suf4 z!dwLdXUzpciFyAQ2FR&7d3n?c9|ro4UXFB#WrA<3MM^2JEB~cueWn?Lf7pU#sQ|Y^ z6sRBdPn`>7dP+e5@=Nlgv$W4LO#3QSn%9m^On6tSkRJ3t3W+rP(i+O8)v1b+D&=YM z0OlpEW*;kMNyvNy9(AB`Mlr%t#T%+~B6JG#*;Vw8EMxfWoSUUDHlj9z_X(OlG0+!0 z8kxRl88VW}T@qQ#m&yaiCwh}<;1$@y?sq!DyqIwrl{+5uFBn3x5j|L6erFmSRQLJX zx>NRD9{|?tkl!uy_LSXB8L{&l>LWp$v`m&b!=N&~4H;Y7Ieb@*K%*623HK5h=8LHn zQSkI*GwGPIvzvW9*N`pj-hLB-=`U|(TX$~2 z5b^yaoma-(=1DV&64mLdnH@OFOCdD2u>T{miuS&^QmTX0;aHw6(B-oR8v42`f-=je zz(^^z6Uzxi;B?~FSr5eJ2*#q9VYYar=THyGtF#1_=m($A08NdnYEtv7=-R;f)H0?{ zY|>UM#HxNa^2;~PY)!GweLFMpI$?G24c{HGEVaxxW|^8DLZAqE}oHsDfD}UbkbQeH(ty8DN{%}e)^UXzUOx`w1)@M z_UzR@@g8<-p7zTOrJl#!2FCrvNtJ>4jA(IPZ;yf}7ZxvYM0mO77UX z@HkI`>Y~(A6U!7>j`uX<=&&>Dd1ihZTzk1#CP-)hVY5ec0n7^N5e{}tPRznWr#VhD zgzYkC;~}eeI66w`&VqyN=5YNuS?=ucfnh)9=wcGsQj2PFNDg?~zf5r2vLH$1`?u9B z;H>AV4v?q53n#w1fvoI^@sIgDh*3`sD(!RWj;M-f|MZiT-?TmSaZ-`(I&;Q{@O%fC z(7^e5YZHvYbhanI3`Q0jsz)YXu3lc|A_94AJSf?W#jUsQ z`;39*zYPG~2B=^XVZXx;0bt$~6D>epZjLa366{D399l(Ukg*!j(3adRzJqf0GIEg~ zkw<>UeO^COakV)v*JxYL5)O$qhUcJkDane7kqHkV$Ge6u?evL!#9Et#zIhStGcEXJ zE(rN3!dnaL-CHb--$GOPMXvr(^BCoC@vh%zw`0H&dJZ0Bz8C7g{eBN6B|0m}o#U;e zd??DAHpD=iBsA^K@u}K;Lr7p8MiI8~aUW=4%+!$VVQ;a9J97CKl~xC)CShRBMi@+` z)Zw+J(`p}{iZgI{iKCF(_gy}(J;gu2X{QqCr`6-k62%@u8BO7%W!(%ol+}q~OCkou zMBv6?h0z}x6=5hYgsJLq`m1iQx5P0TgTCZ7*?AN9V(aB;7b}93z#+(lIM@4;2e>_B z<4~8dcl_#;n=HPNaJfDOQ!^{Qq(S&lhg0H22dx0YX*l?MF$O(>hfU2e{2k@Bl&3^k3T50yIA2@7fU zDFT0?1rs2W8#>&E#Y`0{%nO&&#$lRcPe?AdgSF^A^`%=K#RaP7%hAw!t={}&*p>&} zH_)^i$P{8Dj{X@*Eeeu0)=#q;=Q4n(UC;N-5h$H^(M@-6Q0IOALm-|qk=2iVNU5Oa zB!86-)Vb7}f!)&(@RK+;N$T*hGW8-SKscCe{XOgJ)-UqpfMTTtZ|o zwn>7+OYs#s5hd$?)^2y|hA2wPk@wq3Y_=8@7}gVe8QJSn@$BV;fh-}oRPVyiN_v91 zUnL{E>u#_qpKC6#&MBr!=sIu&VJDdm9|;xDfE8|3a={`dWqat27aCQ60x;=T(^~|X zGfO*jc~1bBLz$sm@(p_i%~ogySI|LH@s=A6FDl`HyA9O}*^eLSJWg z1qUc+KASk?5GSSB`ePH$jlCnE49V<`o4Dl1zJ)o$9ve15zEEV&x5HbSzQ#Kp#%1Ix zHj%WjF*l1H`F6EE-+KcgN)i&jz~&@P>_P@pn=eqSLNvpEZO6sxyC;ttW-oX_#EYX9 z+*e@_d$j1_~ zV;lXbV1J`|pIMC!eP7=cLaQ$>=u|D^k@M$$a*Vm!RwZ$gGQkX&sV{4ar`!@h2?2~; zOx*f~`~U)3)0`NPJ(Rh09(Q~MAw!6ZZwH!dHP1~!rzms20&SW1G_b~xFUw~!q>R_* zbq#&!QaCsUaWxw@7h3zK4((u1qV3eNb;MC0II+O2(&W-b3cOeoniE5-ic^?S9S{_> z8M;G(NmX-B*@cwGB}oY|fE zDN^*?RSboW0>Ttob|9T*ukDzVmNhL0pQNu=4(gZ#75bW{WAZv zIMOG5+<;z~2cBy|K8v_(vcDES#S?Z7EkQ`2;iVL`5~24VV)W|3JFb{3=K=!Grx+n- zX-BoyD*6wpvYajtsrnIMFm-tV*fvYx&^G%$xd)c~r|u%_riv|nT0csE;s!H~ektVH zW!7HE6e(pRrpJ5nM$#|hg6ajxUpmSqneOq%)a7&3gvV7cqH9I6NF~eb8qL0|KXQkF#oQp2Asu&udcit*Ew|Z;xJcwmnjy ziVPaIT{q3%PN26Ng#dMNW564Bz^@@M=NmW6I<#wsO1-g=q(p^}1zvp4OKu2MW-;^z zsT5JEG6+1@MrgHl$)O!h-|8Xk&iHs!-z~atK1*9TI=uN()v_)qD*rb-S3lN+yY+ka zFJyq-=?arkjeaLb>Z6N5m0c}=6zWXKs3aDqy}HMdN+s6&G>EjkyT3Wj9bk+{M%LRfG6PdQ%%lOWle=WZESYk$4db-Q1J2zW1f&areT3&w!exxP5h z{9m3mH>mp68FN9NUB` z4gi6xCdgnv9^O-)?qsPH(up=j#6`%_!7ar?i^nu3Xh+7*>iz9eMR2xwU?oG87@*dQmSA++I`>>Iu#{c3 zvEY^S^wQ$zgJE0R$Bpowz(aW98=qLJHg887F12cwmWVX;vRDJT*BE*)GG0V1t=L)! ze60&GqK*sw?%ITvHAs2RE&E)4isEL4BYVYPR$RyQ-2yr!P)-(T`X=+hGQ+KS23(x7k0{zs37c~;4Fi6 z!DQk$IKm-dc76vrJOzdI5Bn1NW#hPF|9>t|0^%u!k0Cs>bp)L|%{prm$Afq4xGEU} zNJ^Csthx&0)A#e- z8hoYP$)shZR)tTc=Ib-DS?Se1x~-sj*8G1Ofd#d1O|DLg@C3qzd?a7JExk&(53^!? zg~maK9$)4t5Y#tWuu@g@zI6vkVFgI%WFSRKRF7^vFgY8H6V0aKP_PU+oafnqVB=yA)+zIH=a!kGNNzD1@boDmJ9A16E%?)bhK?mLCfL3ydq%nE9*d+S_xh!fYxXCEfXi7=QqlJ91m;UlSu-4jUO$259!L* z0gEe(^{#i9|0AXC@f*HIE|cXwBZNo!B->pI5`ISe_e`EG_Tw`C;J;t&P4jozh8Vv? zxzBX#df%t23-YbEnri)%Edq3mHEO(8RIB_wB;=*^qc^?2EA4N<+YM@l+rPm|vn`T~ zpkOqr9|V(g*%}`S^(gC0F}bP5+0z)E+%%1&%x`FzAeeS;lI6aEfBKMkcS@@}VbMb; zq}L9O?OMC{1~vj?7TB-Xy7bw#c3yj5!3}ntWVC092UdkRzG_U+!IgIYl~tox=zNN* zmVZUK%JT%-UIKOTvl6q!B{qg^)ygB=EhHTNdW&CUc!)pySq$lkJ8?@7trTfCEPX90 zD3K_WuJlJ`@(UU+_?F70DGSPMgvy=ylk&z+jj5@JAre_mLh5eP%wf*&+XRXyf& z8i;()aI9Q87TauTB|0y{z;nQ#{is71N~H-*EUBiwm)En)DMN1A(t#3jzePa%(4=8& zN#Ui@t;?DyzWXg2js0eB3ZKyDdkyE_uT)FO3-`=9wh$}GMSSbz5ePc7L+cE^G-zbc z51gHa(WJ`CxR*$5P7sD)g+b7M*y`N>?w;%HgAcok5bFYYClGPbx8d^nOtezC*=o6K z6fODWZhlMCBr|>M*f@8zn~_%cLEtm5w?A4(Mhn7M%U3JlLt%Slm-o5$@H8!|NbDJq zyb=oVLyCxaDo<2CTI93-1nt5NXS=zo9Dl-Iy8gVx&z#J|aon=!=+NKJXRDHJ*RWy? zA2z-RI7d)0i&obB+34O2gf~HW34Ji{NQKp##a1-~X9<&@Uj2!6a12)k?Ef0`UHG;q z&HHIY_D2iMWl^-JOKl)=vX$=_KY`Qe4BBH)KMmND&v?X+?|LyQaMQ{GxkQ-+76glR z;&;bz|DJARIuM+d{b3vTZWEH5UxayKxy7i534kq)@WalXt9dctF`89*N`L`O+~-p0 zklKE@_*tYqKG~gfRwk#1PrXg<`^7Q+(4gN|zY@kB_;{l4PXZ-Md86-8@90~%=Pp|) z&XM)mB@+D4dHihkxOKzZjOu>G;7}BtNu>6ErEzUN2cDy94l8DV*UG_L6XBK+#lao$ zv)HC7Yfor2Lt>SQcuEg)?@>;La@eku(d!Js7yn4$a9h91*D)K}Kk)f zQOe{hEin?lVPsVKJ6r%u9?qSs@uphLCGV^tuGdusVN}?8dy>aFLqh z-q!VNiM>ON9d>-sNs<<*E_giL<&Xjbn~Jn*1GPfbm#NsiJ4ShWE)z{1{cB6YhY7pn ztBauo+QRE_kmxtsok*^>Fke1gdy2?Obp%bPW*Y(tTE(cE`wyh9m=_47>3;>q-@hk8 zX`Fxy9n(EnzM~Ld3bIy}E)dL1$XGC0t8xM(oAKXXJnC86O9udZFtI%vpbW&T%Y9($ z;#q>K=1-Oi(7nmqzr?P6evTVIf$|om&V940$R#wxw(4NPhhFXM`(z)i&dhZG-}E;O z179rXZUNRu3l8%PD+3cICUrI;@wT9`?+!tTsXI1&XrS^e(ZGwW_I8lz4jQRTW=Vov z98U_$5~pX##YK5*vCDN|o73?3;F2foAs|i9ccv+3Uar8Q7}wp4%k7o^cD2z?)|NFH zbjb#cbe9>yvHlv~f}lDZ0$;6`(=9K=3o}Q;|-seOZ7fF&^Ti3z{rpDpDRw-Tx=FXLg& zJv;DPB@8gX6c+qPA2TaO>m*({c-Cx)=Cd7{3krGlra#;-z=68n!B} zQrj8&2u7Q{TbgakdAjUGOUsEoO7+=aVr+9{EdpmJeONp|luRjciv&jTyJg@z;j8__ zzZ-{l5}y;{B8~@rs!KfYHCl^I_v0TCI2?io0@_6k^gvZ^P1=!?0u~w>3nw{AC*jq- z3&S0QF((D^9r8iwKC6Q0&T0ws@+&bhG#XBtT5M3ni7OkHF_>bmy@ltze76_b-82;a zR-V|af>S>9;JLSXzpgF)?b9pb;oLt<>;=K;35|G*iNIzAERM0^Urrk4QjS}@nLuWm zg>}%ArT#bF&>7Pa0i4b-WCuUb-C^A8mfW8;;Y}$laEgh><}X2y&TAg2Ew;ja5ZXY5 zc$rtvGYA>m!AkPzab$kka&3QNnmRp@u-gB%Z7U=>Mui58LB}HJgHRD@NKHcb*CzK` z4@;)eW}Lhx28!r`FN%X*7Kaib|3Y1T*h1JiMyeLMZD|fH)_>qFO=AEs$A*-*og9wk zWMR>u&k9g}5c$SqRR#(P?ny+MYa|jmrtdH-6e|VuVk$NR?V`xL<#+z8 z=Rr#MBk>qS63vsYsus4cO+^3VE#>p6kT@ZvFE`UN+?-$$t0v;#e-1c3a3X(cG$)z6 zadc_v4_q2zzQTxCZxqXzzq!dkyODF9BkLl^a4oJLt|ZyG)3jj4;di;?d9Id&JtZt5 zzSn&-_~9hy9apcAoHT#$e#x#3zaw{Usl(CVeSc~Fz!vHE#T0cDKysniUWh|4`3tHi zhh$QBXg{l3AwySMPz&g-X!Ly*%Rto1n5e&IX=hd5XO?-{lb$OQU0N>T!8~298|QgB z{yi+&-@42P53kWdN3ude?;?>Q6|CPmY^?zJWiJze^zrg+Nt%zy#+#|yoLjWY-|(Ev!{1q}oI;u2 z(huwbd-oMT46~hpe+}GIXET<3--?hpT=jo_r5Y#XQ^0iz%QGyDIxu8vj@`Cow6ssV8G)@sx0UkVG z)3T?*-Y5UdBW2FjYkCaEvN~+$$xuwEv2+@Rhs+ za2c(_%4=?Px7^9C`gDtdrW)X+h%#ZS3=Tmr>C+PwJIqd)p~G@)&g|ovH!^J^RNlYC zEPKlZk4ZVNjb!{v>~eszzNUjTm)PyjEa|_nK&;c_4uD>9(e<$2Vy;f{iI%WHcf9guas2jZ06%^>?sD4N6$WUU_uBED41bNRvYTq-z8=^q6fC;yJnA zuxwkejn1FlrvR);ZUdSV6F*7uIOd8gR$;Ts$}#dU`+|NNDUkEk*p7or;}sGB3$ZqD z$Ykw`W-F}7tboyr)BnFL3L{=QO;04Jl{dDyF4ZF{0vV>{EDu4*r5u?h-xY7d=3oYn^>YF zSQrL|pkP9YFtvx^T-)X6n$6XyWYYftmu7H&GKLeeq`&kUk%v&~x<)0gy@mj4A1*6N#6FbM*>_U7peR6 zl)OpH5XBt!!~#N10;Q+0QTCSm4G~=Z0++ON8uus0sX%O_;P4z>{dOPA@wb{-J_?PNwuE~j{!$vvX4{zq9}$Zs2?+-Q z;T0P#j38#v^VpW^#ocyX`%MoD2u=VxoJNKSFd~!5cfh``HYFD$q=XhAI2ZW{sE}5! z108V8ZdVb+c-OSYgNo)0c_!5*MbB{#Z*=1&5ire1b7GWD`zKJ#8&oAAdDog#+@`)HPIV(@^2r zuu;|-pC>f))M3T`YpwQg(GJ9#*hYThN7QpORK^7tqE zxi%rf`YvmN`8Jh>_2`Pa-^!112~eCD}I}fNhRnWK)`<(3$@bS7G7(Ky1>B-_RG!$hd^f=IOd^BX4wF8j#OXLo`s=}wl^m{yLteSzISI{Wkf82{vY%!_R~ zfg*>)HwLn~0}`FS(-1Uh0WG}dOOq9K1xU+jtyHxkhc#&a;oK5#nK~82auFJ;2^O<1 zq87U~&(C3chi!5LdI4mu?;s(ET)d2_9&FRyLt*D1h`1Ah6s_CXsbpKtyHM@6B4D_( ze>y3{0NxaU^&Vu~N;sN4{(Q1N6nH!wG=?jLXNc;I+x`jHp8Ntg0$6A2#wQ2l(V9L^ z-F_vpkhEo9;)13N?Z2lk_Ku46L1j?HAMaWxs5m=^ljFD_{NJKje&X&=V#~G7Yarc% zkK6+#Jd*e}F+&KXw74=^JxrqYz{a4qX6Z_6WaS8~E=|{Ea>+QN%Oe5t=X|9!H`Ll9 zf0;yBW?9^I&k=$;C8T>hkWV8X)%g^wWcB#CtNV%bp#yTcLffSvG?>Lu+Sun?yU)KD z`p3jYBNxM~i33i9XSNE!&VGStdKCq%R>}?iqC*hkd#yA!IfP_d_1JXF0vIBy)>;TD zT&m9%k+Vjn_#4}SwXJOih>$@Nw=d&O7I+V8aTJcog}`M=@QEB}F9 z{Fj~^KN9}ao57!C(G8DWFL8qKsM%sHLRZp>&sXPCHXO}Yq(kLo@bL_#$11E52X{f93O%gbXaq{Ocp4>sS&n1#^WNA($BjNT0f|P0i zPSjsc%%sXa0UB-(DrHQa&C>FmBri)x=w?*{@btUmE)RutAiw>PC+bpmiUOHp9|}n7 zM2|cR69wkPBBCy^^A(Av95K-!V)}YC0L5Dv`71>LA!SvcI-HPygCqG}K0Utg(o&rA zf8n<5pAG9a)M8{F}ub4!1B-9NcC z7p(3>^p8w!oV9tg7<`-Fv|yvsbBO_8rj&MQ52HTUk~jbvmnTpa_)U8RGK(M9Fx^x4 zI8HfOoZ}wlVn6Qf`^HhCM-Q;i;4kH6tf*0HOYFwhds6k!Pf89KgHSZc3JkU3Os{`* zTq5q9l{ABz`zK7~pCX4Ss##ukChr|ZJLO^I)p-e|jNs{rxx23x>aB1c03L{g%&^## zVfB@?pWRjElH?LMM;s`J&&~I<-QFf;XzVFj5Dot~5fE(wcUNYtzi@^Cs?> z3m|jWy58G8!*Ree2o?xogZ&s)4){URuat8UMUQ?y?6FT3YoTnSvxNNB5ZF?Kc#Hj% zNn>`WIBHr8|HwS$VylJw$^y#ux^ z(LUYT8PjB5L8|X7wnFbJ{iAn+lS|DJ>`*2%_%={10~3>Q@PlWqd7=H?z3($9cuKFQ zzi3ZHTXrkVcG8~NNe{$7fvymrVtIdl-v&V?D| z*5k>4N5)uYX-gqto9N3ojk`m+_!o;;q6xMiMG0@#=JIpY@GCUsXuhTzFAnaUj zEw7(U%GFkJPp{jetbv9Z5NK!InhgjO9Khh)-pn^whL&=#vK!wDsb> z@8ND_EIIXo@pSn6tN=&U?W{tAOyg$q!hikqkj3DVy~w*mF+$25LG|reab;q)byMUu z?Rf^FW5&l0t0SyLv2}0AaU*AW2 zO(jU9aGlFM7245oTR6{%G%l9|0wT!BIvBfL+E0e;k)-l=i?nS`ElRGePeWbLNIZt6 z2yczK2yuGzzs8L6IY%Y%=|Ej`Vd3(k{eThjis)91~gEe^KsSKAz6@7wn05 z)q`hmkO4N4!JEipjDJ$1$5)MJH{Qk?;ca;E3G1$#ou{>o9;*xYmOQ_J2e6%<9yu;j zO-Y^28?w4b<`%RG->sKee*3-q3{2@9*LSs@tFTaF4p#u*nDJD z!xwl(CH-P|RUNchov+_pUqoe@yl{3-&PWIoT^ou`w_3R6j|vC^ELLKT5Bo0^#mb<+ zigmOG*qC%qe+JoMw?g0JgRgpso_w$ClCwtK)FpQA`%M^PNURvgFdN+I!H6DTF5Hw_ zWotBcmV%B`f1%;5pTVc4K?O==QbFQ$c(XtdAK;QC=EX+fC9Jfp3J8c7$ext=#`Jf! z^_SMrxYE49)5Pn$Fq&lUc~}FOg4H+@s9{-af}aq0xxhYyGOW)=ua5wW<_Z{O2^KMo zs8&^+Bc&r;#*sBxa#D7fBAZk|2X^MgHNq)W+?C?ZrwO;sidA8he{;s1*I z|GRNG0P`of-NO2Z$nUKDqGO<0fX&Cpp*o^rd22sz<;KW2A{+D3QmWYBz+%n;@aC7$ zM6xV}fLNGTfo*6YajWC@t!I3d0XfW;Qsr}$R$Pjt+XZvk>$*{|R9W-N;7GduHhNyP zJ-q0FV-S+*o8#HCQZ7a_BK*O&2J4D$W!yVoOSm!993hreRVOjv1(K3_&eY>5g*^IC zgjYsn^8k7ady>(3LqYDSkt|X}q9s_xTX^gQ{PAw#*IQ8WSuTbi=)J@gq+AEL3}AJt z3^2#q@>Marp)*>T=;TLnp`*GGGBkip547o|tL;=HZ3YJf+_Ad>jgr;_kg?AD?r0-5B(3^2zUkbG%YM`Y;Sch~)dM|$lG znN4_o;k{0tVl8PcoLqery6l~1*+K!Ip`htVkDS?!WaW=fn~#-%AKo(>`s(^j&hOhL zWGob&#tG?60({Qlq@Y5W=ck{a$2FAh(wezF3MQ<29u12!Yvhj>-69>ErI6PU zws`JY%3uAYcCb3)O>sT8;Abv2T+(7Sj4&Bm2}~YQ;)Q5U8ThXO75cHVsX=GJRcOYvQjT0<=&d_1xDCTO4i*vrl_05RQhM zgp0)p%dXq~9RYA&ht&h`w*A_k)p~oL3X@8k?Q6f{qSF9(dq_UX!+ZvCcF!GJIv_S1 z3Sdy=a%QOmICWz3Z!9f|GIFduI^IA0o}Cj5_>Cvl`oWD8tD{z(0`ENHB6bm{f1t?% z!r&k{c1+p1Fl&>%;;=&XhTtl%ee!b)h&Ftc4H1*E`R!}ziyYyG{jW$^^Cp826ml=P(FTNWSP~^EDKas0KN13bt z2R8j2#LHv!_0;gs9xo}S2&cCep*?kO01*Pd?{u;4x#@xd8^D2P&7+3LFyq$$gh5Cm z;ypD6PqMrT_I~6UG+3nWZ6t}hT|rg}+cGML=Rj{s+^QN3aLRvqI@ovff@$AiZs2rJ+3jY|EX%Opo{H-TM#p{nQ%wqmIdH)jp!^A?R}h20 z-jr9h+}eV3j{~V_67}TeC}o)P!_g3=YBZ^~aC~?J!1c=ExgT96uu4RorgZYr^}JfF zFl;0vnS*Wi;5xeG*M(@#zb@w0Ow?d`WK{lc$eGiiwWxXTzY^8W3MM$j1sMLfVIfw( zg+Z*VnlfQJZ1Af9dGwJKqAAhM_;f-;bl$MpNJ!$y`MEz2+>v}EFOIT1e#rpU%|qrU zWA}v}R8|gQRCk;KXCvLxKwmGBwl-0i{lx)h;^DgK$oP^tb%B%}{*DwOlSgH;vkJ)< zI-0qJaM*o|`#=+SQxHHJj)S34(8$-(=PB)ts6KK+}Uc@n}tgQyz3@3X6^7&1>TTaDQto%15bbglE(6&9Em zVF!EG!>UvgaG!$?x^^$kyyB+&(MXg5DqG!VD5=dlYuqWk-H2!wgj85i$C95?te|NT z8(*7Y^+zuf#JkpB8(mG#p8$kBlgs~9j%ykDnfCHZ*$ z=WriCig$b@QE8B_Vk6|`AZ@efi ziJYeu?>2=vPP}M4(SjXyLWUq6YdSl=$Zp@?YyWH3BDL2*jCZmJ28UkqGIdd{{s(7S zzPS(uE;4~+S4rQ?s2j>od;;k(>iRf3uAd2Ih3}sPM~4O%c-^8@jDy%$HT~nX5hrk3 z&i3@lxJis!pk8izn9Nwn?o@!h4Ud$`MqCe+0v)lJ?>eG@w>7!yB=6ZrH?~o|K3fF6 z*3owEi+)w5{9mC^KHCS^u#+sU2|gUi^Lq-{HM3gOqJlVFn%_2y-y3)qdxQpMu5NF& zewzYr6B1pk^6|1=yis-N1+aS0Hw_izm3r()A?)@tOuyAQ|b2H&Xt4ih1VmGX02 zz!R%ny;qb0s-u1b>qcON?VMCH_DzIJk|t}=A=dYMhe=*q`TwLI?plpUPZyt#$Y9V~ zA-)7{_)=07us|WI zK0MV&s#Tti@UcHkHLuxDUD6LJew7eELPbF(wNLQsL)=qVg^;c`Zp||^PZIA+pWVONA@ikP`B7JFRz!#^3$Nh-J`u9 zrIITn2YAa;heFM2_irr&Xjp%7&Svt(ZG0Rt<3h!@ra4#&8#9L_^P8GGx2nXqNpZz9 zl_eYPi5E>4s^vdik5qXRsAYTx*&;L4hhj`shm&HEuR7u7^H({FHg5#ZN@|VqNxq}p zDFr;JE{BiMZ5aqeY9Zke=}B|@^DQr)bZ43n+^RqNcnaps^e`*x9ic8Mf7Y4OUnLZ1dmj8Ze1bcS>eA$xz{xWlUzxWeua zV+h0uDSCH&;WTX4%R}-{b8oifQrbD;CT4w|GELh1>z;D#Ti)215vJZxSVgg(w|%BW z4JCrV$c{O>PBrlL<*G)(npilCxm()qTtWYh!5N`vwB*I(%I0U^-U@*bCgy-}x6nJB zK?Zrkhqn*o61d+3s3E1xr@e+r`97&qJo5&y3yKo{m~j?Yr@kCaTQi3^_1Unvkt%-WZe!jPWo|Ai&p^zd!=tdP=voo|Yt;tCo1e5n1>!&HFymYa$!eSl6sU)G3^vpcF= zre&M*p3ryYXm9|;Rud^XG3>t*62|`B6mw5l0y?o%c+y>oHB52%?8*?()_YWOWNcL| zWxnpnebz;VJ%$xjLp{koROiS}v*^1VvP8m!m8WZ)zrKk~e%r|M>jx{r+libr&UvaX zrw8G~pW1$*ei6xMr#mNyk<-p{2CuE14d%1viseyKQ_ecn?T3!`vM^24Q8x3Pe)9MA zJPv;8ID)@~E^G~g14;S<z55 zt{qNh_fK8G-Lr;@MwZdMA@?7_&T8@O4CV`H=wf#Q1jTK0V;I_EbCu;P5bEQ^PLjqD zSaGIRkj6Psa*J!In0< zTTDu}N0a?v*Wxg+T*e1|Vxbf_oj>x`*GHw4QGS#>ItTUkkiXWI-g2w|75t&}N_J>> zedxNmQ?LU}EjUeuLPv6xWp(OvuQckhuV@WfWE0)vLE!Q$80Q;=W+%*oH?Zt5tWZG4-DF5m|Ic7aef21!4!Yf~?cpd#wt@rVL_0U% z$y)(CBp5}(Mq3YA6>7gOMo9dU+U}H|J*_uYfdR}1&54}yjyZbLs%G^Y zfJ^8Hehwxg4*gt|Uzf&1gLW(T?mj@ghX|!Sf6>0-E*FMW0A{C%5iY>flX(3M`dAG(Q8fmB{*G{%mBQW6- zVJ_IwNgehWo4$N>rO?r>|Fv^D;;4j%UQQoaT+$YxF10(%S(*_8W+++kyS>t7dWKAc z*(>j!L|PN50+Ej<=|dp4E(aQG`EDfVrN;I5#CB|uu*uGqqigi{8Op{~$>{(~m~f!> zd%0&7MQ?|un~jXP2JwZA7LD7@zl643>f4+`V5-+?lB_l7Zb!1Ikh`y#5tUM5r1RB! zNd_12mr&fN)wT_oBpq$1v%R?GV_-=rr+%bo&o13;2*HYpQ0kB@$>P6zl9bn#YoF*4uLxJ|hj3$}NW z?>)_P9qPk?zVm?(9Hfk_pmmX5V)mE_UftlJwCE4LhL~Rs`DM$xW3U9pr9G>kjzH=FnxT&dT4*z~z8(PJ)-qW^doF&EOY(x>nw3qU4 ziA{)5E0Bm-sZTq`nFWD*l1geNQKk~Di_o=%nth*hnz=!Y7jSv(fmNMF1XiiO=lmB!lZsN@1oa!jVCleGq4QYhO>E zidXqbZ6>o+fpXjRu<_&l4Hz?jk+(GX>Pl^0M-Gww6f~{lqxnpiI>aoag3`nNloXM6 zEaP3kcom~xfuP0L!C6zlnwiPWGoXVe@Vq90KXqS{5=XtK_*hkK0se)r(-SxI#zsU%gYMs-#b@ftas zSn@-gni*Re+0z+Y*&8`~5fTzIaj>v4GIFu7a}p9V{x|Oi44$bGB9RKm+2A57A&;Gf={L9zdMyZDT zO{69!oPS8r$WU%T`1x4g?>ILO4Q>~=&bG36xhOrP%T7b+yHl>r%cfQC>Yo>$m_8;W z{kqk+)ag5{zqiP0V27jMPpw&1^eomus1|d5yP|+dnhB2g?!k`RZCh0ebTCjzO`#DW zY1H2KIh#HoJqo&KcPcyh?LX-;4euU6Y=n-{vYX|0;@akXl~?j$cB&AuhJ1yxoPndk zsu-OEXf&e3;X1~n|P!c*InYe3g+IR@Z$7~=KnFE|D}CUOI%jK3;%&^W4hBgsyQ!? z4g}zR7sk8!JBSvqO3%j|(v`;o77C%H_Hdy+1H-)|AhA7z&ZBKbqEWPw@JjV6J%lmcG?%Zm#x9)m+-l6X^wKJYO(K8(h# zn+gZwLuMjVsUpaMHeM9U?S*(c`UB3KP1dmM4=!v_mK7v^w9wC$>F(FV4A36BP7KVa zHe|JB!=lH`8aHpjx<9e7ustzoTztMoMx6PXj+E=%J%6yx^7CZKZ9nJKSv_roRPeg} zDzdLS#_xA?+dr{)Td7*g>7k#0-};NauUyoxHp25ez`+2W>g9YqujB>z3KfRWvx#}c z7if4?tU8#-C>QQ@-^{`z=6ck6V9nXsLr79|a9=}Z8&>+pHX@P+Q4@zU9^4cD**KA^ zWD_|?*AMJma7Om@g$P<#My$e);KYhcq<0dGsZkM!W)NO#hueWsHjrMKbKLR>i=6ggWP=-p9{6 zUd8Qq#|=U+-+RpiwWk}-qVW33Y~Sl4VfFH*gMDfqYfZ1iK(Bs6#f6V8!^g$^c%nPI z817t8U1g`bWw^?w#9%GV<9e_49A~t70Ami@7+<|&Fx$1lV*DYiG(l zn|Pk$`7#%8-duUgC2GF(dDQ5K0&B6#d{Q^v6{{jg!Jf1CI}7;~A~f0g@OF4bQuiix zi6Ec3=USZ1>TJoENQWpjrr*as z6u*lLrEQnJZOcr=UDLj_69z9OcG~iuR3*4@=?=0ybI7Gx0%Zp^Pb!eN%rX)R3*Qx? zVNRK#=gJ4cc~MbOZTtQulBWTj|Hs&HXMP$@(tOrXWu;L_f!QV?YB3=`|@ zfW42A{Rg9_7c>s}f_B8-V(|wga_UQG-*i>ilo9CBbS4|&!{l_&-Jne9`fz#?wq9t} zahpo!QgEH?NU+^(c4SUSS5{8k(L)l-#xHgT(9AUc7w}PP4hBX_Wtdr&KVqSHF-WGZayqY}k94J~Sia zY*7od4lZesHdGBeQd7w$eqeC_O_YO~y07gM20T9Z;6pi;}!ic}Nlq4@ci74vv=$>P($9NM> z;eP#u(|_@+*#6Gru9d4`%@!c_SCxes=sl%o5OLU5My$7)l%sMzyrj-LOVWfbg5Hs^ zZ%;YOpa*$j?7#uHbRJH_lAudh zi(qx(dme`0jth$vpP~z^RQl==8xYvFn4fF#SV*E+J1*~3JILvciM(PP&*Z%CqQKL` zn2?bQhY>T<5$_p6I4*l5w<&HdZef9}eUP#R8Z1&8o@>C6hHm)gjh_MWA_LMDS*QYS zut9Q0WC+LnB9GPi8WAo);D@PJq%YH7x9zuDC7;F?2CMAV)D(ay0h9m=0E5TfOwF!d zXHSpL;or3@`3bJ`T$jdfL?~Y|k;1k~ltOX>Lwc7WLJfm+Trc-A@|9~raQKD#5^KJ= z#8OW`{~q;`4y&#)vKZ4O_+{`nNRed=?Aa`ZMzm{UWZ09r@>{exEL|^u^$^7YLK9Rm50?{ z56z@hr65G8Ku4HBl#yk*_Gfy)l*&$=E`&CQg{0#X-V9@Lw?f4DIm?Td!~$4@3W42Z zTu-H2L6>lEB*&LGLdBl(=`Q%JOa}1NAk(*_g6i$07JSXqUK{Wd<;z||au5{!*IG%O z&$~kX5fW&Ygf^O{qBt6V*p&}(n80YtKNaoQVwy_s=W4k;B4<6o481lbo{!k?FJpnW zk*UqZm2M^h|2Pn_=x*;DeZM3yWM3?7rO&3F`1E-;M#NcMsiY2lM7Q$9Xp z<&?Bsb?-9IZV#R%dPx|VXpcuyFU;NNtViQz*$)2m$(8=0i^ODm*$^foBH%aIAA;x; z18#yKYeD|u%{+KS5WH06(V-;ANI|U2{e4ASA7V@sI@2PKIcDgYFvk&s@g%e6%K7)L z4pNL$=~M5~-aoQI&EP3S2&aNDM2M#Nx4NM^^L;>3mVsPVJxEc4QqY)6lM^gBaP1rB z)fR*Ipte*1amHvCN4XYo$Q(r!q-RO_=e|0OkG+>tJ}ZSSCZ%@BU~NK3Awv=>DP#&o zBvnu~V6>nT?L1%?fIq+wAds1fpGsqOg1Nb@eh1mRYYBx^+8b`j_bi0{j%fPFnSp{2BqL2qfa9Y6&buS0~U3p&)}Vg5N#SBff6xh|?fz?m*`?u1_``fKE~p5CT$tCWIK zF_}_6#p<$h^d=Vt zPzWHS+szzr3pp?L4H4}0B0VhCmP&P{Y9%`5YN=Ff#8rH0hW~lok}P@3q$x8NEO^L} zAtUB>UA7M#wutt~+5tAW_}E~iihxaHn`LJ^-^9PMu`w}?Sv{2rs_0_c|4`3!E%Vqb zw12y^&T}(;>fEJEn||BB%5zDt?UQ61BiW`&yRh4*axd)`a#b08asxtKFO|%CN$d!U zm?oSFY?j68jm2d{ZAU&RaKz&cKhiS+MvTtfza3uQXs#mHc%p>sCb45>Xj129G_gT7 zysfi=a#NDizEI;Ioet6Wt|CHZv;@N>iOv6 z&1h&qM&i0x$VYl~hB!pxk#xxp8&wK(@C(uZj=3_TvwP$+FAhk)R$hT|@<)v_iBsvI z_@YRMnj&o`?pFw|0;lztlx62Zr0Z}An*f{1OUex-Zeu}6<+Mm%5RS?XLTxUjmfXZ{ zVs7)>+ia{A<^g?zG~9kw>WZ6LUppebrbo`xYxWgxynl}a!*4vb?BI*LMI*7n7vq3StdNA`x$_4;-m-@TaN6cAGgFK)y$A5#;X=IG-G zgP2&7Why@)N=V(Ty8(g8o~#2*?8r`jMp-)r0F+(^2{TUN0oE~n+24L?-+r@S{{S4S%Ga9>?4W-bj}*i9ZDG=5MeCprQs~2l2hb)>eWH;A(hB5*Za}VUm2e#Z*3(d{9_c=nJSbJnlAke*CAN>~}ZAlt-Z>@jQ2{b(Naz zRN0W!W1ZN4=CbjN=ayPogBzuGzLZht9-9Ka$8|uw3y}7oHi*jaQH3kO_)Qe7mYgNwdG*#aM;qIg#Bpu4bkPyX4rB|+ zu%ec+w$yOoQ_l<-RGCXn?Gt#lRwG+fN`Y>SNWxae#izt!4hZogDXssF_A+I&r35B@ zrA>k@NnUrN1gC{7v%{5}$760h6XH9WK=L92%##@K8g1Z0iPJYtOj+aIn+!(gbkO^Kr)-ZYFX31ohgyZxoEMkP=Ex4dw0SW!LC_ z_P8C95r^skEs@u&|H+>5378C0gGup_0AS-tKB((3^rHn+Cg@Cu~ z>>*Ul1B*W%Pp>lAHd7V%1V&S3g)F&rtOmf}AWBJ$(aTD}1`(*8Ro%_F><8JAoNy$Bz$V<>;*t+Ue+VwuVqJxuu*C(N^$_LbX32?-_(9)EcC#N)BtvG&-{44& zN`J7s#+haqV~sFPqGiig)i$(MQ%g%Jsicx{`cuiuv^O7s<;NodBnoT;uacwePahxU zH%|*hV>gsYQjL-;GcDFg8IQnz5NI5TjmsqJ{9*kaEg#91uxaU-=9Gm2YEg?NE}Mw; zhHzm#Q7R+ob*{wN=S+)42iH@NZtQB|4IzpVT-U0eRM_E>beH|p(5NIh11ZYG9owL} zN_lP>O66?yi>1u8`dP7CT&mJ+bExDkl%Vi{@Krv_L@gVavGn4b;HfZksXU0O-h}7W zt%}x&s>JW;H2$MRO$+dTpkF0uCIB;l1@I3(dHF$Mr$yVN(n-T^nHdfTqUyWG$JHU8 z=Tmz%?Kw~9Y$4@Cm}j42f1;r;zX-zTg+8~&;Q$Nov%k0QZ?sOcoSDMLQrn2Pxf0qfrLfVCNMuO!nz)K_I7T|jLG^gcEe3FH`^kaL&Wn*JfZB%@r`P> z7nWbq;H^fex7#c=`VVbpcx5W;fK0F2LWNEetxsF?f7<0X&jsNh zlN6+ayU%Q4A;sOEM3?0bF3j%LxZ|NM8r@DNfLKy-=BE1w4?j&kaC0E>bX6UzSy)Ig z)pIDA;ZWhrT2TON`VL%;&UHY&pA3`wS^Tnp?tCXm&n~_J31oSmcE?zG^W~NZ1iHU} z9JaN;|5@l6yKSH{O1f5J@2A*2=3{C{>Qu;+;gf5uV;D* zuV?az{*(C>-}fXOhR4IA41&kt5Y*p<^WEcDo*%x6_5O$30t8)6t5`upvF`?rhAq1U zw=gWzwhq6OFPsCBea(FvUyvM z)b02b;m;mBhk5l`S(?3<_G~f=4hWC+U6Usno9U>UCJXD3hV2d>#$P&Crt%6i5r-y5 z@XW1A4{duo6jZrS;ly0}12MF5AQk!*JB>7p$?AU%4ZOfgeWC2UWv$qOpOr#%b%bE2 zsilp$jcBBJgrS_slJZMHgt%lzt5D^}d+R%qYQWx|0VL6=_Ng~1D@MtM+LQ2TPV4$xw!Z$)KM_SR<#|BzZaAjs0eW z`nFD^yIITm_hisps>UCFj8uHE{=)ZqTyIe0Cke1kRQMoNAQT`piIt1=pYFRC!`T4v z+5ke3MU4Z%WQ0nWHdBG3O@YSOKxosd_|y9@*aiF>E5A1JvOST&qegQP=XCxSEisC0 zRZuAXq?N&l#&tko+zM3d<;A2s9<&^f^{F~Se(9FW)iUWov zRY}2zV~p>}KlVZvez_}=TfvGqWry}V*{%>*3!TKCYbNlC6?4RVuw@ZmUAp~t%21RS z?t}@h+2iLU$7)BPlVe>@7(NqalvLiMEXUCJlh;ZpmOqF0R0n%Oh!LZ*+~(V&kqMsSs<)`z8@?QHacIljn%Vh+wR zi1NQiOzQqGpVA2b3PH!Jnfdn&`hJuNhA8V%Bg!JC8bM7ON%W||3$MRgEl07_IM*Pw zWA@nq!bV>%|M^>Ws@H2GO0}6);eMmKRbe!nX7HM>X@}bKIr zQui60uSu9VQ{u4k?HADmI}#fCD*;k3>5bL2pR~A6_VdY{ekge^qlif_Yrh7S!p&0W z_WfVsOZMW+e}QB(SNBrdUm81-3uiF=$BSB5lp8K@QiF&gs##C3)PH9nCent(Q2Rs}BD0<4u75>8 zI{wN4BcMi%D$Kj-wyt?-JBK_L<{!u{ojLr4ATP!>sHMS=lzO@8L%TLHFSGg5SsvB6 zbt}2mGRH3@yRQ0@Gq#idF9ViM)KcLcWSZQTK~yY8(W6w({B~sQy8aEaUCB;2mweyM z{+DYpzLCMK&Ei%bMoa$wQ2U=f*Wrg>d}wx@6n^OTeCllKx>$4a%*zno7QGq*DY%Ma@*l3wGCDV9VTfj;~glA;Ome^`n`bKo75}Ij?$cFYu1%0KsW1Am3T|pJa z^B#aC^;s|&J7!UYzq7$g((T{sft`6&3f!lTjd=j0p0isU@6uyvW^GOiZq2e$MCq+? zPK4sG{4T>tbGdX8Gv<%mVTlnwz6#Gd^9^8v^S@$(X4oaNx6{?O}){66Bjdil$G1)Mn^Bo%>R;CCo9I-v-N75Sf>y|^R^fH zc!#e_adVtYd`Jm&C&%|(Y9ZB*Tnt;UIfCS%bQwR()IC|8h)M5^7_rx2WOV;7EGeXR zo9>XxOT7c=qkN`v%^XRw>M4BK%0W77(?yyNwQPJ=RUtto`!i~h>=^}RvzC4fHxG$v zz$kyq*pPwnd&(yHl_fs9?a%(%1OEFl!*L<+fYi*N@38eOk~udWib20LIz<#D$we87 zWISTI2g`h3tpkFk&UKkP3hBS0C`e%Uz)+QQ_LY8e& zVtP%3u9sG|g3#yCog0kJlM`XO#2};`dAln}9gvgjFCpDxslj^5QP13CQsl_EB9t-= zd5K9J<;+Z^4>p*vZD#*ILe=xf#ak-%yf}2j8n-zpILzVCSKist-Q&sl^{Uvwo)654 zcE3pPQk~b7t?z(~!spotpYnaHU&j*pl$OmE^?|+rvj};>``HS>vobfk)6TM{CHez% zuff#KZ79qe^YQh7I4&40oaMnUH8-1`x6k#iw6dGCwP&){UP-Tt z9k2=B#=iq^#7Zc*%~;$%pkB+!WhuKm$HLHf# z?kB)NY;&!E=>2T_i%)@bZMPutodQiB6K&*c;)6MliDjm70$Zm&ey5E=cM%#kvz?{8 z%&eW}Q>6ys*tYInl78RRAxNJ?W3oRY_7fA0Aftm`VYXBCRy(DR*EppuUP2#yr}D|w zbhuZ&!YqXsP`(69OU8@gR^B=PH^_)NZ&>FaPxq?2fru07p3f}8tGLNg)x zRfe13tpyk3z!vtwkX4v~;(;isgkDMR@t!tK{rjR$Kxc0BalYWk8Eug?hy;=-+ae$| z``veO{1w3%*wvVEe-T1}=l*ad1&_;bj&I6r3f#%}TmZl|l#^PD=0~;gCOhTFGZ+PC zUe(547TMOCPhg?vG^GKYD1Or*c{ND&A5xyxf8}qI%=wDWWtz?XeQeE@TD-ESWfNqN z`&`3e;&R8sI25MSzd<*)No}S`Ewz9PTlGwc`(8$k6;>8_HqhE@ye}mg;O>fWossv|@J1!sLsw$=C z*xZUa)P+^|_D|Y$ccqao%h{K__UBmi|84q2@le65^m8z#*dDX9Fw`iXI4zSXxihtW z#P_D}i+Go8z1;EhcH6G)^O&FTUcj-I+OoI7_?!m66#m)+P2??w2)~%qC5Yu#VtEWz zj$~Slg1j-lInD%x+;ndkP@8%xZ6Z3n*toad~@P5&a2p})>D%I=@PT;21QS#Y4+TPGdl(UQF~T< zMTb@aeJDlb5u3jvqa}KM6VCVPZ)IND+_T{1-$k7ol%h4q0joe3PSX6)Kx7Cw*hhjS z{uMF1j$7^ttsIvZ-FB_Ox!RD5PnNY(29+fe3)VG|55zmTW7PhGu#U0qXsFS+H%DT( zhMS+MCPrI8l?w7j1l{r$*MzPJb?1k;*x6#B4<_Bd&$A)JH+T93w3SJFElbt`~KT-{*!IS*f{}IK*Z;9~C5vHP| zq*BSQOWeTVB3iho?KsVsyvU*^B*~;;lZ+4`tqVS<7CV@2?Lq}%uRVG6ggfU~5&5sn zDD|IP28OSO0I?AGVfMb2%vP7qJ_MAIc%FyVdsF z)@sM=OJJw&>U9&#)~q%L%v(S3AfA~T=G^^rt4%EJvqrzyWBGG9;`wYB`)n6*>&cly zvlH>SkEG+O?rE;57F=IG3o;2)|4feBL}zuWeeUJ|l@g{+1$K{Lr$THi(PZ6D8ApXZ1v4Idp7X#n3G!%$~L>}K*#71?M&Q+*j zZ-;Joo;v|oXaaU0r4i{lL!eU56$A%@99^SS*M1i{MJ5avrhfU^g&CPwu%S6x{3JII z&kn1M;l86)Bw$+O4R`dtH4-$>#2i*l%XoULY7$EIB8t&?QmBAgz$HU%6BPd4-3}v2 z6B3hf#D{Kb+_@6ycM1=FzaTU3TXK2THy<&!ij!?=Bp_G8un&!Y z)l)$GLlQ<1J4yt74$G(O>ue8+3DGB1v;)sTxd#+;;ErF;pNbq5UDiFB0D;C z1Qp-#x}Q8Rra0pt0cVW%Oz8AMGx;|q1e3BwPwNV1ba0*@qs?Jg*Lz(@ifDWD$XHgn z3r==P(TsR`ZByt0KpEmZ!`+Hpmf%mtYWp@}35*9e^(Z!ZZzdJVD^OmDq%t9dVu?LB_dnG02(LV)$`+jC-bSb2WhG_5o7B%Z^J8yRQ&pUocm0vgG)QdVSJfsOC)(;YVh+ui`FULNx^K5{66it_(6U8bHl9oE0kRvN%d9&~ z{8W&i>=Fw{o)l1U*-_@+t967?cL~u#>>2?ZvLZMKco$x_4N{SVPccBjo$Sit_F>=* zR`&p`{#%}R=wrK>YlxdvcDcm9Wjw3~HR+p^d^@-X-jA;mH^XOZ@>waxoD)t&X0(jp zERAb?cDL$#Cb!*ctWVtRhhg|ijL|Nr8#yLT>DzjA^?6N|{m*P{@pJ#r? zeLEOviYIMI*y2jz53Yt z_ehP~TrqVk#%vBqqwr1Jz>8l?%i9v)!ArK#Vy8*+5fz~2V|i)9!@f20fmL0m?0 zEPSf>1HsZZY8QX?2@_ZH7r%ap<^~v7&1iVWjMp$6K@jxtz#H2gq5;MjXIO&Ccs@3e z=YIhq#cITu+TBB}JeDFW4U2=9s3#}_7RARRle-o^{I^??l~yjOus7T@cO6Ughtf_N zO|)nwkX*Rv??mLHPC2~4uPJs!6wK#}T5LU$t>xW&W3!q!Lh&qo5$SH8_)3qV2g9us z;qd~oqe>jLlr<9AX4RqbM-?H#c`5#nq2q^zY^zbfrL~9ylj;x`5v4IQy?Rbje61Lv zMyle!QzV5SHTD=$`W9Ea*cl3rYE5S$v!szG=!)cHVplG$=R(tdV zr4Mk0W6pcCE@f!g?y{?>Gqh5I0V(YW1q96d#rq059RquWM$#`-`_C9~T5(<#LaVLd z5Oamb@v*Jo)25Htj5AIhZg}p^7WL%PUv$p z{xiwa?=f?B=;wN;d0*APT{#?<0QvwMcec(-oz;pPteCyeqR=`F zU;CxI>$;oND8_Fy@*hW}Yq$fnhudnoTgHQE@O&iHuSx=@Huk*s!EIdb1)9KvQar}L z$yZQ7uFE+-Yx_zJ#wRZTWf>tiDd)6#iI0HNaB=0g$8}|*jcnu#EZ9+@K{02HjgBqgW8VeL{%cUxZs5s3HF{*JO7+DgJpL>mdH)v~= zXa03;e+>nj+6TtmwqN)Tz5dZ5FypWt;9j13)9m(*(=DIPZ`s<)iZ5_(Yde>TL0ZG| zMrS7jvU%zsU@@e+fqlQ*7@pM?>N$O1eqB#e+M zL9kMUSm9-NCB|N+rc#v>iyNs>6itXo^n*KpKt!%1sfbUt>{5 z!AoKP+y!y+M_N+0rs`5alTjSCM19Ol z@S)>Z*y@^2lT0>JN$6=2kIE&I$t3Y7>6qDUjMo%_P_dT50rIp=I15HX@wD~Tz&0NX z&q2XW0U&?kJ&E%m*P1Pjg6+CkMDQtHu6Xz#8UInfvL0AK6w-29oTVFDkC_cHlPo&I8!=hsfEQGX;nn%q*1cZe3{^qr3>qnLa$OUllo>#U?-- zG8a7_ujyP0!o#BIg&YP8XK!9f1P8~ypeTaH#GVPHat0fhg`>{N!(!GCL?;ju4yK(Q zFD@6$YU6CZAzEi;QaUmYw{r%E#ld;+l>$PD>#CVF0#E81m|_fpAAc~4^+;GDk;^5^ zy};!bZ_e!=y3({{vJbQrg3-cS4~@8B(t`A4I@bb%&#lv_T_`lAzV!@`i4Me1X(Aj? zq`T53EO-l!N_-G9Sb*ltj7@t}un`+kh)y9WJhK418jon4jt&Xb(#jE3Zf>Q@8dpos zqMfOtI|N>S2JhM(3WR7r8arJoo|#M3LdhqsxdkLbXNyQFjaR{F96YKhcqB*EC4|6S z*+nQ0%dGo{1tcG~c7-Ffn3WO7m~lZ@+ju*?y|y!&Xf&mTiblm0)3ffNG&~Y>AzOr% z>yP0yl#-l)b)o0|zu^SJz^z0mB0AWcFicUz?CEM(CI-~PF11l1Ft>u&IK|9lJp40B zFK00sC`lD<%rLAWt0ZFa1Y%N|ZN>EsOpO9{d6cnSbVU{8Kk)#T(U9dMDrrnD1X9Q% zt>)lU=sX&VM&1KbATmOG%c>=@H+!waQ8P&b{1j9djm1@b^rdmwcWuW*$$~bR7zzT} zIw$sD)>(H8W67Wy0LV;WbY*B0whhs2LnNTl3YLM%v@y>TNhmg!N$P-7>5m~NU7LHT zWhL@I=V4qPn{?9!DrguO8k2H(JgU6L9YlI)2qk+-5|HD^lbM(^P>WzPB{R7!jE|^1 z4}K+7)syilsdK4K#0VTN!ON%UD#L1VSeopBY{%*a?VklRm5wl6D&gdvqZ#MQ=O|;O z5&0BOV}E+xjVu*WlxRnZ=;gdt{74O5S19;*!-BHQKPhGNK-R^oT$4y6WYKvPJXUJm zUrZrF$;&X!OzdI`=@wj}P6$w}Eac{t%?!@vkq0e2GTTQf?&r zA~c)O?Lri}EPr=X4ygM^GU?}(os92{sr(i}xsZ(Rq_;DO4J-f>p2-QCE%9A*OpJt> zTyxyCoR&}}W^B~e%kaW#ON6z;v*KzZBb}iMOR8L7y$K5|aN#roi6=i0C_1lqMj}xW zT*H34+1BB^1mkhj&9V%h=P?@3-Q90*WWL=A;Sc=g-OW@p?I-Z+0YO9JATIUxZUff@ zpU0;7y56Qi!TR;kFMlubdND$$Kg4qxCjk(Zf^%aK5CN3fIK}vaT)!T0HuD5cJve)!CQY_8uox9l z!g-9|k6MnJ)wWIoyt}vGfV<`>)n7i%Wg+hZ8*FbGpZa5^?dVx$gfub~(ovE}xC7#yq|4c;(erb#uyXs;xJHYbwTR`UP4o%gM@JD66X$?2gY0v&J_gif3q`8*5S*<%U*VGbf4)MGC14zJAZ!# zvSg30%sXrvc4knITwNxtEMKSi5bgRIYTPURSbDlYRFmf}v;B9fh0_$Rc7yW9;c&jy z#nU=by?>A8*2EmJ^A1 z_$KM$yy~rvkGtzrtf=g7x^XkE7Irrd=k=c2-IltmuCK1PZY@QhcA&;^-SzfrZ!MfR zQ*@tubGwq|efzTn<~91RLp9XLNz$7L{6uLF5WSwUdKw7oNj4!bMv1j{f4q0I+)ZV%&xua`lO@}KQN26eP&4a^Jyn^%Yp8@(zjF5=s#?zi;EwjZT7@F|y{FQ(WBcJ?-EQ+M%ar+&=huMPNikvMd%jK2 z19!bBx2w*VKV|0ET<-Y!o3+Kpe(H(#RuNBn^R!~cUEdAwTh@71WM}#X<&_|fJEwJd zu58i6_+_iyL3?jfo^#VmpFHa|cfECWfpgV^2UmeVgXimdz~-<1lR$jXY3yApm$%$2 zm%?5%Yn5)Hz~6AVTzRhjr`yrX`i6W8vmJK=?1p^qzg))(c-g%C^YkEp2=1xrgx zN-H?R%pF4(H+?5ig%ioM(|k4i7Cg!hpav^I!83xEa-4y*+p4a5T8&0(FT!*`{0w^R zvHyj&!+4p34$dBmkCe|&DQbnipIw+lJg5?d-5x<4mYRcM1IuJnA{vycqv?Z&sb8TY z7Fb`?_NnMlA}Iou1SO1?^vO0ceU>qpE+T&dmR5u2yBFL{8l7BM$WC4{1TYs5Lk`h1 zB6B*K>9c1AC4`U#Zx&p1SRpc~>I{*-46OXBK_Y&mj!Qf|Q+(tYejo!;_8})dNs)#b zJpp7FjuWB>y>O%I2Hw3&NRKfNvw0U0b1;+-L(+R^(Z9DKsuurIg$ZAJY0b~z7%U;s zo@T~1&zRPVYgzV+Yi)&f{UstJs@@{-V;D(mx0PRQ>UO_f>P@F^%IAh7bhHMGMpi*y z)<_Z#v;xqo(^d&O4U0mNAxi-W@eb|9#TZacYvkfko-_Lqw+cv0@;l^GzCf$x;@*IM zz)z%X(Sll@#V8|tZGlBqc$bkdb_9^>Clll1_~1lGJ1%JX0}UR;L479*{Obs-8@|(T zC4$p_aa2}wFodz{HUo`dn>ouPUr1a~q7KLN*@>qFTz=yc55{{JJWrsw9~S``PyE%w zHPzhC$cyfXi=Hb}!3&aMgki2js3Z!aFnjIPtFd6rQIm`5B{_Q0NIR-eoxA4s1%e|XQGsZkECeX_K)x&)IomL~}aoDVuing@e zhDU;9;FQ^*NipKm@lvw>LgwVLomT^Ka;T-89{xI%gZIk3)>N`ng%1{`7y}3G(aTh* zsE-PlQSd_sjG8pytF9YUPrs75?Zoj!(pvuP)#RjvUe*5yk!gB_ZoIG15hy96pb}Vg z;IA*gVcA8?N{?cIW)yMlMB{}eBSnn|veWQA(|Ny@5YI=%MIk5SX}<-cB+op;uP#O; zr4*~z+wkpeuOm6duVC#b8aU4)(0N-xIMBaJiL+QnnFbgJm}+fEkZY7}7_9?|q{%tY zUcoZVM&h7|{$u-;g-P2%tR@@MN1>X6e?5K^{0p8rBUVl**Fd7K=;K-D^s6GhJu72+KTT6!BgM@0oHAV zZ36s=q1VjgwZXsJh#1uuk;_!j{{|L8eno_rsnWV9|1+M+ z;#Ah@RVC5g5R|K+mh?&rJBbRz2DTG2V$U-#A`(jHmZh@AGUPTJ;>_^ruU?x!vE@~>#4R^O@J7%pRTvYSv?+V*lwOW$vhG^(N_~^<|Td%z9y9+QoBusqmhmio=E`h#L5?l+5vT3waD^{u)7J2>l z@XLhI{cLFPUwPQSbK7gV8oAkOAJF*5@}Yxet-k50)`Qe_tG}wBA6B}Zs=u+O1qZ3w ze%wQYJn0(3@Ym`qwyo*E$2lFYgXyrD?xt-( z`_NQV(@Xo;rNsCp{?E`e&REMs%}aQHySZ1xt;AD_b_UvL^}KzcaJpSEUr}0G8uO%2 z*f0S?*NE!%6?z-KtXlsHC@%=?$W6;+JeDQvg&Awi!UE2MexfgDw)QfUS{%Ku)H+Xj z>*ilxZyGC82N_%1wAJOT>{LJ59?$%B*ruA_;g-2@nHWBTc^aQ@)Nx1L^5YKZoB~8T z>@&Kga7tc#SGHf)zSnN)gLZXJ5vwzQKW$IF?etL{-F| zR(I{9NqgE$JV14Rh?mRs|-*E*ZqlS;sr3{QtcPYpi!1aw<}5LeyIf2F~Nb&Gd#lT8cPo!H$e8yyY3Z4bSTDxYVt??1-aa>!dMJ zm6cKp1Zew~7X=#|%Txu18i$7%V4(M&`75g}e{ad)qF>$Pm1(-^dC3!K zNxRv3-Q?8TSvI`3!|yQZo3_Lcpi`0l`2OLvzVL|~@K9UDPsaS*QKvyCju>TtZ|g6M zE{F>n&y2U;{KNYbEL`TyE0V(TH1M}K|F|JDUM=q{R`~YRM=FKMf4d7;AVvCfGxm5Q zgNZdEOV%oWV6m$=h2`%|ijrDJuamZh$)@wylP^iv8DZ?I{ERN-EQ{&bPa^@aZG`>0+i@nHavx^z$!USXL!62mivpTD{fw({j0!z``bqNTr zbKR+xM?hGJ6>E$ZG&Dg7u;}6xv5vxnmmGw8iD4lOTHJ*PaXW2%Zkc55?e(}7&Gdsr zFV8X!Cuh-WXS~VF(Z$5X_dAFeX002}l+yT7&=82ca;yi!(5nNAD9?;aBtoZBh){kT zPgO)fBgbhYuf&!>3FVck*J)L9mx!|fU;rVciW?FsVG0x*pWNyod?{I^h($yQBOD^+ zb`WYI<_IeQ0Qipx_z$4g0BGP9s#dl1|H?eA*i=5sIRgii!Vjq6lrabO9CyOMfqBqp zkV6pOh=+^0c3cd?{qa~>7&G%csV&_pv_N9QRj#GIqwTh1+$_+b>ckh?<8_Ktj4eG~ z^=RxKgn1^ezd7_4UZ+KCU)G?mV%({%FR*ada~2Dp-0Yq~C~U#|2caXgrCF$W$m?zM zIZXl)(f=O+L_oX0HV4=S*u;w4Kx93$3<4+=G2cOH z-zP!oKm?tM-1*`Mr7c*_*&UsG1I}ve;ezj8>AhBOf^)BL#>Z5#ut76{f@DwGHsUZ> zRKa~Sbbz1{Rjz%}c$r|6|M$}QAoY7-lEE&_k(%Eb85@dEw~W}dT6vT@vLCWxf)GCe zDOM@j2*w}T?(&!N6Nb$ogO$n)wF=jNCxKHI=SfCPA+F|Ds`r~{H8gK?Vgmr{;OsDf%3G;LY!_)j zHfpA*fJRg--&-MJfyv2zv-^)d1hD>jgjfJcZL-DyMDK^Nvyu%^-&03`8wAwW8v72w zPelC1WB-Sbl{4DJkd89z&=S&PE61*XmKZv0!_ou|YUnt^Lude0s}D4MqYU)gm*Xw#5?%uvjD_x>EGNvoXj=Gp+>bi*rP`ez8> zN}k_xtP|xHCW~BqSX0`=yrlEfnq2wt#RNQ0Uj( z8sYB@TZ5eCFzbZ=wgf&aKl9T5eYwr9@L|MB?_!rN-36HT#Bo_XQMCA-Vvb$WM>!ov(BzjIwL;^&*rX=>%p=#*|V~FZ*>%- zUTAN$i`7sUk32mZuC(O!W~ot{d(L!K+KI;CQ%%7o?V^ZEyV?>?%N4SYAruT1ra6Xh z7gSmq9?mroQ^F9~Fvvp_SK(P~y%~VN`BS*Z!DFt`@R9A#aDDIc^9lJ=7pmA;I*o8-${b?6%oDgcD=` z2YHRP~cTq zrxuNZ_Cn96p60^x$P%(L9-ThH#jPY;#ZD5aY#Qfzv7~1QbO=D#8D&(gN1~HYZxWnl z?Ck4t{nQo(SpIne67eXqz&fX+@zQU%zAxI2{(s~2KP(e3)I=%@PnxFV8Ry>uhdS!G zo^#&RUS~%Hp1QYB=S?6rCUd&g)=BmSDlF%LMg#t(!B0sEWHtO*a>1QV>lvqrW$tt}!?%lBzTP-ZW@qYuN?oORwCH(MF+5;4!*Z<1RFz zdS3#3o!f+i&R>+~^v${LF|o_29SPt;W$bhqh3yGUg!#6=1fJZY6b-t2)mml*rkQ=f zW_tc)H!)HoAvA zuzS!~@!QX$I&^2djP$M|aM$JHF(F3{q!O*#N-V^Q*>-`9U@ffldfWtN3#*|4z zQ2G8{KVpGfz7#X0eb1e8amH}@x#G^qM!KNfwhXsyccWxHx6?ZJ5K^>kI+RKlH*Q4| z@(9I>>u__~@6)9=%#gzCX+Rd;_x*$tn8!F?JHKOK7Y#*e(zm&=aZzpKE|UxC@~w@u zwy4pYmQI&*(cph_fsQogOsiS!ak3?IiP!(BpmjNf?+1|{DJ~Jj|N1nw{qGWWkO|$k%A1l2P zzT?A$5U#~eas<(>u4)2+C81{~|K*o@5LEKtmr2HPWv-CYKHG!dJYpXND!ZLfb;2Hg zS?ddz?hveA`SP1aX7qK6J+U*i8w2C)ryUaxZ)ed;pIBvw&m+*VqgjQ)4rF{xQUpzG zY-~Phd)O(O+v*qF8ifH_oj=&YUVL3S{Tf9}Rh@Y-J##5mi|fg}sBt}?11I`wzu^0x zkRF*&-`v8k$+8BRs)d)D4^{~@w0hCt&e~%oJLhNuv3eH{E!NR+p%KNkH$c8m22c7r^fDV2OvU)| zC!TYSvO%&VBT-d3nYNS*$rXW!)~ZCCr*?gP6xO@1Ha}kV>GPr4-fq49_SKKikIH)U zir6nMUBzQ)n(&2=3VR=5=xmEaBuj~iElVOjaE_W}tp?2HalkHD;+x*(rfxq&xW5V9 zEdTCeSMcr6aS!SxIcR|GJxWrV>1&p*AFj(i9EHATuAv<)%vOR%0(Vzo?ku2S;MGA<`qAnzYo%W#C)*ENJ_y{_quIqv;>O^fEJG zbG_K&Z10b7A8nzM0lhu|1HN54FsZTz5~F~0<08(oJY!$?Z`hD$uiwDiOLai>pA=he zK+iXh!_Ob+7jom^ED~^_diGKVuMxj)V4sVLo+|yb*?Cw%zJ@By#W?J-BJ&a%68!H`^}AxH;(bEFEKg!+?LvJ0zJ>+m{dL^Q$mV>Z=Bwia zr-%z|O>UfJe1Nk|S<-4$wqht@;b$6Hm(cG~7&8)BA7}vmT~13ih}n8y=zkS3OUOE* zz4G?B(9TYFmj#T%NTDNujywuEP{qv=Zew?0RXS?692rbJ9Q}E?XYg{@FtxV63lnzN z*|P@wM#(oqf5`+^$Aj!utKT>c{i+$~MUE%Yf*m=Cbpk{<$;QeBSxIK#AJ9BczJ~m; z!Q-M)T_HWK>T)a_ z{_roWi}Yqt(f381prJOxhb~KL&DzvCT&ipZa^l&6Km5AU;T3z>i z=zIkKYa}9XgS@i?(1mGLVH;WyAan?LR{x*CDLf0dpSpyR;gRA~f&Uf-pBhmg4)4Z% zD9LgJxCtZ3yifv+B}-}eQn@Pw9Ut6$_ujrJvpQbmj6&nZI9zq;Sl5PM=I}vr>fHdy z#&_nWfXVV=XV9YJ%2uRT?BH}r1wPowZ}idq_E(_7_4Ti%yFBnE9oXX)UrHYK0C%T(>gjci2L_a1@=+cQTpf$(p)=1f9-yz< z-L&%_%`FY;%#R?}94Q8vCtL;Og*6Xknbo z4p}_2A0#~;rDn$Rt_{ob)Wf%)lo8SeLvTaylgxrqiD$^dkkFEnib>8ERoj5+QSmiR@wF zsGN^-!Yw`K-cDUQ$`6kCAoYgxcu?&Dsq~SGXU~zS52m9WsK)LN2#taXq`C72p1P)u z-Zh+|ijxMqXznq*GZduk0Mu00SK@Tu2FcB0Bau13Ctr6jex$&#?7L zf#Iy2Ghb0Y)f~{d>4{i$puAl0=p*cJCtxV{cfmiyBM)xMKzI$Db>hAmdy!+3U@{iY zI*x(nHEo$97{5%crvJiujte7xe%>_&INnFu8L$2`uuVyk^Ni^!0F&-{wNUxi9qa`$ zN@t?H&!lT+d}#+Wl1OGOjYmFWIpU4-4;fp6F~FSNCQd}k@Q*WcKP=$xYm;k?!47Y5 zn3G}%KNE9D(9~dXHAc!vAuOxMwFYx&-xPIrRBm2*!_eDcR=^Mln*T!mfvSb4rIH%mh4T*|;3luGz2+m{aJ%;!Im|9`10m z5mh7Dk!or8VOsEP7Kcy0QpG^?4Zt(|53Bu=O>Ag{?;D~U+3z})_@d5s22nGBO51*T zIGO!E@NI14ucC2D&hUCktUPQPeldKAcp6eZx-gA5nTrCBt0!#aBrdi>t@=jnbGiM# z=-&2O+O)dwL-~GjRF!|tfy;*bo>fe!xW4-AMN)PN7rX%cYGv|bXP&tC}~87e#cGdObg zrBAu3h;n(abu2py-I%+aoR&-X=@lfJ;S@8-zHrV(|7u458^)3VJ2vRF09XF}#AuV& z?BARG6_3E8`O}so-rEe@g`Ink8naD;DbE_6T_PWy6FwsQ`X1w(K-=Zz=u%l7&DDiczfO7mY@GG?6MG5S~=ZpnhHnR~ce);H7Z zj3lHL>L#E;E3K1aR*0vC3|W{KeoY%#vA%E~%P53aoHjz+q>+XMM#TG0?tkt6TCmwA z+pH+pKAm&}h-z*3^g7=}3IrVrV27TY+S%0n>s)s@Y%{1_6P*EKU+iguw^--I<6G~# zEO?op{BmxK+K?6 zp-i(%3_DgE+7br(g0JMieX2|vZinpMzSomhoVkBl?Am*oAR${bZV^r{R?n=5?hv_s z-VVT+C1^qf^zMryN@;f@u}d5;qn)V{}R+9$Fy=&(X7fL1w(k9K`^N3J>d^Kg(mYq}dj*J~3Gb zq<{oOMAp7E7G5fQ@C$MFpn#9{-5O4l0;^8XJL!pU;hcrS);;gj=soJKQ#i1tFUtKv zT+J;dsso{8kC*h|ge(oG} za=pI+X9W`lbg2_z`7NS?zbJi*VqiV_VQONG_?!x|d#uI@wBEoQM>rFV)C0V|?ujR4}M$SPHj+>$FkWk1XGj}Y*KcFexXvn`= zq4M0oZ21xno=HqE&i6`nS+=ltct!jp$Bq`*uCDC+E(W8eiU9ad)v#|U_v1GJ?10x1 z`=>B(Gx6U-smG@RnQe|$QSsW$hK^fGo|xQY6*PXnB_r{p2ZOUG1QqY@bhMU& zuBPWwBU{>ABEV#y`+L7D zXA=uVj4xIdbu(?`ycciffbI;6+jRjP2RwchEsAbVZ8-wXL{0PVUDYt>CFsAg@!k|X z5StbXK?5z(E$K>2W>ft*(*A?8p|2h*Xs+&Ga=|y7;g?RTmshWbjI$?mB-kUCsZ1k0 ztxFy+DYxV$9I!S2e?_GDZ~v(1kapvv^^HR#OD<`$-=lo;Sq+NW$v=Eu4!}1$^IHK9 z6AS4TPiz(Vx=$yw2Fq}2oGzO*AdhtYsnn(nc0}43#*$FWXRnl%)HkTl^q>MN5?al= z`~&oyDdPp_xN`(c4O7zRjFrfbs990>eulsO;W`J*n30E$JERQG`q)@f#CQ+XYIob4bSw&;~B&w8q?l|%zE7PIF$EyBCZ`JTF&r&vRkVX8{MwHFMBCU(@p=fvhalA-}(9gYNB zsHby&2`3Vc26IBd=LW6j!eqXCSaMAdN;3F-b%JcL(ZRUJsVvE)#mMj+&&Ct9Zqg>K zWXuI2y6*p^O{lLw+pSf2kEc|v?({bU`;T0{n2hvF$K{lCmY&UCrswlCgO zFb+FOV;5gv-$YH|;1GT5(a9=dxo9l)bSH4WSDzI=yE-Dud381(YHa?gK{HN=2m^N5 z?(_hX7$0k3Tg}|tw1coEYKQjXx+YZxRO_RFH9bU-TQh&|Tf^=)3Y9|!Bv2Pd?c?e< zW(XL1<3E^e>8|6>u+DI-WsR+OAxRJ;miNhdxz}yL159CtRy1~#hK8IOrd(3#=Nmv* zDy>|cSF&5BvztyQYK&M#;}Qhuq%7?-He6s%vIasMrV{%Pdv-qkXL*d;w!vVQDq#1f z5k|7DH2Xw2N`=qB+-7X4j&$#&Hj{=1XZ|3pwrPP|QScvQ@#Z*n5!IRpy=H9=xy2N$ zQh+(Znh^JibET-u@!q0tgph!}$#o$G>9beWd`TqPO@4h5mZt&$00000000PT0zLvO0!szRCR&us zq`|#KxyZvr{9v(FU6RSK31zL2DK9E0(loQ0EMAgzkrCn|;;4-{Ns%Kemk5&)9x4!o z`WA++?^$Pg>k7pMVj%z2nD745T$;RZGoGR8@pX*cU1jJPJfUY{e%7( zpOAkV6IB1K68{-hD^4 zN;J#o8ogTim{OoL`7{$8@>vob9~FV|Nf7)V=7IG+C>_}IZ+kp_PiN=uVWcVdZ0;US zZT4j5F}nv7`B=~8HF|8VY&}f_tYG=apj~kFaPe*tj zE}-))0h~t%*gV;29tbPv>@qr#WmOi)prDINLv5m4AJ*Cv+qR9yQj>I4WO5{s1DHd=q5+5d1ZYS!8WIzY z2~4A43TvQePCOnc!KsgjT82!DMuXzAIYK{I?B=Q8j9s@+ zdEK=`_b%0fCKNkVxB4lpQ?>fDLn-<5C)1vgWug%4FS;@&PavZmw}++1slm_xTNDPJ z8`EyLS+u$um6#A+4k2WF`F8i#vtvfwO;yaCph@nKq1EUjU+ zbZN0A;=WSPeq^+0^;aScWmzPygfh9{ps>TCCPT&iLXH)k@=`i43=zqISR%cLwyeMT ztcXzNaRxgKul~Yf3VG9Mv0}A*fi5Oj6+-@Vm?3vc4tAt$E9X9l6=_fr>Pv2$sm z_Duv`sCPV?`p6i$ynzGU@Bv5E=iB7DRdK&m~zNCd@5ay9pEJqN=HgsrfKbhi<6| z#KNc+;c3#9hj0Z9aR@C4!w+w%f_q-NEsT}LrDzJ7(br7wQeubk?H>A2V925iwMc76 z4XUkMWp?S&uf37+Qzoghen}KafKI` zmda`}Z3J2r3*-p8q@b=+SrKD}U@)H~lL+#)#1KjEV(ndY2m-=t0he^0$Qtp#;>o$W zl$tGrn@d_wMa%T7ASE3)8Ohk1hk$Uj5T2wNgW-*ALJtZ_v@p2L?Fx*oBE5Zgc?liug$ruWvkR9{Ira;(uj7$vZCwn>fvcvRio zh-#1t5|KE%dAJPHE>XyL44f6CknI=*NmJskMQQuU%)Fbcrm4CnnaFObnE{DJ7Fu2q z(>re|%fbRFR9ufHb0Mn3WLTjvzbc49&fm@vM)e|QHA@V|ldQX_AhjqL3rJ&k_lD>p zn#6Z>Xgf6c?Z1hxs5YMF{tat0SRGWpZt~r_Qp)K>O ziu~B~+tB%XtyzE56}j^m?QQQ>nbo>JnshAW|90m*$FfyFr*LH|!CV8`VP+zt-yJ5J zgfV7#e2?ZGjfMOrnD>S!>|Lx)=3gT|TBH3Z+jr*tb+=odc)NF>_%NMWZluVc+3To% z$+(Zax}Lf1kIVdeeY=O*P4dE3r-?zougyERB5SkBif_FX_U0i)`#gP9_oiv{#jnYwe1 z+_!A0`>C#o*|*4zd?lXgZmMGDp>{>IyKj3~etsC3QS4dnm;W2Xr?28l_Qh$)r@^yLZU<6`2Fvp^7*h;kIg0pyy9 z0001102bcM&&1zq_drcSPdpF8Pb_!^H@t%-2S-HP^tDF3hh}POa2cEFyg9(OvlZ2d zQy5b%1biH848@In0oEn-R4O8QYklo&UTmJ9Iwmrp#eXC~|7}pstUHI-T5a*Aqo1e) zL4d5kau8gQ@2fkDTm;A#b9Q4zkluhHwTItOo$VR{dmD+nS4L34uoEce8S~i$zeXxJ zFs*a5=LW39b1C&Zxp?vUEoX-)M8pd>!w>hyGNb zzXd^EmK9fB@hyry6tJ&8N8Tk^qtYsWF$l!sm?7|HspCILNOzo*rC3FIgKE_<8T8lW zyJ(HXz7p4}j~CHE=kgsSvN3~A>vEm(zDZ0ApORFh3TGbd+lcSG`-T}lH(kfD-e)z{ zmz0Ng^P{5Gx-evQSV@aTK-SqbNdZe)Fg*&qa7JLGHICVV8I;F@0zLwIGo;@KBb{cl zBea^|kKZj*+2n5D$TnhQJksQS-*1PU4qHV+A&r~(UO)ou6w+CC4aAw>IK%$yk z<~>gT6|y^b{pvWX4DQ7sbUQJ(Bz_gN^ziUztAyAYs`a^ARiua29(T1gPZGg^P6Z?J z6xA(GJ;VP3DTv%At31fkg81pmIl`eUw){_{7w#6MEEc0!_DX1ZP8OeP%|Wz@p7W*6 zzAC~0uxwA%%GQn=T)`{xQT|s~sz@h)SN=r5NV*d)ytSs{inUCcVwAK`91q^-Qp^#C zJDK)G?V#?Va;tuoEmV7G;vm_vFQbF6>q^A*E!2dNdxshJb7Gzo z^Uz@jE*AW$>;=o5VDuE7DIc+5IQyn~b><0J!Q(@_8O_m-mEG=nA`#v6zXH>ophQ{Y zdDL(|2W9-lMtR$WQfo>$YtAlP-|y-+Ssc|bdH5k6BV)#;Q}Gcq2t37bIn3JQuaUzf z34bKvka76YUnovG89Bebgct9bM%#C_OSFJxzfFsp z$WaYry9YkGMlcn6WA~D7d8DSq&YAurT^3+_6uW<$d`^Mapmbgsb0F4%dV{Z_<~i49 zZ*KU|IohMx&P=$j^7(I8!aG-7L+Ir>ipWXP9gX+c@VPL1wD4l)P{IX~G#S{9kk<^^ z%;KmEFdFAXz4FbobBhm>g*%0px|vs=-N#oBrzXmt^+6v~7{s2JidxvlXj((pJ}?lg zeo(MSnQLySjAA%KY_3=W&+HYpS##NWIsHZ@k!_vEd0ufWEyp@6@`#GC!o)b)xHRz~ zF1~X>K@xqN!t|YLf{c?*UH!+1Z`FF7$7ZI4kF~nAKZGnKne{y%&l}kP9i{%JFvm55 zFyF%phGkqG0#>=(1rbMU&eG9Edv@HoWXjK0qnEF)Z`m5`sla=AGiIWs&>rPaSc;OP z4i~C-rTyZFCpl!fG}y!+!+8Y`h9~YcF;)Za3Uxz(QB$?emt#9q8%1Oa3}ey}`b4-m zT<3G+1g;G*3CDcZpfGCyJ&feqZtBpGE~$noz;kOL7SZ%dJZSd>2m@x*cBmtQjHrp6 zws}<(B=WA_cib?C0s(-)OtfXdO|3eB8N-!--zRiQ4rJEt>a*h&IANpYCMrzRM8Hl= zX#AZEchCSI0r~IvunPyi^uN)*S>3<-9+0X=9H)&o3cuwxEW^(ud1%7z@J)my<`Oem`=7Yd5Uwe z!Y_(r$ptsVF|F|o7Qb9+Ipj`!1kKb?yv2vk>}11E@6J`$K_(;5Xiie=hZ*mhn0|U)6J)LvK{W&bl(^}(bldHlxqWAMri zgDkM3j>F)YB^tsKP35kQy5N@eCMvfWmx>q$;-aZ{YF;PQ?h!T5BPJs-sPrWBMBB5i z&!^m6D1sPr3RFAlyTrK@qaFy_I&XAMw*#7GFV#vMYStYDvCnv8isgl)ON^UB- z?Nj8KgXzq@#s(4~?9U*s!P=X>QzRr-N1I|QX!=L!!f9nZAXJzawb7u2}cE>}JkG|e~Qp{|z>V#oTbqHC^oN?A(nHrgk z0LGZ5QTn3j7{MlK5Up49AvXI(k6GPPd}R)T2<({j7B$uinQ8%K&Yl%CeH8}*t%%&P z^vRFE4R}+g&VxPG@1h^*>bw013T{EV!Sck_!DL7pFE0^DZiDi-Y_H}%4NDtKjSO96 zY>Iuj3>{J^Yw8QWEj920osj9AS^}BdRCI}|Wx5{$B-GZR(4)MeM-(GRmr+c2=EYJoTCtFcR_XHQa%59_>v2Q@da05qk$Nh4t09=SZ|k!)wVbD~34 z^r9!d1=OU{jP~XdncJ9lN~uA%6ytz`u3T*Cwv4_-sY^5quh*wsfcy#u9e^b2L1|qM zTl}$id#s906aM4j_*#*~hkV8UarJzNyh&aRmv)#!n{5pWTV}>0_FImT&`qsbT870u z(@azAfS!p>dWr=&TGbg>?2(j=dn&ruLV}9J7(B1|UG&r?3O_w}JjY^kB4b$)a- zD)&5SV1?fCoF4SY@VY!!&LueaiZG>FTj3{D0i?&VX4^k9+1sWtqPxPg6N2O;gT zT&!_kNl8f@dnr|12gU}E1* zlwQd=g@h4_c)uPvKTAJl;G8dEh61tkCYp}-#+Gy7W6u0e2aL%z4 z`|*s|r_U;S8V5izW=e-+0TvD1+rX9*abbMH2hr;N9afJTY7Fpzl4N}hH)3S5BznRz z#OGWj*kosMzo8-iuGikXCGV(t<*aazm9;5^96Y!QYr&DJe$I^v-}917jR*A_vpj4z zuzc&3sQ#4y`bRo&teyl$Z?Urhu7+vR_L%0Vgot3*=aU~^y+o`(Swb})K9D|9*HJSk z_YVfQR-6((iL+|ax#Mp{X5487l5-D834x3p+tdAomY@;LXw5f;0J!!59ZVMUmM|O8 ziGiJsQ)oXu!l&7d#bLvHSSTu(1m9wAmSS_q1&sh_Sg8B7Bp^DEXX14hAKNpZof5r- zoAmrd>O{~1J9lpy*iUTHSQ+9)814tFy(Q{QX!L2dfueTrlWtXqEXOC7L*4ZaX)7qA zW_T1;YyQ{i6Sx@+&`l@hj4Q4byUYWaIikNBIm}Mo`?3rZYh}v4#RZK6*uq~48VZ+5 ztAjCkF`+mEA9FEH0HLc`k>8<0= zFnyf`IIeFW;Xv|=UkN(h}HjK5FxZHL0MWEnWMSJF#ADZO)o4hj_u}W^`@#jWEl<(Vo`(eGgDM z;9)^Eqj9ZNz`J__!I;<%`$&TjufF*DYe}f^Mg3My(E!dWoj3*wSh#iGKqNpl}M_#C0S#I0>l_XT1|J-^`KI}Q5~R-(ST}K2gM{Yi>;AU zjEYIX8mF<1Q;LLxXq$QRsr6zM7AEW+YIn_qjq$rF`eE*Wh1V%IP~BFkP4T3%SphBH za$OWL{feAoyLci=%g)L{?vBLMiu;RazgaRO{M`Vb*0&x|eqZcyC_Nj?@Nvn)+VQIP zeP7f=5laE%hTGwR1J_1gb#XJ0|KqE<^sI0^e%WI7%du=(n~x13_OTrNnb=YF<`oE` zB}K28md;TRTRjtOEavSQj!2)jf-EW=0l-fxtp$$`{mE4GE4KOkXm;aB?!PLc7Ut@> zo2rS8n#gMqr$_GwxxTd?D9T^K*JZuadfi7eS~{d*)hDC85ZrLgevAXa z<1^%}zXc3XM8`$64jMu^A#>0Jyw;GBYwGZRN3$8?5*0nG;*nZAVLU(X8iQDe3UcQ=E%XTG`-7!_m0Pbo_iV0YWrc0;P zhu(*-sqDO(S#jA!guGtSrot$+D_`jGYET)P*X{85+V*)W1BSs+Y5-hEJz@4EzTI zJXQ9ls40&uE_FyDR89&5sEVCclLD|e4M9s{>*@a@Ftwoc$Mt+@|7&M(({bTk&DeXj zv8b-Pdz(;Q06Rl>wEw!zU+bDW(a=>=G)(?23fzynIpm0Uu&2@Fuudr9=C1yrH?_Fl zLbLbs#EdGr_Nj^w>pjDr0WbP0MH z#*_>RhV`s3+)P>Dp6l&BivdJ+RAmq9TqF3{lvMScsvytg`UkElbm(A{C2Rd0O~g+d zRVPM-rV=Qwp(e0!p}1M$E%xCj;ebp}NLIm$Rt$oaI}Y>2YBj^cB?jZVRt?iOqb&Pk z)O=K*8pf|oTGw#wD2v8)S`y7NFlimp^Cbdd>;xjQ+y9`MH5DNw!@O?3on zrk8ywFRc|db`8!3i2@0q`n;AZMZhC587y-hTDbG-BVlrP@!Zj=5P4Wrrz*j{no=87 zR_vM&TDzm04m4ermv_Oa{#JERS}>tP`Cz4;xt24C9D93(0ONl;es?? zXzN&268fS;8nB@yTbx*8P){~L`^wT8Qx9KXANPQBFpM_fX*ISL7>ArehGOprJXc;RPAKlAj-RPU2o-coVPL!R;tXDf%uL7HX3_Yk2}zq!8>$)5A2Ihom#v)7rIq9B)Nk(Je+<Ig1__xUdou_kIvWx z(eM#eY@C)>gDj#$V~sYcqkd+3_oz_YvbrD0NKirith92{f&*prNA$zl+8+#ogE|(- z0-|-8Qe_fYc)xEAo8uR3h}@w{m=U0e91;{P#9Q@7XR-1^dA+22C)$@M`DN>nsHiC@ z3fZCgUiYh?=8K4H_VVrJzKzN^g`AcN@n!HL%VsPhk=f?QKyG=MSg;%KyUCfjtL zT|uwIvmMsw1oSG_@@2M|$!N`eBgg|a8sx}2+=vF@Bc;>rkVIMohEs_G{L;VBzsLuG z2Njel1Vq>IUN>}jj-x;MB7u1+m#&g$?1?uO&*8JG%;Q8@do+=|46ab`OMSpGYmV^E znC*heQu1n6u<-t>?=r82#{>l(OYa3_M}>4cXl$Vdm~gI)fR{oGnhtxDOcmRQ>iL{# z&>lzf!$M4v%6Ia{=!5_7jPK@umgm4EIAg$F_`k4=;X7;P1~<0$3T` zy6H5(5+Wsynw`s#)4`|xy6o9I32td#2YTB1i`UDwfS2gq@z!0r1!@r0bWV{$C>KI3 zrs%w0ES%!qe!XrEcy0*#r9IDMj&eQ4A;E`r$VGu7t#l(e^>ejWHOl67R}O2dk5o1O zQ&eYn6^z|_#9>4OX{(P-M4@^f1DQ;SeTkr#H+#VmlOo{0dR-1T1OnFOmP6JHA_L+! ziIhkoLQEaf-6YB&hESXhR$qvSB1LEM5azjfv88nV=2&2CWZ^QE%FI>#2;q0RB>SO4 zB0NmugDMXs-v)Of*po`G2|vQRE8|)&L?C74Ps?`-HUJQE`SRQ8voKVyLW7^-F^2|b zA({Y(zgOm2Pp#RIGJK0-xcJ-uz2*NvL^G@IXedm8_v#R7IXS8;y*!kT)<>F;E?GxliGyY5`9e$~)iz&s5?7Cpp%T&P7Xl*nD3M z4kZJ1@yZ!eP<5m@_Z$o&&R~m^1AC}k`#;;j%aBw&f=Q;UAz{x{RjmwWPlP9|@m9?k zOmb^c-6O;2GOPOQUjnV0Co%^>`ppWD&4QfaqWG>>X!1&Ogk~)0e~g$GllBMx*HM89v@R6l!3d>R#&3YvClE0Swqk)7-Dr4Bty`u1 zGYMx?k;8a6B}+j9V#2+yo_=ZPxQ)7?3%H&qOVL6N6VR8-a_IkCiC?4$Sy;w2gBhkJ zb{OVd9iQtnwJ6Om!efr!rLqOp+_sd6cO8-!U78dt)pW7lXDBJ+a-}3!(s-~KuA14V z-zspFC7?k8k+3prXG$J!7Yc2*St~1lJzepV$?_jOLs@zvuWG;-EhAY*6O5Mv-A$Lt zvzbNz9y9(k+Hd~O@hYpyTYGSUi56s^k*? zAKorHwm5S$3GsM#go6rK_nWiWPz$E@qY)UhnVom9;v&i%iC&929IDOeH+BTlT8i z_$ip(ZWwX9{1jtdcF)p70YeAF3l91z=-=#Qo2!N+j6JYYtERx z>{q_B(CFcOfswOtB~v%!wdRhVh`6k4Hbr__Z&EF)iSI;go!;kUJN;SO()Uz}w;Se+ z)?98F$)NYTa-*zY5Jqfz zlrTIK`NH-!AnM($EsNN&skSgw!fMo&e_!lzb0ga>H=Lbq@VUzkiXz_>2 zMFcQDLTiOWH|?gWmf_q$UtV^DFp@Rw>7>MPlyv00&C2JP;!T zNw!b`csBn-cq!O9N4ID}3a&>%%T9^wEzaWW0(KaU*EZXeq4B*yoK+P76p$fjNtYcs z%hB^iJ`L#36X^jrZjtBj^2BRTow>x_!nb8QdyDM3zy8dGk(($!B0J?)!r~1~U%& z;l$5CrO1?|!!eC0H}F<*Bw(M^U(^OMJV@F+F**=007yW$zvmLlWuK7>$9p~#$T<#1 zT3>PzgHv4&pR><>l|MDu$J_7Wl_m?&!bs)w_%6JHS^e#egt0j^!Mc5K-7<$B7HE9} z*F7tXG8Qz)*z$Z&J|3Pt=#S0}19XD`T6WwJAW(^tHXGv`4)KOygOEn9SXWiBk9g_I z?oFE|5Sf|jGYA0*0r~)G#m)x@-pfIu)hD!L53R2wujqkj2E~{#>WbRTZrfF5WI%W4~{e_hG8up91KZV+?HR>(nhPgM3HfqG!)64XWEE%_aAXmTX>YJM2MHU22lx- z;kYy%?MyCT&A>yMYJ!Hvf_Be1_oyQaoq%z_Q)FRHj(FeKyTF1hn1d{A%{mf|AWuU| z{hCy(#JkXpii+;e%tXYzJO4K`vts+4DmplbZbY6mHY^?#H}+~c3~x>;#W;{#iYyWo zuvlR*a(A=hD=V2dSLw2hBIT)ZO*+9PqvLt9Dnk~BP+@*`aF|_rRs8c17jG19Ppu>jLlE!QRq5vBnpvpjv80{xV7)nE z6xEL)RKLUDXl7@$@s7e^6bOQZsuL2aA)GZigCNLvjr8=q31f{QO1_)r6c|AJVR1{J z-ClXVPf4e%9hb0Bo-mAj1o3X6ni}EL()Mhor?%8%3{Od6=(cnfj5N4M`ZPjB|E_+z zmf6~BPGiIY4QC6!XfSY;Ss_a+yQ=Ce0-1>T;=BJuX7&SiE-X~-9D%Se^Fz`?-6?XTxBSmrqihq3NfAVfZ;+HP5uv{dFE zQSb7{k_vN4P+{{dMHx#xQjl@h?&(nj`z<`Agy(&ss(rb3Jmj;h^Y5~sk8nz1=rRwE zH7J@e5}(W*kk#(0YNi?b?DA%2yQ++geAenjOc;kC z-?dV8W|_*nCbP6rPt{eC$vl71WV~Zo6Zl8RfD28 z(g_1!>tK|v9mw8aDI%c4gi#1Wxx1=18Ick06|I`B+FDLkW)c}t!8K-7omq&K55>Uk zua-7e9U+Ju;h4f0cLQ0!5h?Gsj>5If(#DchbvGGMxk)XAV+vy|ROsL+WH<^T5+;l- zhXv8vO{-$bydz%g&iwnx>d?Rg9cp6Lni6EF8R4X_Flh4NII}3PGt56NVpaNK<|5*T z7QlW54aRYZO%vgi!jK&tYfv;{B!b}X>E3JJwRg*VG8V8k3}aU7ju3MY0tXxvHtVl) zSS;2#h55l@brhU13PGrLmq;_sK`iG^55w_eX2v#^($XR{KuUxNXG>x9;K*Zu#v#ae zP1Tu&NPD;ESFI#*T@@PqjR>IO3QafXRMCqG}ikFvJ_`IHF{!X(xrrfGM zKB4AGGl<7!IjUi(#F!O`>!@U_-~1Q=Bgp{{;91N`#vHQ)6oQ4DjSQefNr4yulLa9R z#F!0$0g!qSGt&zUYg%o`aL5#SDCFM|Fm;o_NnNffN;N+vLEXq$m6(e7w_>^}I-1)I zw1O*gIfsp`T$xc+oc6N}2b=CeAlRB?E(CfMDZ|>J1vRaJ)+C1Id5;wuoDa9xBfO~&S%NL5TqiG; z6fASSH`(`$mn9}^0Vt8hV)Zm43pt#Psm7Z+F8vDAb4npjznS2Ra*=&`>JiwfUYU;Rta zM-t99^=Jz!v!Hr7$heDrd5w*qmw+SzQ)kJgtrH>#hnaIzq+ii32DCcTCj(Dak%}_L zcxa0EOj@_QMW>vG zd?9$=Wo+B|Qt%QYC^HAx`})Nq2>!*JEsO8w8j%9s*A)2}Hl4?SkTd(*fiT0VG=!R?I=nK` z<)`fCP9oAhCWD99Qpumg7u0u3q*idq4N|%JpV&z4ULA}#_^Pw>^u{o|*Bd*WON9YE zV(2TWxzRW_IZbv?9JHMa<4Cc>?=UQ27N}Ujb0&{>_B5mTgGF|T`=4Q73^E6LTyHOE zop<#_JOW3IFxvdVpJR0`iiYn(w4;y7`)sE7L__b{-{;vvP1t&)Q!LV+ToVmg@PLhk zC07XR^quAvDA+NOt?^YeSo@M2aExyWSO?2H9r)Q0`9GFg((o~Z?aQE1!#E(%UbAgC z>=D#UgCmGl@y%45Y6^LFb5>tlq6M4#%)@NOIl7aT5Yc3tXBdiklLKH{5h`q}Ml!*S zI%n-6l?M6@6bKi4B1Z;&?8QuHLa2!0VYb;#0(R8Ud5D&AaW?A+?K_W#$Eayp_GH&Z ztC!m@4Q{qd(~rh!dYn9s+)%=?T#RoSpn}MBxN)poV+pjoIZpP=`@xr`uwU7qb+o5^ zFq0pn7O^bXEqg9V=%Y1vH%g>6TWjNwHn;&JISuRz(4C4$;cm1&9Ava6 ztmcduy!Crh#Ys>yvT-Zeq2ir^A~QsM6rK)KwDC}Vx0-H7QjpCbKGaIhefo`@0?6PGN2H!~#xK2Hqb$00LatGl4fk!**-CHEG+9cAm+!DPp3@P1 zujFWX;vqv}5B!!d8G#;3RG}5G0xQ8BLx8q2oHd51V9tk&WN=S}N}H&Ff+uASy< zOcT~k9XY$vg`FvJ7;Sm@E#cTlw^v#*><^uUXIA^{ z4El48Oux|t$o=0DS1B;1Ic{5xY7aMxOc=>z4GG2G&RQKg&fmTz0*^$Z;{aG_# zf27Okv!6?y|9NZK7lB^333$65M-_2`1!vXkwF2s8?j&SzWr7>c)JTLn*1g!>ktKJG z!xoMn4~Sk1yjNzqL`27c+jAXC?lydm3Mqe@JQq73S4M_FIzX-h;RedjdeF5aTqNmf zq<(jby?H1N;TnXy!{@F=c^o_ZmSakxB1gKp)iCU&24EUeD(nnL`^VqpSlpe99cugj zOy;BB<&QYdkrr5wD6l|3YsFv%e$rh$f~4zxowNfwhsd_97P2Hz?Oo94 z-;kkm+3FFgk&)GzUrEYNJ496O2 zGc2PdN@W1gfHy3QeOWPI=gJWSkpp%5 zb{<8RH~w1(b*ZGoouw`B#D6s11K$97@qI2s6|l2;&rT=1z;jWhd~|7N=cuV`Xr8nu zmCSoIdqMe05ZNuVRaab66sq_a&cy?&xPssb-nV~7NUEaK8K)3F^Vb+&YD}V)q6v2~ zQdURzoDRD0Gbau4cIjzmPeURO4Tn3(uKZtGEq~P79-GmtNAJdKX6VKLsUUjf02-INoFkRSp)@XbG z!X4Kj!5${FtQX872sw4SEHgC~%!c%RNM{US0Roso-hH}Fph5^t{?&V(Z;^|DIT;S4 zx0u*YOJuDkqvl2`fyBFFo2w9Fh``1@0-f@>%?>(YW2Tt_nhUm=!NH?O@@Q5^x0clE zQ@3RN=@{lL)h6P7%}OoZ83!0b{`K$K>Ghsmlbcv~1evRrq@5QC8wi|1eIU=1!7 zH5lYjbURpj<_?na1BN(;LaR$VeTrviiy3>vzC`bE{6rP1V;J0^o@Vf+yWUR5ymlk~ z%yh7S;u+0KP56GR8SQL2AMFAJqU*AFq&J_)V8qbMHe>_}l1byyc4ySyWJ3lmVswn3 zOpyAT8{>faIVC)Y&2L9W;`YTh3Gq#QHP9V&cCA6G%uj{lau<)lCU<>62IQG}&~n!Y zxze7=kone5E7KEGfr@#qDUJDmFXjP1*IuX-&j_s)F>ij>1MUHzX;0i zGWxFqodGh0BF0DmObcxWo~OCP=0?>W1U%Fo>85i5cp-%pT+d#+;M)K%i3sYZx=3v| z=KjL^T(Dw|@<0HorCjv=n;JfoxZnttN#h)JM!yaK^^ok~UHbOIt^Y84Nzeq5eIW_W z+K@=5ztLXCU=x;BCbxS%LmYH50ERe&9e^iE8^G`}dK89GBZR1l8@4qIhMOz9H(QLv zP6K-YeE@j?$1#vaO~{M>caEx2rjHPd?&w!$OZM-ol*q_ZcXvzuS5+fsrjJ7>ra1`F zKr(j`|5LRyVyP9~5vkc(I(6Z*nuK9$k3ojcKoD9Y+SOwW!yx#7SkZ%snRiDRI}*lM z!qf>vzcV|wXmO5-gwdjel4Rf=00d3~a(NB-A5pbTBi0?I+1jsCDyn?pz~UTXj8Hr< ziVTGCyX*f}Rg#%UMBkm65!gi%6CVptj|Aa~xiqpCH4Bw0CD z4iq3Kz~0@(C=g(J?94>JT*ai1bz7)xZz;)ubM}E$9NIG>%n~RlC*%yZgCq+HMh%2) zcmESr%}hkRJ2SIgRfL4(7mh8?38RFP0|N(gyY}0vl}UxTcPD0Q=c~|kboatx#W7)u zP>5_`>_EP&e-c&9JVd**S=qEzOGfq=4lPa+1_|W`h7H8K_0z4onMc&SG(-EUj7+u* zM-_*ZFiR*O7&?&L4TyJVX11$pAaq0u#}?;=Q9{Xqfdjc+`%P3UlNNFBZl-ot;qGtu z>-7J>KCPICcD6F<|I-gGP7($Qz^pH(f>h;>J2w)U%(k}_R5usBB;BNPt;gm$O{b-w2lEd_`$L^3kkJY(RIQ#ine zgfN7YFk=ug#1?No14?0d56|HCEK41Ao`bFRJ8TD4b=ayQOo|H^btj7g!bbTqsm_?P z!m!|DK}*_1H5QXbiVGWcr=%y*M`~QrBH0g4AC}73W2k{F3fG`!u;8weg zDYXEC&}-|s3K2h>cqkE>79{wpu5HQvVp9bc&zL7N*@As@X+5l`x zpC5qg#^Qr)+k>KV*G!2tXL&i^GHcZHk~R^1$Q1?|I;hUN_^WAL5&+L-ojFp)5RQqL z!0WwtCYg;1^rrZex093ZKWqXHl*+g)Z2@;YWR{)G)h+vJ%JK}=H@>%)16lHpiFA$j zt5Hx1IZulsjjhM(FzKJo+Ld2bI5hA>A*9hgf>dHISWd8Cf%T?)YOmfsO~%Q~(CJs3!og zx&hP1f;pQqH-9H|#`*Ryt*k z^zDSwV?R5rPJ2QYN#jFr?pi7JIjz$e+^r}m*ff|HX`JR#+}#qQj1Y71vZLNp#)sY) zUzUx-EE$Js9*tXJGZzlGT^%N2bl9dvtZ2gN+y;ilB#ymVbh#PLK>;Qe%ek5LC`{+S zM6UP z_Hw1kBzYbc&V!%_LPb<<%8@6kAhV_9AyKiP8>q+wwpULB)eXRrg~}$mG|OIx?C*-p zkuCdW+ejq8pE5(=SQrjh0J(Bt77vP_2nevS3cE?2b&#gixPE_k7$a=68Qg5s(JU=f zb##xBHtcL>)5)}`!m`;q*kvW1WnIp5=d`N3V+`&Z81LN-Y@)Fy0g?1P0z`lv-T(hz z<1A)|4b=%jsG)~eo=Q=k3X&3u54{k=Wh>GM8 zSp)-2Cy8>XFhCyYDT(Ca;1TL!nnW~ACJ(6snI4BkqFkCL6bL0k5Nb#Pk|3x;GeWST zckW3cqC}{CAQUF)flL*|AATkh4UC0hE;wPcu-WDL&1lwamL4ah+|7Pi+$$1%oPIzny=ZQ z`4~U*;$l=~u?v8S{ZO|J=qDNl1~ktdaQU$e6p}T}dRQ1Ej4vfh8+^*&O7K@+0-Nmq znUt7^-|q>+yDN!os<*W<@6hdrpNPk3+1)!!WCu=QQ)+wVqCU7Bkhu#9Adn*{Fn2gL zhb4ZC@L%0Blw`(sd7(g|#uo$=%Spo0aMJTqT~jDwD5zpVNvVI)iYLPDRg}tY2p|0h zR=s$V@e&5o2|YFN0DOPQQrpsn_-}_9$|qnPXrUs&K?ElXEcs}!3dX|W4cb275-yPN z0YS5%2A}cJTFVU!$)^?drOkUk?l+68z=r`m&_y}s62Yh?*`Q=snOs0;Q+r)*Igdbv z$o-UEveClTfnS}Y-eC;`xInMDqqj}IbpE#5+6b?Z*#5icJWerStubkgnR8Jf$K_8* z&ld8NL6}2+-y|rYrAKx*HW*nF5}c(Wg7FPt4)jqeA`!Lgu)~ky!>3>%H1Nm?)8{bK zFi3%;8?2ZXQzpe2PhWu7i_Ry!77 zLO@2M$PfgR0=Nd`Fq^sqIKdx7jga`5o$YH;8Pp~C20x(02Xuvn`PM?qj(#`q7#IjJ ziwE$n$u+&mmM!ZK2?c|I3RUk%@s;xk-C&^hZJ_}ljI`tj|H@y<8V*1L0RjBmyUEdO zE|i|o@ceZ|ei-UoOKfq@VstP=2P53C{ z>^cQOz52I4`g8EuUrHNZ*;`)&z-Vm3TR(tNJP|Ol3-VP!0;ZL|C!-;yj~P24HbLlFvr#h0Mj1$jh+ z#5dgI?6i&8vY4%1HCN*bNXCQN_XLn(Oho?iB9?A<>FsrYpW#`mvDS_VMa-VgjoWnLm)Z|(%;dMyiT4V>_O1y3^_T_eF?x_Cz)5*juMM}e$&$S@r>F4XEZ5x%shvyzHu2eqnCVD3~;y565GAvlI}khRmY1s?sHE>ccJ=; z`qwXJ!tJk(TT{kB*k0>+%f0F&| zDD^_j8J|>%XqFi2pkCYJ*%bMQKf|d+x?eTuU=gxO)Dzm^sTRWQJGM3;TB21ni-KJp zvjN1+ownLe98I(4pBJjF{O-=(NgVeJ+_CYG&ho3M{wbRrno2DsT2_nv0XkSuTce;_ z0T|7s?bbNvZB3o*G?$~Y62M(K zw^c!_L@>hv)YRrFM4V&pE)MC0b$?g7zY*GNwB|Qj_kTlJ;qNhiGD+S*^;m`1MnYJw zH@hUbH=x=a&)&Wh-vIm0Se$F@u5T8{Tif@o)x)7OK>e|vbmc>YRdM=7T79a390MS+ z1}`4<4iv$kM7-Bv%_tY%gYI8ohd36am2Q-#Uq}Ppx4<7Uh0mH~$60%Nn5c`Lt^%c*B>q6vtitIpvt(O1!6$@pLlx`4R`suyXn!sp zJt1aBhHybyfvh}5xC>6LfG}V0szne!ljI&y?do8n51@Iy)b>o{D%R42A)ED5*nA5O7-D)cgfCd?6W#L54yI6z^6lNUM{_1t$yHPw;^VB4sJ12tjR0 z$OTCBiFRfry*1li?&1fD>`gl*iGl|b$_oY`Kcxo}p9Jy)jsqVAv=JBAM0ltaCut|_x8RoZ1}X}D&D{OdGDQS8|5fUx?)74nk5UJ5wzd|vxJT>eOX16qWv=rSJxG; zE}D>kB4zk$ia6Xyv+=ECZXDYng^rUL>O{FgiV>pFu>o1b!z@~OMrZ+#@o1QoGK!r& z3=4Of)H2H@OdTa(?1TYxXUr5jWx(7qUd`-rlOTpp6A$XVz}59-t4oV(3|Ci`tU5`n zam0C+A{wK@R+kd4t}ru5!GwyPFHN3=v4ew>E;MQG%uqs|SdNoMWFt_xjp!hJgx902 zSVt$3L3o%n!nzoX+iT0VL1Nzbsn}O1kucIF5+MzpD^uvCpw(yC>T&^xtu8cNT}-&T zXxLhk)j^}wO9Vv)I#90Q0Rw`a6`ar!qonJfLrnj)S>Wp8!qv5ftIG>lmke87TwGl% zaCL>i)wN-z@4pe#Ur_~NL`gMrC}Vx}?4>y~X(O@*j!C4ec_3Fw=Dxt_V*qU@IbEX!W7 zPKs&y38@QxS@x16spur7EMhD*oMH2S^z5@R8P^yPgFRtg^HlvbzqYv+_;*h{*4NtH z?`FgKQkW~mh2jNyjdN8{M%Gz#kbVBMj(5JPIER#vHn9_#x2F$lfjL?U+qJFF=3%)O zs>67`_lcLY;d)83ah{Rz&Z^;dsyxlJqc$II_uglH)@Nv+)z%*WsF@Cf#~Epyv#^LU zmV7iiLKwsm#RG6j|i~$R9)+Pf4f#^ zYu)ze_Vr3g!#CgB)L!?t-A)J0aS!F==~^8xYi+H@L)rG{Yn^tuGpFi&yq&q@<#Os* zeJ_-n>-F^Ks=nX*Yh|h5v0c~r=ei$H+noEhKPcLp^ZnKsxqU3FzC=8DNWiq&HpiQd zvrF7Y_~d10T{rjp;dEJYRb8BgY+5eLLYU~ZkIe5sKhc;tryrj3#c-W|U&2iEEj`Ta z9mY=%72LZ<|}8R^c&u zlyS+q6rSE(X)4QA9#36;XKCtfcDv1HH1n5zU1hDOb@tavwg>EaT=y|m^|Q`$o~pk* zYqgR!`OHmy>QOYEZQl26ryD*0=RNhm^gi{e|GsmyrM6ZSDpQ| zM2E9kd7kIF_uhNgS@n>fde8Gb&of5CQ!gK$9Q8cyao+a~__^n)mjPF_?4=h9Yg~A` zP_7Tw(9`_rDLl{fTq=D(&A0r)pjD@nLI3{JcP`_8%X;~9trKpCGk?I|DP-m4c0BaA zOWSoOL%IWfB)Amm0%hojaLj8cO?E8ARm*0A__<1jVFU{aA*GVZEaQ*2lNe72zEaio1+@(_f z|LJ}2YUd>zTvPvPp7(+$Y`*2}udCBeT_Ek`J;>fxZ{Ga(QYj7n|5i$Ic;{Tz#7Y)t zS(XEK8CL9vqY-(3Zj*O&*nzqpQTLnsJ?lH|8}0k-`|oo5-8V=2XfHP}&Axx%9mxOL z+aQVr^sVUoBhm)bfBX4(y(jlI|1V4LgK-DKDc}1i;c066*uHx}&H}whJMXh}Zy`VZ z9bzQ6yczy0km%W^H(();gKuX^8Q8g}Zl&wpGL##nM~BPl6;?!Bycr_NQ* z%k$QQ`WfS0n}mF0B_$bpnwyDf_q2asYioTn&VTp87_P_b@!q{8V;MCd$^m<|tNW?8 z`nRe}$RNCHUw&I(9FZN+-AGx=ADuU)?i7JBKKlt3Piu^lNWjmG&x?w{4WK_D;wS_;XvDZl~&awiar~b6;O8MD@PE z9p{$4^iRB(D9TUWYTkM|^>1I&d{6B(zSTDu1MXx(V=@+d-}!h<*2ZK<-ay|^R`e0q^$`x@sFH-pS_A+5Hyk-%s}TTYRQB}nTQHDY7CYB(youBC~~FT3c*lcw|B^EgO||+<^@F6R78mqHb4Xv4K*n#@(FPeB*6_vfU4&8_shygjV2%) zdkc^j8N0W`%LJ+`FnEE$+dVlllLb6x?H~ayR3u8g1VBSY>-E4(PMTgph6$`ZO~i;G z5_G1Gju!$$F>Vww|36VP$tRtsluVqZ*f_S6Vxn-KjWGFY$5nGx93SgAM!RW#PnA?3 zVJl>k7YA{B3<0oGY8QaXy z(b(C~ew0qdJ|VpMFU{5Ch`~At_jqt!JkC~EzFId^$z-}G-?C;|Xar`(RXb<2Wk#_h z7b(MYO;l^|=Q=)58hLz;_Eb#2X+Lkrn0(wwMqU=tILmc%W_$Epi`iZ8ou+k`OV37` zo-u%7SFzA2*NDT|k}Qkrsy@yz4LTs%NUJqD-u586FB_zxzfG z=OcI7AWDMc30bpZ=+q{)hK(i~Hr2l7O+$ zNWA@cH1FbkJ=X)aHkKG$9g}oUrMWua1IEVLsC47yPP5(de($fwb64Nn;f!)ea&b8o zw*&rmRcpBN*7KdaPkX7}SwdqBhJ`s;cf-Syi2zy`P-(Z9&;1Fng3y zncKkNx&zkYS?6Eai9iYQCF|ooz1_vJeAn7)>-*7{zbcCkOIOvUz2kW4{{eX{u1$GD~ z04KD1NCCh~GUKO$86HJ!F%)$PA_p=-JtsaOFlshUMREoX`KtzoXmJ7iG9JeBZ z2;e~y1Hu@}(39iM01B`u%z#3QSC~3OIz*uf{ebntG4y5AI71sLXj9aKjFB-hdO~!h zfV~mc@Pb0eIAQ}71SQAohES6nP>`G#(F`#*YUDsbP!j>9?Vk>QWq5Xy;DI(^#K(tW zlNym%lnp>0_=Bg08l*8gg0Oi}AqP&D97j@M3ZRnV4i)jCb3jM1Na4~=Q2>46K*RqU zJ&61aumzkih-AF51=J@9wj!wYBI1(aIRj2qeqBR`x+$~g7F;q4Ny z@B;uXb-BtA+}g2A(}D_S5U}Atc(Mb2Vw@tBcrvu0;HXIY7_lTZCk7RUXzWk|?exP9 z7oW|?4i+%fkN|Ip#tbJ&iF(1RN>57>XQ%+tzzXYTgFa!Ra6v|fDwx6;us~hADP;h$ zGF1TuSB||7meR-{FP1>1xIT14%psfy4-D*K8)9b1)SEIS05x1FxS)a`{G>eK*f@ge zMwFA1A%4_EA==?alZ_-x7d9JUR{)9Gp#<*Fo-L&edZ1xjG7ACKoOBf%}oy+$BGkYYD}Uvn?QytAkd5(LrO4m!UQ}bVlo4c zNZAU5i5uG!OHpjFH7F9I)B%R~K#hnUU)l!O{dn{VXeBY% z&6z5HwxCT>V$J~{Twzti6Hh1*W=$3`mq{xLFt#|-x*_Wa?BOf&qmOM0oTP$Y6fZ;! zNuvS*T`^vc8-Qr=N2^K{Uj7tJgusJyVb*1IbHfR5Xv`^@=xAak4&sarS|I?5@dFTH z&=?-~0IzoZ@O#R<=|j}sFybckB#DWG^ne}{m_ge6#Ehx8L<|;3RsmRX!iUZUAs8kp zQS2!KpEy)N@zRA0mnBnPK9cZbW(m^$_=!_n;)IvDT-m`2hcHoq1{i;+(Zp~AENMXa zV``v;3kSL|K>){YxWkYITIeX#8erqh9&>m^A_u#L7$9IM!vYQOpCVQAY^fcPLKPae z5&)c&>5CCK;LJpr^2VuwA}A+%utGKG4WFkyW#9yHs36HC3$9re+6#r35YE&90v929 z98khYoFP;W5Uf(rkijy81SUF0+>&GjMb1%y__@W1`E1iN6PEfK9iNin!ZG7y&F#`rQAOyOY%5egpKTJeK;bu=6BW59TNV-4- zr8p=L_s$kQ6QGf@3&W2~dzmmJ1_32l1dg$&#IUhuF=PV*000090sv$55DXHQOXG2( zMmdR@161V3gyX^^VZ)#(yciY+1A?JZjWmLCM zN_^KQ7W#tBnTsCzvqUSN{Xxp}12GFan1QPfHUx!gKIRv)Luy9qO-x4ydrq%Y!!XhV z?l$^(_EK@~$Wpf&OOsb4g%&wR#(OzZ-)}+E>#+%RT`s-mG1S@S`oHm+=(#tX=lS1b z5Zy9(e=BnY-n2kUi`lW9kkv$=4tM;&5hERfxg}q@6gu4?GV{x2KZv)7`aI&fROz>Z zSI?DAF zY8xKBzAP%tao6g+yroyLFFhmjXmT{XY>L|aZs1J* zPYXo`cA&+S-Q=Me>F<7RHdTQ-lrxBhy<h^}$g61q8DUuV2Sx_J9+}T9fyUSyD=9+7+lt+2BzLCil`XCC=nR|fQV2wNrX^u8 zZv{4Q1Ofi!l=rFM2X6ioC^S}eKm*(_Cu;+GbPz^611S0SrNVp}0EH#Lzp;*4U|yje z*4EIvG)2y^FOTYEkG2CG%m{qhV$C|alD*W*jbI0(8S?*+h*tk-hODv0rhs53UWS;< z|GpF!6vPejD3{-lcuD}}wtWIiZ2;=kBxutB-Tc&mr6z*Ox6&J_PEAt0%h_KvMiV)o z?$q5Yms-s>(cqIEbWW~+GFR6Dq5?Yfvv=oc#CW3qg2p<#XyFJJmf*uoK#p`A9Fri_ zJv7sEJy0B5{zrvJPm{yWD;xMm8xyq&RF6?59JE$+xepI+hH}?U<>x-1e;^7}^ubSi zCbpXN$BRrWYHQiR+FDizv7us=3u6I1cWjP z6G7C42JgW$G=YkzP>^LF$YuiT=8l-cN9yU!20aFlfJiF} z3SQUZT9bwqW%Psw2%Sx6KJevEL8q-VRw1@<_=C?*G|^HNy(}S(CmM(I%HMSDP_wVk zW1<@+0tw9Q1sEmRQUVaW8d^EnUDKX08GVxaAmA2l%T^5py?&7ic#$J2X>vu}>LwRs!Qq)l_JFHV z2H&u$npA~B#F~D8&RWj%qN0NJq}D4IL~X~zK@5QPCyLQ5^NU6Wz1nt zvD5(Gv=;=ehXi17u7$Jx?g3;nHBvnkr9(=P1H}`eoeVuf5-9tm>7LcaM%_kA>*doB zE9CDl8A%%KDO5*W`wUCRN`0%qua7qo^YwAUB(`ko+ey7Y>mB%!E2Z9eHFdnW1if(jsY09x_5MUVsz$J^{rY^C zP0q-UW25M&+~@5=`Oy&e zqix03yb^Bb>$S(=s`$~WP^QAX49lZO2Pv<^uv$CC=H}s3&^UqUPj$> zdbDZOj?%_}7D{58=})v?#wgiX|G#rTDzgRSGdGlSN8U=PkSAb}rfR0rx7ff!`1PfK$pL~HKw^yZUSKpbn9?la>;*i zh8-5DLD_>Zae5a1$Iv`10;k(=hJ3QsSD2x42UKxuePw|{Qu3a1BtBRd8M5d@El_)5 z_MXtIMNHNq6tIM7Ne%2C2e!naYQ{nFMXfkUtdc37FW8sI>p0(tpH(mNx;JzS>C^Xx zzs$C`=}Fz`U;BZ^KPJ6Dst+5QK2z1^M=ccIEWC@F!;1wOf6(Ty5e7scj;D zfb=Z1z$M~&HMGCnf&{=Q11-``|3bIX1i4HYCVk%62F*o{UlOg0|5!qw8Z2cAiK%xz zL!YenL)}k=p3r+U6&@t&EBCi3Di59n7R{WV)*KT5iv!lkN@Cs%S|;Ixw4BvuawQ$k zLEewQy{u8!DtvL%j*oaW!(?R$T8m`b%FKWWBxhnv21-S)I1HacI*L{=bwjr600{=n zN#0d~noWAC)Cw&d-W*ZEJW=trgCf0`?#Sq`*Zg<8=f2ys5bREc}+rO?a(#7@8xQ z*-ea!JD2LR3`>GAh)`dccoG$N3C}S={*yZV8JwMCb0uA)hWCzkY}>Xuv28rDZO+8DjfrhL6Whr|6KBVqIGNzh`3tA3 zuIf+yrMp)3>R#)tZ^_R`P6f)!$Ap!amJORhB2E6trZ9lG&7L!mk8 z%KUA>qCXZV<41dDt(nWon)|eq6}tFHXRj_6a0d0KNZ3=BM9pqF>O!zEual}A(YRf+ z^l~@^Q$+WiF|{?}dc;jqEV;}$yfbXH_ihERSapE)RuxAa0@yF%5F@{R7ZuIv_;M&v z43fsiIUExB^?;k7)J)9Colc`fsSAQiQmQ5F`}Ft)*lDKb9WDsPyr`REehm){(6CVW zG0nC9fP5JehlAft0(lcp3%F<(D>L{C)znAVsI35R1P`=oWa;@~^e@i_hdR*Z$@i7= z`POqx{+8f{Vc@b*L3;^aVG*NEFVC3OwLst1koL^|G#v{`(Zf4HQ(G$><3|WR_fC@A zHP>;uvE(&tVWx55^`%$tSl?iM5^|l~48*Jaasj^6{uK7wCEXDmgg;1$@^_!#7F&gO zcg4#!km9R>Jf2|Cu&pP|Q4=i6yd{;6k_v?Ke0W8^N7C{-7A2&HKPuZhkqi_)aTicz zyq?i=rv25zC&H%&c|-!)afDbPNE?_4)$+>r#`FGj><K;48l`pC zhWoF)cC5RPE`hX{LW6|(U8-sd@}!zyI_%%t__Ff+ebQM?cmN;i9qZ&0t-tQ3Ms9oC}4zNcU zUy0L-e!BCFURHexmw56&)No=d+Fd<*_nj!`zMJLQMDPUJFxX0Im zr5_l>bo67=kOifQvI1tsNB#RvHW%&4Oyyw0^-r|*0;S+LSl6X1Ox!(#5YZn(#sa=> zoa#G?#NM$9RjD6~<1c#CdesPLgi1&e3GDeuYpYQE)&>FGn3@2IhBbyml z%&0#d9qz#d%L3bxB(9pRTCc4V0jHwF0Z&lbSE}Sm@xK=C|D#S`&UspOzii$M{vlV_ z(QeA>FN2O*5TfXP!i8Sf+W^u>A>da1E3=q04-U&|qY{#0<2x@;Bm%F;5vzi`P(x(HYw+^&0)gP9-;k znP;d}>RoZaeN*T+xM7D@!?W(5t}CGfJuH}IT%of)5wtvHeAqwM4!`A@!%Fw+FU()@ z)MCAh?fzW76a6Py%U!or96l9I_&$ez>*F#GB?GdZ1lT|c`;Sv9<7t-!Zya~7+p)+N zI(ek9+`dzC%tKparqDps3I4<%GAIZ)7E_aXc?x7(!s0F%zwMg8Tf+(9&j6T0aqic5{;x$V`@?zlGf8r-ILEyIbhn&`aP>fIpbGew!w%Ji~kI{&$R%FG;)b(?|-K7 zje#ZepTxRd-e|C^pKMzRg`jkFLM-m_o5Q*3hk{H$UnyC#y%M>RxGuG^$?;E{O{V5l zEt7A|_rz*e z?TZgDN!?roFWAcqSby7B^JVj9;7)x~HtG%7u`I*>7b!uK)^0a2-7Y9>@y6bi;*|Qq zW@EUTv~CR!Wl0pyR_8h-5%h12Km0ZmY|>z3>7oId1R6G@9n#P1^ZDAaUn<>t~ zi{NPTuXMAMsP6{W-w}MnxD#nS6i(g zA|bP~ShiK5L$8GZzLLjbTLr*>Ul6K{<)9ly`A>G{J)-3C~WX| zK2-2e*j1YeEgQcmq1%%XzlC+*NRQbACi;6EXyFH5xB7P25uJp3T3#F{Sn$OAbNgWg z|Mx!B6h>DX*IcpjdkC7_RvUFdQo^<24v0K1%W7QB1DxoI+KCiKUs}W}PCaX{v}7E~ zGOEuMl3ZnxWI3GqDG8r@#y5f+D+#He2HgCKM(x^ zaZg(QUP!nmjk8hU;u$QT6B0Vd!rSh=H{*BRS$ula!yobVG3C|AuwtW%t7D9EL_wj` zuALEeDKT=6^~M|X09mn8q~yZQLIEw*FZB~sF6uWQ7LlSGSRIO2Ovno{&q!GhHJdHI zPbCt8dCfh+5SdllO9i=)btzQh(+B?@L4Q*+w*g+DKbctWPw!Xqj96Ir(*V*Q7^;2? zS3DYC!q^?Q<)Qa%Vmxz9)WOOQ5kD(^iQZIs+kO~G{MIYDKG}5N1}t1(XERIHFX+T~ z;0Tw|v&=C#5{Pqq4~192eN7(bkWxGAw<0rKJkXKGa}lhYcnU!kEZ;o~xVos~Hfvkr z!6YI^Os^yvzdaxnAva1|tujeiFaJ29z`^N+!dfE)-!u*p!KOYX@!}KF^ybtG+(NmB zhCbBtA6C)vG*bQ6E`;)+`s~4>&~hN%PQCCLL?(;Dk-}BRn^P%OwAt{9N~k) z6FCY}1IEW@er8#27OF7(s}fP$CGWozpRD92S-O$I(}@^FbTqq4_78s!?!iB39^Otx?Ok3O zICq%tW5n~As~Q=KzTKz~K<>3PXdv-^7A_DJU5^OAV|4`Z&bT zDrSl|)r(tk%tPbzunQjdPf06PJEY=wcwDxelnSxlCme}i++Y0Ua#Wk$&TZKDXsukp z_6U9ln=&v$^rc3m+g|8{+q|#+q10FbB)CQSzDEaa5&Qp1L=Y_2IH-3HS4rCO65e~I zh`yga8y?caO$3dv#qpUTXI= z?F4Nhskn}?N5I0$fk>m2$Xv*uN`f1BvG9iIKHD>H_r9lmbN0Jgy>^{@X2+FO@r9ra z{YNs&4JgVPYU%)Xk_5t~2cj<~;z=a9g~0CB!54_)mayMIm1MC5np^vcQ|vk2de(<1trgJE)-W&DQQ7T`5sqHGimM3A&3Vz4~~TX+48v33yglW!MB5~ zU~n4a>gO*q#N~nMf8?!uAW_yRs zgJ#h7^|4|9D78R=&^vA7?dv_)Lqqu^3bJAr=}OVdP_RGHQHK=jU!AB!Kk?R}M+1{iFceH4`oW0gBnWSMyI+b8x1)|l*$;xyOLHr zGUabK$1>`{!6fA`501Y_%bmZMP!u7#S10fFhbH5k6=uUQ45E4kC2yMQv|jNp;L7R- zomIjm%llWWj)5J{pJB)XiVT5+NEV*!@@Z9mlFNp`WhkWniv4MXdi^(mt-)VkLO|vn z&?;Ih-|KzBuztbI|5pS|)S=Kkd66^?fUoa*+pb97P>~0a3xoO;Z7_Ur6xhq(h&^XF z?m#47+Et*3&|Ncf(vnA~q_)P<1!VMr^c5F0sk!?Y>BvbVbZ#551mw0~|7S=5(2BhT zv4-MTQGEj5&@g45B{eDSVr3_?4%tnX^KLCkD`6%M_-I8~xZP8xk7YxClS$8c$Ejc^ zkqf;h5_`q$l@4v!2dWlt$OLIDTl|@JUB-B}t?5|BYGXdUwucdxxyBT^D=lSyn(G?) z9G`n9_w55767=^#JaYsF*;GlSv<4@p{&sxa)y!yg=l$dPT9oSipdsY%&uh!EwE0;? zo|zOP;nTVtAAC|RQ%SKFi`*;a{*%gYD(3Aukg)_E+8Ux=e>*xA!MWjQAQbwg-v<*W z1ayxUjtT{n=EUg^J&o}6Hi?@ z572#<^?M!#=%DEzwhjTRt3ps10qF|HqPS9z{KF^+v%%|qfX9TxmTd=cz1H~x+BK+# zATN+saH7UVtydi&s(Oc3B~U3WMLsWBivWi0pE(2y(OGCgd%y8CAD_vFy!<|a_tUF7 zhycWDdtI#B`KgDM_6)DMzjlW=5eoh%XeV3p`I6*6A?9XQ{C02p_o5dL)y#)|`H(ILGEo2#v9rRY{h@qmqr*+O2&KNSApVwVP{kM)h%=Q5^Jr&3T&)g6*bg zj`kaQz214`Q_k8RGda4}w%U6nqdBI6N2YDbW-)wF!IZzSQ2G@E>ne}r-d?&nCVAQ3 zf$~@n92y_l*^Tfb$Kf zOjWJt(pXgH&)PXuOK#-MqeD3SFu(LxUD$n0x!DwifueKQHzrd7IOzu)B$LLGCFxjn zY~!xJPnX8lW8}jKRQjO$z8=LF2(hPKw75WL6k&Tgs5k@y||SYo#+p%uqyP&p30M&N^_Xy%Nr5 zdYnLs;nKIg83F68QBV;}F02p256&|(OV8#~#YQY=`n-OYoM%ILJ<$fla`~GoLH0S^ zEt4dxtr+R_Mp?bT0NN1er|om4X&R`6uF(r;8ja0bi-oLV1NQ)wpIhz(^s`2iCBZVd z1cJfU42&;$R6y1gq&%X5{|W|Mb!0w7z$~gp0DfcMcG&`K^-X_D1z(`f<1y&~-G>{v z3?^_LD!GNKdGN_1A1bE;4FPJYRRE?LcFKvRf{t7(+1OYWLxB{euP`Xv?A)VWhd9b; zA`gDy+Eh{jqj;E`Un0BRN_oNWrLOK(S^Y39aa@Zai7HGBlbSG9COeJRNdSKf^cHLY zw6<74VYItifAsmmRNqV=#ZwmBfPHpmRtd=MG_0ENI5d8-&}nXPjYvWMVjFLq)DgDg ztZk7b+UwOQUDd7CHVj3bP`0(UDnXW)ybCOl;pP{$2bJU*}v9xcnL-Oo~x!ewJ z_ch4u@E%%WTE@UuKjlXRH^)1v6;#{xo9tSpAR@WqzRg|g4=Gp$~Aa52yft z#|MFXJ%5EUF71&?bz|(;-~_r&u1)bS!?60&hz5ONShsC@0I;-!N(fCv4AV9bjDIz+ z!`zG3Lqk>&1={?ZGey*1Pfn@Q9#Gg!(HnIpr(}X#iI^&Pm1*HkCok(h5IGezs6K2r z&(bIMp*OK%o9p%3bbdjXpaeisBZ_^8#AolDjd*K@LkpEn)PstrhW7U96H$_GG}L(G zJV8chyp^pYNZ^(Z98U)C$`Ic~z6{dCl!TCAhDwN$WEulR%$HclQH7t`+0Yi{ct-## z7HWksf-+^Gq76cEcVD=&Vf2n2SeW|RUfS6n97-U&V-}J%yf0LGMVT`pe8?v1h78P) zVW~P;^koM4`|IXG@@HyU!`t!WWEdo<`~4h2WNdsbc$FzwSa>~Vjqb)8%Z`bPO{6}o zimGO8nFdHO4rera%n583VroaLIq__D7q3tOC0u4VAaw>p#fw{@Tn8BMr1+RZNyeE4 z*><%3@gu_?BHSZa55}2I$_rsKc0gqOADrG*R)GBUV5X;5nHB}q7V9T>if7Fgs;iz$ zHnI17KeaS;7U~CWNpwr3f|TTkEg>WyQX8~+0tC6IPBrVKOOscf(=$ArR;O4YN;teW zvI3zIVhtTW;2TgGg8oNvy-X$v%z1cp>TmdOa&IukKd8U*+}S#0 z9~@8#3w4;*%dnGmUzIG8$m2^F-oyTC)wm+&h&sU3;D4oe%MHP>sqZ52xp&!cP?LZ@ z$n;vjVJD;&n6{+RaVj*9YT?cKGSJKaG^>z;ZBZr)l}Ye zI{G6ac^G@B@i9qN;OFn!0wG}*gB|OU-zX1^CwXmv)1chbz)NXk#D^a5?+YI zD`WY`N$%~$uz74<%Rk(}&n2fw*nL1}#x{s6Wkge;Nd*kEeJ4&Z)U6L*Wm>?^N&6wu2kB)+|w4znXh3LaZ?ezi4-S?}< zzuhw|G~87ARhJb+l9J7|JWZTNJ&b9T0xWK0=rkPH+`1+93D)R<`!(3M_KmZwk6Z9X z_S*gH9~#XPPwhU?<$UjawjV=Xcbgkc27L0t`IWn}X0ds{ct^;ODaQEB={kn=s-~!i zjwy`EznOa13DA$b2>*=~6Y*!b8>r>^ctK_z9@)74J*v=Qx9tlgk+-9mWqxA@{f#{( zu>P+?bHZT6w$skp*%C;g2_vBvD%yf0(d?sT15 zPUD#CuTDX!lz_tcj(vWk8z^Djp-A1{jOieuXjdMEa*YPK4(4k0l$k!e+vEouoe}q+ z;{lR#Hzq%Y_XzXBPT-$|87y;NR;>;>uqar#InwnPG zcp?A#4AJI%+TJB((4h!Syg+`F;7-A2PXt*j!Wm)BVRw0;0DuR;4!}1s%5xBy+oHElxHJE$&+F$v*n*NWWuz^8#ghq0rBw%6QKAdk4QhO6RAWPhm&;zbGVK=e|r&`JG z(}{g)>aM%wFoSAzjdMn6jFYWU?Z=g$UswFVo7%n{bV}+3IJhxFe4yaX%1_`wI)pC# z7wV<*Q{m>@r}LHj`T+Z%ZhtV*-B#7eOum=XpJ|PM=6`A%{poZ&|CQ5s!SGw)_i8ga z=~TCvq&}At0J1;?7ZwnNU_nmTY?DgvqeAm^ak5iH_3`=1veQSh^|iicrQheeVz+Jo ze3|-uqAfllE#)7F!0L;bFaIpqbnblGS~D5HKA>6tQqNC3Xy|sfXCY zjjEs?M6h|zf^sW#*Me0euzfFTCefpgZ9Puj+vg&8**c_jd`4+-VPr6fF7BP;Q9w1E z(?HB#brE*D@E3Daj@S@b;8W}q zt)VP0hdceUlgp``Qu73-)sarEzCucz)mz4_g=7seUow&9kwJ~>C6|Yjvp2oG|My3= zSu`wkW&`4S@LLg}59W+xU&ROu!=uH3_lh;Q@hB*fz*eMP zjD!>*Ogma&EL-(qu+okU@d--ITFNPy^TY1+c3f4Q=Y`Wh8w;PrFu~UnS?A*hLYWF9 zXzlsz#CzS&>(KT8 zI06GIod=Rbc4k~uLM&gc_V(*{{;kNgJ^o~&+*f$=^~dIra+CH%h8XFgNTvJSHTyt% z^19;alcYGRY_3Yr#hoHh)#D^YQJu z)IU6UU1lgIZRocKLY2rb8Q9<>)-$DPGNG#5MRRZQf|23E|$LuJ?5>DGi zCtfB7bq&5DnDz|`kctdx0e}HCbU*{TAs}JRS!c}v52U!Bv`QkZw7lEGBD^w=Dl$6L z-;8yv>7A{;LxlpJBQX=bGfM;u0xJqQ8X`O5`!mOV=hw2icPmcNxo#Ss`2_(Z9kBBP zsQtK>q~o-{{H(m_BD*q0d@3h8yv8@ywj9pS-YUF-0I$dsZqiHIde&;*8Ic&7b(Llv z0-*6ffOU|wy|-l`Y-D%hX{KvI1#!a_phF1Qe*zeHo2Lh^-2irzPn>Q5z-Nx{09YUp zwHJU(s^?1r^fvYRPZI{1PUiSG@ocSudTlW#{digm;2w zujOZ80O=6#>_6HW_4E#2Hh0uSkbw6$9@z+4L5twNIeeiFas5fsmJa!o5o{KUfP>5*VJ4QkUKq6X@MCNG+qm7R9vtlknYELSU|WQC zv~JaD#Z6B(?x`-%$(91cQ(jbu&9JzEn@&G*@A-N+5Fgmpak|B1bhHk zj27gC(*jXE>42eJPkfoLo&9{kbCL1kB1zN>Rlp5&1S|w9ByKP%6zwr9G>}(>=n)17 z2m%lSg9*0r_{$P2aQiUldd{bPUYtvQlR(>=Xkw;IfC!5Dpk} z9yi|*?;d}PVBj{7kZ5U_n1oav2}n+nt(Nh#H~X}qhXzlwk$Q0V@f@R(@(o>-T-1TRp^1Q!^982BtL zBP+Km@8zP9rr4pRTnV)KnpOj?fR>gP7Ut$=W~QblCdNjF2KxW$>FQ`}X=Hy^f z4cnMO+}Q(8!6!AhZWPn)DUjSVu>HfQ_|qpWlKv0%DIqQ!pu57z>MJi`itECV?9^N=LNBFusWG++(^Cba5F14^O=2LdI71KS>{ zgKnH&Z%8JC1LLfKXc?Iu<3%`Dpa?9Oi;y;005>>DiURd70LL1Z7CQ&}2?#CK9eya% zjk5wcP3T@-1q^_qGeX8dpU|LUl&6mabkHY7GzgvCDx@9ueBT%)90LgK#!2Cz$e|GY zD@GxRCPKkFAV$HtAV$HvCq}^vl%(K9lMLa31W<7P6$z4tJ}j@w6;GOjfMU!MDKG#LIH?rq8)5RWZ@b6Ev1TlXI~~_I%I`R-oWq5f#?)X8n0e@` z&@f4Nn2YP1>m^v@vT&TEBk!m=Fs3mE3@N1d^-aQpa5I<7>{~`wXJst)p-)w4NITr2 zx7;4gCHd*%^U8g{0*{`kT9Pd(00W->J|$XiSuQ*UIuPPl3UGo@s&-QFRw$adBbNW> zpj0MY5m%n;v^g8I9>6{22nCzWy?2D=qwrK+XOAbHX^s znpj^3J;l5>mAwM812P-Zm|sa!=`fsF*^R!HW1}aAri!Qh!7O)5hi=7gE%TsGqJI0{ z5u2O(2=?<_Jvw?pQ6 zX>RW08l>OPKcoGIjvONTjzcg{4i~~ObKgPm@_q$3VT=aSIgiSls7K9eXVjmaRX)$R ztYm)*L6zixUlONHs)lU`zFq27UF{RAxkg3ij})8-r)K?}C0jz+2q;E5>Ja*_Nx&_I zvS2~x^U&8gX3;4=Xkw-z(_vI!6F1VEF+NJF(2!0Lq!i|xXPgn_C{S%ne_ti$!Bufs z3U87z?b=;_F`#MD@Q;+taq3<)v$mI6El5AAawX$jZya*!e)6i`Mc<0AI2>;ZZ}q>( z3NH@~<|UBts7J=xPOfLYUBm*=c58+%{=5sFbks}vD%MUwgbBe-X!PJ!J_^;1;UxCF zo6FF6{0WYaqhG?w2d&J@27b&VlZou(1otiOycc$Os02X_FU5<0GyycZkK52(XcpE z`}Nq(j}Z!IzzjvSv{|8gZ;6M%-peq+A9Zg$qrLI@X{OFy@F&7wv&6Vlrjm-0=2XYU zlPmG6#H7Cj4f3nKUAe(mWVKjFMvQjvLJL7=wO(v-smUd^=-Qug9EvFK#32xz_)$gC zOQS6&O(oPQm84~aOots>_gQWvLLH}HN$qA=msqXMX&7ZV0#NJ>WY&=sNA?@=Q|(1> zPv`36s%g3*^=aF*rAQ#mvv(V%Lz(xm@w77#%P=APTV~LaO6$m|PUv(lpHiZrFz>(9(dfU9+FK^_CVDM?_keE}}@eAMUzuiC<>31MoM5X8gGj&nr^_I%bca5<{`M z*p>M_H}KasZK~f#wSp%*gfzFcHJk3gSNl`3<<3;~^h_6J!L^X5nU=lM=sewVu_o2A z?ICvsyB!iKUt0-*aW!@|=wamDW%J%@6@iuNkaNLP6jDReRK@@On_lPII{S@L+`LZdgP#c|8vAkN!^T)z z*fFsr$XS{2^_8tS96ws4&RrCZq$FLvDg_n%bpHWR)JS_JGX;s(YpFLj(V#>aQp+)A zBn^{P6SD!5P76@)k7q~+MI}67(2feR27aN>5ZW03vh`6W{k0!c5xaJNtx!76DuWz zr_wa6JuOCk(r^JBtUKAC=OPK^crG9M-K^6>6A~qXC9xEE4b=}%VH9P#GkPf}(`$2? z!Z=|~9Sxos7|0+->Ult8Q9zU&O~$@NJ%h1> z{clC{+(N^jn%gECuIvOL4PHg!{Jmb<5MCqSidk#yzupWDvCVQ+ExINjmM1tJSPeEI z9P2}9cBzxyBCIsM1Vq(!d_zX}n2`3^WCaK&3uRps!+Jx z?fY*H;!TF2#=SzfQTM4I7K=mo#to1oLq9Sv0%0|U(N41?B~?={#4Cy$X*&?5V2BQF z)uJNygr!wgMvLh#_LDHNx`pzII(?ZZf9CGq&*U09ty$4Ryxx^jSUP++S~t#W+7W}Z zO!v;Vm>0*Cp&k6{D)G1do9^Q5$`snfLLSx7SPc@5)(6tS7L0exF-S@D2MO{rANq@Z z$n!C~Wrq~AmuI}K&U=D|VWb5}ib+YIig#s>If0*Kysx>Qu9TC1;GaL;p%N3YUgp4& z(_@iuMz32RUs<)ucAB^34~}&)r5pt^shW=Gm4EQmDb+dpo2&P3I;o7p^?Py&kIip{ zN2PK;9+RjC@n!k>hG*dWMc^^HecGz^UqamQckCA`K22@9@B;+&UN0Z-Q&^6Sj4zMG z?U=}$I?4L3kuBnfkTEL7#EgO14az`lKjN@_p#b*Ijm-0Uu1^s+SKhG3QK8&)!iK`i{H;~&&s7)%KRpG?EO+L_pkl85Rt!ct2Sz^kV69S zkErBs$0(oY(9Onj2mEkNnNmN4U;m37yOn08elbIPD@KhlnYoq5du~V1I6M+|aC{v4 zOwDBEi5d6>>B7zPwD%dj#+YGyPe43#Iz+}May4^Op%cBlcF+hb z_~(p$5ugOyu7v5dF5!S;As^!fZih=qBY)?3O&sN?N)Umt3vRW>LQ}1@#zxxXhe0~) z;Wg(|;3$afenqXTsslFShyjv_#Br0#GmBnH1%V^}1KGeS?U#QNn-M3gYMPZ*->tP* z&J5cj;9)~j>_EMchhVXWAzl6-b6O1;WAh%3MF3g1D#APIr(u_}WvQJ^X)M_Lk_F;O zB9*Cdxwz`^^VU|irZ!4uWi>sfym|Gx*!6U~oq^pJpeUbsL68r17OSxY=rZn=KvKYa zd%EFqrea0T@*3=*K_EG~$1&rUrnUk9N#*kJnCvS>Zd)U|O3M4xQdMWxA+QZv${u%> z7g-^u`PB=I)cP_N&jU(iB<*7<2_iXPdLq-Kl50E7x~&)4mO=sz7jcY3SyV>^p($%6 z^#D&Og3!X?LYc<0<;MV@wM?C;N5b4!Rj#>&|yuki6F8{Sx{qMaRJYz-0}URQqpO&g4|a;Vd>U5Z(`EhUMyKtk{bUY)xr@ z0$jEgS(Mnm4;zbyxAG#TrRJ=GISpp8(M{nEE}5Bu)Rd4iN|{rqNc%7@rFzN96_JwU?7%0XSEmx;P3Axsv!vcBLkX8fRQ(DH zD~*wUWf(Xu=vzR9@(yACWDe=t$Y3I`Q{LQuD=s0MuFx2mOe?4#NQ0%!upa)7DQ|rB zs@YUAe4D`EGkLR^u#1E{<(8fGVI1O{X^-lad&xb!9H^AgTXwPwP}=gxh%7 z$Gf$xr+tR{kR7&R;mOWfi_@+IN<~|kLMTzfr@))f=#7MsPDj30y~1)?Xpd%*b!tzS zBER{A2ssfHnH@6d=T62zaFN(zZS8hmw5bq&4hHt*a_GTGnnuA>O7|+}_>{?b{F1C6HTEyS)qe_eob=^gDp~AOkPsWAHTQO8;&c<|!(uLG7PE(^Kf0V#oDp|Qz}38;M(5q>a&~0yXtc@k71@?nsH!8t!ZU9>Ipu{kb8i0)oo$M}=8!%y z`uiqc11IjXayCuS`k{6|P-9h5iu6S;4Tn@8&-|i5f{w)6B&*{)@<)MkW8M@FV=lK@c?tOg%8?uNy{}F}22T!!~#)PyJoa6-3^C+x?ZUE|dKh zEf(u0&9zOx=Y`Aal_2PAE%*1PrA-6^1|2;D0cSFUZ6=H(lo|w@&1L9s7~JH^THYC! z<^SD6B3k!iBvVK5KS>1qTac{5Z*6o9f`016{kC`(Tlnw%ELtdkE54->iEwxDT`B%2 zE#wG)Ef(Wgwnc74@sCIvDJ&@(%Tvb^x}(~Hl;c5#VB8S>8k~Qjps_P`8;=GfTOX6Jx)?`0TT}G0j~adIm83+B^}(d~&;8;y6WL z!zkYX-{35l8U^~LZWa=>Mr}oAZpCTQ)Cj*BmM=D1S66HFKdL7q>ZAUxR?})Y_B>$4 zaDlIOn~smysccf_x9@>UB`(g^91`u~f1&MCdi)P2JE&Dw1>8`@fS0K2*hEi92{x9A$?^VDT5iuZ!b z_84-5{B={+IwnpR7q+;Q)ZlzeBlTF`)dhox>v!+Qqkl6AzB6So!W)KaYN$J^nLUU~ z#Y`*R|Hd{d@hB78%E4xc--oyMU{8<8lH&NGvz&uONLuzU8y5os;4G=uKKNrl!c!Ko z1B2(uu$`j_8^TUX-bKCej2l#UGK@V27h5+KWjn`&tJ^GJP0OD0T5&U=lw~YOnbN_$ z({OL$&jto2bB|-Xp9p{Kbjywj-R$bTdTWPiJ#79p2WRVsJ_j+M_DWPtPG4q}gAZZm zck6kq>ED}^T^@Il%3Cc%m}0{>gDmRP?+(p7Tz!Tce}3iI6Vrx^w3m8EIeXSePy}R~ z-m&cp>2aQMk2-m9*NA_vlnk)wD|`G^$gEUUY06@}CR|k$XD;d5{=Kv&g_clemAPSU(zU_r`UgC<>|c>vHsuVAa%5JcR+^(%iu9PEkX|rE1RK}Q(LIy78)7Y|>=$ceG zolgNj_fvgVKt(Fn1Q=4SuFmmvLL()5!EWa0!q_wz@xZ=r`D=+R6CJuGp*(@~WUR)z z#|>eCj;$oTH^XA1m<+Sj^%iW|sEK`JDUy6KZ2W}!k7BX&2fb`J9aB2-t~j6cw1%Pe zrlD6!0kG*G%Dp#NmFR(BE#N9?XaEaR$OLLxta3HPJtu<% z-ia5I`Ho;eXRI6v@+NC*etQRMsz3@@BHeAHoX4hwk3B(Q`D zF6@fC?z19et4*>@qaOR~!`e+bjaKgKBy2@Dpk&H-;-xl~Aidkvke1X~iUI>&y@73wz^q=3sj z2YGsvy5#M!`$)o{E_8eVhl_NH5d9bdaeCX$q$O7;<$iY|iJxtnZ!Y3~PRR~WK9_;P zS7H~zOq3ka=7i1fEqi!==R7;R#0REpp54itF>Mhth)}%iYV(Nxd-{U}w^X7+Rhd1! zvi*Sp(=u1SBK9lkvMeW(j zJ^lSws>&y(P_Foh93D5Zgn!Hn#X*Rfm>9~u=#z+-u=6%Tr3S8@yqP0* zO~@n7E$WZ>#Spu?kIc=k?C5cEgsUqgA1w)kpkRIl7Z3n?kP&wf-}_Vf=gB zX&5^*Zxa6bf_q!Xi9H_%q`vX8e_dn}&{i5(NG{R9%K^KzdV+6IK~d*$mYT=98a97S zBBZ27k(@`(S-1wXEY0A_uM+f*M__LxPcf5PXQ!p;B>$wd?O&kZS!UHxM2yoz@S$D; zWHxrR-7LKWT!qfYh>O(OAnbK_THZ}9SQP@Z;%4;8Tg8--Ox#_>3_=4q^-wfRqmvU& zD3O}1?IWdmTXX8u-184tAQ0-h8=-ZZzo|XA+A33FoihwPiIuvgtqEc{3Aj=*Li6>8 zEm)`NQ8fy?7fPK#q8MmZ?FL*2mgiES{m0m~75}|+j5^Ubeu&V2=X>q!)5uXotk@D( z=nxu&We3b?Aw5IP54_h~*fEKz{nTmo+79$}YQAQ&<_4B&ly96CHP|XZ=pKClrWKHj zs~zW4`G!Ieg-f=b=ho?p%cwo$E#U%_D=S*L`s>e}Q*Qg}8q4t+HZm6($#y*$#3hii zkgyNQrP_|uU%!jR6?fgg^Wl`=uO-Qxkcjbz20!uuNQLtde%(*>5GHTZbpw>^=wBw+TxwLDG zAdUbUeA}N$VU>pppxSYQSq1_T+uH%q*L_f!xN|+Ec4L$?~iG8Z>b{bCu9DaeOF^anWftHn!`0+I~@8Q_2np)ObF9&VR_^*}>NY|~ZFBjF;jGZp# zw}A$c=kl5wRzs$<8>cHLGo*V)9>>y##~6l_J4RFo6H3ZQf5mlYV)jNCRho1~f@<=Q z!`s8+r5kA=d|QK)Y3d>>n*vj+j*seh^WU?qGRrk;KVKu^s*Ikm`{()tvH^)IBO|2! z`7t9FD77*?MIgre>wc8`U#Ut|h@WBC{q;9SNe78v&J6b8>we|S&$tYb)Zq@x=XL+} zX?}DnNH7d{?#+;2OIhs<(7zNRht{bt$Ijk!IEAn)b6%+6GhbyZqh7L{&!a#Iq>k+>wjJ`H5J zR}fQU46U9QS&$@54&y%xJi--0|jSjqi7#Ptez1#?OtDAHyE8o^N%$Mza2&J?>rxbvVH_S z?0&gDNNzV90^ajDe_gGUymCJoov-|Qq%H0GJYF=qW6lT9eO@Pn7!PlR_onhMh+B5H z#)VI*sb~W>Ms^NUMjBTK_KB&M`gZW4>*u@w;F3?buOW|APpI8=H7}z}j!*s5VnP>5OnDq`hcL0+C&MEo&z@G&=kSlqE#<}qPP?vG%sprpF+Fjn?J z!4R>q&|?{GP}W!!dR;hu_#2$0Q$xaE2~x~Rv!r8GtN2_iX|s^%WAp^G)MM$;3}}dy z3`s}__(yE$M^v~+VshXkH9hE&6^0x3krx1k`zV+pUH&~P*K84M0Y1}G+R7)_j3(Tr z^+&FgR2y|boNKPtm{X6Lv}13tL$2MiQ&{V$cdqF}_wkS1!)BY@0JCyO(O;S0&2z;M zLP1wm;mji&P7O}eG#0sbG`0&Mw_Ll*?lI#YD`_L$-ZHz$A*yCuxNd#DTrZGauG49! zPLGq6xn`#()tF_jn{I?fu9s}1w0e)*s9~ySqm@doTe)#=0M@Zy>JL7UVvkpZPM=(^ znO@I=m2S^Kn|h0x!Epk0CAlaTD4iZqp)ZnU6S`nCwuchz?r`pbO99ceD4s)5USlw$z5$do8lxAy@ z>xTL&Zy;5(d3ontm}MIbV+GuGMo@vd%qdgK@crj|tkA*rNkT14DTegZXS4g(o&8aD z1IuTaC3QrrCFNm(a$;6H`Oo;?UlG$xW|~h>7@&Sgv%F&nYH)@G<%vuVkV8P?k^1Rx63;R~s`Uh}VGeLPfINaASG@NiR-Zg< z^*U$Y7}~_CA*8l~e8FSNIvLT8y(ScQjFckV7I`tMq?F%c95ZWJ5Ax}xhgs~1?~=cV zi=~R_h*z>jh_aq#(ZUohYup0HU~uEo%6od7@7`G`8dW2;RF;YG3NbcH4`p%FcuXTo z?T;;t&XgDR$9qB?S;jgkWIbjk=4&HYE(JHL9^IaXDTD*_Le&&X)!>jwwLd|3Vy~7V zNidd>Mw!Kn_aff!L)+|?{?@S@2c^MJ!v!qi7BVqvU#VAEt6q($q?`^aQ!k?b0Z~A% zzw6Iz&bePOp)EfT5pNIu`~G^f!DBC)oGN!IB)Hww|Az_U!#D~bE36+0NL*qYl+(mO zAxo-tA4fFL?K!Tg%M*fVy!vBkn~!|q{z+;{<)a*AcQLs~-n>Br*AFHo3yZO6T$5&0 zBb|ofK)z&I#x?cXw)kPBnj_u<%le7>^SbtMu8&g}M$Lj)egmq$hjv(g2Qd71`6M={R3+@Px)WB|I{J*Ftmlyrnr*cVyp z`*XV@k`7rf|8BkQA#}?vcVF%K$0dMxPkWlgqL&4Ct|-+fV9r0F&#wJLiOGM(o)wxd z7jCaM215FuV%Cpmtz~yUbaiYKkQj5jks{_0^o^G!7%;5d3o^11SEW$7_T%vR^AIEW zHl+CSTI#|6p)M7g4!k9?==bLLcS>x7Mgu&20S8TEeQL(1k))he$zsiV6&c(PI4hc< z2})iUAQ0;*5$Fz>CF?~pdsvBJrVpr~f2Q$Z`~L+dAx9K5^r^w2KvN9QFf**hj#Ka- zQI&o^6hnFXDi3fK?9rqLO=bzDG}P-Q$^+s3a#;5D-A5wo$J`P7yEV;FTOc-BAisyC zDXnjEq|(dIP`*J$l6=6PW%?V3#2Aa|7e9`LZSdUdMv*<}$oZxR=dPSELHif-DzaoG zSYX$`zr%2b6mDakVA&->V1y~5fT*UVX9}nBj3bd)>T!$B}sRRu0w7 zbTjk~Y{^OTao6?U@PBe!L+M7Sfr-0`B|D02WxJa+O`B;O)Pa_DW8zA@k=O^YW>gA^ zeNn7#62-u0I-1y3W}^N#>1@?BJS0oTjE2}YZ=ogP_bNv2f7Nzam{4U|MV_T8dfGU| zS{fR|`=9&bq6Lp3)>6npq%{{Gj7c-c8zqpb+ocl#z0!xouGxyFups$S^TSG=>#qUY zCw+t3vzjc4M<2S#e!Z)(5PBjFLPtHQ@q9-9Uyq5qz10iCGdn~#9}w#S5>VfAJ8etS zU>-b=aDjJcA>k?bu?D))#azE*c53gEJhqWii?fa9jV*EYeia1tPdh%)c&s1ZDcRwrbq zccZ3N%r0K)XT+Jsoi|u!2BKj%ws2h92FvU(LUw?2`TtuNp`r4k1_5+hxbxhb9s;c0 z2a)+=B<|y&lCKHW=;c&m^H>{P2cOP6PzLvqgzf^w{sOwR1LQ^!D2(ej&TyR=5T|jo zvR?sy4tO?sU0h>Th(~hf^9A}wF+z=jBl=d~U`x{d#T$8%a*ieQ9ekZ>rF?gp&sVHX zZb>U;3MCFe4kZr%DDJA%?RqII!GA(KPcBwlx+0h|4HoiZ*L3?fzbBFy;$z??Uq$u` zd!+Z4-#VF`%iKUJlao$3HYovShRsp32kgWJH*HHNUz3GkR*2|t#_B*u51D_M>(%k5 zkvdX57F7CxxK!zly<50}Z~vINQ@DU{b^5S27;~{6*gL>ms^Cr9aHBEiFW5Z5Rf@{@ z2G#0^F!fEDCU`5y_G@H;+J+kfS+ov}!!p=auypYX{^qWi%ByLOZsOhV*Yz}kM$S$^ zLGxsjeDI`oF{K|y%sVN?*-vJnNhUn^IH5b0s#^mwf;y*dFiCbfF)kBf zkAayo2vJ_138QeT)+m#+>t{}79#|-&1ph4@Pn{1E!s*n`(8v4tBIec45)oi@@m&Pz z(tA0!-z?_!k?n^4JB&*sOO1F1-n~i^zV12^&|gH`&xDX$JxFReVO+tkYiC6LtUpHE zb^e8|V`qVP_kTZ#(pAiCKT))+SOq3_G)y270X_u*WqSWa&?grQ&26!*n>YF|JC)dw z*f!K%uwHs>Ncm}mlr@czl|vXBY=$NPs6N04LDgk+fyK2Pq*5+gbQ7_3q*KzKq>!Q8 zkXW3Rs|?q1N(+WzAs7?oqK*fzzAqctSNVbP5S6JKH?rQGJ7?^+;|mmkH*uYp8{3aT1G>S-0Se4jZ68dDE4k5 z;syr6nbEgrV!8>4ioQ+-ykvxN)!3tpo9dW*l3#i3RJjh}JAX`$f z5MYOTCM_!sumYnlT&NcS2tZ_lO}3l)f(@`&Bo{1vgZepJx?#?O-_~nxc^^D#L(cJB z%c=^?V8Q0GYXLN}8&d`dIAa5iCrly?v7l^`2q5F%*%EE)1zC~UWTj|cgRDl>$Ne|O zqIKBM`z7RTsk~JKNqwD|Rr(U3Q5(n{&!u}RYGh8%NQnhG5Hy2r-OFEK_nrQLuz|ub z1e^^-ljv(?h!M}82_j|Q@|&*^ET-P=TZM%D0bT?fnPpjcGa?QOa)QGl+=9i#)xo=A zmEpj=5mRlEl({)Zr@T1?b;IW-j+^$ho{L}d_~1NnYdFAN`M8|Y zD1q9PF0LO~z|M3~6c*5N7SfY9z}sczS_?uq`m#NJmiB@JLtJl*uZ@K_FW768KEkTo z(Z#it2Suoe*M#M!VbaD-Y%~SX1CPjL_hs*v!MNBX^_77MvfDsqj(Nq$2Mr_QSTKGh zX0HOo=gp(V#pN^WgN37UgX!pJEFJMmOury&8_m=PS(&!JGts*CZXwfr^usjb^Fu)& zSAjb5DTxT1bTR9tah+%mHoX7O#d^*1a-@LGidk7iTyvJ0I7>0;Ch@5OBR#%`_-#;* z_H#SQUku-NgE=#3-vivQYA)yv%&y992GC4wm?GC6 z00-T}`ot$YJZsK~SHU?xH!B$C*zJe8gh;J?lcC4F zdnzSf_#JTnRlPy$v33{2_M!-mT8>TeJmgEHr^p3g;X)P{yj30fUI14l!eCY$3&tmU zV|YBaMjZkFVL@G?xP%pmrjKNFFk8xDLPFa+UFBbp@+%htnkW>7w@~i7$}>zshog4# zMXp<-eDaOteVW%dtKAoh`OVtDDS-xObelBw-jsqsRzbxch}>6=yKjjBqz~?68O1BC z2GL|NtUr<5K|030TuTBB%Gha}uuI!qx_dY8ZoVo18n=|F!V4JSbd;DE}jaYY}FT`OzLs;MTY;&8FnDIE9XHrT`9uKXAmE0XwB-Gju=s3Y^fX1ouc z&fW{Wx4x>wEL6NRza9j@fF8Uxf9DuH)~U)lZ^{T-6cWsl^{KnV^4;IKjC_GpVp(l$ z{Mg!#?rpAjB8gQm02otMWNz_mu}~~m#`taQA@gN+0pJS(!n^?BOe7}?$VR_WC}UMI zYQrku5^(MiaUImx%IL7e>*Lw}k8`5m+|{AyN8&vXZq|WR%|iKB-dZ`Rw&jcq?aqiw84zvV0pmB~=fEwL?F0$SpZ1Y){LBZUJQ>onlKQfmkeBc^v{q)Z*{B3DDw&EW0SpB` z>Bl_z@X5-(sR7^G(q5!B7Ejc_diqI5E+`zui9WlLXN@AH@Kg*5lCCo zASoxg?T4v|osTevR&_n zM!_--uzsIG%XYm;h>K@1l`k*DhPzI7zGkC!WHxqqX+P&qvRk^V%h|3s#+@>$&g)B^ zUmcm8_I87&DRE)th$rvf}A)%z6fmyc`#T`f4j$161fF8 z(VaPQmf*OdNhyinG?-gbqrJZX-c_+ci4{{UA@e{pX(*2a-WQP5P8T)FpG)@h(vKi?>Ef9grz_Fw9h5w!07I zMx8ikAZHR0U5~lEdYTk43lq3b;X9$`}cWHM7ypXc+ zw)kC|e0P$NkgnDl9Lt_=+IaK~sg2$pe*6Z5i-A8he<~HZw#t8$6BSdt*G7cZob|Sz zYC&}3V0US}q63AFHSFF#C<4cB^X# zX&`-wz8zk;b64v#qP>IePnJ^Zs$cN5eYJ_Bm}cI{RNmmq z+r%fz$~}yZYSP4yL3&85v<89*!(ImxA&B*eVg{}8wPb*gS()!tq89GesP$cOUJ zF|yB7dBZ>?`8he!CoYz$$q(eEiL*B1+|^9#f09)6M_Slv{VYQygcXtZuJc$OOd;zJ z4os&QDvTx8{(G(WFN;{IIG>8!rS-P9K9u|+2~XO?vX0Fz3N8lkcQZsh1_mrd8#1q- zCZ!Zc<^!R1SMWS3(I)0e{5}Y~&Ex$vF@fuW`!wbCfqZQD35!E)M%e7w?rJ`)mjE8= zgs7Vjkq`DPGLE)HyOcaSDWMe!w})KPwlx#0ola}9y*jz0aK2kF)1Hz`sT7OnwTLEj zJ*84p-K0G&5IFjvZCNV#I*J(khWqKFLA3AYD!Wx=>|4B{0>k?{PRdSUugT$)Ni{Lc z8$Rq-3=J?`0(8qHJlypoA76GCb-eM(9;2AUXgIq~lyZ`3b{;Z(Ot4!HgqBnxiBx8_ zFl>DXiJqQMW+iAE9gJK8^pi?UnLfNu|* zO#bMCMmF1fViqD}mSe_xP@Z>cUuFRA<5}a}r_I;6Q}GaUyxX6DjNj~X?%h{g8G>fg zmoyz`>A?dGR2rDG5Fjj3X<$ZoI&r8pIFt8e@<&}JwWTHKfYwYM+hyX}=w77Wq|)G1 z`L<=*SuLMCnuH~uv=DT7%X1m`!yD{39_8S^qhBpWugO0TN5VZ51fAjhB=j>F&uw3J zTy%tm%*}nTMIUlT2b*$vn>1vGZsYa)&Fra+-9S zJ`sG#JoX0>`arOqX@zf>eU;sZT-}4f@NL~+*#RJH_ZvLB)#*ehzxfyGCW(FeX71IU zBNnZlBGvrcC4t)37Ogxbb6QElnw?5kkF9&o>wG=NQX$K$Tx#Jvif+d-fIp|SsQO_= z&u;BnsNv=GMH1$L^*yh7g%zn}9~2d_FVxFo$Mgx6xtm2;iaM#>yMh4e1b-_|ke#i@ zT(5{KQ=SD=ib#*6h8JOoOQe@35t5v%P!z1y9s8Da7v(O#Vo^$wcBz$nNh zKq~b!2z}-q5<*>$#b^kZx+{QCDX?&0vWTsE@Nj}QGL}7E1iWjb%-!+j%E&iIXdK&j zOzKVOB$r>60o%!1kKSgyHnkvPTF(!g?j zGMBD|RhAW;j3wC;4+o?|5dCOlNBB8M&$IdZ{EgXtis6&(2zXK-3hlF7N3#wiwSDbM zv3n_!RFuN9XUDrj!+#y6t#(PAqX&#a`xqw(M#1ZAk7gfW6jhxEz|8NzaYsqlHr3Eh zH9T7?>C@MN+@2cVKN{?wvDa<}$VmVQwOm-@>@jS(*bZYLVPg%x)qAk0~OZB!#w)Q{yK?Hy9uTk~phLYZ^GEZN@mB z^mIkk3Q;KqQhx1oi1*=wk0!~M#$qd8sD;;bZA$<6(n)!J2M8LbJ z+mnOoY%ry9M8`^@K{F8Gk+R;*-;8Rfsfj8q0Cd1{~bQCJfuDS`$1$ zVP~9pw^D-wWP88VaPu}ksUuHmE+V#|Ub4M&L$~1(Nzkzyffr;)7RF1*gWei$CZ2fl z)@r!9oyB+dsY;6v9dD&$La&J@P`K>uOGkuWr83G=ND23~I+1TZ*)gED;R{KKiW#y3 zzOf5b8-bI}cBLy;MEmU;jx%J4H%SG?7nh~)TOo|E;kI-%=zUPew@PqeUkxWWFL8?Z z>48k?v3W^0HrM>DscneTO9|04IP4@3UXaZiFh0q}PU;Pq(vjwyk2F6xD`QrIZ(aK> zfG0~t$yJg!M2GJoup2MrEZ;EUD)~fR639avxGa^>3Wt2m&8{9tle@Ojq`jd7oL-=e zDYQVGK}-Pu9JFo}qMLX6S8`nwnJM37zz56lbHfdYt{;JZc61F@={zS|W~Oy+H|b2) zw{>}`rHUI;j+bYk9WWozt>v#+UWr;j>qFX85J!hSGFc7&HTq3_!p01h;~F-ppjlRaQ;rV2~|w;;(LuWTDjv#i+qM1I`fGNlAM-?%u0)2C|dt$Q1Fe z-MEd;qPHd~ijuRJv}uy)w0I*Edrnw5I&)WzEn|Aaf`k1q%Ao9(FaZK{^&GFxC4A*=nJKFE5Q5V#{EXu4$^6Tot7dL z(u@v3fb2bK4It|N5n7js+8Xbp2I7a-KfL{SlepNXTa@HDSG{{n*xIGT+FDT)dR+vetkceKz0yrFb+?dZsW*)6OI zgxD8hq4F0|R@$g*Oz|E~ps12YH~zi=(B!cLRd;mBfd8<&Oi!G^z6D%@XgollaG2oL z1ShdAn;DwtWEN*%=F=nzfIt6~u-gOSADyEccsII*FN z#HmN8oUXytReQjLEdR2|3Wqo}xgPNCkX3~fdS&j>i38!7AeR~v(2^PmC@>R0RG7uc zvMATsi*O&Vft^nC@}$Q&w$c?;&*)ZisYP-vO4`!`ac9HaDp>xNqB0i->qD)6vD8NV zrZ{U(W4TqpyU{>s-dZb8yRsq6(6~&vav&-xC-)kd({)nvS0LW=DUG`SxrCrV4D zq@q_O`jPQ+`;&rp9<{mz#kQ2?%>a0A7vJ*ko2G0gS;x%X(Bi?WzetH~BD0g=48%Po z!(?`thdnOabFHpjj& z0g5VNk73pyLW_QL)+O?LjU8e#Z2mEyW8fMMiMXB20%g}^c-*pa)l&8l+!#cb-y{{uqW+hAvqpy!m zOgy$B>i50z*F%<7g?Hhk$$Q3t&%-Oxg+&%8TcA{VQFMzk3oEn7f;_39uSr_4%UV#7{ zj6FBR1OPAzlmm^zxsOCv&Nt5Yw#(Ubg@cI2g;8?eLwVnmzUWOo`a%@mNBZyW5~C_X z)+MxZEXbMyS0g{@Z3L(AwEg4PZdn(a3#z2o+#rOoQ;mq=LhnP>GhvP=oh{c<--g77 ztVfKRxegZ&u<={(LE_cjOw|o2KD^)y9A^ijcfg>pI69oi(3hb4~E)5TFUr7 z5IbBJR7McV;ckF}j?m*^`xXn}V-{Tng^=|I#nuDP-i}O8=hdcaVwE(g-JTAc59I`= z@UDjPjdKpX+i&PI&^*_+4{DQe2tW<6Zom<){c0sN`!%|c=e>qLEMWagZx@u-?LXx0 z4N3ax*Z3n&H=FtEKv=F%(>8+`~DplCZ;evzq2v zw`Zf9mKOjo;$0~Y2Byzs5u;VXDC_dGP^DkC@30YCY_w$gD5R0hep`BLMhBV*h<6Lr zmN_8*f~^i*0I%oAtfFoSE@UutzKf9;ud*&&OP|+K%4>?kJOJx88Hio5@nE*FyfMz~ z&8VXIYHV^5ovd=|yJXH(yerg~0a!m$N50a~Jfo8m1WNIKIWxsc6CC%!PQ;z0n02<8 zW#k#2^T0TFL8JHxPYWXkL-OTlGsiYYnS}m;t8Ji!42GA?%SvWIj-^l7w1zjPh*>8h_zp85*pLLUV4#d}p5>rPIz!;> zzXuo5yE`D7v8~eU1`=&|o}H&O{rQF_Nk8jJ;5Xp!f$9l`f%6=O{4THBOyg2%YBlQw zWs)ogFBn8`d$@d|eU03tO-X?y1JlJwszUROBI3dGdvWp!(j-aR56U>56ryL&X0hlU znGL2XLTtFv8Sq7jccXy!fPt!?ETc}T^J;8M+m1r8w_w9Bo(s>Ljp0+M@f@Vlk^sn# z_p?|8Po1o73JYWym_}#dmuVIS>6$?MI?k>W+6UpYZu+oNS0Nlk^MWyg=(iM&bkJ4@ z9!n4n_Xp9uQ$B*--T9}FU!xxvb1FS;XVPEN^x8My{e)caCxj~f(88bg-G2{0x)rPi zxE|EXC9c136-&2N6plH*F^r=r($i+d0+?I{D+_p}7ep@{p+NJI>=@21#}j^{P)Jhf zY`eFOBKGVqxEKB^m!BmHSwK>V-?*P=OFB$4n8=o{IZ?tAf9EDVYY=MOK-w}^NP_?Z)DpO~ENu-q002Y)2RX$B&Sm1U z@4`_HxEv;wR}EP~9bAPnCr>%Li9iUcB|@33LU8BS0`x&J2TX;HdA$9Q;~aBodCc~W zS14fjHY*qAt1S}qr9qEf86l-~`IK@)wdheu+fuPT+A`rl-`E5NLM|0G`XHx_#k@cx z@g>ek{mx9^od6RwyZoVi5lgah4_eB}3@kV^#K=e&Wz19Yv#6R3w!l&dXRg}i5qVx@o zBC=KSL9p_Mf(tcFnL3tjL{Y>&mLxDunLM&SZj$il6;ZY>BXc=Om@KeBR{sMO%<$!)1<)=4Mh|frxb!)X`Yirn?CqdJI<9#6P{XuPgQ~U7+xd?Q63}j^& zh^2f~(c2!9(RgJDbv9)Q0aDy=Q`&YbJ>oFH$|I?#a)|p>CZRp)AS9)%1BB%%O1cQW z$IIz2Sr9D+Pg6mmMqhbK-Iujch%0M}fS0vM!_qL5EE7C?Wfx%@mt-2(<9Jq!^bz-d ze8s-Kq6~sQmGpAl-E}hXBy${O*H+MZ`YIKTLaw=cyHhIxOhW`dwY5*c6$ur`QK*F9 z??UIdq6q0H1%9lA zXjzw>NtFt+LHbBHjQAAmf z)AB;K7@N;kE>Y;)6qIJ)xuX)-y}rnmQ+-*sJ@&?o}(N>PNF zy|3ha#^_VuO?w97FM!f16U>x(n7FiW#jTcXZH>n9&Z7D{G@(1 z9VGNK$S z<=hCw%X^{LH1YIMxNgk36K%R_F(p?+H$fRtdTcO(DIw+Z&B*BR!{pFJ5qqXLofNJU z6Vn3ee!pBvSNP#UF%D~nZi!ehL?nflc(h>rk$HU#xiU=Q%?~d|ttsnbLw^<;ZQ{`j z(3|u%@>R*|$D@y;Uf}qNC(%^WaHGOP=WQ@?KyRqAcN&e*K>+;hO(%IUh!gBP43Fs} zVpRV1$G5zTG@G%RrVk4b+p+7>WABW*ykyL?Y z{lg!g3%Be=!v4+SE7Xvm@e|KQjKfbv^FF4S@@K@x?urcE#C(Z48><501^1LE)P9-7 z4!;p?-{GYpvr?ns_A%(n3IKm%j?(nz#q>97jTPFX&sYT; z8s1L0CUT{UStUoIvAe$q<#s1DSz)rxZJ~0a4Jt4(&N2IVRo1tZ<&Cj1vb;^~=Mqw} zjS-`pCPPK>SZdVYjPKv6{c<%r%w=Ku<0-Sru8B^|;aX&v!cnMBe8mr}>WYp+KQ}93 zP{^oI`5I~eRZa}fK^U^H1HinoBUF0qoExFiYh*QQUa(K_o2Ow;6~@+ndByIuqg8U1 z(0dBj6xGCYwV=kBNyG9*u{ z|MF?yPrF^wTVZt?hNGr~n(XC{rou8is#P*x-t8zg-Hc9hjzV8EmfLS)qu)ql-M6(D z^h5!fGKJ`$mZL*${)$=-Igr1^QD|)~XKHoPOF^`ZnknRl~b`Ud^@rnZX)W$oHenesz615k9fSsRRT*tRR*2Oq7n(@QAJ%p-boxlpC(gAC+?V%I7W6L@3CS<$#`)ezfC3OVDfjGq#* zL4FzNV+t)85QOvUj-V=6?gkICekNdqtUoT>;dV+e)W@ywIK93R5-Li}XF%rqBpo-s z9~X<>*hG|4H6FG0R*L-1YhE=|Hr+}^KrE%rCmIwm8H3zk#N8^2qr_**LqF#la(~>r z?S4{Cj@hPQkX3XD809!cCx+O66zS7~ffhb1@{JNd@@{p@f8ttn0o+&Jwg_7kO(wTH zr`7j~J@AHxyS|rpK*wdSy&_>_8$3@SYa)Y)w#zq4{AuP7wJMqAplk7rfMKjZZU2my zd?a-KYxrbr$2=mBK3zwuq`*~Ve0q#u|M34LV)a|selmYZmBcI(Ef_sp46X!dI#-UN z$0U+S#Ok!91OMJKd9Y3?B(fN~>AV(dC1Eum*)uVwAnv{sHEFAYSMEo%2efTj! zE1yni`k4f(FK~O!z}uyGvqJp%-XNgWCxZ{kBEg}H&_P*cn=#=7kk zn>N^yn*&^FYT|uqR=~RP$W25&-PGA>25o2p@uizJJ54)ZqNV}9AetC-ni~dassKW# zX~Z|EiGy{2M>LVJ?*6Q)rWewLp^3HFwZuW?eQqp@@q}=|o%u$IwPrM{NFi|*)_Yi) zTax0pSfLqde=6mZ>G|Oc@#lf}p+X|BVuiY0LC(qo8OLbcItQwtE(Kh6g#VK(V-s6_ zpfYSx;xSx)Mr|_5IMrkpvl)DI1lH|HP6L~bfc6k5K)ULSFtDPlChORnZU{?5I|;rm zVmF%?uE^YgLHitKws&i;=vp=fq4@YV$H#;lZZ#{qm}KnUB=R63+)E&f?Jk6ddJ5zn z`w0u#p4nU3C6LGV1qSHrd z{h5Tl1t1%}zwjYIduRV;zd$bABj9oUvhTa@(vQRK16x@wz;uvx{WG5Q`Le*Wtw)}x z>e9S~D2+TXw+RpzSlWQILG7Yi$$2rsoxOU%H2fEfwjgY`F(bi~z8X`a;ji2#ownej z8|a=Cp$6s?fTvc$XJh;lm(a^Mz`Jqbs5~tIR*A0ZtprrR)9zkfOff=>IlWg>lwx8^ z(lTP+E5yIlb_Jk6&7XDofM#DKkr={}%cI~J%a4*hx7ElRHj?EhR0pm0z^mjq+-SMdo;-tj<&L?Av8k;nE4Et@FHrXo1k=7Jptmx*czvKR)~US1_<29*ZDtuZZf+ ztK8SNh|D;)#*Dqx1UH;NiQwx*CZ2*dC)4+0+Gc`gB~fF61ODTsK|y4B3!tL zWij=>AUQ{V01J$mfjk_xFilrpIkuP6y=KsXg`++%xuZASAhT{(WaW6g2(s%ReE=_0XG=OvXFWd3`U>U$*KC~ms0zu_fdt{-s{YRd zGj20x6oRGMPBO zT;8`mMAH7zG2;ucA&KJ=Js?##e-P~FkE=gF5p2lEp<4e2-RfkBmcPoG?b_I)l;Dwf za3_Pv`R3!~O1))|w_N$@H|S#&zQtPtMT^UF;m$WiIGE0$-GGbOcTRLp+JcqSEAJXx zljrhrKIPZqbv2s3+jkp=rZ*>|C#P75NFUpbYHxc|L}Jq8Tr(s-;f=v^>yE(stSJQv z$+c6ehdoS#o}0zOK7FwytC;~axI7)_65WQRi1VFD$^e`UQ!uk!dak+;X%{`&gnS@A z>*Nv}ZSqXKYM;{l_UAO^z69=e1|Ng@bEsA!iBHrSe|1>LHA93jziW%GNS;ahe15Ea zNtCu^t0#w7dL}GW7ze+g*fjC|pOM%vgRi|g1cLZp?CB^I6c0j~8x`4Zz6|tvSco|d zs6hS=%mZmCK8e?`5c}q^)P3SzU!z92g5irz6fdVt+Mr2?_++xfZeC2k-Ad9cE4$jn9Xh7`nTGV7U@Ng`a{06?l7v5Yqi|42waX;qLbLo2ZsR5-_$(*=Rct5sXFQ9SRFhXL+PfVK%O zq!3OHn}O`MgQ|PPUFY*2S89&1T{HZsM;{e;&@2Zik0~UDzEWQXj2z+3ajSRn z+`vX~ARf73CxRLWVt$hWOksz?`x!DDEh|%%V0uiEH-eYD(qo4e z-6Vzf26)nwh&6O`B%vYFDTa~plNO9CP1yPt-WlJn{)h=j7jH(=C|C;m@F(x0uF^cO zZWA#+{CvCU)0`UiW6J5gC`B-sm>$7lr)VJdZTYxv<*N5u6teMxH#b$@KHg`&Ld+{b ztjI85((t2U%AvJ}6cYxt;N=jRH@w_3jJQvgO!t-o3m| zv*6FGlfBG9!dA)k@S#4o&E_Z4tu<=9*<&|T14QplRl5(wKXZNw$gYc=oLaw?!>d#C zcH%I0C6vm_CGm5(+vT{r$Cz+?QKHT8b@Xn;iVRa|bxA^9xKeeYhZu+-&STZ1lOJ`> zkap!@p3-5?kK)BWEZ;|Qn3ww&@Q<#~f7E9!v&aUPep%Tdq%Bu3I)nai@EG)jQ+{_YX z)Qlpm-1JVE!-*oykvXkbrxP@|vG1i_kGVl@N3TU@U^ z;K7NTTFaH5m_C?BQNbXi9s>f52CSGKiLZyZd?ECv?uH}v>=k&aF{ruJgSB9trN&ZQ zssCy!PkJQyYQ<&V#7;?hIV4RymO~$9)#=D(i_>3}Z!YDP$D@>TlpV^HiRtORy$^#R4dC6{Xz*^`BBZdi z?Sh$X1>iqMXq~+30si*?K|`P|P0H&`+Y%T9dIimH^Fa3>gZ(IVE!|pVCxm?^!kyB~ z7Z0A-5|7TU6VcadZk4KxZ9i=RSH#b+NwV%hqAj9QsV2^jeoSbI_{j}8`pK6*{Nx)% z{OA}o{4CIHBpY!BO2ff~5Dh;jVn`5zj>dx(FU|8~5tEe1(D2iQrk{i*l$;O0{G;EO zs=J&1fRcZ)Q2LvgeQ5x zm=UvK+;OOb!6#mj(7XiUrB}UVH4dOejNu2_+YD&I^98#J$IKWz8*SSTHz#@kX2Nq2 zGfeUALRi)B5#kthsUhnc(z)yWmyGg812!iNYiSnr<4R)6%*p`) zR4lPrVtEtezVEduv#}>k4}L++mvnr4tq`YSQZ>i(1?BSI{wN+g~n&MNfZ&l z&ie=XKapBTUcW+kOCw3x*?!Hn%RBv?weDV7*UkO+#S+u%6oc55O*^+Yw{j1EJ#Ijy zrUL|oB2qF(hDV!AAg>ydV0^G+OIK^2wgEKHCcdsdc%m@kxPjtSV+yj6+2=7#B%&mk zLla_@mzA^GU&jmtw?E}8rntxyj@a=OqnjMo_mg}w{L`v{qh7Rt=bvhOx?i($J-&FK zIU%JQ#QZ~odLHJ@h^65z#a`wy-dF64@@ z({81joGU4Z?&!Jk!+04T+M(6(X+V}qk{|DkIgSB|!`Tb&qNUOjps z^xIvh5r0@s@FBJ%af#L0T-to-T+cLpl56`r`U5$TGouz1Q=W zvR^(-^39JDHED%RGL*~L?aI|jCWyvDlyd8+0HY8`R*^too}whIB+MjEN*t3ZVWjMo z@TaM)5$@*R<0%4pXGo2Z9R6lMbmFm4Z>lX?F~_Hzu@$K=xqNhr^r5r!`vMVvOCSwH z%cG;AHW5TV6ggUQ)8s)t6)}{A`E3zHf5p+z&-pN9B}@mcb*Q*PBL^2JVh>q8ddQ(7 zLQd8aA?k(-z_=@MbvRv?AtiuuN|s-XAbx{kRp8etB@P5tGVMgDH9{YkiU@&PDk21i znc&N;3PHT8f&wmsN{LS;SObyfs8nT6UMzK?7UrB%h=^z!0z-oU6cUa|<#M?$=&d3S z)F{#lFO((CQN#!W0|Ed8lYjsSKmfc_zGzxFon*;w4wL+^0v1j*qP%Fo93#q{dLywY zz-q#6#k}}D~%>ts@64qXGWo*K=Wpz zg5G0fmHOt7-RV(dBAV|kT3+Ujl(2g#=!Y-XRm{e?@n#=2Y|uM{dBO-w6`;h^^7Tnp zzkSsrT62ux|BU&b7FtS%q?q@BRdepWE;>|P;nrD?oP|mG-h}xp!y>J7teMp>EE+=! zQXDHGgpN;@wQ*2*vu1Tkv|FYHX`b&vVIcjgc1-o`H{wprw|@kpDXPq; zm7~|i`V{rfaVK{3sT!Pe<=>N|E0&BeI1!jm8T&*cfbH4FGMSw*K4&K9-hrP%SEoGP z=u35cCiUt?wnz>t|jYL-vM$`r9>BjR6(PhDXzdIdOm%utK z6IJyLa_=1QFhpj&B0Dc>vNu%2>PgQ%;|@C(X4mo!=@LWV!(q7oRJ!;@G5MkE1wWYQ zw~Lt3otBK`Jm_dI(>PY&XKWXFB04M!a*Fji=iBL;OW)7g6vq0uKc~;U<7Rbj z8@Jahd|a2(tlQ4lKo$)>e&}w8X32OuZ*Qll%03#ckwrxfdOIQYbrY*CE4qS=q;y!z z6A03t$I^o2NWTXr8ee_9!a2SuBc&!jXb&u5MG-%GC4@Pn5N&FS`25~<95D;T9E&^! zJ?Qr}t_o#-uM5gwVovW~YIy#u6Cd}mP>X~Yoy=s!Kzm)U?pB+xLARTQiv2;3nR>Y4|oUeDCP z@GYC4b>Mh5TiS)a4OsM06wR=zWMz{J(b_z-CQj?TqB|zhHMlULC#fc4J(6_G7rxUI z+>0ezmM`8_r47c*lLPA_?qhvW9w=1CdxY94o?Kqwx7jt#%!qHBzv5|CrNW0oHTducZBk72-nKc|8PyqBFqX)1%6fRx z^>eDs*ck%ta%MnWm7RVE31tLqEXZViGx7YjZ~O{KOApRZyw`ONtz|?#;u`42WSD}w zt2d)qXBlxgudD9OBSwS7G)-=VLFj6qBS8q`RMJuh2~26c=JKKBPWLnv`7Cu|Np62}jC z5I-W}kM-Nnp*5VLXJ`B5>c@Buu!XkG1e4g0mxw;E)>XZ=D4a}YFS);06Ww)q!*$j} zSZ8x?WS!&+J$7cX7@2dD%AWlR%|O6fzn6sehm&DC_TE=PRyDC5{O_iR(8(Ek&R`0J zlL72lqoS+ps7S}vI1#}nZ}P*x9dB=fKdxyw&6orqOi=pykhit$gpwlS4`}Pawf#?P z3|v69W9gzRS<3yU%+CDXdTAomnxogMGZb;E@te`lJtDNG3{I0SN0mXz+)`#l8c9JIpl6g`{CeV5{nM!Kw*UIXZYcA6IJUt#j!Eo~|M3}5-{Ovto6&bkD_Qu7c@^Gh ztn@_TI4Sw@t`sGrH$6f~hP$3x`bi{OwyZf)-__tSH%>Uw+%N+?f`|W4|${ zQzV>SyWG3oWkc(lVMYV3ihke$_M2nIcFvku&gcaKh zbF(sAWs`W%nr=+b{wzk!>y}-q=gh;=kPtg@WIsxd2AF8HIQ_OQ>aIp+Z0Cjw8?SpX zJQW~&^3@$ztpFLOQ){`Whc-H1J9rjmwnw2IR+{>$(c^E7xq?_XzLWvRK39K%EvkJ* z+Ph;Lx^Pw)>!uZ1=)V7Hb>C!-EeSJQ0?R1Xk=0%94XRF{vb49yX!hhCPq- zhj;M(=;dz?Bn25M(Z{q#`9HQZ5Mp{#)>&TRB~&d zMej~3iYtg1-jEqeyL5*i-0O=MUk1+arHb)N_>WD=D=hIdgDMT9rh7=i_5l;2)_1Ug*mZX1P6dfqRO%p~wKZFZ z&vfi9gpE^=DNnXEEWG9Q^TWA1Lu?Rgl}dzeh++B&o{ zrL-gB)XLVD4O08Kv(Ev`8jq8G;NEV;N}E%@_Y7!Wkk^lEIPSP+9vZm6AY@v|rL$*& zYWne8!8GB4u{M`q=>{tjZm9P1Co0@01$*+Ha~Z|F=Dsq}X$X>huKr@zTz<e z;Cp#=c_Y=WwbK|@1eBQQWt$*g@#)%w;p(H@qdg_r`#ou37KQsrG+Uc0u9|^BEiSfs zeWiQO>se$&0-uaG3xjQ?mMQl+xm}KZ3e(>URJBEy~fCBZn$oFok0DpfumDtN>rc57W zYBvR(qG4(q{G9ij_F$RIH~sjaUlGRKi5oe}G@@*{ZVxMG;x%htueB`g{7G-0Q2Jn0 zds(rW{Ja$~P_F}{G*`l|1)!%w>h8i}p|FUC!rQ00Z%l06`AmvmN>P-m^Wv$qU|JPJqrb{L<7| zhux1@4N)eRuLC3vl}Uwed#gq~*_mVLjZYw5NJ zq45{7%3*dcfN0LDX?IW^(j|0(DLS$0OUxQ5=cod>4-$&4zD6H)mV0V*tXn=bZlC9g z&LUBZJ_#;7wz0!x_7i+wM9ZuVNmBhU_Q3$}&zU9nsPLx&eP^nP1L;9^tL4|V`oA9y zLctP7mm|B0j39}qg_{u_UmN|Hy^#T5%pECHg%zmPME0luXOiq1-WGR=IO&!$2xQ!`a>HO!D`LoxTcXU;XP<_EDAZ+ska zGZ;m)W)|sMlIe<(vkwWRU=F%eB7c!iI=dUsZXBO`Lm?j1*_AyEr!K4mfjh!F8e>!XztQlsow^BH*@M9w|Nl z8)9(znh{snp9mmYK=R3SZ$7L-&%U1r@hj@BzKKC(ev=JtOGa!ksCS>vDF-(o!g^y5T1v9qu#Z^Vk-N0^}t%qR}8Eu zLS&_mo6MPioUyZEwd~wJ9Q<$0?-rh1Y#V>%o4AR%Gy*QGE6Ucioy!pi3~x{#+O~w* zsohka1{AxsvO=>Zf{3UoLubn1!HsFHsS{KKW{r_pKaEBYwVxjBA^Jop*pV%uFQh+D`}qSlZS%o# zpFSyc9N;%gwuI4IdbpT_2>y~^3a^H&l^}PBuWhAUv|V+ybG(6!j@9h4ODrY<<6J7# z$bix!@-SWI)+GF2?m?Ze@}%=`8)%}!fY7ZB#d}YtU6pFgp4V=1b2|P44nxCy3x_9^ zI-!!`v^<&RM$$tU@&O;wMkGOcW!^R zzI0aXHWb*0$-karcwTIOFvVdSQC*Sv&UV&fD{M03@;HC=t(CfxF#on-P@|mafOb^; zaj;L!?axusLhU)G@QDtMd%945v$nfpAhR#xe3ukUhNw?d2uCZxXMmtlNAW_XIsVVg z@nLLob}%}PO|7=}the|| zD0Xk(v#+gZk8?0%AjR1~Wdr2TMBKXDk;plO{Ry2}YZ~V#`C@F#mVzj_+(5QO-P@P$ zkIRMzV&Z(Pq%GiR2noCmW5$}`#isFt)5?7@5LO>=VK&vLdr1*{5?@dZKs{mv#>|4` z6xwRC;R?W-Nxrfn0+d<^kAhWER}`)rGz{!~1}lUbLv`*GYI*8k9vD&N0`M&1Eoh&$K5Q^18S1 z4gn3C!OzRed!QYYo(Hpuvxyf@5xT z>o2a>|+W`y&rk>hvn4hELUNhj)cUHk>u5INLM=V18y{u*M z5KMcTabaP)^3GQ%d(qUpA4X<3P#~wxxp{$62Hk};sJ{euM-3?#APqywUq@-87!5A- zOaSJdQTCmCD8n_KlBY5bb%Mj7m@#73SkJAQljcDh6sLZ~rx@0h+vt+Jghc7pCsFJo z--(v7*+lp3(*_e&Cn$Vg9ruR#NwWQPJ^9lFf!o$p^EgrK^H|)h(O(olQ}K2B-ywCt zjLMzuzAUbiq8+bkrzh32&OolQV6|f7ri%3{?s9=}5lEVIFOK5bIVYMjWPyV{@BA4J zu@V}I`&#XmxG4XnSoGe~ugg&KEx&E#x@uVWyiKd#B5ybQeW^L+4ajGT;TZMz%3U6n2;W@V$O+A>87-MrwQ`kf+Yc-#&d*Tn(YEuX4))kZ%%VnUnOK7{Row1fC zi=5+cCbAu`Hlf|y^Ys9h8`F$wgO!=HMol4h?d#_-EKM1o;~(qT89qKj9gd#d=t9ml z@IV4NOWel#Gy>=|Q~9aDLW`t$#N z_jggx5~+f>#`C5p*Ua}9l-_ zzEQ}(&SI=vq0&z)CXfAF{(bFv=IY%#uSTnb8+@A7AjAnh+(10Xooso)j>I`8o7Lld zOy=Ba@=ZFDISv|??nOiqc(`NPM|(`4NE-vJ`~AbUIY>PnukGnNKaD-^GQzTT4h}UhI>;A zcgO!@s2i|rUO|`VCM_v%F$i@!i_1cyq(ktSRG+fQFJg#HIixV`-NzSfVO#xtbNKyy znc(taG6kXSXRGH*^Y%zqPHFx9A8=)yEU(bBmR$p`;1|$8YWZQ;-y4+w2A;7&bz73Z zqyv=O30g$ZM2Gq!$&uAG@aioV4jRfvcCy_9P^5I_!g;QHlH)q&&*WVBF9sI5=J!N5Dq98@I%O zyQtT;Jm+;b9j5`Qw!x$RR_eUgEvm0MrS{=>Iu_k`A6Chf=%MY|YMB?lv+;=Iq0eWV zggjoPT+Xml2VmZtwX$0;9F^0M3{HLuzU>QV)I8_IFlVWZP`87+;sM@I#nmZN3Sixo zLTBLQ6O17g;oR@QoEFm&zLO`BLxI6?vG0p<(6Q@lW)-QWR56wOTxn_(i?mYWSjvOR zUNs!`Vo6H@W2>tJm=Na06UF`l%D=uiOfzktA>WKbe({P#uS;o4gZ+{+JG>Rf*eT4@ zRwf2~`T)gKoiIJcnesaYG z9qK3VCgpW7ykO2AyHhKoV=DcId#0-f#N_+TaMBgC&+6zTqCMoBCJ+*3DtS3J!InA4yRH$~xkKnBR7EZxn5vs*l+`ZXD2yx?esLIUK|0v-W}K~2xWDjeTt7ha7Z zh)Ecugv1kBSkSaxY$<&8-=rPIf0DzqCf9T}pI$cG;9ApGPtL%|bs{3mZo z7z8eym)s1DruqWp$m92UV_vr(D=3W(P|* z??~f-Fc+=Hfa7jn653=4+x*cMSb#CSl;Ui+HBjc74lr-jPCdFS(XRmYRTMyU;E%>! z%ayj4evz1F@9?$Iywj-#vl6sI{xHzC0ouSA zpii$KQ^Eru=a)_R<=Zk4>-WSWklGS|5-set_%Kk5M^p?5J92Oq}Z*o4kuW zcTietH$D|Y`n{!)nQebHg1(-U;tbgJ5HYTE0=ldJ{6zC#{FlxE=KhFKk3bGlbe#(O zlZ%P{=QP6`YMp76e{k5|r6xp38=10IvE}X|6yt$7;F~#enc+}Qsk`aLkzr5MrP5LB zKrs<1E;lO}^jyqPx^=l;<_Z7{do0O~IT*S%fdbLij@)NfEaTNQh`*_~q8>cLuK#+K z!|7)6hNxHIcLGQ`G;c~Nj__;(&n_=abCcComppQ-M1`_*^7L0ya`IPs`V>>x+8Elt zgHXi;Q&L`nDmt_h=IWtI-ZHwT8MFF(r;Ou=?V_Ltv%vU)!-s3F z{C2M$@YT7CLDFhzUZIGc2)2LCN~83EWtsring<@isJfW8+#?Fa0Xa(}vxwv7Z2+l+ z)_=){g(Z4rwgS;-r5nV3Z5yFU?52?9hN(J6tBMBxuym`9De;-d@#f%=1ah}$2hQZ4 zIjnj%tRuUc(5KMbi8Gddeu)l_J{-IS&muz*7~`$>ATFxrw+W*9=~2Su0UEqDk2$3*@iAexY(Mjcw4Q@X{3ZV zXxoL{>^LP8^EV(o&v43wL)J(AX%Mg5xr{mzkGU92dd2K{(MAL84+BLR=fCX;BoDkP zZ?2!xg}JIz5c#~u@B#-u_MU*)S80Y^lt2C@M*2`a$?A4+aF)a9*g)61bYiIt?{~a@ zvVDdu$8UG-=6{Bd9+nAyq<0ZFCw%l64_nHmgaXn3Jw|D${en64yx zrb`9OQLf)JLx?{x9^mRjfFbUG3^0OF&s|-sge##(S5$&40*=af3FwX}c{)0Nud)*n zt%Lg-R?UoUI7B!jj5(!0!e~@?IFv^U`S|>a32dEqCfn`4nB&j<})- zlHh(YZ%GpdB(p|S!%bezd%DRus&?3E(VU`b1Rj6568!>A10qyKp=k~s@LE03Vc@&(%!ZojUx?#xn%9X1!XK{Z) zXgC9opny(GX;FW_2-E1FTK*Ww#SBD|CO35`0_@d*bbvx^u$?piQh0AB`X&Oq1-kd; z&G?a!wkc6;g}5gLi<-lv_2)(~Cc zaOqECGqBdqYrGcuvNKs28Q~Fq;`|0x>=&Fqeuh!yaEVky-puFTNchD&$mSG zb?On*&nvNc;8ywMdw;UNw41NHkVO_>I2o2OswLYj{cClX}$?K(QH?rj-b?VwBe z$5yk}X|E8s(*hUSt?F4#w%ud`RNBvc6&U~WNVDD6N%s97Q>>~H&B;RjRy1D5&+ONU zY=I+#ZNalu3uSrP^ap%FcNp+l$the;(IFS$$au~+A4pF7yZ(EYw1p=MAod_SagXv` z#0`EbJ60~H=1NU&nX}=*Z^MShA%!PTSQsA#&`pdU^CJ;qT~VA}1H4);W%KiYhnB;j zi%-VQ+k?t~fydw;mo&eOT;!+c~kYD@ZGH~r*pG<26HGrsHBvO2iNJy32 zr2*CJN~bxmhUgn>8HKAvbuh#t{RL+Z4Z@lE3jF9yJy(aJUbf#v(h%2At;NFWQpF7u z$;*#>M$a}#=6bt^FUJnANkMDJD*a!YeSOFEcGp41F2=D!r!Iy7Uz&~tFR-q5vK|{0 ze_nVJ-(%_LsFt4?V|REOzt=j_3)g2><=wT?8Z zF+w$h6pXcu6|HrYoYsvN8PwJZnR!)r|DA}n-MzW8Ti~FT5IN_X*-HVj0IUG6068o( zG8am~p`hPSk5UG($2BM?GA2#gM2Xaqz}}?mBZ|C{>^oe}H&a&D^gKiK_e@mB9ae!s zFN{@uTtt6T5#2<>)jwp}HVDUu?(zsS%QmiTGSMMaZd+A_htBW*Ba@z;L!>!dwQk9ab*Zt>%KH5CNwl8@edOC z($g>M7>~lJ?poJ)@9Y!)>+AmY_gD8j@$TJsO+-{*Nif)T(j&jo%; z>JNRi+uwV?Ki;)>Alkmm<`TxE%9}{`%41TNKRbl|5T~0uLD}20?^uUF$h74?qj3W@ zUX9*|@K5hlc?Ye|Vhzep&P<8jEJ`wGAUXqY6yN*FOnNgzd!+E_)miDia8-Ma|Ll&S z(Bm-b#}|UY?-zc&ulv8S{lA3R`||^Ch49)wZM>*o^lmh=EExs;MX#APZWAHZ^m1+q zO)e)bF^kR$3!KW=N*h&*+u2Fe2+9!_8;O7TjffC2jALEJCnK={Br4mCPs#4 z$Cc-B)=G>`0?ly0x;dgn6jbiNjLW z=JOIM5FQ;126~(%jS!X((~^Q%7LuYdkl`5!ffz)HB!mzFA%qxZlo3izI+g>Mk`4Z{ znJp5UDVn+_t@Zf19Qkcx=1=(gR8kLVU(po^ateC*bY5OO9KxjKA4n^F)>`&w5`KhM zrKd8f=mX3qr|n>K9m4v5Wif)R=2}roIDSl+;hPM~th#sLwliVIpFfrF-({wOFZ`(w zy*}#pXU=@Oc^ce7$ca9tz7Lob?kOvM#^3<&qJeCN%lM9v{2ct6U6SMHVheWW=2Gj* zVXG{e@5(`+Z>7uO zo!P>-H+S_5j_yr1)f4bPza+gV=b7M1E0h(1p#u^04XJ6m0tP0`(vf>~Mfo zF-rZ46Iq?^aQ{CeRr-_2cgxOaUu)SkMS%R$05Lv*Uez&H0djr;3fdG9)r_Y>ZD?*k zp3VIPW&ELj>bGPPe_F`^1@Q)mT?Z&{Y(bro6$A);cEbQsQ2m~+UP*#SVIR#{zeGGA zX#^*2xq3qnmoQVSQ2VtxE>O#M7D79NNMZy@E|ic&w*T<;un};G9m@I(6(z>UlcsU2 zw^Pz%346xIUk9XfD6s<*QK;$SnKIQ~&MOA7B5FbWdQo!IL@=I4>Gg>uhjAI65%s+U zwCtYPS*KJ`r-xiE(oBjR>Ep315?-4YynQpWX($ zH5;x)g}BdN>Lx{#kL#B#IrN*3&PW31PGJ3@t7m{V4`nQ|j{`y*H?JhEB^bE&2!3>s zxJJQoBMUEL)ACVW_GJ|vlJJ{n>tJQ+KmN=XSqjLoOkl^(Jmcy$Db*=7xg`L3*k3r8 z^OarScN-6L1zVnh@e%pRM+Ns=3cZ97ID7$8Iiv^np~kh-{|)3rAVh_@Eds#IVgj?w zo}G%U9HVcXQUgqUjDy)K7L65XJppEXU>owQT^^~&d9CClke``m&so9c8kDO_&2l&- zgm@trWREJM21o;figqxp{Ae3-JdCnO?7Y8Sd&`l!et$jhE*!u3Mw4TwBe zmuQIQDONl9MghGa!Cfx+v*Se3(x!fvDnHY>)ok7U%qhJJvvG}8(6!5Ch@h@*(r2<2`W|CMSg z)&xLR=>nMnSq!xg&%6dY_%b5i!>!$!OjlIZvHhT*4Du@0D~XE8n{z~-#MO2 zIHJ=V_;=If=M)(xN9Q08!zi)*G%ovz6h(`MaCXQ4(wIh;#^p3A-70(C*T(xw@5*r% zf@XUinDSTZ8S3{|N*$O-s-K&1~Ti%OLSnXFm2PY+0Pzp zbDr>5X5qEoB*NT~F1c&YC3A`B;xNbOHv~^6cp&fEj)pmQzGP2uHW8MkWQurA&!y|r z1nh4ndgn(it|$#gy&8>pwGkcbD`qrux;}rwn1%0>+u6x;D&vrb4y>F8t>E_Vb20*M z`&hFdc4Nd3g{_XXK%qTCPq6}ze2yQ46`fdwEy6Fi6Etrweoz?|h7_G(MWI-X!b8tV z;#!K+%0U)fH!ZXgA_f_7xf)P2`~(Io>g3(fB$*$`WwoG}Kd>32W{}RxAUR;H0M8@H z3l`F(bvwB~8t1u%HZWq)VGWGriFet-oI%l+aeKxjl4T>A;lggB8@~fdbHgr}<7{pQ zD|X?aGF;MOa(b0k0E8a zsvgRXwzY4BiYh0NhUfQtI#m--VGLH1Yl62Rz31)i4XK9z-$<@niz(;QVd_LI-L5^L z$uDun9Cm*=Ip&ofHkRXTda;-?%kT@Ps9(0A(n;qK2}9KVwtWvdQAjY?GBQ5;;& z>yxsL)sE-1A!fBm5o6uEQOc~-t<-18oh*_%j^vSnER?-XMDzfd?JrG`9A$HHn^j^> zkK;}mx#-yx)!Z$uMO<>DjB9V(ZC21!9AdbPk7EUB=&Nj!Sh!$ZRH4MA%!b=xuW z^4PMeSDuV>EHWwI(F`ju8q#U<@D@3I)GhEz6Zk4KeS_08{bF7{m{_3IB-J-tF254E zR<=F%kcSs-SO@4zYY%RpXkru`icOA9=Z|qXnOGs+lq5*Ptd&B>@t|irc^s~Jcrtf% zxJ&t38+$+FIvk*ULX%4frY;!Eh`jw=bxaeJJnfQ&vRqT+LcC>X@~BEUM>wT%H3m2f zB<0gtD>lOFC(oDQ0)A;t{jbIA7WeeBN-#Uw&y`~|4v%%@SU(l-h8Ye66|d9vSN?<+ zE@$yO+#CQD9w1ClPSQGbP#RJH|NhjvMv{JD#$RDzykNFrKw`d#WB>nhT+*Jbpr*vW zxXQB5W?&j;W?=kkXM&u(BIfWI4g@UvB5ELM`XF{{v{-BZ93CM59RD33Asqk!004^p zZ~(&oZ~()^#s08B0Dw<&K>)A-0{|cb2Ld2LWB(x{KLL=@{{j;f6+20}85$cs2?2or z4GIeYAb|e@FaQX|G&ukO;6KnJ6hK*UKZWa2xE=)+K&9pIbU*y5@zPCVU_SXinwg0{ zdlarm;d-=Wlu6(~3fH4>J?a96#_!;Y(mo3JW$*4l&CF~_KwlWZ2waVDdYFWc=#2mW z1ONsA2mlHo06+j>0Du6XuCM|Ss6W#HK%vOm5`llDrqzIr6xkx%FdzW0y!MLI{{PgB z=#c!h6t*b1Ji1W4WWabj)c*gN(8MCu{{Q5%-Twa|2><}bG}=f^-v0k|4&VO&h%THa z;6m(V7z#*2;gssQ2Ic<$pbG#1qSP4X{{I9F003?%#7xj&2I$J_{{PJI@&5nxQt}N@ zB=i3Nd@>UM|D+NC0Cvc_?8F%p007c3_8XG8W*tf%6f9Ig)({mWE38z~I26D$CNxGk z7XSc+2pB!6&}3Er|4(*ZVtczdwU zvu+z{32!27H5qCW#JlBCm_kl*yo|BD0*L14i|cw>x^5g%plS|tkzN{e@bmJ3`#5ZW z0}CU){1c>H;uLBd6~U3w0BUxgeR)!jDALR8waXC5{)V&3-Z5s(7r|x?HBgWr>#_q$ zD=Z0lhibe;k#PwAKaS@~4k2fQ+oHB9J4A)037x%)Y zFD$WeX|iC$J1NMzg*0Mrw7 zv|SpF|0p0>=6w8+5^o~BhTxj? z*l-~L0OD9IaekoC#1wL13?eWdbN~N%VyFUiLf|%aBY-G&RHCVOyL)QnPmy7W4ICjbEMV4!}Ee*l0eREB|0f_j4~gqDcDto+bE zg`6lV007=h2!>Lqve5hpD~GON3W!v|l<<~`EC2xPU@D7r$jt0SAT2aPjgoZos2Yw4 zq#Tggkk*pg+%gP990KMwTO?eX)*QsG z@)8<0U%}a0dYYqzc``UdHtKg>z$x0Z!2V>U&o4x5hr!O%v2zApyL^S4J!iRfgu#0X zstrR-nPHFCmw}4$t4%hzBx1#Ul!|*L^<G)cXKoL@2~Oq{4G)AD=QCf z9cuB@Db~BBJXW$>x&X5PtpK`?jB63!2mhI&+a6@vv@4eriX9)e&7ID+MKw`VnU2&S zcQ%5byc{g~>p*$E(5+vZhJ$9e2hzJ;>*_DTER^`T6@{Vc0*pM(4L z`?E`%X4|%eNo}f)Gz@=%j_;W}{N}RVdQ8a%or*Hw5mV;i+J6#t0WC)wSd9(+0H0)g zWm;YRr(IKT)iz=Lg#?V*WsLiw5AMIV3D8_=x4Uo*OqYE;CKkVsuF}?FkC% zjGqC5J*X1uMI=#@#$q}Gh{Q>hg;0``!UHm^5(X7gMr1}rk|dSN{>K3sZs`Y1CWNQP z)Z{m1Bwr))=ENfwO#9%a)9`oj&bMh|q-~@6dR8C2lRooSf1bilIhr<#ZODHl;DyZV z2X=ZCR1e@$PKIgip*_>P=v*S-)tI{Bh!6Mi&B^!=!f*JK(4?f!n)H3e=9aLe8q{8l z-pLy>JB!kXsAI+Do=cFVxcBH+*xFNO`#x7y;V<{Mh8Ucri!Ng4DtA<0}$9BeMi?zLa?*^aG-;%W)5SYN+zUgaO?rVf-)v_4D znK>rXpFN!y(k)s(?BVhA1^A|w`^EYA~~6(bDSd$y-tg# z0V&@*P@hy3gdnPw0+#^<_O>}YFu9q!~-hj)nU%&)buO17% zJbph(O(>Pa(w{;!$jZRFmg$+BZOxP_96;@Ac%J&Hqyr#i4XD9=_S?VU^;iB93v(NW z$;O!bs7)V6pZiky@mJI!&M*Sss8GUp9Ao-==|JKH9Isk)>bRrDw6SiPY2GOal)fS8 zwQ#8(A$LHm<11%y$rrqdgF^8`YDe`~c{hKeX+{;qFybAW@7TbjO#>~~o~ouLeuH(1 z_X)bAlcD`*@bD4Ko4jrMrbl{40vuqN)$n^y{+xsLpPfB;3=YlBkjl`g@Gma^9SgxF zzKSH-h4B&Hip2lf*koVbCxW7`m>E8dwKcwx?Jgtg`wDD*252Ss|4j6tl!m_R^H6h( zpuL?tBf2QUJ%gdH^eKu83DXlE&rHIw)023*M)-3ypc|WQd0L~aJjf%(l4lpsZ1xAe zJ7oi^q3Uu^NAdW0Km@v6TsekJhu+F{F*Pa8kV=IVG$Mgxs+X;I0m{}9cs-80tdEj} zzX{ucbHEEc*SstSuTN3EUXi2)}3d$eEHw*ZjQIEs- zXnPw)2Tn0*{(I#+m+kFzulN7&CA}`>op2+$+;n=F({p#`iT}K5Tt?ILGx~3)VN=|> z6td3Mq{|&oPYgg4hnR4SyTBnIpyy~^He|qRx$4pe9gJU+7aktz^?HYE`5NjW?ry3h zK0QUtrYUN>J1yM~Kebv+E}NH_$uqZrM6r45EN zzH8P%YY4D9@d(GO-GuR`biIqe6~Zwa4TjVVVE`&X7!NwIa5tDhgWiM%lXWewgxBPv z*Ba|1h-YiBsQAd3LY1b?-2L^|vfn=Io~6o;>vM<=&@hzlqd~9jAK(Ds0ObI?2hKDF z<{BDAwhK2YP9sO5uiK-pxIw&{B*XK}pwj3WX9KG)CX ziG=`uoE6KC)ie)mU=u2b=Q~`NMu($YDIVa}_wQXzODSCf>9SPLCx7yW+RITOSu9VZ}PauMLw2V$I*(2{&q_CDBgWExx@;5mq!#476*Y{@Y@-xTk zfx>a&kdA8&tGP4##Z1<`vieY9f#=L<%n~BgTh+|g9gH%L-S(a3TiGK>HKCuV2Wa`@ zm=64PJ=1`|?Csnt=cVtjH|?gZ^NC4Xh{un^dZutW>i;Goddonp^_CJJh(;DJK${oG z7@)yz-NymdPB8wz)Zlj4gChHRfrvX{)k%Mo*YUowGc*6jb^AsppUOWxAQ*<5=2Ax~ z-rNxaX{9}K9m2egO~`)l6M)1zVE;Xsf)N9}6G-oOaq4yFvf50cXhgN{K$uxBj80qW zC%uO0aRh+E5`xk}5;O*rquPN5MEu?z1D2{Lggagho$(S1s!YerVDc5*_BzR4C0U>2 zr@a7NK%>9o?<)$3@fRTWn?H2AtkR?NXgqq3mW!N&XoDFOJcLz2q4E-M5Ds9x1`$U0s`(0vFc%bN9IP{l-<>w|I%S_7|C?I)b z1`@5IkWuBeuF5*qYTbQH7;*lo?&)j_Y26q z20~owt+~Ct$Ih*sP0mGA)OPn|M}e3AUffF+4$U(ZU;;k0993rXwKfNW%uw#jrKGiK z0wE9Xhee;KLtg3NT&`4FRNQ*4X`Dcq(_F4pI3%}m%yVu&EULp(oy%R~!=h*KF1`kt zvUs@uf&Jdj_~Y2ue;tnzj^*C`+vPt0?Z)G>7j<9`e2m)sx`XkNON)>K`%dQGitrUk&DNk z`PDiPq<;UNkV2k!q{syscXiSe|2|dv_Ir)Y$CSgLMA$b%k7&(sQpOq5msuVh9V5*r z>OJ!Y=&o7k5XCxU_}j`6rDASm45mmG0;mNDR0s+4j__SH`9Nw%{3|u)TLa9LS-S0r zG_kT$dD+bw1j>;CsfqBi+r(npJQ>>_p>s_b3OlxNED@!F*Qds|*8xbC)F`@9Ex=Wd zhaSMv4Ryi#;0$8bt~tm_5&>F#^lYSU3%*hj5)KhDqLphE_Xlfc&875 zP4J2iCx`mRH(@x+5C_pmt3JBhWr*AYi~RL9%ZuL5-$I5bN2F z@m^_|A`yqY*-D8FOjYtJjB;T_JLE@P`PmRQ-Pti3b@wfFoEE@6QUA^9t*1RmCadhx z>XYS{Kx0-X5S}FBHWUYz8IF84t8syRhd_R74YbHD$~Mo5{_RrO6#v!dTjF^NM`BUEuN<>Q9Bp>f=QfFIYDEk;5}{vA(}ciaC{ODYOAEFKMMZ3!4QJyr9UK_o1#_ zoBx~pxey-^?q(SwDfqv>mqQ!@X1*iwHiwQ=TZ|Y;=%LGS&=Hjb=FJK^8N2{%bnm@&H*e8D% z|EGMp?-0;R__o8mcAf3q4yqO`20*eI&QyE@Q!_RsrO?&{rp0izXqA=k#n`{pQ0jO! z0vJ7U2NIoH-wm+e^BWB%)7?mLPu47Agu-*B)Qy};i}pBC5@ACA%BwbUAcCIMoSHVt6gyIwh<0hAy0GwW@V6pQeT zCEPsAMC>j?Igb}(KxFn}k1gw8xI05$8AE8_`_S}Z2fm$HrhdA6HrU+ixH{GGK)f`t zmy_949E6#7AzVC*=tz(pmD|Z{;wkRAOZh05g259VpQTZCEa#_B)b53mry{wpM!7pg{BylpFue{yaKpV7;) zN=eZA`Brv{pLREqmr0IyBS9(i!R7rVr$AI_&^EHdKf{-w%Qyo>?=rW-X4>z=j0N4! zYjZCI3}X9Ze?M(f$Cr`2xO6lBQ5(K6Vh`JQ&Z8T_?pRn0P5=Ba{&G0+xO5Z3^5-%R zUvkQjiW3@>Tmg=sM*(kMl>x)}{1}b)bTzKjsHVqfC=2u-{FFF3x_?I~h&uKILDD|U z*zX3s0G*?;{FM!X#&KW?%c7k7z}!md8~qKBv)GB9|1N?sIq!09v!c_`N?{E06#34D zKHYrIfiqYFf>nC2=DKP#UI>=1?^ULsjAi49tuHCbKMya%y&mRvrHf!D$XaGf&kz)8 z9oZT#((an!+2Y&y=$^?gERopSW38p~mAb@FDUzUkKJ%D9BfaPVr#zojc3}xU)w4*4 z*x}KYZ#(4pn0u9ZoL=TlNxD38NF}Ft-)$!j)L0|qfPOAmV2Tm2caxzsXpo#|tT0=p4Z_A8eR}zfTS*MsT?h-%04f z)2lSyg#jg-0GmkO!zHr?Ws+U4BP0M5YeF^fLlr4RGOt zS@iDys+rq5)hQNWh}c{G{cg^OX&zfLNuKl+{pQ-oqks`Ei@b9SLd*dYyYD)7GyZ*p zJ|0(}Kq)_}!^~ie8t`wh#1^ zKJW>l%C)Ij$n9Lk>_?nZF9Z(-WLW?tEMzlw0zB26rm&nw)V?hE;B-`WC@3U%0(4ZQ zNJMzZLY(G6V!#4;FytP9FiZkeNB|f$M#w}gOtyXkPJ9G;MntSefKVvhmS8*x%CJgQ zMpQ0(L`EhCAT}OIs1i;j%obi^YDDx*knmbOHy{v3IAAxPmJoqTobotOuon0Ln;LSO z7=qf;+XN^9O%YdRZw`wYDC;omC}1cU3dRuw@DEr@P(277usj4NIxzq^>j7E*4-y#~ z2nq!U2?hZR6Almz0RaO985$cLBqk>)Dl054E-x@KGBY$aHa9pqIy*c)KSoDLNlHsh zO-@@}OX5=FCRkbii6dwO{@N-s`FMo39bF)}(iH!3D8FE%wY zI4vk8CoVfbBrJy_BV}P=ace#*DL*YFC~|6IZf#^^5DyIwBqwcdA}>E+BXVVNAs{Cp zh9V;*D3Nh(ZgP)@aBn_8FD@fEA}A&&DT<3aFN!Wdhl7TMg*JnP9UL(*G$TMkmXVMl zBV0EqCpeWsNh>Urn3GDGnn0A3P*GAsLsNyCGDJm2M@Rty00AT|E+q{C4g>`T0|EyL z2rCN=3M}PF;^RT!;pgZ_=}ZU>0pbDU1rFo}0p;lm01p8I0T2U8Mnz9fO5ow@3=77` z0Rs~f4-gGSMs7q$6%xn^$w)~`OXK2dVgX|TWaQ^*L}Fv+W{-{~A|@vzWg!3oU;$wP zZbCy8=5=;>Nq2fkc|hZMa(8cVb!bde<)5B3FiA}^IyWqgjd_P6BV!N`ZXzKdC~rO{ zCp#{M95FB>TwEw8N}51YO93e5Lh6)AJZ0L>8e?j-f#wK@bKZhzJNFgb+duAw)n7 zA%-yY>Z1WtzeCM<=$wZl>!IR3)ZbLN2%rhzIP)E3$HV443||iu?_vKkRstq&`v+_# zp0E5J)VFyd(nALrzaErk&VcUeAntXTza93!!~A#{pNFCKF!4R?_wRG^QiNbUHq?P9 zkQdwOK-P6bxZUWnXwy3QnhhL0;s#Fny=d|-lf1qn-q(9ULnt<*37&Bu1D}WN_29(0 z%K(t+(8B9bza9F%L;ZLtIS)naq4GV{9sl7Cbn*SC;{oD4WM2=t_fX?7LIzf+L#*qd zxE-W_2f^_mdme<=gZg_AnS4Hwm(%I+!s}4K9s0jR%?O|@pU(9_a-S(MZ=i$kpyY;e z%X*N>>}BHL2OjpvV76fYHkkhnr0VI)UI&8jK-y~xMjpJ}4|vdx@VpJq!HK}qI-q$6 zwJ-x)r-SU*VdIl)9vEsH{a6pm_pmlkON0NQE;f++i~;NCVQf9{-vevE8HWT}l!F1N zsRKvT;kxV4VmmYdcc8%A{$B^E@8F`BU!Q^6(_rj1AhHegls-Up4#L-i?meiU0W#n+ z9caA{joYExcPNa9+VfC!JyhRSA)ZX=fX6f--8HD+9{t~-ejJpXgQ9g%`3|mA1o8qj z4XnQguG_%ZH*n%hxi|-I)`98X@{TBfyc3vjpfudqc^!zpgYB-_elD`G9tL9u%<)M*_GPF4S!-}hmc>TZs%Ib;x zG2@Rq4T?FU_ZpoOs(DAB-S+W5#DaJ)9uI`5%Jl?7yvLdKsz(c+y5$aovT0AIE%da9QL z{3l-r1BS6J4igmn!)cZ{IObju#NWW_!@%jx*rq5|gUUDjnb|f5N_!+UF4`M4uwGDX zZ$N(_Kz$aeNy|2v0VrB!`AcU#c?6An;g11A>J5O795`-9T~F`^=XbgRK~`PVJO_;M zPC~!}{e)+#R*kDd95#W*>y<2{7(yLIoS%VA$JzaWF^wBQ?7Z(Dy%G?{;6Py0(?s2Y zIlw2`k54ZBSN;_S>VV+q{TdFsQIWuGSAMJBZ|8J3KDxqsK>rpg^mYn@zZn5$KW~4y zbOx&SXZ9Xlu2=?CpSR`9=ogVNAk$y( zc(tpTFhvz~+aUKjJvu{x{D$??ryxX9F``tzSyWiHi-*9l9HCj@dKOGV`Un9LP#Lnv*jh+uGc*Xl0VhcC*n|FSBFZOT=}EmNdFy$VwhZ3{4W74LqlT zS#d!hat8C;k3nN^&Eu+9qX*-E4e$s>2Uso!o1~O}^ckRCn_0SnPBAD(-V3=Nq)_u9 zJL!Otz+_%s*e!N+a-^hKZtxTV$f2Ig0UFH%_s5`J1aQ&*2G(>~Z{dQb+;)Q{O;~ME zhG`5EeYFkHYXPN1Pf734fPx+5f+2?XL8=zoyQr!)09(m`*EI!&69yR80M7cu3b7p0 zH-vh@0YYgYtVUoRtQ(0R=gV#|rf;c*4fqG(R_ZSY1`o0=5i+O|KMzn<+-l(TgL-+Q zVBx=)n*94TO&X9l>8}D^4TggvuBawJtgYwWewtuE4Ip|5VBbLR-^!P#^1EVyOPd^d z@q#48g+mYN@PI7Kguj|6jHIi^DjwgCHqzXc&z?p>ju(H0=~A>DuS=1cDigyTj7>rm&TA|~RE<=pPxOmkf#;ZqbA^A^)+aC53T;OJ7D;vou-QxCt8v&dX$xKbq z2;R$!rE=9wq#@r=IfJ~oc$BOZgaw@I4fPjR92IPy7t(6sES!CizP0{fA=Tme0(trt z^Y%SF>tfF@l&L2Q;}x7~(uT}}9kHNdl5^-Kn~n!?m|^$xKOCDEI_GzwJRJ9H@Xg;* zWq;6RBALb3IJgnWTO39Zm`DZ$jl?=MQvoV1`AIksXs-@HQWZ5f?nDlT*f~$-0vAk% ztW628T*8NtUX$KM4bR#c9@ZqrML*Fq33NWLJwEZxrf{%0HR zcmaUHiLZI$XiA<)+<^0jlZJy+RUog3aYqG?wndokmTqWwNaYPkLk=8Rbm_WoU9zrL z*WBgl)^Jz3TDVlWO-cwcv4i`_ZR8FXay4+@xMp0jD<$p^H~Zx#w1|$M)D$58^4P@6 z?wg?-n=o0V2oVCLgM>{Cn?^$p6(~fw>D2L4a4s;^y{cO2Br@3u)P7UrLelH;M%L(C zFIy^2F1IfbJ5)GZBcNdvw8wR^-ThEOjBe;m)O_cVF+%WTm_swt8#FMJ`bNNh4U?8$ z)I+GF_Ca%#E1}U&ZCCTXOrY;2brQ;i$(f5s6d6)*i9`AtqmJkt*=Gs9U2-W9Ab=8J zM8~W)W3{4Z3Wf7Tt`SJvfhWoMlb7RK+|Y>xUk+tM53*n-9mUX8J0q|Q;mVW)QxDi~k`<34Sk{OeS$PTIwRl)A z3KYy69SnuBE%|n2$bpBWj&e@&tp;0Unhq&}#W!P&fcSt=%x}S7*PWIe)|!U_NN#U@^N@nR^wuHtk3oxEeV2YM_wTwn)r*rh!;A zV>6+0Xfu1+hy@w4v@a14z^1T}v^wT>hq>>9=?{i=(f{|Wf2xUyo8f?FTiGtIBLTj!6iS_ymKB1`Dx(L(9FQd)9(Mv$pkwa@sCF+jp}o5R^R7 zF~%77x1dge1TC#K`3jLIZOx|;vFLkeCQz8=6iIF)IU%qf#02{uPmx!@snL@4)bmSl zj4&#&Tob$YgI3Q0&hfbBFxL=_L0LU9IRTY%h`9Tk>$eHqRhs|puBX{Luag~rKPXY8ORGpz{SyaCG?~+Fy+RrKyNyO zjFdIimQs{8kXsgFMk2%lgfxCYdoy=mat799%#g;8ytL}9bM^_lWMp&&8UVI(b*oM{17!Tk8OEq7>;N$7ZUiKpEbqFk{E+I4hBMRgT zM480#;Rt5bnMVK;qw6(UOZOWsovDXY&q7*#-sw`^Q*2It;Jp^uv2a;Y-}2op<^gU3 zENX;v46uT`HQsZi^vp|A$#%FEg@}#e$&}OE8umq4GXzpVR&N9tD`!2lS^$kOs_Sv; zw*ZPkd2;}z?e2fMLWRNxwNOSzBrIx#+8EtVW)V&D<>xd(6GpqpO9lB0Hcd5J3I;*2 zZI&-S^D;x91A7VHv=Ah!nc=;jNz z3`?wsYla|L6fjgV3$mBrAh|T%{Gh?5PR|EF7 zm8DKsp$#+@U>f^`^QT=3`?I%xXAXN+X4m|4<@6J086hApw_oy`v9QPYG+DX!Qk$DD zk+0nrpS|yW!ky{Mgo~J}ba8zd1u416u&uzQOED;oKn+CKilVfPCn45&eF&XgYo7ww zZ(A}oEpfql1G;Wm%csBy)RI6xzLejo^Te3s8)2kE8K4GqI5&Si24}6&Ch$Vr84*A-u(qMb>aGtX zv-9qwo&i5uO^u9_vS(hbjIOLjKC9Wq)v1x2;*!X0baE2x=+4Ui8ejJL|F_bdo|YDP zk^e0%R)mXOjD5CNdu0U%DgTeYCgV z#D6Eg&H|eSw@>%!$mOSU8O?Nnr!&BRuPVGZIt%~PeK^tL4G6we^!9NTMPTC z`f>Ux`q}vjf^DIWCItT^&yLymY1mxP@7o(X#DNrG@y7Q;%3n3=S#r-NZz=}qg!*eA zi9p|D-%&SLyaZ<{UUe!3xHMG!zy)6_q7g5}22>YAT#;RVFA<$oO_V@`by04PrQy{z zR&176%UmiNP(6F;duM&A$o`du^-{cOB8u$*yn+55ELi5~aP0!NgL>IK?6}x=P3(P%0Ip^fN{kj#R)LxaG`W;eczH zwFo#002%reaVolQ6mb-g=36Dofv4V}o)%(`Ai56r`0lJ#hrX|U=Ff{-37D2zmTrL+ zgwxqDCSg{<?6xkDo$kl zD;NKyNZv&&DK(8dtLV*WZ4f8v{H6v*W{I9YvQI*bLE}u**Fhq`50OqYx#XeoZ%)%* zvngU^c;JF)B1)b{4rFjLc%(?FX=#-vlq6U^X+E`Ilr$yjUhQYNgU&@a|2aE_l~5RD zkZb&37>9mNHt}y+bK&CICFCiD@W);rz;TEj*^|?JNr#)+ze5~8zK1xlf~XGoA=IolR1C`f<94GO2hqVV)GIie zc9gY^fcE`bJgK0|5?~V)xSdcOrIa^4W;6hGyHF8VV>6E z!|d*G&-Hn}iEca~==dsDUKO;y{(0&OwqDRFdQRhwd-jlUMUgA8!v_IuDLxbZ9u=(? z@G;8i<`v&*)Zb2aAl>HBIuxTeS2x)1{rmt2!^mJo*5&AQPnvH=l{Qix*`Ku|MpUXv zWO6OXEX8TQK5BCBJL-GvqHE;opqVR`LO~#IK{rzlnRL+A@>)3R{x-7j8tBCzC42X* zT~Y>m^}digvACl}jw30`v{LkaFZ85=bR6@jQq*EG%IBw)jl~zMKm<@$%J{hwy1nW0 z{+Y31vr6(y6{*E*=r>%sDp~g3Mb;#49yf^cG+&oeZBClkN~O;Gzd7L^@4l)tMF_ZN z`dV4mTLyltB5R+E9atx-@+!U|8=jnE(|lj1$olykly%@mR(+K5oi&a8Ai8QE(frGK zpZ%~-tglr$e9_cYDBYj^+(+@XC|FmIpDtTL`(Or0sbEQS`d6i5hYZBV#u_wm;NZan zGBOAdB19-FGc%JQ;p~j((a_S;)YK+SSX*ObYYRL(bPQw#mnWm5Iz$LlrI2!tk%Ukk z1QqSapPg2yrR!_1N}hV9jQCceUY<>gJ#@jOn^S#Ba9Hf{NxJBzO5ICgSxvoxGTN7; z(>eNnG^FoHLv9%@?kY7OzXvLWzS>mwt6*c|+)}GD{>t|JbTl}Ge*g}=9ArLx0Ck1# zMm;@K_|u+V!Ox)nXRxv@)hD&1T6t?)X7{qMK8V4h!G(ZQd?5n+e6`F2-|GeU?*Dcv z#F8oWkYnxMaa!#@dST<|Z$l0`s1!rW_D`{zK0eA2A>#0GjA0laNp!8^aS0+X)X~2w z8K0<&V$E5ESDlxWK-iuVxO8EAs@f&OtztdDU)xb%JbDTLG?OX2aywZR8?W#w7>3$)u_Tl!t6i0le4KONJAs_Y6e zSI>Utk6PYCs!jJ%1_%GpUhlhI;SUEgJ-Uy{PGWnFHnZPfCexZX0lsHWq_^SUv`zd) zHQ}FAlL&Z31$zpY+V<vWX;id?x^jq?`vv4IIwZ)nu6R zhIMmvv!WoHhgBW10G_{V-epxZn~a&jHBStD=acNMna8JNZn&G?W`)-%CYi&o5|}*YRsfioDNK*;z^-LO2}g1;!{308~!@su+<#+ zma;}$t!7Xwe>?u5zD{DI?gMM4x|({1ijqcgM~d0}I^eL**?zMnsf_2EbU=_IWwl?o z$9PkwjO(W0?eQdDX$Cbs^k*GfIi`Z7=W37JbkR!B(X#QVkM_9#x@(MATD>{GS-FYo zVe=eau&wi~Fo>dNK*Lj|K-XV>KqcF24qw80&-Pc_vu_OM6STDbwQFhkbKq{yY1F*? zu(prh2i6%DW>$s2*M!f3e`e6A+;HZdv$O9zU5z9(N;BzW`x1u)NwUM-j6&P>y?>bg zol6S7&8l`&^co-h5715=x{m+X8~#0ectRtMoEX2Albw-aawuK*jXM>Ia_zS+-z z>mEkm)x1NUOreGV&|GhF1xZRhid!KSHJ#E0tG>a`boJx*cnrG}PB_?a z_CjqTy$2YN?J>jinBj){b7DujAK6ER?WsO;S74TA`_b>{JHbzhYsxLdu}f(ER|;CJ%-aq1rn@z&LI}fE%O&6-a-!Xw3)Yxd0~~?p7T9kz z+HU@0IC*QikN@AD#1Ore_7~c0`&P`+y5BNA!(d^P2t$~rU<{iXDT@@4$3C&x;@wEKD1&m2J3R*cH_{qaRm8(j28rEG66t)T1` zWH%ucX(YI3q&whD^Xym0W1~Awgk>{`;T$yx_$TJr*}wuX0IZ$;nHw0fc?f)EL(6)b zMFU>krMYJ!tXdKlJP;tAINCO@FrO;bd|RjHI0wD;pA*VKYpDHt+S*ZB`lh>;0yPFm zuvg8SI~PnT@y3mR*+a5qt4BklGeA1}`ST*Bw>@HdI4{578OnFIQg z8SBQ13@YDy{Pis}SLuX9Z$fceGQ@@_af@ccj^9B)SZ19|9eX;<14cXkBeU^On<4+t z%TI>StO{-J+LG^5EUlpxt)pb1S0Tukw?mgajSYDDAkrVS*gD{)fq(gCxOC;q`f>8c z|8;cmJ&yRvH9kK1|0_6BY?&?&H>$ovk0C82&295>p1~(`Ez-L;je`Z<%acQ{ym`-<(j7P)Q zEXCFUbX8-`&ypGZSjgK*r}YlSsZ{Qt)l?f+s7|9yR4 zQ!6lXLHg^ou9ExR46#}k!{Nf=?)(z^HGZ62tm4!I-!uk*dnA&17`jJsy#1qTdTrHr z!;Jh?O%b_1(>0twDEzRw{shrRV!Y7yENp) zH{%2yDqcogSeNje{Yzzj6(k@-d7=9eTS#CP#PP>htWP^kVbx%Mi}YP6Fn^(-@Ruwp zH-4D_y78HJIOWjGyY4~GGL^L_zi{S;N&JCumY#wbQH>pbe}h+7Hz#4drrdANButn5 zwj3BzBaZ7!ZjVLi`|qx#mJXTB&ms z{zMA64b(hl+L-vg4iJ52uFNpwGB&`ISUOb0z@S`!{Mp$BMe^wOD7XYN<~xJ3VOgi? zN5jmMHeRhWWnt{qe6;NX9>42rY{lj*7@p0=vzVAk`o6AA7Q~w^oc4p5OJU#Xc>cE@ zdkk!P{xUt7pJp2uXF}=;%CU=p=C6SWq0?C~U4B8apF~vp=Cb}0^s}^JBj%3IPHr0- zWO|r=(_Nsi6n2q6xi+A7UmjSD7}P-8WZHGaVvq{QlsIQ?U@3)(m!4qz-8iYVdbbJ9 zJMi_2w&d-Bis?%mFgZ8-!A9cjaPH2t&TJ#lhQF0Ya60Fk9Q;y}VI()_@%^W`-I+jb z08QG5s_`CPFd+gYz==KsZB7C6#(CiX%0S$m0>j~R`RBfXs|M`Qa_Et^0pdg$_0LZ8 zG`N4vy(Do82&9|oW&!S7>2K#C9y$|%l#2u9SS#q!rJ_xO)CJ8Pn57o5%L35Gk9U~G zgJrG}4AOX|NCYtGcQDL4fe?M3Ra6v{}DQTKa+hC)tHWz{HHWrJv;j#>BNaJ@s5-JClpLAKl!5R_#H0w zrB`q*X8J>^F#BBgi&orn6y7#!|AbU|D=p@)8Dr6*&j-U-)543 zB=rPcV=Ngnvwm1iff2Wv2;Yc|kJyZr=274$H#-(I@@ z5-=h>k|hz*bEgN3G!fCktU^g6cAj=0i-2OPFEEO*ML0pCi$@eW4o86nqdtH+R0MO09LYXcLhrQmM9Lr5%i#Ucg?4rNfEga+MWHAv$` z4eGE32i^5CVP(?(JUYm&I5?NOPSFxu;8QHgJ-+ej9dz=!OPG)D>FIphh;p)@4{bz! zoUZB<6RNBa?b`KmrNln5%DRVcZye~>ltsiVTT~Abr2+hXLlo2wQDs*P))oBxRhpj>;4rBumdz9#4D;epG%nrTp+#HaxkTrk(S=_<`o7tq%D4mpAlFI4$ z0j2an>Hwl1rBU9fG4`>PMxT%kiaYi|QlRFTm>qx?Sm5nW?Y?u+ZNKwz0=D`|SL&(d z_^au~+egS%dCR|+Z!$MHD{g_&rMo{b7&>=1jb!5s*Hd&Rh6yqy?T4nw_NbfcTK=$P z$&0AezpxATX`Ponx3LI2W^S&VKa3eOryv#f{fP0EK#u!58=6Br#{-;Qwnt60p8(jl ziaFZjFIe(zkTb^kO^my)<2^(4B?tY2u-&V6Et#$~t*j1k!Ped-jXIaQx^T`8R1|Ui za7viF4EEM7GbU>n@N&eq?Z+?1NOy_LiHYs>0|YN8WaG>%5-yOfe_1wj0s8rfPnCkV zWMN8Ns)DYYVjC%6z1nW?Hu-wr`pj_Ntazvk&Xy`6=O@a5umJO^bGI8M3O7}$TT0`L zKa%mrX$jI~iRu+)@L=x{GqGcf{&w{`;`X<&db5<-Ww%sQETQ|c=?23!0QXQ}rms-+ zZ1Vv_4&G zibxp*C5RW+<^rq)(IGj%Q07a7o6l)YB!pa3gjfcm*Yyt}4knf7p~E3)_n)$98!FU@ zk?Kap1~1GQMXtzLnT3iST~X*&vVqU^`eYhsg(RGEznpi&JV22E?LJ<$0qyiWocSEb z5*T>^kA$7Fqzvsc*_rs_60C#yA_pZJjoa=OW?0K&-i_SDup$C9tczIp4Qp|S2h|SldpcY=BnEl?2_Ozr}^My+VSCo)*K=8~bySw(^djKt2-|t`)zhcEikkAz#mmtFXA4NjtwwR% z%8Q3dP;!t-l3nFScNYA%jmPvC) zDeSlxdSf@DbTfgyZJ_Zcz&#t#`T)$^$A%e24iK+xZ_Qykg{g6S#bJSD8=Fkm>OwyR z@KH}~yP&3T30DoPoxH7^+_zu%2)D*x)zRDb(Q8&yPSr9sgl$yAXZD!Z0JwEH5+^pe zX}0a4>14%pXbsmW354bXOVk=RR>~-|CM&5{jp7@^A#Klkue!MbZoJle>1f|4Z0$IK z8t404{(c`-)o%7Go)11#?^^3it;OJ4O1w0x3pU(v_Ud3a(*TR9rO!(Q%m3RN@j!9| z-9WX7)*9B@7`~z&aAI*`pQ*@PU+j zcCk{qr$k_ z#?zd(pqd8X?8Sx)6+u<>!rN#>NaVTqG73t**(JznRN2`$Y~HpzPff12H_y=a;@gIQ z(ltOb+V;x@SdC^P{yVk&Th3bLX_Lv$_HlJ;I8>OWEx7K=t9@crlN42>@TwVn3);H= zW&62iu*DK`6E}4+lbsAjsomtvXhd0!gN@pnuQL#I7#erq%~q++t{Tu_OuV{^IcBVJ zrGbq?y+@%TCWGfs4MW^oyqe9}N7;54>FE>8z;@u4dWW9nB2o9I^z4hLbbqhUM$Mq6 zTOEh}bf$HRI83GwuPOq`HTxbB*>}W^XT*JCab}I@=E$GWE3>}9N zdxjP5Me3e;vuf37zy!^Zn%bonDx%|V$DJlz*5r4VYGN#t?%6YBU%5N>s|FbYgegkY z8t)CaO|qFK5<8mID9{y4owK}cnY#076|-cmbY+Wfq=86}As2qYvuF4l(m+|y=EgUp z#dFZm$}DOrsp|9!1T3nyqE9;|EaxbTD(aO8J?I}Ew}B!05>GIRD58zBKPO~U=`v`-?SKtfxam`8&M(!o&& z2efL+gtu8x$f)0t>W^XeB%5q8MlIevV@^{Rv`x+0>xJyPQuMRp_pd?pedR`%E4{><(5jOS9by3PO)+*=;7y00aS(=QrRGMfy+-EdBuQnG=B6q!L$=qYGX=>CvA(Xvlog2`1QX7=Tj&ULSqdfy?#^hU z(HES@k>*2R)V;9Jy~GZR z3mY3V4OeDRP{Dc^Zgb{JV~|y2I6G8u<+dth{9!?V zQJO=D4X+G{%)rQJBC-KvQNOiS7FW!W<#QC-1fK)kS8o7sI7Y9sFhca?nZu~56srz5 z+*mZ(jw`gye*bIyF$k_owI!29)2%9t2|>iFE?RyB1EwT^en>3JWD948Y$wwYRW7WG zeCD*f&xxI0d>T2GK8DR#XK6cnCb8{*iG$X1+0FTz*<5*h@F`{gXSo?4W|ls`4W{k# z&Z@M!dH&vDVLuw}Wmy@+-w^P+GauvA3bvV{-_N#ri5Y{rWsrm127O{Rp6%wg*z7Ta-Ml_4w^C%w6T(UkNITZKIJS)6v(Rd5#=DNHMY}tM= zBi|ih$7e*@!KyLT4Q32ChV6ORGo0*d%dIw(%x?e~z>3-SYOe&*NO*DC!Sphyp<;A+ zkm^Ze5W{8jU19md{~g!>u*W02825=m-R?C7-p{vK5mg^AQO?@~mSCTl_z7MxMv=j; z9h-f%*KV*D=J8-bcaafT@KsIAt?t-qq1L5MTnc7)Wm$DBBD1(9Oy&-*cr(Kw9E)VD zq8VeW_I;r?yb#Q68`w(u1G)s-+~_6KlDAXqjGZlE26r3f%9hwW%C1V$7mI<9^@`ZfTw(24X)!Ynqp7@rhhM^EfU`8U}hva(>V1XeA~`D^3OHs?q1^3?@uFbt(J&8OxHC#f$j7~egmtrA^n|QqWSI@jLWdST)nv= zEk1MArG(nYUd%1AZ!|2zX8;Q~3W`$GN?&i9MW^0VTJEtJ^kh!6Hj}4L5?gfOUAceN ztoCsHP#O?6)k0ySw(zAgl9uJlJ;RgVf@nJ#1w{8xn3|z@3m*1tP1Prkxe3|>N_#kd zo~{fi(puiWPiSiyt*A)LYoM!fSw{f+I=?*fxZL@sjkzK5Sh96ex6Xycf*+aPe3$a5#Ed9fCRZZ@YwZAq;P)KOh zoz&BvK;ckYEN|!5dOqW##K$a~T*$K1>?}-FT04&KnyP*`;95YgB0v6tI+Zn}Ev=2DpYaXF84g3SQi=_5v117_P$)mQjdOIi?aUOVO zJaT=Vtw_&8w?0RH{H*{gr${J0AmG*kYP3yfT+5eu!UOu;`Qr|L7{I-D-z~sSsK30F z_O66GsI&-BxAur@q?$2+?h%G_;@Wl3PEKwqQ;PzQ0%ZbbC7PVGkB2RhlFy9r9R-BBS|i#DKhGb!Oivej4&AqGNRxEc#D3!?iMTb zm$cYonew2x;gdqpW;dl=@0V`QgZpVg)u+dQ8d{ zexoy@Wby#`%lXrucPk|7vF0yIUAdz~|Gj5+yTe%p7G!W8N#(Gi#&q2hRjR}#xpHL)9hMeY6qA@Z9lw@Zx4IVU{dmHZOyi%~B@`=qxkp>=a1+lT+G#dPSda&MVMNxY06ES)8Y&Tzrm*; zKjAnHzM2}BM&_Jw-vQ)THpzjQ^>%0F=*_;bw)Wn5`>hb8^@Me|1f&t{&uNQlsX;wx zz)}}H1P~Y7&gVtN?471W7}O>7u1{MZRVRG*-{t`?nm z*H^ZS4!NoeRIjIsB#}zp^cq86Fs~u9?$<9U0s@~Fekr1!h549D@+N9E3;?3~21e?=mtBVMr z^7MyTx3rv}FH9}M8RSZ8Zq!mFB##5zKp!E{K9^6APs#nrvO9DLb*|Ox^q854Z@wyDxz{hWm5z$N&U=ZL?|3Uun1!+S!jbhX;be{)m}cfa3NIC8eLybFkRQP z=He2Xt9`2`({iI5a_N3!T5GDVKvyzflLy|W1$Eo6h5~fRcAgd6%`SUkp8%1;rm~;x z0=5(Bh$uL|qk;^g2EBpQU?G8#5|5mJrmst0p3D0BL2W9aJsQ_il))3&ykIK6>JnNu zFSf3lgA^MQiuzjp5C#+IsF9#_0KLGV5_(uo|M}xHR^+3jCr2FE#ZL=Q;>aIk$|D8o zljpdUyxi6fgdxKU!{czNY#+2;8?>_1H7cwJStn?fKEQ}{(@@%mI_r+M6Q8gFO?6z{ zm8DvwU+D&^{#7jf5lj%vzrs?>6ceeQmy2>D=+NJg09=R-#hXDwOgs6!l}h?)+fe{^ zQ%FdNSudYVXR^rz3StTg0f-7IZDtd1GVNxq1X@0q&gGNoWZq8Z9dy@sZP#DPv}?L) z*G~GmeAe}|dDG74t*q<2zL`wsy~J(g^S+t)^Jd~TUE@f5X(MYo*|e88b9vLurL$Jj z&m{e6n*L&4>E2Cz=FzD0`~3uT?N_T45Nq*UP;d&r)7{11|H))tt82S`|HtF8*q1TL z_n(Ue&J@n)K7Diwx>SMlxjQ?hSH|tt6F~9M6>VL_-o_o7h zUf;Q&FY{LMuUOCZ&wFvPGOvvBAB*Aq5EwuI&OCRK=gunL?N+-|udaWw;o$#?|KC;K zt6kJ`_x}FoFaN#0dH;9hE&jW{|9;Qo?s=cT(+BQ(c|XUi+S^OW=>3F@hJ0XuhcDyD zCjJ+rl9SUO}7Lc}RT2tkA)i9`Ys z2}GnINm6JHqplQq_z~TKw^);;@|AQGx3_yO7 zYGPKHM>Ea@fiq*Vw8Pk~V^~&I31w-QfM_$QAY!G-nG3bGW^z=n>+L7^Xp53$IBqEQ zQWCw!w5%I>H>RwaM|AJgHkEHPN7+bXDxDK#lzfp&6U?!6-e%b zivc8XA52~=I`IVg$s2AUU$l+|vm$Im_(Ve27+Mw7f$o%6#rF=dD#*$#`y0qX6&&&s=V>c!-4K2wfvuF%<7`=cgMuqKbBqZ4L8g$S;VbM^2d&M*gtx`K>J z1iS@x)NV7mr3ocVFswz6W45$S=-7cyT$b=#Scf-j`SgA`ojQ}sAU;u0-;g^ytGZhQ z|8QMCLz7NczgvGGX$7+%(G<;(qaV8gG^RSdhx*L9AKBIu8Xyp3X<&2E;t|J>NGiBf z&#Ru1szwv$M3m`^Ysp_yKb3Stw+f9!$D_x3R0fm3$I5e3Gc+myLOe_RVR8N!rqvk! zAg|M%#8ak$A)8Jjv)@|%;T|HQBZ&QudQ`0+^#@kQaZ(#>JPiN)$(O7!vaLu5w zq~$+gekyZ<{g{7%b&xIgg{V@q9A7519+8VhQ#Y1;)W4?@0`{g4Ksr;|=hR1cF7kb$Z*M_4`c=w%)+$Z? zh8$~enrt=HGm-C2{5nk(t!R-XL5PuJo-_*)@LId7mp3+d%Qwm*=Z|s4ekux4idf(d z4Yz3@FqqdQT~!;9Ef|RLv5!0cmnSGcfDcp+kyZq@@q*Bt54kD)uzS zB#6QI;;)B$v>ITyxFr1n;JMtGed1U<%pDS;(Kc2*eiHtRP3iYn_f)XL=F%`4+%XS5 z8{zh1lN+IPbw9$Tm%$OTbu(Z&=T>_o)G^#9G}YmL&tvTP$t3$N{q*+8*f5pm0#B}R zTAG@N^VNM0lw(Ekv#{4s>UsZ{iFMqkuo|ey>5moxH~4&#v5Lsk@ymu;=H^M_2#n*q z4ksO@G2=;oWLw72Y5v%T50_yWx<~t4&7&1CElTlA@R(;-O??BcY!*Rh_iN(oM|dBN zW&nvbQ#sjUl#-e^BL23Uz}HFI7x#Ekd8L13Xt!Ehm-Z$*nB@>N4mcIbPMF8htK~4! zx0HayW4!9$@2}gIA607Jh+sOaY5S)IqnmAVMUq8NE)(~i!4^#)A`O zwOH;xLf6&CU4rexRC{qVdK11Z>fd6FbP6vmmvXT4QKA7q-TRL6G!6eSo$J#6YY^&- zyLay~vgLf~ks(_;xwHq$Ph^DJNTDLKC&IARaAMHlH0?{u8Z0-UpK(#GT{u>c%d&k-{zS^Pd{YSR+!X|Dft5LCrO;P`ra zr){2Ju@bTbYZXRTI`rmw;A-Vs22*3!USqlzO$|lw)`J@i#x_3Nog&3ml_qP@S-B-4 zkZEoNRyyi-j@Xw2Z6v}QNg`sUPiBRNI!n;2sDh%U)^<{#2Fgr82*O>qFDgKg!QAH z`Rn&_7|VEfsBVhb_ni6{m$SFaxwo6Mx}#WmEYF$ZW_J02*11f6Ks*so;z!&ZDN3l9 zF;*yoi*Qp8gc>jen$Sx>P(5s3Z><9D;BMWJ*|qEK8=vG#if?0`)nWFi;mG)r+Jn7P zz!g{Xa5JHTCPECrftr;p#-5Sq;UZd*t&9Qpu+#>{^LXZJo8M3(xmG`&$R24nEXOv{ zBQZF`-BpzuKiz$<1_IS`6Jlw#rsmWMVhSN5YLz7M&RBwALZk@{go<|yFwnYo~3H&KCKecS1!ZXrq5ZPr#PLE_DGroTd%d& z=1B?Xg?%rW?1({{3nJ$fefr-&tm$wtG>1D0lTKfYCIzSF30$Jsno5Qx_z!2J=wSbF z{Cc8AJ`DHL{8b5<|J+Js7d}x!5T65;j{pXG%t+vpSO=0a3Kh9jj!{8^@*Dy{9}5LB zr!a(6DtrDI7VWrYzuJRa_NU4?#e?^U!{LKHtWOcO&5Uf7rLnVL0RYG_wn{B&UboW# zumGz79*Ys8);eI~rbPnFht7Z$=!%h>8I5J;h64`+9!gImQMuvNJP-qz0%|B|FybX3 z0dN5U4owCE2OEh3D?AedNJe~&=#S!SEy1WOqRXY4VOdjM5-5dCGc_itHR)Z!a9lOl~={1ubMChJt~cNO!M zOXlQ~Y0EEx|Kz@Zb{G44{jr?F?+ayB*IQn_3`?c3^x30x3#ab~J#*z}XLe+sR;1bG z)=S3acS8{#x87OT9KXosZOtgkL60KzYlCTSuhFCJ=jk+6Eiq@SK^g5P&2nyc&X<53 z4oZrnM;6v5PsZ^>e!|ft^dUo%JPFs=O56zA^Rc_fjypPCV6|kHweZ6wy+h!$TUOE7 z#U#11Zw9{T3wvD@`jN*|p28x_UaO$%3zon~Wk0 zRlcVKx*E&m)=Bz9UB^`54~fE36n0mJ_p)GHXB9*$-QtC6qs!W+mDXwaf;}my~F;yg$3l&UlTDh-OEG(DOO_-ag(_}h# zOy+VFgkLFB>V;*thFuBOEr&9nwWtewYsO7|=5yuEcyO{mk#`f`qG?yq^_`1b!cmeIT{dr%o> zMJlRE3Zv9hx}tcZzfOhlsADSAt|Tc8W3!MTFeo0AkHjLG8p1+>3qP}BdSpD5VnGf; zF+>nigd!p$frtbmA|fP7A&mk3o4OzdI2{^Dh5{t8SQx6h1^)wF5jD{Rz!T?UfF-J1 zTKfne9vl<@#h^7T(i;*~Rz&2QN#M<1ty2b<52!~Q(EhmLkZ{ksgsec;%e@kt*;#On zF4sLpu`ywZ=U2jBCgFkbU*%(j{|gkQfh7Utc>)P)z~)x^9E#`;)3qzzwWFVk4BfNR zIgckC5Pu(Vjt@zxI8?ZD5KDE{Cppk_`b zg<~o}>2Af2NlcR~KFy-DV2o@Jor3H^haQ*o>R=n_z$8TR+M;3LZ)Auj;viNHc*abR zImCfv=!XHXv>^h{%fLM5ptl(n9}-y?%Cq^5mv+#GXGwHdz8veo_by*1_3UO zy{}_n9J2|slKB6;Yd{~XJz24uwYi1770x!yCd6!Z>r5A<8nK+983v;O0Pdb$Bw13K zpU~zo$R0=*8Or@wG>!yK!zOs;0_2%p^8Q(fOEz2AEB$*efqvnjnm?ru?AV9$I;g$= zNnD9p7o2V>*v_6rQ)UxpBoH4$!;bs>3=-Y{%Hkr4w|6*V2w;5L;`%pbK~~6iy#R8v zZ!eP8bB^<#2`xjB60FKBgxKArqS7qui%CuN z{s!oYjBJg1>sG)5x*b=;VokhbS{a(rVOOW_o=s~BD(0e6$xE7rjN?edrj116_e!BS z48Jjtb1j41p!rQHL`C$lWg{UF-qBL@ifK&orCuu%8wVk5>$e!B4r}J@lMLwe9gHXJ_$(B^%`;Q?TB}iMG1w@RYiHZaqM=L? zJ0KNVx$<$6-_>D_`W#lL*ve3d7zTWD3Z#^?m{+%^UYT9w8yR>c_KKXJjUF}}1c!4P zMU+5hC%C9d$Ip?hU1bHe#Sa4jaUAH38f}Ra?xhqhm{1^2o-NKGLS9S}jm=g<(}&~X zX7;f#`Hk|{wI?Uy^{qVcmm)?t)&dxjZY(&6uLC@L+ekQ}Z(cn;6z@svSebT(e4L0CWv#OU5xQIX1 zYRn-qo{uW3Q~3r-NhH_-_Ld-7Ldzgo0ncdyd=m_)hOFv6L=&Mhwkbv6$SI(JD$tv- z%!opr{>EsJeALnpq3TWXO_MfR+7v5OBw#R_60M1HLN)lImG7k9!Qw>u3o&@elo_>` zesyvLB(W9KaI-Y?DT z4&Qz2(Zy_FR~GlNQ8B3J!+MLht4OW6ml z6MmHwtX7*f+zzN75QxTJwWnedkPcrP#WXCJtB^io9j%5mGP1lSn7;9vPVNENbMcG( z_CeX$Kn+`8T5fNcy;OKJphxBQRIVxv=a~|^dM$0vOidid!w3Kf9|{x)qX`3)mh9m~ zT4=OhI;xG#gK--b*QHid!dIh_{@NxGZ*DgTKvucgNw%$gLsC5X&neE`qgRrcP+C`? zVdJkKR-DrW2O*6SdmTg7z$Rlm`w6NT!EI9>P`DQKnpd#EGm;U4^slrt%EO$6@nHRmPU4LgyWmc?hrDTm+F zmF38Q;HH^$0Rdx($XHd@?=H|eofAx^kbrb5-4Su9TBYLIgfhr``$v9(VEv-{$P00! zxh>$j@PBTgs6u^^N?>He56($4jh$FQwUlD98-_h1ge8zbQ_;CLiJYn0r>#XeOGH3+ zP9}HmR?`4XrR)U!8&`ZSmQo~H0DuN8X2n6=lYI&))w(KV;HaAtOb*kNC2=++iZci( z8IB~DC|2K>H3hOQpIA7Zy1*uPy^C)z5BfU8L|)~wfW?OjvL=#vG87P?Vt zCkF{+r|`N#4E|WN{;SSs@r-x&;kQQ&W z&ESh6s1oST@=%AcYn8)!^T59w;xDLe5od78lT4W<`)Sh`x~s}I%h&s3%uMCyPKUpNk#R#4)fni1 zWz(wt-u4w#*1e1J2Ik20|_t6GD3b$qPYSgQou#+o>`zlb(Bb^?U8`o z%|yr!sW)bT^RDR=fm3jaP6jV&hOAkWB+$t?SsbSa1HfvX#UIjk+l^w* z^!g(!gvuudT&Ge}T#LNstOh*p#UR2)ihcbq(xdIQfdB`j?9t`|WOjT@KMba~ zJ#+Q%_7VOhJ@f=p>Z*N6dq z`1!*}NeA4pySpETtdN9gcpc=B2yoF$mFEdQtgO zwu)vav1qW>S)0XNJcb;CJ1^@ZBdD8BU^~0Ylp3O7)>EV3xa|8_8yKDE;w_SAWD9dZ zlG^i!8D;9R&T#lrY9yx!G>3q6f=b1%8e~W?YF+Kmwd%qNjyML0BpL|r@lNnB{^vK{ z+t(u%jeTX-(jzYB0NQ0i@TMCu5(=H2BKAyCo6Zw6a+b!ad9Zs{XGC3M{al|bESr-- zO$U}&$NDn(GUtfrqL~IdFhdcl9|+&}rI-3_*)c!?6bGhTnqB~9S63``d3l^*Jt||3S88zoVZC9=k*EuO_hIhN%#HQ zmv+srz67;|AUe>%PZ%j2p!P?F*yhT}SI!4w`v}vLTm(?#L!$D0redV(T}pA`Ag6o! z!w3}zGmSvu_F7#w!C_hdUcDFVKKY2z1dB15sLS*9%)hy|1AE#g3_9i|>x?{~m zzPekIJ;hGzuEAj0s~7cY))hI}6uc>uGHPF*!x)4;KX%kzcUv)nEze0V!`{4v@Jzw1 zF3@R@K{#}P%<<$t;Z)E)R^r@_%$qU=qqg}sY-_Dk?6>G$boEV@m> $keys + +echo "user-db:user +system-db:local" >> $profile + +dconf update + +#compile schemas +if [ -d /usr/share/glib-2.0/schemas ]; then + glib-compile-schemas /usr/share/glib-2.0/schemas +fi diff --git a/external/config/desktop/noble/environments/gnome/orangepi/create_desktop_package.sh b/external/config/desktop/noble/environments/gnome/orangepi/create_desktop_package.sh new file mode 100755 index 000000000000..65267a1d277f --- /dev/null +++ b/external/config/desktop/noble/environments/gnome/orangepi/create_desktop_package.sh @@ -0,0 +1,164 @@ +# install lightdm greeter +cp -R "${EXTER}"/packages/blobs/desktop/lightdm "${destination}"/etc/orangepi + +# install default desktop settings +mkdir -p "${destination}"/etc/skel +cp -R "${EXTER}"/packages/blobs/desktop/skel/. "${destination}"/etc/skel + +#install cinnamon desktop bar icons +mkdir -p "${destination}"/usr/share/icons/orangepi +cp "${EXTER}"/packages/blobs/desktop/desktop-icons/*.png "${destination}"/usr/share/icons/orangepi + +# install wallpapers +mkdir -p "${destination}"/usr/share/backgrounds/orangepi/ +cp "${EXTER}"/packages/blobs/desktop/desktop-wallpapers/*.png "${destination}"/usr/share/backgrounds/orangepi + +# install wallpapers +mkdir -p "${destination}"/usr/share/backgrounds/orangepi-lightdm/ +cp "${EXTER}"/packages/blobs/desktop/lightdm-wallpapers/*.png "${destination}"/usr/share/backgrounds/orangepi-lightdm + +# install logo for login screen +mkdir -p "${destination}"/usr/share/pixmaps/orangepi +cp "${EXTER}"/packages/blobs/desktop/icons/orangepi.png "${destination}"/usr/share/pixmaps/orangepi + +#generate wallpaper list for background changer +mkdir -p "${destination}"/usr/share/gnome-background-properties +cat < "${destination}"/usr/share/gnome-background-properties/orangepi.xml + + + + + OrangePi black-pyscho + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi bluie-circle + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi blue-monday + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi blue-penguin + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi gray-resultado + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi green-penguin + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi green-retro + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi green-wall-penguin + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi 4k-neglated + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi neon-gray-penguin + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi plastic-love + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi purple-penguine + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi purplepunk-resultado + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi red-penguin-dark + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi red-penguin + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi light + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi dark + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi uc + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + + OrangePi clear + /usr/share/backgrounds/orangepi/orangepi-default.png + zoom + #ffffff + #000000 + + +EOF diff --git a/external/config/desktop/noble/environments/gnome/support b/external/config/desktop/noble/environments/gnome/support new file mode 100644 index 000000000000..a23e5fb945c1 --- /dev/null +++ b/external/config/desktop/noble/environments/gnome/support @@ -0,0 +1 @@ +supported diff --git a/external/config/kernel/linux-ky-current.config b/external/config/kernel/linux-ky-current.config new file mode 100644 index 000000000000..56a1e5912205 --- /dev/null +++ b/external/config/kernel/linux-ky-current.config @@ -0,0 +1,9491 @@ +# +# Automatically generated file; DO NOT EDIT. +# Linux/riscv 6.6.63 Kernel Configuration +# +CONFIG_CC_VERSION_TEXT="riscv64-unknown-linux-gnu-gcc (g09b62c20e09) 13.2.1 20240423" +CONFIG_CC_IS_GCC=y +CONFIG_GCC_VERSION=130201 +CONFIG_CLANG_VERSION=0 +CONFIG_AS_IS_GNU=y +CONFIG_AS_VERSION=24200 +CONFIG_LD_IS_BFD=y +CONFIG_LD_VERSION=24200 +CONFIG_LLD_VERSION=0 +CONFIG_CC_CAN_LINK=y +CONFIG_CC_CAN_LINK_STATIC=y +CONFIG_CC_HAS_ASM_GOTO_OUTPUT=y +CONFIG_CC_HAS_ASM_GOTO_TIED_OUTPUT=y +CONFIG_GCC_ASM_GOTO_OUTPUT_WORKAROUND=y +CONFIG_CC_HAS_ASM_INLINE=y +CONFIG_CC_HAS_NO_PROFILE_FN_ATTR=y +CONFIG_PAHOLE_VERSION=125 +CONFIG_IRQ_WORK=y +CONFIG_BUILDTIME_TABLE_SORT=y +CONFIG_THREAD_INFO_IN_TASK=y + +# +# General setup +# +CONFIG_INIT_ENV_ARG_LIMIT=32 +CONFIG_COMPILE_TEST=y +# CONFIG_WERROR is not set +CONFIG_LOCALVERSION="" +CONFIG_BUILD_SALT="" +CONFIG_DEFAULT_INIT="" +CONFIG_DEFAULT_HOSTNAME="(none)" +CONFIG_SYSVIPC=y +CONFIG_SYSVIPC_SYSCTL=y +CONFIG_SYSVIPC_COMPAT=y +CONFIG_POSIX_MQUEUE=y +CONFIG_POSIX_MQUEUE_SYSCTL=y +CONFIG_WATCH_QUEUE=y +CONFIG_CROSS_MEMORY_ATTACH=y +# CONFIG_USELIB is not set +CONFIG_AUDIT=y +CONFIG_HAVE_ARCH_AUDITSYSCALL=y +CONFIG_AUDITSYSCALL=y + +# +# IRQ subsystem +# +CONFIG_GENERIC_IRQ_SHOW=y +CONFIG_GENERIC_IRQ_SHOW_LEVEL=y +CONFIG_GENERIC_IRQ_EFFECTIVE_AFF_MASK=y +CONFIG_GENERIC_IRQ_MIGRATION=y +CONFIG_HARDIRQS_SW_RESEND=y +CONFIG_IRQ_DOMAIN=y +CONFIG_IRQ_DOMAIN_HIERARCHY=y +CONFIG_GENERIC_IRQ_IPI=y +CONFIG_GENERIC_IRQ_IPI_MUX=y +CONFIG_GENERIC_MSI_IRQ=y +CONFIG_IRQ_FORCED_THREADING=y +CONFIG_SPARSE_IRQ=y +# CONFIG_GENERIC_IRQ_DEBUGFS is not set +# end of IRQ subsystem + +CONFIG_GENERIC_IRQ_MULTI_HANDLER=y +CONFIG_GENERIC_TIME_VSYSCALL=y +CONFIG_GENERIC_CLOCKEVENTS=y +CONFIG_ARCH_HAS_TICK_BROADCAST=y +CONFIG_GENERIC_CLOCKEVENTS_BROADCAST=y +CONFIG_HAVE_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_POSIX_CPU_TIMERS_TASK_WORK=y +CONFIG_CONTEXT_TRACKING=y +CONFIG_CONTEXT_TRACKING_IDLE=y + +# +# Timers subsystem +# +CONFIG_TICK_ONESHOT=y +CONFIG_NO_HZ_COMMON=y +# CONFIG_HZ_PERIODIC is not set +CONFIG_NO_HZ_IDLE=y +# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ is not set +CONFIG_HIGH_RES_TIMERS=y +# end of Timers subsystem + +CONFIG_BPF=y +CONFIG_HAVE_EBPF_JIT=y + +# +# BPF subsystem +# +CONFIG_BPF_SYSCALL=y +CONFIG_BPF_JIT=y +CONFIG_BPF_JIT_ALWAYS_ON=y +CONFIG_BPF_JIT_DEFAULT_ON=y +CONFIG_BPF_UNPRIV_DEFAULT_OFF=y +CONFIG_USERMODE_DRIVER=y +# CONFIG_BPF_LSM is not set +# end of BPF subsystem + +CONFIG_PREEMPT_BUILD=y +# CONFIG_PREEMPT_NONE is not set +# CONFIG_PREEMPT_VOLUNTARY is not set +CONFIG_PREEMPT=y +CONFIG_PREEMPT_COUNT=y +CONFIG_PREEMPTION=y +# CONFIG_PREEMPT_DYNAMIC is not set + +# +# CPU/Task time and stats accounting +# +CONFIG_TICK_CPU_ACCOUNTING=y +# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set +# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_BSD_PROCESS_ACCT=y +CONFIG_BSD_PROCESS_ACCT_V3=y +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_PSI=y +# CONFIG_PSI_DEFAULT_DISABLED is not set +# end of CPU/Task time and stats accounting + +CONFIG_CPU_ISOLATION=y + +# +# RCU Subsystem +# +CONFIG_TREE_RCU=y +CONFIG_PREEMPT_RCU=y +# CONFIG_RCU_EXPERT is not set +CONFIG_TREE_SRCU=y +CONFIG_TASKS_RCU_GENERIC=y +CONFIG_TASKS_RCU=y +CONFIG_TASKS_TRACE_RCU=y +CONFIG_RCU_STALL_COMMON=y +CONFIG_RCU_NEED_SEGCBLIST=y +# end of RCU Subsystem + +CONFIG_IKCONFIG=y +CONFIG_IKCONFIG_PROC=y +# CONFIG_IKHEADERS is not set +CONFIG_LOG_BUF_SHIFT=17 +CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 +# CONFIG_PRINTK_INDEX is not set +CONFIG_GENERIC_SCHED_CLOCK=y + +# +# Scheduler features +# +# CONFIG_UCLAMP_TASK is not set +# end of Scheduler features + +CONFIG_CC_HAS_INT128=y +CONFIG_CC_IMPLICIT_FALLTHROUGH="-Wimplicit-fallthrough=5" +CONFIG_GCC10_NO_ARRAY_BOUNDS=y +CONFIG_CC_NO_ARRAY_BOUNDS=y +CONFIG_ARCH_SUPPORTS_INT128=y +CONFIG_CGROUPS=y +CONFIG_PAGE_COUNTER=y +# CONFIG_CGROUP_FAVOR_DYNMODS is not set +CONFIG_MEMCG=y +CONFIG_MEMCG_KMEM=y +CONFIG_BLK_CGROUP=y +CONFIG_CGROUP_WRITEBACK=y +CONFIG_CGROUP_SCHED=y +CONFIG_FAIR_GROUP_SCHED=y +CONFIG_CFS_BANDWIDTH=y +# CONFIG_RT_GROUP_SCHED is not set +CONFIG_SCHED_MM_CID=y +CONFIG_CGROUP_PIDS=y +CONFIG_CGROUP_RDMA=y +CONFIG_CGROUP_FREEZER=y +CONFIG_CGROUP_HUGETLB=y +CONFIG_CPUSETS=y +CONFIG_PROC_PID_CPUSET=y +CONFIG_CGROUP_DEVICE=y +CONFIG_CGROUP_CPUACCT=y +CONFIG_CGROUP_PERF=y +CONFIG_CGROUP_BPF=y +CONFIG_CGROUP_MISC=y +# CONFIG_CGROUP_DEBUG is not set +CONFIG_SOCK_CGROUP_DATA=y +CONFIG_NAMESPACES=y +CONFIG_UTS_NS=y +CONFIG_TIME_NS=y +CONFIG_IPC_NS=y +CONFIG_USER_NS=y +CONFIG_PID_NS=y +CONFIG_NET_NS=y +CONFIG_CHECKPOINT_RESTORE=y +CONFIG_SCHED_AUTOGROUP=y +CONFIG_RELAY=y +CONFIG_BLK_DEV_INITRD=y +CONFIG_INITRAMFS_SOURCE="" +CONFIG_RD_GZIP=y +# CONFIG_RD_BZIP2 is not set +# CONFIG_RD_LZMA is not set +# CONFIG_RD_XZ is not set +# CONFIG_RD_LZO is not set +# CONFIG_RD_LZ4 is not set +CONFIG_RD_ZSTD=y +CONFIG_BOOT_CONFIG=y +# CONFIG_BOOT_CONFIG_FORCE is not set +# CONFIG_BOOT_CONFIG_EMBED is not set +CONFIG_INITRAMFS_PRESERVE_MTIME=y +CONFIG_CC_OPTIMIZE_FOR_PERFORMANCE=y +# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set +CONFIG_HAVE_LD_DEAD_CODE_DATA_ELIMINATION=y +# CONFIG_LD_DEAD_CODE_DATA_ELIMINATION is not set +CONFIG_LD_ORPHAN_WARN=y +CONFIG_LD_ORPHAN_WARN_LEVEL="warn" +CONFIG_SYSCTL=y +CONFIG_SYSCTL_EXCEPTION_TRACE=y +CONFIG_SYSCTL_ARCH_UNALIGN_ALLOW=y +CONFIG_EXPERT=y +CONFIG_MULTIUSER=y +# CONFIG_SGETMASK_SYSCALL is not set +CONFIG_SYSFS_SYSCALL=y +CONFIG_FHANDLE=y +CONFIG_POSIX_TIMERS=y +CONFIG_PRINTK=y +CONFIG_BUG=y +CONFIG_ELF_CORE=y +CONFIG_BASE_FULL=y +CONFIG_FUTEX=y +CONFIG_FUTEX_PI=y +CONFIG_EPOLL=y +CONFIG_SIGNALFD=y +CONFIG_TIMERFD=y +CONFIG_EVENTFD=y +CONFIG_SHMEM=y +CONFIG_AIO=y +CONFIG_IO_URING=y +CONFIG_ADVISE_SYSCALLS=y +CONFIG_MEMBARRIER=y +CONFIG_KALLSYMS=y +# CONFIG_KALLSYMS_SELFTEST is not set +CONFIG_KALLSYMS_ALL=y +CONFIG_KALLSYMS_BASE_RELATIVE=y +CONFIG_ARCH_HAS_MEMBARRIER_CALLBACKS=y +CONFIG_KCMP=y +CONFIG_RSEQ=y +CONFIG_CACHESTAT_SYSCALL=y +# CONFIG_DEBUG_RSEQ is not set +CONFIG_HAVE_PERF_EVENTS=y +# CONFIG_PC104 is not set + +# +# Kernel Performance Events And Counters +# +CONFIG_PERF_EVENTS=y +# CONFIG_DEBUG_PERF_USE_VMALLOC is not set +# end of Kernel Performance Events And Counters + +CONFIG_SYSTEM_DATA_VERIFICATION=y +CONFIG_PROFILING=y +CONFIG_TRACEPOINTS=y + +# +# Kexec and crash features +# +CONFIG_CRASH_CORE=y +# CONFIG_KEXEC is not set +# CONFIG_KEXEC_FILE is not set +# CONFIG_CRASH_DUMP is not set +# end of Kexec and crash features +# end of General setup + +CONFIG_64BIT=y +CONFIG_RISCV=y +CONFIG_GCC_SUPPORTS_DYNAMIC_FTRACE=y +CONFIG_ARCH_MMAP_RND_BITS_MIN=18 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MIN=8 +CONFIG_ARCH_MMAP_RND_BITS_MAX=24 +CONFIG_ARCH_MMAP_RND_COMPAT_BITS_MAX=17 +CONFIG_RISCV_SBI=y +CONFIG_MMU=y +CONFIG_PAGE_OFFSET=0xff60000000000000 +CONFIG_ARCH_FORCE_MAX_ORDER=11 +CONFIG_ARCH_FLATMEM_ENABLE=y +CONFIG_ARCH_SPARSEMEM_ENABLE=y +CONFIG_ARCH_SELECT_MEMORY_MODEL=y +CONFIG_ARCH_SUPPORTS_UPROBES=y +CONFIG_STACKTRACE_SUPPORT=y +CONFIG_GENERIC_BUG=y +CONFIG_GENERIC_BUG_RELATIVE_POINTERS=y +CONFIG_GENERIC_CALIBRATE_DELAY=y +CONFIG_GENERIC_CSUM=y +CONFIG_GENERIC_HWEIGHT=y +CONFIG_FIX_EARLYCON_MEM=y +CONFIG_ILLEGAL_POINTER_VALUE=0xdead000000000000 +CONFIG_PGTABLE_LEVELS=5 +CONFIG_LOCKDEP_SUPPORT=y +CONFIG_RISCV_DMA_NONCOHERENT=y +CONFIG_AS_HAS_INSN=y +CONFIG_AS_HAS_OPTION_ARCH=y + +# +# SoC selection +# +# CONFIG_SOC_MICROCHIP_POLARFIRE is not set +# CONFIG_ARCH_RENESAS is not set +# CONFIG_SOC_SIFIVE is not set +# CONFIG_SOC_STARFIVE is not set +# CONFIG_ARCH_SUNXI is not set +# CONFIG_ARCH_THEAD is not set +# CONFIG_SOC_VIRT is not set +CONFIG_SOC_KY=y +CONFIG_SOC_KY_X1=y +CONFIG_BIND_THREAD_TO_AICORES=y +CONFIG_KY_ERRATA_LOAD_ATOMIC=y +# end of SoC selection + +# +# CPU errata selection +# +# CONFIG_ERRATA_ANDES is not set +# CONFIG_ERRATA_SIFIVE is not set +# CONFIG_ERRATA_THEAD is not set +# end of CPU errata selection + +# +# Platform type +# +# CONFIG_NONPORTABLE is not set +CONFIG_ARCH_RV64I=y +# CONFIG_CMODEL_MEDLOW is not set +CONFIG_CMODEL_MEDANY=y +CONFIG_MODULE_SECTIONS=y +CONFIG_SMP=y +# CONFIG_SCHED_MC is not set +CONFIG_NR_CPUS=8 +CONFIG_HOTPLUG_CPU=y +CONFIG_TUNE_GENERIC=y +# CONFIG_NUMA is not set +CONFIG_RISCV_ALTERNATIVE=y +CONFIG_RISCV_ISA_C=y +CONFIG_RISCV_ISA_SVNAPOT=y +CONFIG_RISCV_ISA_SVPBMT=y +CONFIG_TOOLCHAIN_HAS_V=y +CONFIG_RISCV_ISA_V=y +CONFIG_RISCV_ISA_V_DEFAULT_ENABLE=y +CONFIG_RISCV_ISA_V_UCOPY_THRESHOLD=768 +CONFIG_RISCV_ISA_V_PREEMPTIVE=y +CONFIG_RISCV_ISA_ZAWRS=y +CONFIG_TOOLCHAIN_HAS_ZBB=y +CONFIG_RISCV_ISA_ZBA=y +CONFIG_RISCV_ISA_ZBB=y +CONFIG_RISCV_ISA_ZBC=y +CONFIG_RISCV_ISA_ZBS=y +CONFIG_RISCV_ISA_ZICBOM=y +CONFIG_RISCV_ISA_ZICBOZ=y +CONFIG_RISCV_ISA_ZICOND=y +CONFIG_TOOLCHAIN_HAS_ZIHINTPAUSE=y +CONFIG_TOOLCHAIN_NEEDS_EXPLICIT_ZICSR_ZIFENCEI=y +CONFIG_FPU=y +CONFIG_IRQ_STACKS=y +CONFIG_THREAD_SIZE_ORDER=2 +CONFIG_RISCV_MISALIGNED=y +CONFIG_RISCV_PROBE_UNALIGNED_ACCESS=y +# CONFIG_RISCV_EMULATED_UNALIGNED_ACCESS is not set +# end of Platform type + +# +# Kernel features +# +# CONFIG_HZ_100 is not set +CONFIG_HZ_250=y +# CONFIG_HZ_300 is not set +# CONFIG_HZ_1000 is not set +CONFIG_HZ=250 +CONFIG_SCHED_HRTICK=y +CONFIG_RISCV_SBI_V01=y +# CONFIG_RISCV_BOOT_SPINWAIT is not set +CONFIG_ARCH_SUPPORTS_KEXEC=y +CONFIG_ARCH_SUPPORTS_KEXEC_FILE=y +CONFIG_ARCH_SUPPORTS_KEXEC_PURGATORY=y +CONFIG_ARCH_SUPPORTS_CRASH_DUMP=y +CONFIG_COMPAT=y +# CONFIG_RELOCATABLE is not set +# CONFIG_RANDOMIZE_BASE is not set +# end of Kernel features + +# +# Boot options +# +CONFIG_CMDLINE="" +CONFIG_EFI_STUB=y +CONFIG_EFI=y +CONFIG_CC_HAVE_STACKPROTECTOR_TLS=y +CONFIG_STACKPROTECTOR_PER_TASK=y +CONFIG_RISCV_ISA_FALLBACK=y +# end of Boot options + +CONFIG_PORTABLE=y +CONFIG_ARCH_SUSPEND_POSSIBLE=y +CONFIG_IMAGE_LOAD_OFFSET=0x200000 + +# +# Power management options +# +CONFIG_SUSPEND=y +CONFIG_SUSPEND_FREEZER=y +CONFIG_SUSPEND_SKIP_SYNC=y +# CONFIG_HIBERNATION is not set +CONFIG_PM_SLEEP=y +CONFIG_PM_SLEEP_SMP=y +# CONFIG_PM_AUTOSLEEP is not set +# CONFIG_PM_USERSPACE_AUTOSLEEP is not set +# CONFIG_PM_WAKELOCKS is not set +CONFIG_PM=y +# CONFIG_PM_DEBUG is not set +CONFIG_PM_CLK=y +CONFIG_PM_GENERIC_DOMAINS=y +# CONFIG_WQ_POWER_EFFICIENT_DEFAULT is not set +CONFIG_PM_GENERIC_DOMAINS_SLEEP=y +CONFIG_PM_GENERIC_DOMAINS_OF=y +CONFIG_CPU_PM=y +# CONFIG_ENERGY_MODEL is not set +CONFIG_ARCH_HIBERNATION_POSSIBLE=y +# end of Power management options + +# +# CPU Power Management +# + +# +# CPU Idle +# +CONFIG_CPU_IDLE=y +# CONFIG_CPU_IDLE_GOV_LADDER is not set +CONFIG_CPU_IDLE_GOV_MENU=y +# CONFIG_CPU_IDLE_GOV_TEO is not set + +# +# RISC-V CPU Idle Drivers +# +# CONFIG_RISCV_SBI_CPUIDLE is not set +# end of RISC-V CPU Idle Drivers +# end of CPU Idle + +# +# CPU Frequency scaling +# +CONFIG_CPU_FREQ=y +CONFIG_CPU_FREQ_GOV_ATTR_SET=y +CONFIG_CPU_FREQ_GOV_COMMON=y +# CONFIG_CPU_FREQ_STAT is not set +CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE=y +# CONFIG_CPU_FREQ_DEFAULT_GOV_POWERSAVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_USERSPACE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_CONSERVATIVE is not set +# CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL is not set +CONFIG_CPU_FREQ_GOV_PERFORMANCE=y +CONFIG_CPU_FREQ_GOV_POWERSAVE=y +CONFIG_CPU_FREQ_GOV_USERSPACE=y +CONFIG_CPU_FREQ_GOV_ONDEMAND=y +CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y +CONFIG_CPU_FREQ_GOV_SCHEDUTIL=y + +# +# CPU frequency scaling drivers +# +CONFIG_CPUFREQ_DT=y +CONFIG_CPUFREQ_DT_PLATDEV=y +# CONFIG_ARM_APPLE_SOC_CPUFREQ is not set +# CONFIG_ARM_BRCMSTB_AVS_CPUFREQ is not set +# CONFIG_ARM_MEDIATEK_CPUFREQ_HW is not set +# CONFIG_ARM_QCOM_CPUFREQ_HW is not set +# CONFIG_ARM_RASPBERRYPI_CPUFREQ is not set +# CONFIG_ARM_SCMI_CPUFREQ is not set +# CONFIG_QORIQ_CPUFREQ is not set +CONFIG_KY_X1_CPUFREQ=y +# end of CPU Frequency scaling +# end of CPU Power Management + +# CONFIG_VIRTUALIZATION is not set +CONFIG_ARCH_SUPPORTS_ACPI=y +# CONFIG_ACPI is not set +CONFIG_CPU_MITIGATIONS=y + +# +# General architecture-dependent options +# +CONFIG_HOTPLUG_CORE_SYNC=y +CONFIG_HOTPLUG_CORE_SYNC_DEAD=y +CONFIG_GENERIC_ENTRY=y +# CONFIG_KPROBES is not set +CONFIG_JUMP_LABEL=y +# CONFIG_STATIC_KEYS_SELFTEST is not set +CONFIG_UPROBES=y +CONFIG_HAVE_64BIT_ALIGNED_ACCESS=y +CONFIG_HAVE_KPROBES=y +CONFIG_HAVE_KRETPROBES=y +CONFIG_HAVE_KPROBES_ON_FTRACE=y +CONFIG_HAVE_FUNCTION_ERROR_INJECTION=y +CONFIG_TRACE_IRQFLAGS_SUPPORT=y +CONFIG_HAVE_ARCH_TRACEHOOK=y +CONFIG_HAVE_DMA_CONTIGUOUS=y +CONFIG_GENERIC_SMP_IDLE_THREAD=y +CONFIG_GENERIC_IDLE_POLL_SETUP=y +CONFIG_ARCH_HAS_FORTIFY_SOURCE=y +CONFIG_ARCH_HAS_SET_MEMORY=y +CONFIG_ARCH_HAS_SET_DIRECT_MAP=y +CONFIG_HAVE_ARCH_THREAD_STRUCT_WHITELIST=y +CONFIG_HAVE_ASM_MODVERSIONS=y +CONFIG_HAVE_REGS_AND_STACK_ACCESS_API=y +CONFIG_HAVE_RSEQ=y +CONFIG_HAVE_FUNCTION_ARG_ACCESS_API=y +CONFIG_HAVE_PERF_REGS=y +CONFIG_HAVE_PERF_USER_STACK_DUMP=y +CONFIG_HAVE_ARCH_JUMP_LABEL=y +CONFIG_HAVE_ARCH_JUMP_LABEL_RELATIVE=y +CONFIG_MMU_LAZY_TLB_REFCOUNT=y +CONFIG_HAVE_ARCH_SECCOMP=y +CONFIG_HAVE_ARCH_SECCOMP_FILTER=y +CONFIG_SECCOMP=y +CONFIG_SECCOMP_FILTER=y +# CONFIG_SECCOMP_CACHE_DEBUG is not set +CONFIG_HAVE_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR=y +CONFIG_STACKPROTECTOR_STRONG=y +CONFIG_LTO_NONE=y +CONFIG_ARCH_SUPPORTS_CFI_CLANG=y +CONFIG_HAVE_CONTEXT_TRACKING_USER=y +CONFIG_HAVE_VIRT_CPU_ACCOUNTING_GEN=y +CONFIG_HAVE_IRQ_TIME_ACCOUNTING=y +CONFIG_HAVE_MOVE_PUD=y +CONFIG_HAVE_MOVE_PMD=y +CONFIG_HAVE_ARCH_TRANSPARENT_HUGEPAGE=y +CONFIG_HAVE_ARCH_HUGE_VMAP=y +CONFIG_HAVE_ARCH_HUGE_VMALLOC=y +CONFIG_ARCH_WANT_HUGE_PMD_SHARE=y +CONFIG_ARCH_WANT_PMD_MKWRITE=y +CONFIG_HAVE_MOD_ARCH_SPECIFIC=y +CONFIG_MODULES_USE_ELF_RELA=y +CONFIG_HAVE_IRQ_EXIT_ON_IRQ_STACK=y +CONFIG_HAVE_SOFTIRQ_ON_OWN_STACK=y +CONFIG_SOFTIRQ_ON_OWN_STACK=y +CONFIG_ARCH_HAS_ELF_RANDOMIZE=y +CONFIG_HAVE_ARCH_MMAP_RND_BITS=y +CONFIG_ARCH_MMAP_RND_BITS=18 +CONFIG_HAVE_ARCH_MMAP_RND_COMPAT_BITS=y +CONFIG_ARCH_MMAP_RND_COMPAT_BITS=8 +CONFIG_PAGE_SIZE_LESS_THAN_64KB=y +CONFIG_PAGE_SIZE_LESS_THAN_256KB=y +CONFIG_ARCH_WANT_DEFAULT_TOPDOWN_MMAP_LAYOUT=y +CONFIG_CLONE_BACKWARDS=y +CONFIG_COMPAT_32BIT_TIME=y +CONFIG_HAVE_ARCH_VMAP_STACK=y +CONFIG_VMAP_STACK=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX=y +CONFIG_ARCH_OPTIONAL_KERNEL_RWX_DEFAULT=y +CONFIG_ARCH_HAS_STRICT_KERNEL_RWX=y +CONFIG_STRICT_KERNEL_RWX=y +CONFIG_ARCH_HAS_STRICT_MODULE_RWX=y +CONFIG_STRICT_MODULE_RWX=y +CONFIG_ARCH_USE_MEMREMAP_PROT=y +# CONFIG_LOCK_EVENT_COUNTS is not set +CONFIG_ARCH_HAS_VDSO_DATA=y +CONFIG_HAVE_PREEMPT_DYNAMIC=y +CONFIG_HAVE_PREEMPT_DYNAMIC_KEY=y +CONFIG_ARCH_WANT_LD_ORPHAN_WARN=y +CONFIG_ARCH_SUPPORTS_DEBUG_PAGEALLOC=y +CONFIG_ARCH_SUPPORTS_PAGE_TABLE_CHECK=y +CONFIG_DYNAMIC_SIGFRAME=y + +# +# GCOV-based kernel profiling +# +# CONFIG_GCOV_KERNEL is not set +CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y +# end of GCOV-based kernel profiling + +CONFIG_FUNCTION_ALIGNMENT=0 +# end of General architecture-dependent options + +CONFIG_RT_MUTEXES=y +CONFIG_BASE_SMALL=0 +CONFIG_MODULE_SIG_FORMAT=y +CONFIG_MODULES=y +# CONFIG_MODULE_DEBUG is not set +# CONFIG_MODULE_FORCE_LOAD is not set +CONFIG_MODULE_UNLOAD=y +# CONFIG_MODULE_FORCE_UNLOAD is not set +# CONFIG_MODULE_UNLOAD_TAINT_TRACKING is not set +# CONFIG_MODVERSIONS is not set +# CONFIG_MODULE_SRCVERSION_ALL is not set +# CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_SIG_ALL is not set +CONFIG_MODULE_SIG_SHA1=y +# CONFIG_MODULE_SIG_SHA224 is not set +# CONFIG_MODULE_SIG_SHA256 is not set +# CONFIG_MODULE_SIG_SHA384 is not set +# CONFIG_MODULE_SIG_SHA512 is not set +CONFIG_MODULE_SIG_HASH="sha1" +CONFIG_MODULE_COMPRESS_NONE=y +# CONFIG_MODULE_COMPRESS_GZIP is not set +# CONFIG_MODULE_COMPRESS_XZ is not set +# CONFIG_MODULE_COMPRESS_ZSTD is not set +# CONFIG_MODULE_ALLOW_MISSING_NAMESPACE_IMPORTS is not set +CONFIG_MODPROBE_PATH="/sbin/modprobe" +CONFIG_MODULES_TREE_LOOKUP=y +CONFIG_BLOCK=y +CONFIG_BLOCK_LEGACY_AUTOLOAD=y +CONFIG_BLK_CGROUP_RWSTAT=y +CONFIG_BLK_CGROUP_PUNT_BIO=y +CONFIG_BLK_ICQ=y +# CONFIG_BLK_DEV_BSGLIB is not set +CONFIG_BLK_DEV_INTEGRITY=y +CONFIG_BLK_DEV_INTEGRITY_T10=y +# CONFIG_BLK_DEV_ZONED is not set +CONFIG_BLK_DEV_THROTTLING=y +# CONFIG_BLK_DEV_THROTTLING_LOW is not set +# CONFIG_BLK_WBT is not set +# CONFIG_BLK_CGROUP_IOLATENCY is not set +# CONFIG_BLK_CGROUP_IOCOST is not set +# CONFIG_BLK_CGROUP_IOPRIO is not set +CONFIG_BLK_DEBUG_FS=y +# CONFIG_BLK_SED_OPAL is not set +# CONFIG_BLK_INLINE_ENCRYPTION is not set + +# +# Partition Types +# +# CONFIG_PARTITION_ADVANCED is not set +CONFIG_MSDOS_PARTITION=y +CONFIG_EFI_PARTITION=y +# end of Partition Types + +CONFIG_BLK_MQ_PCI=y +CONFIG_BLK_MQ_VIRTIO=y +CONFIG_BLK_PM=y +CONFIG_BLOCK_HOLDER_DEPRECATED=y +CONFIG_BLK_MQ_STACKING=y + +# +# IO Schedulers +# +CONFIG_MQ_IOSCHED_DEADLINE=y +CONFIG_MQ_IOSCHED_KYBER=y +CONFIG_IOSCHED_BFQ=y +CONFIG_BFQ_GROUP_IOSCHED=y +# CONFIG_BFQ_CGROUP_DEBUG is not set +# end of IO Schedulers + +CONFIG_PADATA=y +CONFIG_ASN1=y +CONFIG_UNINLINE_SPIN_UNLOCK=y +CONFIG_ARCH_SUPPORTS_ATOMIC_RMW=y +CONFIG_MUTEX_SPIN_ON_OWNER=y +CONFIG_RWSEM_SPIN_ON_OWNER=y +CONFIG_LOCK_SPIN_ON_OWNER=y +CONFIG_ARCH_USE_QUEUED_RWLOCKS=y +CONFIG_QUEUED_RWLOCKS=y +CONFIG_ARCH_HAS_MMIOWB=y +CONFIG_MMIOWB=y +CONFIG_ARCH_HAS_NON_OVERLAPPING_ADDRESS_SPACE=y +CONFIG_ARCH_HAS_SYSCALL_WRAPPER=y +CONFIG_FREEZER=y + +# +# Executable file formats +# +CONFIG_BINFMT_ELF=y +CONFIG_COMPAT_BINFMT_ELF=y +CONFIG_ELFCORE=y +CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS=y +CONFIG_BINFMT_SCRIPT=y +CONFIG_ARCH_HAS_BINFMT_FLAT=y +# CONFIG_BINFMT_FLAT is not set +CONFIG_BINFMT_MISC=m +CONFIG_COREDUMP=y +# end of Executable file formats + +# +# Memory Management options +# +CONFIG_SWAP=y +# CONFIG_ZSWAP is not set + +# +# SLAB allocator options +# +# CONFIG_SLAB_DEPRECATED is not set +CONFIG_SLUB=y +# CONFIG_SLUB_TINY is not set +CONFIG_SLAB_MERGE_DEFAULT=y +# CONFIG_SLAB_FREELIST_RANDOM is not set +# CONFIG_SLAB_FREELIST_HARDENED is not set +# CONFIG_SLUB_STATS is not set +CONFIG_SLUB_CPU_PARTIAL=y +# CONFIG_RANDOM_KMALLOC_CACHES is not set +# end of SLAB allocator options + +# CONFIG_SHUFFLE_PAGE_ALLOCATOR is not set +CONFIG_COMPAT_BRK=y +CONFIG_SELECT_MEMORY_MODEL=y +CONFIG_FLATMEM_MANUAL=y +# CONFIG_SPARSEMEM_MANUAL is not set +CONFIG_FLATMEM=y +CONFIG_SPARSEMEM_VMEMMAP_ENABLE=y +CONFIG_ARCH_WANT_OPTIMIZE_HUGETLB_VMEMMAP=y +CONFIG_MEMORY_ISOLATION=y +CONFIG_EXCLUSIVE_SYSTEM_RAM=y +CONFIG_SPLIT_PTLOCK_CPUS=4 +CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_COMPACTION=y +CONFIG_COMPACT_UNEVICTABLE_DEFAULT=1 +CONFIG_PAGE_REPORTING=y +CONFIG_MIGRATION=y +CONFIG_ARCH_ENABLE_HUGEPAGE_MIGRATION=y +CONFIG_ARCH_ENABLE_THP_MIGRATION=y +CONFIG_CONTIG_ALLOC=y +CONFIG_PCP_BATCH_SCALE_MAX=5 +CONFIG_PHYS_ADDR_T_64BIT=y +CONFIG_MMU_NOTIFIER=y +# CONFIG_KSM is not set +CONFIG_DEFAULT_MMAP_MIN_ADDR=4096 +CONFIG_ARCH_WANTS_THP_SWAP=y +CONFIG_TRANSPARENT_HUGEPAGE=y +# CONFIG_TRANSPARENT_HUGEPAGE_ALWAYS is not set +CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y +CONFIG_THP_SWAP=y +# CONFIG_READ_ONLY_THP_FOR_FS is not set +CONFIG_CMA=y +# CONFIG_CMA_DEBUG is not set +CONFIG_CMA_DEBUGFS=y +CONFIG_CMA_SYSFS=y +CONFIG_CMA_AREAS=7 +CONFIG_GENERIC_EARLY_IOREMAP=y +CONFIG_PAGE_IDLE_FLAG=y +CONFIG_IDLE_PAGE_TRACKING=y +CONFIG_ARCH_HAS_CURRENT_STACK_POINTER=y +CONFIG_ZONE_DMA32=y +CONFIG_VM_EVENT_COUNTERS=y +# CONFIG_PERCPU_STATS is not set +# CONFIG_GUP_TEST is not set +# CONFIG_DMAPOOL_TEST is not set +CONFIG_ARCH_HAS_PTE_SPECIAL=y +CONFIG_MEMFD_CREATE=y +CONFIG_SECRETMEM=y +CONFIG_ANON_VMA_NAME=y +CONFIG_USERFAULTFD=y +CONFIG_HAVE_ARCH_USERFAULTFD_MINOR=y +CONFIG_LRU_GEN=y +CONFIG_LRU_GEN_ENABLED=y +# CONFIG_LRU_GEN_STATS is not set +CONFIG_ARCH_SUPPORTS_PER_VMA_LOCK=y +CONFIG_PER_VMA_LOCK=y +CONFIG_LOCK_MM_AND_FIND_VMA=y + +# +# Data Access Monitoring +# +# CONFIG_DAMON is not set +# end of Data Access Monitoring +# end of Memory Management options + +CONFIG_NET=y +CONFIG_NET_INGRESS=y +CONFIG_NET_EGRESS=y +CONFIG_NET_XGRESS=y +CONFIG_NET_REDIRECT=y +CONFIG_SKB_EXTENSIONS=y + +# +# Networking options +# +CONFIG_PACKET=y +CONFIG_PACKET_DIAG=m +CONFIG_UNIX=y +CONFIG_UNIX_SCM=y +CONFIG_AF_UNIX_OOB=y +CONFIG_UNIX_DIAG=m +CONFIG_TLS=m +CONFIG_TLS_DEVICE=y +# CONFIG_TLS_TOE is not set +CONFIG_XFRM=y +CONFIG_XFRM_OFFLOAD=y +CONFIG_XFRM_ALGO=m +CONFIG_XFRM_USER=m +CONFIG_XFRM_INTERFACE=m +# CONFIG_XFRM_SUB_POLICY is not set +# CONFIG_XFRM_MIGRATE is not set +CONFIG_XFRM_STATISTICS=y +CONFIG_XFRM_AH=m +CONFIG_XFRM_ESP=m +CONFIG_XFRM_IPCOMP=m +CONFIG_NET_KEY=m +# CONFIG_NET_KEY_MIGRATE is not set +CONFIG_XFRM_ESPINTCP=y +CONFIG_XDP_SOCKETS=y +CONFIG_XDP_SOCKETS_DIAG=m +CONFIG_NET_HANDSHAKE=y +CONFIG_INET=y +CONFIG_IP_MULTICAST=y +CONFIG_IP_ADVANCED_ROUTER=y +CONFIG_IP_FIB_TRIE_STATS=y +CONFIG_IP_MULTIPLE_TABLES=y +CONFIG_IP_ROUTE_MULTIPATH=y +CONFIG_IP_ROUTE_VERBOSE=y +CONFIG_IP_ROUTE_CLASSID=y +CONFIG_IP_PNP=y +CONFIG_IP_PNP_DHCP=y +CONFIG_IP_PNP_BOOTP=y +CONFIG_IP_PNP_RARP=y +CONFIG_NET_IPIP=m +CONFIG_NET_IPGRE_DEMUX=m +CONFIG_NET_IP_TUNNEL=m +CONFIG_NET_IPGRE=m +CONFIG_NET_IPGRE_BROADCAST=y +CONFIG_IP_MROUTE_COMMON=y +CONFIG_IP_MROUTE=y +CONFIG_IP_MROUTE_MULTIPLE_TABLES=y +CONFIG_IP_PIMSM_V1=y +CONFIG_IP_PIMSM_V2=y +CONFIG_SYN_COOKIES=y +CONFIG_NET_IPVTI=m +CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_NET_FOU_IP_TUNNELS=y +CONFIG_INET_AH=m +CONFIG_INET_ESP=m +CONFIG_INET_ESP_OFFLOAD=m +CONFIG_INET_ESPINTCP=y +CONFIG_INET_IPCOMP=m +CONFIG_INET_TABLE_PERTURB_ORDER=16 +CONFIG_INET_XFRM_TUNNEL=m +CONFIG_INET_TUNNEL=m +CONFIG_INET_DIAG=m +CONFIG_INET_TCP_DIAG=m +CONFIG_INET_UDP_DIAG=m +CONFIG_INET_RAW_DIAG=m +CONFIG_INET_DIAG_DESTROY=y +CONFIG_TCP_CONG_ADVANCED=y +CONFIG_TCP_CONG_BIC=m +CONFIG_TCP_CONG_CUBIC=y +CONFIG_TCP_CONG_WESTWOOD=m +CONFIG_TCP_CONG_HTCP=m +# CONFIG_TCP_CONG_HSTCP is not set +# CONFIG_TCP_CONG_HYBLA is not set +# CONFIG_TCP_CONG_VEGAS is not set +# CONFIG_TCP_CONG_NV is not set +# CONFIG_TCP_CONG_SCALABLE is not set +# CONFIG_TCP_CONG_LP is not set +# CONFIG_TCP_CONG_VENO is not set +# CONFIG_TCP_CONG_YEAH is not set +# CONFIG_TCP_CONG_ILLINOIS is not set +# CONFIG_TCP_CONG_DCTCP is not set +# CONFIG_TCP_CONG_CDG is not set +# CONFIG_TCP_CONG_BBR is not set +CONFIG_DEFAULT_CUBIC=y +# CONFIG_DEFAULT_RENO is not set +CONFIG_DEFAULT_TCP_CONG="cubic" +CONFIG_TCP_MD5SIG=y +CONFIG_IPV6=y +CONFIG_IPV6_ROUTER_PREF=y +CONFIG_IPV6_ROUTE_INFO=y +# CONFIG_IPV6_OPTIMISTIC_DAD is not set +CONFIG_INET6_AH=m +CONFIG_INET6_ESP=m +CONFIG_INET6_ESP_OFFLOAD=m +CONFIG_INET6_ESPINTCP=y +CONFIG_INET6_IPCOMP=m +CONFIG_IPV6_MIP6=m +CONFIG_IPV6_ILA=m +CONFIG_INET6_XFRM_TUNNEL=m +CONFIG_INET6_TUNNEL=m +CONFIG_IPV6_VTI=m +CONFIG_IPV6_SIT=m +CONFIG_IPV6_SIT_6RD=y +CONFIG_IPV6_NDISC_NODETYPE=y +CONFIG_IPV6_TUNNEL=m +CONFIG_IPV6_GRE=m +CONFIG_IPV6_FOU=m +CONFIG_IPV6_FOU_TUNNEL=m +CONFIG_IPV6_MULTIPLE_TABLES=y +CONFIG_IPV6_SUBTREES=y +CONFIG_IPV6_MROUTE=y +CONFIG_IPV6_MROUTE_MULTIPLE_TABLES=y +CONFIG_IPV6_PIMSM_V2=y +CONFIG_IPV6_SEG6_LWTUNNEL=y +CONFIG_IPV6_SEG6_HMAC=y +CONFIG_IPV6_SEG6_BPF=y +# CONFIG_IPV6_RPL_LWTUNNEL is not set +CONFIG_IPV6_IOAM6_LWTUNNEL=y +# CONFIG_NETLABEL is not set +CONFIG_MPTCP=y +CONFIG_INET_MPTCP_DIAG=m +CONFIG_MPTCP_IPV6=y +CONFIG_NETWORK_SECMARK=y +CONFIG_NET_PTP_CLASSIFY=y +CONFIG_NETWORK_PHY_TIMESTAMPING=y +CONFIG_NETFILTER=y +CONFIG_NETFILTER_ADVANCED=y +CONFIG_BRIDGE_NETFILTER=m + +# +# Core Netfilter Configuration +# +# CONFIG_NETFILTER_INGRESS is not set +CONFIG_NETFILTER_EGRESS=y +CONFIG_NETFILTER_SKIP_EGRESS=y +CONFIG_NETFILTER_NETLINK=y +CONFIG_NETFILTER_FAMILY_BRIDGE=y +CONFIG_NETFILTER_FAMILY_ARP=y +CONFIG_NETFILTER_BPF_LINK=y +CONFIG_NETFILTER_NETLINK_HOOK=m +CONFIG_NETFILTER_NETLINK_ACCT=m +CONFIG_NETFILTER_NETLINK_QUEUE=m +CONFIG_NETFILTER_NETLINK_LOG=m +CONFIG_NETFILTER_NETLINK_OSF=m +CONFIG_NF_CONNTRACK=m +CONFIG_NF_LOG_SYSLOG=m +CONFIG_NETFILTER_CONNCOUNT=m +CONFIG_NF_CONNTRACK_MARK=y +CONFIG_NF_CONNTRACK_SECMARK=y +CONFIG_NF_CONNTRACK_ZONES=y +# CONFIG_NF_CONNTRACK_PROCFS is not set +CONFIG_NF_CONNTRACK_EVENTS=y +CONFIG_NF_CONNTRACK_TIMEOUT=y +CONFIG_NF_CONNTRACK_TIMESTAMP=y +CONFIG_NF_CONNTRACK_LABELS=y +CONFIG_NF_CT_PROTO_DCCP=y +CONFIG_NF_CT_PROTO_GRE=y +CONFIG_NF_CT_PROTO_SCTP=y +CONFIG_NF_CT_PROTO_UDPLITE=y +CONFIG_NF_CONNTRACK_AMANDA=m +CONFIG_NF_CONNTRACK_FTP=m +CONFIG_NF_CONNTRACK_H323=m +CONFIG_NF_CONNTRACK_IRC=m +CONFIG_NF_CONNTRACK_BROADCAST=m +CONFIG_NF_CONNTRACK_NETBIOS_NS=m +CONFIG_NF_CONNTRACK_SNMP=m +CONFIG_NF_CONNTRACK_PPTP=m +CONFIG_NF_CONNTRACK_SANE=m +CONFIG_NF_CONNTRACK_SIP=m +CONFIG_NF_CONNTRACK_TFTP=m +CONFIG_NF_CT_NETLINK=m +CONFIG_NF_CT_NETLINK_TIMEOUT=m +CONFIG_NF_CT_NETLINK_HELPER=m +CONFIG_NETFILTER_NETLINK_GLUE_CT=y +CONFIG_NF_NAT=m +CONFIG_NF_NAT_AMANDA=m +CONFIG_NF_NAT_FTP=m +CONFIG_NF_NAT_IRC=m +CONFIG_NF_NAT_SIP=m +CONFIG_NF_NAT_TFTP=m +CONFIG_NF_NAT_REDIRECT=y +CONFIG_NF_NAT_MASQUERADE=y +CONFIG_NETFILTER_SYNPROXY=m +CONFIG_NF_TABLES=m +CONFIG_NF_TABLES_INET=y +CONFIG_NF_TABLES_NETDEV=y +CONFIG_NFT_NUMGEN=m +CONFIG_NFT_CT=m +CONFIG_NFT_CONNLIMIT=m +CONFIG_NFT_LOG=m +CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m +CONFIG_NFT_REDIR=m +CONFIG_NFT_NAT=m +CONFIG_NFT_TUNNEL=m +CONFIG_NFT_QUEUE=m +CONFIG_NFT_QUOTA=m +CONFIG_NFT_REJECT=m +CONFIG_NFT_REJECT_INET=m +CONFIG_NFT_COMPAT=m +CONFIG_NFT_HASH=m +CONFIG_NFT_FIB=m +# CONFIG_NFT_FIB_INET is not set +CONFIG_NFT_XFRM=m +CONFIG_NFT_SOCKET=m +CONFIG_NFT_OSF=m +CONFIG_NFT_TPROXY=m +CONFIG_NFT_SYNPROXY=m +CONFIG_NF_DUP_NETDEV=m +CONFIG_NFT_DUP_NETDEV=m +CONFIG_NFT_FWD_NETDEV=m +# CONFIG_NFT_FIB_NETDEV is not set +CONFIG_NFT_REJECT_NETDEV=m +CONFIG_NETFILTER_XTABLES=y +# CONFIG_NETFILTER_XTABLES_COMPAT is not set + +# +# Xtables combined modules +# +CONFIG_NETFILTER_XT_MARK=y +CONFIG_NETFILTER_XT_CONNMARK=m +CONFIG_NETFILTER_XT_SET=y + +# +# Xtables targets +# +CONFIG_NETFILTER_XT_TARGET_AUDIT=m +CONFIG_NETFILTER_XT_TARGET_CHECKSUM=m +CONFIG_NETFILTER_XT_TARGET_CLASSIFY=m +CONFIG_NETFILTER_XT_TARGET_CONNMARK=m +CONFIG_NETFILTER_XT_TARGET_CONNSECMARK=m +# CONFIG_NETFILTER_XT_TARGET_CT is not set +CONFIG_NETFILTER_XT_TARGET_DSCP=m +CONFIG_NETFILTER_XT_TARGET_HL=m +CONFIG_NETFILTER_XT_TARGET_HMARK=m +CONFIG_NETFILTER_XT_TARGET_IDLETIMER=y +CONFIG_NETFILTER_XT_TARGET_LED=m +CONFIG_NETFILTER_XT_TARGET_LOG=m +CONFIG_NETFILTER_XT_TARGET_MARK=m +CONFIG_NETFILTER_XT_NAT=m +CONFIG_NETFILTER_XT_TARGET_NETMAP=m +CONFIG_NETFILTER_XT_TARGET_NFLOG=m +CONFIG_NETFILTER_XT_TARGET_NFQUEUE=m +# CONFIG_NETFILTER_XT_TARGET_NOTRACK is not set +CONFIG_NETFILTER_XT_TARGET_RATEEST=y +CONFIG_NETFILTER_XT_TARGET_REDIRECT=m +CONFIG_NETFILTER_XT_TARGET_MASQUERADE=m +CONFIG_NETFILTER_XT_TARGET_TEE=m +CONFIG_NETFILTER_XT_TARGET_TPROXY=m +# CONFIG_NETFILTER_XT_TARGET_TRACE is not set +CONFIG_NETFILTER_XT_TARGET_SECMARK=m +CONFIG_NETFILTER_XT_TARGET_TCPMSS=m +CONFIG_NETFILTER_XT_TARGET_TCPOPTSTRIP=m + +# +# Xtables matches +# +CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=m +CONFIG_NETFILTER_XT_MATCH_BPF=m +CONFIG_NETFILTER_XT_MATCH_CGROUP=m +CONFIG_NETFILTER_XT_MATCH_CLUSTER=m +CONFIG_NETFILTER_XT_MATCH_COMMENT=m +CONFIG_NETFILTER_XT_MATCH_CONNBYTES=m +CONFIG_NETFILTER_XT_MATCH_CONNLABEL=m +CONFIG_NETFILTER_XT_MATCH_CONNLIMIT=m +CONFIG_NETFILTER_XT_MATCH_CONNMARK=m +CONFIG_NETFILTER_XT_MATCH_CONNTRACK=m +CONFIG_NETFILTER_XT_MATCH_CPU=m +CONFIG_NETFILTER_XT_MATCH_DCCP=m +CONFIG_NETFILTER_XT_MATCH_DEVGROUP=m +CONFIG_NETFILTER_XT_MATCH_DSCP=m +CONFIG_NETFILTER_XT_MATCH_ECN=m +CONFIG_NETFILTER_XT_MATCH_ESP=m +CONFIG_NETFILTER_XT_MATCH_HASHLIMIT=m +CONFIG_NETFILTER_XT_MATCH_HELPER=m +CONFIG_NETFILTER_XT_MATCH_HL=y +CONFIG_NETFILTER_XT_MATCH_IPCOMP=y +CONFIG_NETFILTER_XT_MATCH_IPRANGE=y +CONFIG_NETFILTER_XT_MATCH_IPVS=m +CONFIG_NETFILTER_XT_MATCH_L2TP=m +CONFIG_NETFILTER_XT_MATCH_LENGTH=m +CONFIG_NETFILTER_XT_MATCH_LIMIT=m +CONFIG_NETFILTER_XT_MATCH_MAC=m +CONFIG_NETFILTER_XT_MATCH_MARK=m +CONFIG_NETFILTER_XT_MATCH_MULTIPORT=m +CONFIG_NETFILTER_XT_MATCH_NFACCT=m +CONFIG_NETFILTER_XT_MATCH_OSF=m +CONFIG_NETFILTER_XT_MATCH_OWNER=m +CONFIG_NETFILTER_XT_MATCH_POLICY=m +CONFIG_NETFILTER_XT_MATCH_PHYSDEV=m +CONFIG_NETFILTER_XT_MATCH_PKTTYPE=m +CONFIG_NETFILTER_XT_MATCH_QUOTA=m +CONFIG_NETFILTER_XT_MATCH_RATEEST=m +CONFIG_NETFILTER_XT_MATCH_REALM=m +CONFIG_NETFILTER_XT_MATCH_RECENT=m +CONFIG_NETFILTER_XT_MATCH_SCTP=m +CONFIG_NETFILTER_XT_MATCH_SOCKET=m +CONFIG_NETFILTER_XT_MATCH_STATE=m +CONFIG_NETFILTER_XT_MATCH_STATISTIC=m +CONFIG_NETFILTER_XT_MATCH_STRING=m +CONFIG_NETFILTER_XT_MATCH_TCPMSS=m +CONFIG_NETFILTER_XT_MATCH_TIME=m +CONFIG_NETFILTER_XT_MATCH_U32=m +# end of Core Netfilter Configuration + +CONFIG_IP_SET=y +CONFIG_IP_SET_MAX=256 +CONFIG_IP_SET_BITMAP_IP=m +CONFIG_IP_SET_BITMAP_IPMAC=m +CONFIG_IP_SET_BITMAP_PORT=m +CONFIG_IP_SET_HASH_IP=m +CONFIG_IP_SET_HASH_IPMARK=m +CONFIG_IP_SET_HASH_IPPORT=m +CONFIG_IP_SET_HASH_IPPORTIP=m +CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_IPMAC=m +CONFIG_IP_SET_HASH_MAC=m +CONFIG_IP_SET_HASH_NETPORTNET=m +CONFIG_IP_SET_HASH_NET=m +CONFIG_IP_SET_HASH_NETNET=m +CONFIG_IP_SET_HASH_NETPORT=m +CONFIG_IP_SET_HASH_NETIFACE=m +CONFIG_IP_SET_LIST_SET=m +CONFIG_IP_VS=m +CONFIG_IP_VS_IPV6=y +# CONFIG_IP_VS_DEBUG is not set +CONFIG_IP_VS_TAB_BITS=12 + +# +# IPVS transport protocol load balancing support +# +CONFIG_IP_VS_PROTO_TCP=y +CONFIG_IP_VS_PROTO_UDP=y +CONFIG_IP_VS_PROTO_AH_ESP=y +CONFIG_IP_VS_PROTO_ESP=y +CONFIG_IP_VS_PROTO_AH=y +CONFIG_IP_VS_PROTO_SCTP=y + +# +# IPVS scheduler +# +CONFIG_IP_VS_RR=m +CONFIG_IP_VS_WRR=m +CONFIG_IP_VS_LC=m +CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m +CONFIG_IP_VS_OVF=m +CONFIG_IP_VS_LBLC=m +CONFIG_IP_VS_LBLCR=m +CONFIG_IP_VS_DH=m +CONFIG_IP_VS_SH=m +CONFIG_IP_VS_MH=m +CONFIG_IP_VS_SED=m +CONFIG_IP_VS_NQ=m +CONFIG_IP_VS_TWOS=m + +# +# IPVS SH scheduler +# +CONFIG_IP_VS_SH_TAB_BITS=8 + +# +# IPVS MH scheduler +# +CONFIG_IP_VS_MH_TAB_INDEX=12 + +# +# IPVS application helper +# +CONFIG_IP_VS_FTP=m +CONFIG_IP_VS_NFCT=y +CONFIG_IP_VS_PE_SIP=m + +# +# IP: Netfilter Configuration +# +CONFIG_NF_DEFRAG_IPV4=m +CONFIG_NF_SOCKET_IPV4=m +CONFIG_NF_TPROXY_IPV4=m +CONFIG_NF_TABLES_IPV4=y +CONFIG_NFT_REJECT_IPV4=m +CONFIG_NFT_DUP_IPV4=m +CONFIG_NFT_FIB_IPV4=m +CONFIG_NF_TABLES_ARP=y +CONFIG_NF_DUP_IPV4=m +CONFIG_NF_LOG_ARP=m +CONFIG_NF_LOG_IPV4=m +CONFIG_NF_REJECT_IPV4=m +CONFIG_NF_NAT_SNMP_BASIC=m +CONFIG_NF_NAT_PPTP=m +CONFIG_NF_NAT_H323=m +CONFIG_IP_NF_IPTABLES=m +CONFIG_IP_NF_MATCH_AH=m +CONFIG_IP_NF_MATCH_ECN=m +CONFIG_IP_NF_MATCH_RPFILTER=m +CONFIG_IP_NF_MATCH_TTL=m +CONFIG_IP_NF_FILTER=m +CONFIG_IP_NF_TARGET_REJECT=m +CONFIG_IP_NF_TARGET_SYNPROXY=m +CONFIG_IP_NF_NAT=m +CONFIG_IP_NF_TARGET_MASQUERADE=m +CONFIG_IP_NF_TARGET_NETMAP=m +CONFIG_IP_NF_TARGET_REDIRECT=m +CONFIG_IP_NF_MANGLE=m +CONFIG_IP_NF_TARGET_ECN=m +CONFIG_IP_NF_TARGET_TTL=m +CONFIG_IP_NF_RAW=m +# CONFIG_IP_NF_SECURITY is not set +CONFIG_IP_NF_ARPTABLES=m +CONFIG_IP_NF_ARPFILTER=m +CONFIG_IP_NF_ARP_MANGLE=m +# end of IP: Netfilter Configuration + +# +# IPv6: Netfilter Configuration +# +CONFIG_NF_SOCKET_IPV6=m +CONFIG_NF_TPROXY_IPV6=m +CONFIG_NF_TABLES_IPV6=y +CONFIG_NFT_REJECT_IPV6=m +CONFIG_NFT_DUP_IPV6=m +CONFIG_NFT_FIB_IPV6=m +CONFIG_NF_DUP_IPV6=m +CONFIG_NF_REJECT_IPV6=m +CONFIG_NF_LOG_IPV6=m +CONFIG_IP6_NF_IPTABLES=m +CONFIG_IP6_NF_MATCH_AH=m +CONFIG_IP6_NF_MATCH_EUI64=m +CONFIG_IP6_NF_MATCH_FRAG=m +CONFIG_IP6_NF_MATCH_OPTS=m +CONFIG_IP6_NF_MATCH_HL=m +CONFIG_IP6_NF_MATCH_IPV6HEADER=m +CONFIG_IP6_NF_MATCH_MH=m +CONFIG_IP6_NF_MATCH_RPFILTER=m +CONFIG_IP6_NF_MATCH_RT=m +CONFIG_IP6_NF_MATCH_SRH=m +CONFIG_IP6_NF_TARGET_HL=m +CONFIG_IP6_NF_FILTER=m +CONFIG_IP6_NF_TARGET_REJECT=m +CONFIG_IP6_NF_TARGET_SYNPROXY=m +CONFIG_IP6_NF_MANGLE=m +CONFIG_IP6_NF_RAW=m +# CONFIG_IP6_NF_SECURITY is not set +CONFIG_IP6_NF_NAT=m +CONFIG_IP6_NF_TARGET_MASQUERADE=m +CONFIG_IP6_NF_TARGET_NPT=m +# end of IPv6: Netfilter Configuration + +CONFIG_NF_DEFRAG_IPV6=m +CONFIG_NF_TABLES_BRIDGE=m +CONFIG_NFT_BRIDGE_META=m +CONFIG_NFT_BRIDGE_REJECT=m +CONFIG_NF_CONNTRACK_BRIDGE=m +CONFIG_BRIDGE_NF_EBTABLES=m +CONFIG_BRIDGE_EBT_BROUTE=m +CONFIG_BRIDGE_EBT_T_FILTER=m +CONFIG_BRIDGE_EBT_T_NAT=m +CONFIG_BRIDGE_EBT_802_3=m +CONFIG_BRIDGE_EBT_AMONG=m +CONFIG_BRIDGE_EBT_ARP=m +CONFIG_BRIDGE_EBT_IP=m +CONFIG_BRIDGE_EBT_IP6=m +CONFIG_BRIDGE_EBT_LIMIT=m +CONFIG_BRIDGE_EBT_MARK=m +CONFIG_BRIDGE_EBT_PKTTYPE=m +CONFIG_BRIDGE_EBT_STP=m +CONFIG_BRIDGE_EBT_VLAN=m +CONFIG_BRIDGE_EBT_ARPREPLY=m +CONFIG_BRIDGE_EBT_DNAT=m +CONFIG_BRIDGE_EBT_MARK_T=m +CONFIG_BRIDGE_EBT_REDIRECT=m +CONFIG_BRIDGE_EBT_SNAT=m +CONFIG_BRIDGE_EBT_LOG=m +CONFIG_BRIDGE_EBT_NFLOG=m +CONFIG_BPFILTER=y +CONFIG_BPFILTER_UMH=m +CONFIG_IP_DCCP=m +CONFIG_INET_DCCP_DIAG=m + +# +# DCCP CCIDs Configuration +# +# CONFIG_IP_DCCP_CCID2_DEBUG is not set +# CONFIG_IP_DCCP_CCID3 is not set +# end of DCCP CCIDs Configuration + +# +# DCCP Kernel Hacking +# +# CONFIG_IP_DCCP_DEBUG is not set +# end of DCCP Kernel Hacking + +CONFIG_IP_SCTP=m +# CONFIG_SCTP_DBG_OBJCNT is not set +CONFIG_SCTP_DEFAULT_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_SHA1 is not set +# CONFIG_SCTP_DEFAULT_COOKIE_HMAC_NONE is not set +CONFIG_SCTP_COOKIE_HMAC_MD5=y +# CONFIG_SCTP_COOKIE_HMAC_SHA1 is not set +CONFIG_INET_SCTP_DIAG=m +CONFIG_RDS=m +CONFIG_RDS_TCP=m +# CONFIG_RDS_DEBUG is not set +CONFIG_TIPC=m +CONFIG_TIPC_MEDIA_UDP=y +CONFIG_TIPC_CRYPTO=y +CONFIG_TIPC_DIAG=m +CONFIG_ATM=m +CONFIG_ATM_CLIP=m +# CONFIG_ATM_CLIP_NO_ICMP is not set +CONFIG_ATM_LANE=m +CONFIG_ATM_MPOA=m +CONFIG_ATM_BR2684=m +# CONFIG_ATM_BR2684_IPFILTER is not set +CONFIG_L2TP=m +# CONFIG_L2TP_DEBUGFS is not set +# CONFIG_L2TP_V3 is not set +CONFIG_STP=m +CONFIG_GARP=m +CONFIG_MRP=m +CONFIG_BRIDGE=m +CONFIG_BRIDGE_IGMP_SNOOPING=y +CONFIG_BRIDGE_VLAN_FILTERING=y +CONFIG_BRIDGE_MRP=y +CONFIG_BRIDGE_CFM=y +# CONFIG_NET_DSA is not set +CONFIG_VLAN_8021Q=m +CONFIG_VLAN_8021Q_GVRP=y +CONFIG_VLAN_8021Q_MVRP=y +CONFIG_LLC=m +CONFIG_LLC2=m +CONFIG_ATALK=m +# CONFIG_DEV_APPLETALK is not set +CONFIG_X25=m +CONFIG_LAPB=m +CONFIG_PHONET=m +CONFIG_6LOWPAN=m +# CONFIG_6LOWPAN_DEBUGFS is not set +CONFIG_6LOWPAN_NHC=m +CONFIG_6LOWPAN_NHC_DEST=m +CONFIG_6LOWPAN_NHC_FRAGMENT=m +CONFIG_6LOWPAN_NHC_HOP=m +CONFIG_6LOWPAN_NHC_IPV6=m +CONFIG_6LOWPAN_NHC_MOBILITY=m +CONFIG_6LOWPAN_NHC_ROUTING=m +CONFIG_6LOWPAN_NHC_UDP=m +# CONFIG_6LOWPAN_GHC_EXT_HDR_HOP is not set +# CONFIG_6LOWPAN_GHC_UDP is not set +# CONFIG_6LOWPAN_GHC_ICMPV6 is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_DEST is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_FRAG is not set +# CONFIG_6LOWPAN_GHC_EXT_HDR_ROUTE is not set +CONFIG_IEEE802154=m +# CONFIG_IEEE802154_NL802154_EXPERIMENTAL is not set +CONFIG_IEEE802154_SOCKET=m +# CONFIG_IEEE802154_6LOWPAN is not set +# CONFIG_MAC802154 is not set +CONFIG_NET_SCHED=y + +# +# Queueing/Scheduling +# +CONFIG_NET_SCH_HTB=m +CONFIG_NET_SCH_HFSC=m +CONFIG_NET_SCH_PRIO=m +CONFIG_NET_SCH_MULTIQ=m +CONFIG_NET_SCH_RED=m +CONFIG_NET_SCH_SFB=m +CONFIG_NET_SCH_SFQ=m +CONFIG_NET_SCH_TEQL=m +CONFIG_NET_SCH_TBF=m +CONFIG_NET_SCH_CBS=m +CONFIG_NET_SCH_ETF=m +CONFIG_NET_SCH_MQPRIO_LIB=m +CONFIG_NET_SCH_TAPRIO=m +CONFIG_NET_SCH_GRED=m +CONFIG_NET_SCH_NETEM=m +CONFIG_NET_SCH_DRR=m +CONFIG_NET_SCH_MQPRIO=m +CONFIG_NET_SCH_SKBPRIO=m +CONFIG_NET_SCH_CHOKE=m +CONFIG_NET_SCH_QFQ=m +CONFIG_NET_SCH_CODEL=m +CONFIG_NET_SCH_FQ_CODEL=m +CONFIG_NET_SCH_CAKE=m +CONFIG_NET_SCH_FQ=m +CONFIG_NET_SCH_HHF=m +CONFIG_NET_SCH_PIE=m +CONFIG_NET_SCH_FQ_PIE=m +# CONFIG_NET_SCH_INGRESS is not set +CONFIG_NET_SCH_PLUG=m +CONFIG_NET_SCH_ETS=m +# CONFIG_NET_SCH_DEFAULT is not set + +# +# Classification +# +CONFIG_NET_CLS=y +CONFIG_NET_CLS_BASIC=m +CONFIG_NET_CLS_ROUTE4=m +CONFIG_NET_CLS_FW=m +CONFIG_NET_CLS_U32=m +# CONFIG_CLS_U32_PERF is not set +CONFIG_CLS_U32_MARK=y +CONFIG_NET_CLS_FLOW=m +CONFIG_NET_CLS_CGROUP=m +CONFIG_NET_CLS_BPF=m +CONFIG_NET_CLS_FLOWER=m +CONFIG_NET_CLS_MATCHALL=m +CONFIG_NET_EMATCH=y +CONFIG_NET_EMATCH_STACK=32 +CONFIG_NET_EMATCH_CMP=m +CONFIG_NET_EMATCH_NBYTE=m +CONFIG_NET_EMATCH_U32=m +CONFIG_NET_EMATCH_META=m +CONFIG_NET_EMATCH_TEXT=m +CONFIG_NET_EMATCH_CANID=m +CONFIG_NET_EMATCH_IPSET=m +CONFIG_NET_EMATCH_IPT=y +CONFIG_NET_CLS_ACT=y +CONFIG_NET_ACT_POLICE=m +CONFIG_NET_ACT_GACT=m +CONFIG_GACT_PROB=y +CONFIG_NET_ACT_MIRRED=m +CONFIG_NET_ACT_SAMPLE=m +CONFIG_NET_ACT_IPT=m +CONFIG_NET_ACT_NAT=m +CONFIG_NET_ACT_PEDIT=m +CONFIG_NET_ACT_SIMP=m +CONFIG_NET_ACT_SKBEDIT=m +CONFIG_NET_ACT_CSUM=m +CONFIG_NET_ACT_MPLS=m +CONFIG_NET_ACT_VLAN=m +CONFIG_NET_ACT_BPF=m +CONFIG_NET_ACT_CONNMARK=m +CONFIG_NET_ACT_CTINFO=m +CONFIG_NET_ACT_SKBMOD=m +# CONFIG_NET_ACT_IFE is not set +CONFIG_NET_ACT_TUNNEL_KEY=m +CONFIG_NET_ACT_GATE=m +CONFIG_NET_TC_SKB_EXT=y +CONFIG_NET_SCH_FIFO=y +# CONFIG_DCB is not set +CONFIG_DNS_RESOLVER=y +CONFIG_BATMAN_ADV=m +# CONFIG_BATMAN_ADV_BATMAN_V is not set +CONFIG_BATMAN_ADV_BLA=y +CONFIG_BATMAN_ADV_DAT=y +CONFIG_BATMAN_ADV_NC=y +CONFIG_BATMAN_ADV_MCAST=y +# CONFIG_BATMAN_ADV_DEBUG is not set +# CONFIG_BATMAN_ADV_TRACING is not set +# CONFIG_OPENVSWITCH is not set +# CONFIG_VSOCKETS is not set +CONFIG_NETLINK_DIAG=y +# CONFIG_MPLS is not set +# CONFIG_NET_NSH is not set +# CONFIG_HSR is not set +# CONFIG_NET_SWITCHDEV is not set +CONFIG_NET_L3_MASTER_DEV=y +# CONFIG_QRTR is not set +# CONFIG_NET_NCSI is not set +CONFIG_PCPU_DEV_REFCNT=y +CONFIG_MAX_SKB_FRAGS=17 +CONFIG_RPS=y +CONFIG_RFS_ACCEL=y +CONFIG_SOCK_RX_QUEUE_MAPPING=y +CONFIG_XPS=y +CONFIG_CGROUP_NET_PRIO=y +CONFIG_CGROUP_NET_CLASSID=y +CONFIG_NET_RX_BUSY_POLL=y +CONFIG_BQL=y +CONFIG_BPF_STREAM_PARSER=y +CONFIG_NET_FLOW_LIMIT=y + +# +# Network testing +# +# CONFIG_NET_PKTGEN is not set +# CONFIG_NET_DROP_MONITOR is not set +# end of Network testing +# end of Networking options + +# CONFIG_HAMRADIO is not set +CONFIG_CAN=y +CONFIG_CAN_RAW=y +CONFIG_CAN_BCM=y +CONFIG_CAN_GW=y +# CONFIG_CAN_J1939 is not set +# CONFIG_CAN_ISOTP is not set +CONFIG_BT=y +CONFIG_BT_BREDR=y +CONFIG_BT_RFCOMM=y +CONFIG_BT_RFCOMM_TTY=y +CONFIG_BT_BNEP=y +CONFIG_BT_BNEP_MC_FILTER=y +CONFIG_BT_BNEP_PROTO_FILTER=y +CONFIG_BT_HIDP=y +CONFIG_BT_LE=y +CONFIG_BT_LE_L2CAP_ECRED=y +CONFIG_BT_6LOWPAN=m +CONFIG_BT_LEDS=y +# CONFIG_BT_MSFTEXT is not set +# CONFIG_BT_AOSPEXT is not set +CONFIG_BT_DEBUGFS=y +# CONFIG_BT_SELFTEST is not set + +# +# Bluetooth device drivers +# +CONFIG_BT_INTEL=m +CONFIG_BT_BCM=m +CONFIG_BT_RTL=m +CONFIG_BT_HCIBTUSB=m +# CONFIG_BT_HCIBTUSB_AUTOSUSPEND is not set +CONFIG_BT_HCIBTUSB_POLL_SYNC=y +CONFIG_BT_HCIBTUSB_BCM=y +# CONFIG_BT_HCIBTUSB_MTK is not set +CONFIG_BT_HCIBTUSB_RTL=y +# CONFIG_BT_HCIBTSDIO is not set +CONFIG_BT_HCIUART=m +CONFIG_BT_HCIUART_SERDEV=y +CONFIG_BT_HCIUART_H4=y +# CONFIG_BT_HCIUART_NOKIA is not set +# CONFIG_BT_HCIUART_BCSP is not set +# CONFIG_BT_HCIUART_ATH3K is not set +# CONFIG_BT_HCIUART_LL is not set +CONFIG_BT_HCIUART_3WIRE=y +# CONFIG_BT_HCIUART_INTEL is not set +CONFIG_BT_HCIUART_BCM=y +CONFIG_BT_HCIUART_RTL=y +# CONFIG_BT_HCIUART_QCA is not set +# CONFIG_BT_HCIUART_AG6XX is not set +# CONFIG_BT_HCIUART_MRVL is not set +# CONFIG_BT_HCIBCM203X is not set +# CONFIG_BT_HCIBCM4377 is not set +# CONFIG_BT_HCIBPA10X is not set +# CONFIG_BT_HCIBFUSB is not set +# CONFIG_BT_HCIVHCI is not set +# CONFIG_BT_MRVL is not set +# CONFIG_BT_ATH3K is not set +# CONFIG_BT_MTKSDIO is not set +# CONFIG_BT_MTKUART is not set +# CONFIG_BT_QCOMSMD is not set +# CONFIG_BT_VIRTIO is not set +# CONFIG_BT_NXPUART is not set +# end of Bluetooth device drivers + +CONFIG_AF_RXRPC=m +# CONFIG_AF_RXRPC_IPV6 is not set +# CONFIG_AF_RXRPC_INJECT_LOSS is not set +# CONFIG_AF_RXRPC_INJECT_RX_DELAY is not set +# CONFIG_AF_RXRPC_DEBUG is not set +# CONFIG_RXKAD is not set +# CONFIG_RXPERF is not set +CONFIG_AF_KCM=m +CONFIG_STREAM_PARSER=y +CONFIG_MCTP=y +CONFIG_FIB_RULES=y +CONFIG_WIRELESS=y +CONFIG_CFG80211=y +# CONFIG_NL80211_TESTMODE is not set +# CONFIG_CFG80211_DEVELOPER_WARNINGS is not set +# CONFIG_CFG80211_CERTIFICATION_ONUS is not set +CONFIG_CFG80211_REQUIRE_SIGNED_REGDB=y +CONFIG_CFG80211_USE_KERNEL_REGDB_KEYS=y +CONFIG_CFG80211_DEFAULT_PS=y +# CONFIG_CFG80211_DEBUGFS is not set +CONFIG_CFG80211_CRDA_SUPPORT=y +# CONFIG_CFG80211_WEXT is not set +CONFIG_MAC80211=m +CONFIG_MAC80211_HAS_RC=y +CONFIG_MAC80211_RC_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y +CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" +# CONFIG_MAC80211_MESH is not set +# CONFIG_MAC80211_LEDS is not set +# CONFIG_MAC80211_DEBUGFS is not set +# CONFIG_MAC80211_MESSAGE_TRACING is not set +# CONFIG_MAC80211_DEBUG_MENU is not set +CONFIG_MAC80211_STA_HASH_MAX_SIZE=0 +CONFIG_RFKILL=y +CONFIG_RFKILL_LEDS=y +# CONFIG_RFKILL_INPUT is not set +# CONFIG_RFKILL_GPIO is not set +# CONFIG_NET_9P is not set +# CONFIG_CAIF is not set +CONFIG_CEPH_LIB=m +# CONFIG_CEPH_LIB_PRETTYDEBUG is not set +# CONFIG_CEPH_LIB_USE_DNS_RESOLVER is not set +# CONFIG_NFC is not set +CONFIG_PSAMPLE=m +CONFIG_NET_IFE=m +CONFIG_LWTUNNEL=y +CONFIG_LWTUNNEL_BPF=y +CONFIG_DST_CACHE=y +CONFIG_GRO_CELLS=y +CONFIG_SOCK_VALIDATE_XMIT=y +CONFIG_NET_SELFTESTS=y +CONFIG_NET_SOCK_MSG=y +CONFIG_PAGE_POOL=y +# CONFIG_PAGE_POOL_STATS is not set +CONFIG_FAILOVER=y +CONFIG_ETHTOOL_NETLINK=y + +# +# Device Drivers +# +CONFIG_HAVE_PCI=y +CONFIG_PCI=y +CONFIG_PCI_DOMAINS=y +CONFIG_PCI_DOMAINS_GENERIC=y +CONFIG_PCIEPORTBUS=y +CONFIG_PCIEAER=y +# CONFIG_PCIEAER_INJECT is not set +# CONFIG_PCIE_ECRC is not set +CONFIG_PCIEASPM=y +CONFIG_PCIEASPM_DEFAULT=y +# CONFIG_PCIEASPM_POWERSAVE is not set +# CONFIG_PCIEASPM_POWER_SUPERSAVE is not set +# CONFIG_PCIEASPM_PERFORMANCE is not set +CONFIG_PCIE_PME=y +# CONFIG_PCIE_DPC is not set +# CONFIG_PCIE_PTM is not set +CONFIG_PCI_MSI=y +CONFIG_PCI_QUIRKS=y +# CONFIG_PCI_DEBUG is not set +# CONFIG_PCI_STUB is not set +# CONFIG_PCI_IOV is not set +# CONFIG_PCI_PRI is not set +# CONFIG_PCI_PASID is not set +# CONFIG_PCI_DYNAMIC_OF_NODES is not set +# CONFIG_PCIE_BUS_TUNE_OFF is not set +CONFIG_PCIE_BUS_DEFAULT=y +# CONFIG_PCIE_BUS_SAFE is not set +# CONFIG_PCIE_BUS_PERFORMANCE is not set +# CONFIG_PCIE_BUS_PEER2PEER is not set +CONFIG_VGA_ARB=y +CONFIG_VGA_ARB_MAX_GPUS=16 +# CONFIG_HOTPLUG_PCI is not set + +# +# PCI controller drivers +# +# CONFIG_PCI_AARDVARK is not set +# CONFIG_PCIE_ALTERA is not set +# CONFIG_PCIE_APPLE is not set +# CONFIG_PCI_VERSATILE is not set +# CONFIG_PCIE_BRCMSTB is not set +# CONFIG_PCI_HOST_THUNDER_PEM is not set +# CONFIG_PCI_HOST_THUNDER_ECAM is not set +# CONFIG_PCI_FTPCI100 is not set +# CONFIG_PCI_HOST_GENERIC is not set +# CONFIG_PCI_LOONGSON is not set +# CONFIG_PCIE_MEDIATEK is not set +# CONFIG_PCIE_MEDIATEK_GEN3 is not set +# CONFIG_PCIE_MT7621 is not set +# CONFIG_PCIE_MICROCHIP_HOST is not set +# CONFIG_PCI_TEGRA is not set +# CONFIG_PCIE_RCAR_HOST is not set +# CONFIG_PCIE_ROCKCHIP_HOST is not set +# CONFIG_PCI_V3_SEMI is not set +# CONFIG_PCI_XGENE is not set +# CONFIG_PCIE_XILINX is not set +# CONFIG_PCIE_XILINX_NWL is not set +# CONFIG_PCIE_XILINX_CPM is not set + +# +# Cadence-based PCIe controllers +# +# CONFIG_PCIE_CADENCE_PLAT_HOST is not set +# CONFIG_PCI_J721E_HOST is not set +# end of Cadence-based PCIe controllers + +# +# DesignWare-based PCIe controllers +# +CONFIG_PCIE_DW=y +CONFIG_PCIE_DW_HOST=y +# CONFIG_PCIE_AL is not set +# CONFIG_PCI_MESON is not set +# CONFIG_PCIE_ARTPEC6_HOST is not set +# CONFIG_PCIE_BT1 is not set +# CONFIG_PCI_IMX6_HOST is not set +# CONFIG_PCI_LAYERSCAPE is not set +# CONFIG_PCI_HISI is not set +# CONFIG_PCIE_KIRIN is not set +# CONFIG_PCIE_HISI_STB is not set +# CONFIG_PCIE_INTEL_GW is not set +# CONFIG_PCIE_KEEMBAY_HOST is not set +# CONFIG_PCIE_ARMADA_8K is not set +# CONFIG_PCIE_TEGRA194_HOST is not set +# CONFIG_PCIE_DW_PLAT_HOST is not set +# CONFIG_PCIE_QCOM is not set +# CONFIG_PCIE_ROCKCHIP_DW_HOST is not set +# CONFIG_PCI_EXYNOS is not set +# CONFIG_PCIE_FU740 is not set +# CONFIG_PCIE_UNIPHIER is not set +# CONFIG_PCIE_SPEAR13XX is not set +# CONFIG_PCI_KEYSTONE_HOST is not set +# CONFIG_PCIE_VISCONTI_HOST is not set +CONFIG_PCI_X1=y +CONFIG_PCI_X1_HOST=y +# end of DesignWare-based PCIe controllers + +# +# Mobiveil-based PCIe controllers +# +# CONFIG_PCIE_LAYERSCAPE_GEN4 is not set +# CONFIG_PCIE_MOBIVEIL_PLAT is not set +# end of Mobiveil-based PCIe controllers +# end of PCI controller drivers + +# +# PCI Endpoint +# +# CONFIG_PCI_ENDPOINT is not set +# end of PCI Endpoint + +# +# PCI switch controller drivers +# +# CONFIG_PCI_SW_SWITCHTEC is not set +# end of PCI switch controller drivers + +# CONFIG_CXL_BUS is not set +# CONFIG_PCCARD is not set +# CONFIG_RAPIDIO is not set + +# +# Generic Driver Options +# +CONFIG_AUXILIARY_BUS=y +# CONFIG_UEVENT_HELPER is not set +CONFIG_DEVTMPFS=y +CONFIG_DEVTMPFS_MOUNT=y +# CONFIG_DEVTMPFS_SAFE is not set +CONFIG_STANDALONE=y +CONFIG_PREVENT_FIRMWARE_BUILD=y + +# +# Firmware loader +# +CONFIG_FW_LOADER=y +CONFIG_FW_LOADER_DEBUG=y +CONFIG_FW_LOADER_PAGED_BUF=y +CONFIG_EXTRA_FIRMWARE="" +# CONFIG_FW_LOADER_USER_HELPER is not set +CONFIG_FW_LOADER_COMPRESS=y +CONFIG_FW_LOADER_COMPRESS_XZ=y +CONFIG_FW_LOADER_COMPRESS_ZSTD=y +CONFIG_FW_CACHE=y +# CONFIG_FW_UPLOAD is not set +# end of Firmware loader + +CONFIG_WANT_DEV_COREDUMP=y +CONFIG_ALLOW_DEV_COREDUMP=y +CONFIG_DEV_COREDUMP=y +# CONFIG_DEBUG_DRIVER is not set +# CONFIG_DEBUG_DEVRES is not set +# CONFIG_DEBUG_TEST_DRIVER_REMOVE is not set +# CONFIG_TEST_ASYNC_DRIVER_PROBE is not set +CONFIG_SOC_BUS=y +CONFIG_REGMAP=y +CONFIG_REGMAP_I2C=y +CONFIG_REGMAP_SPI=y +CONFIG_REGMAP_MMIO=y +CONFIG_REGMAP_IRQ=y +CONFIG_DMA_SHARED_BUFFER=y +# CONFIG_DMA_FENCE_TRACE is not set +CONFIG_GENERIC_ARCH_TOPOLOGY=y +# CONFIG_FW_DEVLINK_SYNC_STATE_TIMEOUT is not set +# end of Generic Driver Options + +# +# Bus devices +# +# CONFIG_ARM_INTEGRATOR_LM is not set +# CONFIG_BT1_APB is not set +# CONFIG_BT1_AXI is not set +# CONFIG_MOXTET is not set +# CONFIG_HISILICON_LPC is not set +# CONFIG_INTEL_IXP4XX_EB is not set +# CONFIG_QCOM_EBI2 is not set +# CONFIG_MHI_BUS is not set +# CONFIG_MHI_BUS_EP is not set +# end of Bus devices + +# +# Cache Drivers +# +# CONFIG_AX45MP_L2_CACHE is not set +# end of Cache Drivers + +# CONFIG_CONNECTOR is not set + +# +# Firmware Drivers +# + +# +# ARM System Control and Management Interface Protocol +# +# CONFIG_ARM_SCMI_PROTOCOL is not set +# CONFIG_ARM_SCMI_POWER_DOMAIN is not set +# CONFIG_ARM_SCMI_POWER_CONTROL is not set +# end of ARM System Control and Management Interface Protocol + +# CONFIG_ARM_SCPI_PROTOCOL is not set +# CONFIG_ARM_SCPI_POWER_DOMAIN is not set +# CONFIG_FIRMWARE_MEMMAP is not set +# CONFIG_SYSFB_SIMPLEFB is not set +# CONFIG_TURRIS_MOX_RWTM is not set +# CONFIG_BCM47XX_NVRAM is not set +# CONFIG_GOOGLE_FIRMWARE is not set + +# +# EFI (Extensible Firmware Interface) Support +# +CONFIG_EFI_ESRT=y +CONFIG_EFI_PARAMS_FROM_FDT=y +CONFIG_EFI_RUNTIME_WRAPPERS=y +CONFIG_EFI_GENERIC_STUB=y +# CONFIG_EFI_ZBOOT is not set +# CONFIG_EFI_BOOTLOADER_CONTROL is not set +# CONFIG_EFI_CAPSULE_LOADER is not set +# CONFIG_EFI_TEST is not set +# CONFIG_RESET_ATTACK_MITIGATION is not set +# CONFIG_EFI_RCI2_TABLE is not set +# CONFIG_EFI_DISABLE_PCI_DMA is not set +CONFIG_EFI_EARLYCON=y +# CONFIG_EFI_DISABLE_RUNTIME is not set +# CONFIG_EFI_COCO_SECRET is not set +# end of EFI (Extensible Firmware Interface) Support + +# +# Tegra firmware driver +# +# end of Tegra firmware driver +# end of Firmware Drivers + +# CONFIG_GNSS is not set +CONFIG_MTD=y +# CONFIG_MTD_TESTS is not set + +# +# Partition parsers +# +# CONFIG_MTD_AR7_PARTS is not set +# CONFIG_MTD_BCM63XX_PARTS is not set +# CONFIG_MTD_BRCM_U_BOOT is not set +CONFIG_MTD_CMDLINE_PARTS=y +# CONFIG_MTD_OF_PARTS is not set +# CONFIG_MTD_PARSER_IMAGETAG is not set +# CONFIG_MTD_PARSER_TPLINK_SAFELOADER is not set +# CONFIG_MTD_PARSER_TRX is not set +# CONFIG_MTD_SHARPSL_PARTS is not set +# CONFIG_MTD_REDBOOT_PARTS is not set +# end of Partition parsers + +# +# User Modules And Translation Layers +# +CONFIG_MTD_BLKDEVS=y +CONFIG_MTD_BLOCK=y + +# +# Note that in some cases UBI block is preferred. See MTD_UBI_BLOCK. +# +# CONFIG_FTL is not set +# CONFIG_NFTL is not set +# CONFIG_INFTL is not set +# CONFIG_RFD_FTL is not set +# CONFIG_SSFDC is not set +# CONFIG_SM_FTL is not set +# CONFIG_MTD_OOPS is not set +# CONFIG_MTD_SWAP is not set +# CONFIG_MTD_PARTITIONED_MASTER is not set + +# +# RAM/ROM/Flash chip drivers +# +# CONFIG_MTD_CFI is not set +# CONFIG_MTD_JEDECPROBE is not set +CONFIG_MTD_MAP_BANK_WIDTH_1=y +CONFIG_MTD_MAP_BANK_WIDTH_2=y +CONFIG_MTD_MAP_BANK_WIDTH_4=y +CONFIG_MTD_CFI_I1=y +CONFIG_MTD_CFI_I2=y +# CONFIG_MTD_RAM is not set +# CONFIG_MTD_ROM is not set +# CONFIG_MTD_ABSENT is not set +# end of RAM/ROM/Flash chip drivers + +# +# Mapping drivers for chip access +# +# CONFIG_MTD_COMPLEX_MAPPINGS is not set +# CONFIG_MTD_TS5500 is not set +# CONFIG_MTD_INTEL_VR_NOR is not set +# CONFIG_MTD_PLATRAM is not set +# end of Mapping drivers for chip access + +# +# Self-contained MTD device drivers +# +# CONFIG_MTD_PMC551 is not set +# CONFIG_MTD_DATAFLASH is not set +# CONFIG_MTD_MCHP23K256 is not set +# CONFIG_MTD_MCHP48L640 is not set +# CONFIG_MTD_SPEAR_SMI is not set +# CONFIG_MTD_SST25L is not set +# CONFIG_MTD_SLRAM is not set +# CONFIG_MTD_PHRAM is not set +# CONFIG_MTD_MTDRAM is not set +# CONFIG_MTD_BLOCK2MTD is not set + +# +# Disk-On-Chip Device Drivers +# +# CONFIG_MTD_DOCG3 is not set +# end of Self-contained MTD device drivers + +# +# NAND +# +CONFIG_MTD_NAND_CORE=y +# CONFIG_MTD_ONENAND is not set +# CONFIG_MTD_RAW_NAND is not set +CONFIG_MTD_SPI_NAND=y + +# +# ECC engine support +# +CONFIG_MTD_NAND_ECC=y +# CONFIG_MTD_NAND_ECC_SW_HAMMING is not set +# CONFIG_MTD_NAND_ECC_SW_BCH is not set +# CONFIG_MTD_NAND_ECC_MXIC is not set +# CONFIG_MTD_NAND_ECC_MEDIATEK is not set +# end of ECC engine support +# end of NAND + +# +# LPDDR & LPDDR2 PCM memory drivers +# +# CONFIG_MTD_LPDDR is not set +# end of LPDDR & LPDDR2 PCM memory drivers + +CONFIG_MTD_SPI_NOR=y +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y +# CONFIG_MTD_SPI_NOR_SWP_DISABLE is not set +CONFIG_MTD_SPI_NOR_SWP_DISABLE_ON_VOLATILE=y +# CONFIG_MTD_SPI_NOR_SWP_KEEP is not set +# CONFIG_SPI_HISI_SFC is not set +# CONFIG_SPI_NXP_SPIFI is not set +CONFIG_MTD_UBI=y +CONFIG_MTD_UBI_WL_THRESHOLD=4096 +CONFIG_MTD_UBI_BEB_LIMIT=20 +# CONFIG_MTD_UBI_FASTMAP is not set +# CONFIG_MTD_UBI_GLUEBI is not set +# CONFIG_MTD_UBI_BLOCK is not set +# CONFIG_MTD_HYPERBUS is not set +CONFIG_DTC=y +CONFIG_OF=y +# CONFIG_OF_UNITTEST is not set +# CONFIG_OF_ALL_DTBS is not set +CONFIG_OF_FLATTREE=y +CONFIG_OF_EARLY_FLATTREE=y +CONFIG_OF_KOBJ=y +CONFIG_OF_ADDRESS=y +CONFIG_OF_IRQ=y +CONFIG_OF_RESERVED_MEM=y +# CONFIG_OF_OVERLAY is not set +# CONFIG_PARPORT is not set +CONFIG_BLK_DEV=y +# CONFIG_BLK_DEV_NULL_BLK is not set +# CONFIG_BLK_DEV_PCIESSD_MTIP32XX is not set +# CONFIG_ZRAM is not set +CONFIG_BLK_DEV_LOOP=y +CONFIG_BLK_DEV_LOOP_MIN_COUNT=8 +# CONFIG_BLK_DEV_DRBD is not set +# CONFIG_BLK_DEV_NBD is not set +# CONFIG_BLK_DEV_RAM is not set +# CONFIG_CDROM_PKTCDVD is not set +# CONFIG_ATA_OVER_ETH is not set +CONFIG_VIRTIO_BLK=y +# CONFIG_BLK_DEV_RBD is not set +# CONFIG_BLK_DEV_UBLK is not set + +# +# NVME Support +# +CONFIG_NVME_CORE=y +CONFIG_BLK_DEV_NVME=y +# CONFIG_NVME_MULTIPATH is not set +CONFIG_NVME_VERBOSE_ERRORS=y +# CONFIG_NVME_HWMON is not set +# CONFIG_NVME_FC is not set +# CONFIG_NVME_TCP is not set +# CONFIG_NVME_AUTH is not set +# CONFIG_NVME_TARGET is not set +# end of NVME Support + +# +# Misc devices +# +# CONFIG_AD525X_DPOT is not set +# CONFIG_DUMMY_IRQ is not set +# CONFIG_PHANTOM is not set +# CONFIG_TIFM_CORE is not set +# CONFIG_ICS932S401 is not set +# CONFIG_ATMEL_SSC is not set +# CONFIG_ENCLOSURE_SERVICES is not set +# CONFIG_SMPRO_ERRMON is not set +# CONFIG_SMPRO_MISC is not set +# CONFIG_GEHC_ACHC is not set +# CONFIG_HP_ILO is not set +# CONFIG_QCOM_COINCELL is not set +# CONFIG_QCOM_FASTRPC is not set +# CONFIG_APDS9802ALS is not set +# CONFIG_ISL29003 is not set +# CONFIG_ISL29020 is not set +# CONFIG_SENSORS_TSL2550 is not set +# CONFIG_SENSORS_BH1770 is not set +# CONFIG_SENSORS_APDS990X is not set +# CONFIG_HMC6352 is not set +# CONFIG_DS1682 is not set +# CONFIG_PCH_PHUB is not set +# CONFIG_LATTICE_ECP3_CONFIG is not set +CONFIG_SRAM=y +# CONFIG_DW_XDATA_PCIE is not set +# CONFIG_PCI_ENDPOINT_TEST is not set +# CONFIG_XILINX_SDFEC is not set +# CONFIG_HISI_HIKEY_USB is not set +# CONFIG_OPEN_DICE is not set +# CONFIG_VCPU_STALL_DETECTOR is not set +CONFIG_KY_TCM=y +CONFIG_OCP2138=y +# CONFIG_ICM42607 is not set +# CONFIG_C2PORT is not set + +# +# EEPROM support +# +CONFIG_EEPROM_AT24=y +# CONFIG_EEPROM_AT25 is not set +# CONFIG_EEPROM_LEGACY is not set +# CONFIG_EEPROM_MAX6875 is not set +# CONFIG_EEPROM_93CX6 is not set +# CONFIG_EEPROM_93XX46 is not set +# CONFIG_EEPROM_IDT_89HPESX is not set +# CONFIG_EEPROM_EE1004 is not set +# end of EEPROM support + +# CONFIG_CB710_CORE is not set + +# +# Texas Instruments shared transport line discipline +# +# CONFIG_TI_ST is not set +# end of Texas Instruments shared transport line discipline + +# CONFIG_SENSORS_LIS3_SPI is not set +# CONFIG_SENSORS_LIS3_I2C is not set +# CONFIG_ALTERA_STAPL is not set +# CONFIG_GENWQE is not set +# CONFIG_ECHO is not set +# CONFIG_BCM_VK is not set +# CONFIG_MISC_ALCOR_PCI is not set +# CONFIG_MISC_RTSX_PCI is not set +# CONFIG_MISC_RTSX_USB is not set +# CONFIG_PVPANIC is not set +# CONFIG_GP_PCI1XXXX is not set +# end of Misc devices + +# +# SCSI device support +# +CONFIG_SCSI_MOD=y +# CONFIG_RAID_ATTRS is not set +CONFIG_SCSI_COMMON=y +CONFIG_SCSI=y +CONFIG_SCSI_DMA=y +CONFIG_SCSI_PROC_FS=y + +# +# SCSI support type (disk, tape, CD-ROM) +# +CONFIG_BLK_DEV_SD=y +# CONFIG_CHR_DEV_ST is not set +# CONFIG_BLK_DEV_SR is not set +# CONFIG_CHR_DEV_SG is not set +# CONFIG_BLK_DEV_BSG is not set +# CONFIG_CHR_DEV_SCH is not set +# CONFIG_SCSI_CONSTANTS is not set +# CONFIG_SCSI_LOGGING is not set +# CONFIG_SCSI_SCAN_ASYNC is not set + +# +# SCSI Transports +# +# CONFIG_SCSI_SPI_ATTRS is not set +# CONFIG_SCSI_FC_ATTRS is not set +# CONFIG_SCSI_ISCSI_ATTRS is not set +# CONFIG_SCSI_SAS_ATTRS is not set +# CONFIG_SCSI_SAS_LIBSAS is not set +# CONFIG_SCSI_SRP_ATTRS is not set +# end of SCSI Transports + +# CONFIG_SCSI_LOWLEVEL is not set +# CONFIG_SCSI_DH is not set +# end of SCSI device support + +CONFIG_ATA=y +CONFIG_SATA_HOST=y +CONFIG_ATA_VERBOSE_ERROR=y +CONFIG_ATA_FORCE=y +CONFIG_SATA_PMP=y + +# +# Controllers with non-SFF native interface +# +CONFIG_SATA_AHCI=y +CONFIG_SATA_MOBILE_LPM_POLICY=0 +# CONFIG_SATA_AHCI_PLATFORM is not set +# CONFIG_AHCI_BRCM is not set +# CONFIG_AHCI_DA850 is not set +# CONFIG_AHCI_DM816 is not set +# CONFIG_AHCI_DWC is not set +# CONFIG_AHCI_ST is not set +# CONFIG_AHCI_IMX is not set +# CONFIG_AHCI_CEVA is not set +# CONFIG_AHCI_MTK is not set +# CONFIG_AHCI_MVEBU is not set +# CONFIG_AHCI_SUNXI is not set +# CONFIG_AHCI_TEGRA is not set +# CONFIG_AHCI_XGENE is not set +# CONFIG_AHCI_QORIQ is not set +# CONFIG_SATA_FSL is not set +# CONFIG_SATA_GEMINI is not set +# CONFIG_SATA_AHCI_SEATTLE is not set +# CONFIG_SATA_INIC162X is not set +# CONFIG_SATA_ACARD_AHCI is not set +# CONFIG_SATA_SIL24 is not set +CONFIG_ATA_SFF=y + +# +# SFF controllers with custom DMA interface +# +# CONFIG_PDC_ADMA is not set +# CONFIG_SATA_QSTOR is not set +# CONFIG_SATA_SX4 is not set +CONFIG_ATA_BMDMA=y + +# +# SATA SFF controllers with BMDMA +# +# CONFIG_ATA_PIIX is not set +# CONFIG_SATA_DWC is not set +# CONFIG_SATA_HIGHBANK is not set +# CONFIG_SATA_MV is not set +# CONFIG_SATA_NV is not set +# CONFIG_SATA_PROMISE is not set +# CONFIG_SATA_RCAR is not set +# CONFIG_SATA_SIL is not set +# CONFIG_SATA_SIS is not set +# CONFIG_SATA_SVW is not set +# CONFIG_SATA_ULI is not set +# CONFIG_SATA_VIA is not set +# CONFIG_SATA_VITESSE is not set + +# +# PATA SFF controllers with BMDMA +# +# CONFIG_PATA_ALI is not set +# CONFIG_PATA_AMD is not set +# CONFIG_PATA_ARASAN_CF is not set +# CONFIG_PATA_ARTOP is not set +# CONFIG_PATA_ATIIXP is not set +# CONFIG_PATA_ATP867X is not set +# CONFIG_PATA_CMD64X is not set +# CONFIG_PATA_CS5520 is not set +# CONFIG_PATA_CS5530 is not set +# CONFIG_PATA_CS5536 is not set +# CONFIG_PATA_CYPRESS is not set +# CONFIG_PATA_EFAR is not set +# CONFIG_PATA_HPT366 is not set +# CONFIG_PATA_HPT37X is not set +# CONFIG_PATA_HPT3X2N is not set +# CONFIG_PATA_HPT3X3 is not set +# CONFIG_PATA_IMX is not set +# CONFIG_PATA_IT8213 is not set +# CONFIG_PATA_IT821X is not set +# CONFIG_PATA_JMICRON is not set +# CONFIG_PATA_MARVELL is not set +# CONFIG_PATA_NETCELL is not set +# CONFIG_PATA_NINJA32 is not set +# CONFIG_PATA_NS87415 is not set +# CONFIG_PATA_OLDPIIX is not set +# CONFIG_PATA_OPTIDMA is not set +# CONFIG_PATA_PDC2027X is not set +# CONFIG_PATA_PDC_OLD is not set +# CONFIG_PATA_RADISYS is not set +# CONFIG_PATA_RDC is not set +# CONFIG_PATA_SC1200 is not set +# CONFIG_PATA_SCH is not set +# CONFIG_PATA_SERVERWORKS is not set +# CONFIG_PATA_SIL680 is not set +# CONFIG_PATA_SIS is not set +# CONFIG_PATA_TOSHIBA is not set +# CONFIG_PATA_TRIFLEX is not set +# CONFIG_PATA_VIA is not set +# CONFIG_PATA_PXA is not set +# CONFIG_PATA_WINBOND is not set + +# +# PIO-only SFF controllers +# +# CONFIG_PATA_CMD640_PCI is not set +# CONFIG_PATA_IXP4XX_CF is not set +# CONFIG_PATA_MPIIX is not set +# CONFIG_PATA_NS87410 is not set +# CONFIG_PATA_OPTI is not set +# CONFIG_PATA_OF_PLATFORM is not set +# CONFIG_PATA_RZ1000 is not set + +# +# Generic fallback / legacy drivers +# +# CONFIG_ATA_GENERIC is not set +# CONFIG_PATA_LEGACY is not set +CONFIG_MD=y +CONFIG_BLK_DEV_MD=y +CONFIG_MD_AUTODETECT=y +CONFIG_MD_BITMAP_FILE=y +CONFIG_MD_LINEAR=y +CONFIG_MD_RAID0=y +CONFIG_MD_RAID1=y +CONFIG_MD_RAID10=y +CONFIG_MD_RAID456=y +# CONFIG_MD_MULTIPATH is not set +# CONFIG_MD_FAULTY is not set +# CONFIG_MD_CLUSTER is not set +CONFIG_BCACHE=y +# CONFIG_BCACHE_DEBUG is not set +# CONFIG_BCACHE_CLOSURES_DEBUG is not set +# CONFIG_BCACHE_ASYNC_REGISTRATION is not set +CONFIG_BLK_DEV_DM_BUILTIN=y +CONFIG_BLK_DEV_DM=y +# CONFIG_DM_DEBUG is not set +CONFIG_DM_BUFIO=y +# CONFIG_DM_DEBUG_BLOCK_MANAGER_LOCKING is not set +CONFIG_DM_BIO_PRISON=y +CONFIG_DM_PERSISTENT_DATA=y +CONFIG_DM_UNSTRIPED=y +CONFIG_DM_CRYPT=y +CONFIG_DM_SNAPSHOT=y +CONFIG_DM_THIN_PROVISIONING=y +CONFIG_DM_CACHE=y +CONFIG_DM_CACHE_SMQ=y +CONFIG_DM_WRITECACHE=y +# CONFIG_DM_EBS is not set +# CONFIG_DM_ERA is not set +# CONFIG_DM_CLONE is not set +CONFIG_DM_MIRROR=y +# CONFIG_DM_LOG_USERSPACE is not set +CONFIG_DM_RAID=y +CONFIG_DM_ZERO=y +CONFIG_DM_MULTIPATH=y +CONFIG_DM_MULTIPATH_QL=y +CONFIG_DM_MULTIPATH_ST=y +CONFIG_DM_MULTIPATH_HST=y +CONFIG_DM_MULTIPATH_IOA=y +CONFIG_DM_DELAY=y +CONFIG_DM_DUST=y +CONFIG_DM_INIT=y +CONFIG_DM_UEVENT=y +CONFIG_DM_FLAKEY=y +CONFIG_DM_VERITY=y +CONFIG_DM_VERITY_VERIFY_ROOTHASH_SIG=y +CONFIG_DM_VERITY_FEC=y +CONFIG_DM_SWITCH=y +CONFIG_DM_LOG_WRITES=y +CONFIG_DM_INTEGRITY=y +CONFIG_DM_AUDIT=y +CONFIG_TARGET_CORE=y +CONFIG_TCM_IBLOCK=y +CONFIG_TCM_FILEIO=y +# CONFIG_TCM_PSCSI is not set +# CONFIG_LOOPBACK_TARGET is not set +# CONFIG_ISCSI_TARGET is not set +# CONFIG_REMOTE_TARGET is not set +# CONFIG_FUSION is not set + +# +# IEEE 1394 (FireWire) support +# +# CONFIG_FIREWIRE is not set +# CONFIG_FIREWIRE_NOSY is not set +# end of IEEE 1394 (FireWire) support + +CONFIG_NETDEVICES=y +CONFIG_MII=y +CONFIG_NET_CORE=y +CONFIG_BONDING=m +CONFIG_DUMMY=m +CONFIG_WIREGUARD=m +# CONFIG_WIREGUARD_DEBUG is not set +CONFIG_EQUALIZER=m +# CONFIG_NET_FC is not set +CONFIG_IFB=m +CONFIG_NET_TEAM=m +# CONFIG_NET_TEAM_MODE_BROADCAST is not set +# CONFIG_NET_TEAM_MODE_ROUNDROBIN is not set +# CONFIG_NET_TEAM_MODE_RANDOM is not set +# CONFIG_NET_TEAM_MODE_ACTIVEBACKUP is not set +# CONFIG_NET_TEAM_MODE_LOADBALANCE is not set +CONFIG_MACVLAN=m +CONFIG_MACVTAP=m +CONFIG_IPVLAN_L3S=y +CONFIG_IPVLAN=m +CONFIG_IPVTAP=m +CONFIG_VXLAN=m +CONFIG_GENEVE=m +CONFIG_BAREUDP=m +CONFIG_GTP=m +CONFIG_AMT=m +CONFIG_MACSEC=m +CONFIG_NETCONSOLE=m +CONFIG_NETCONSOLE_DYNAMIC=y +# CONFIG_NETCONSOLE_EXTENDED_LOG is not set +CONFIG_NETPOLL=y +CONFIG_NET_POLL_CONTROLLER=y +CONFIG_TUN=y +CONFIG_TAP=m +# CONFIG_TUN_VNET_CROSS_LE is not set +CONFIG_VETH=m +CONFIG_VIRTIO_NET=y +CONFIG_NLMON=m +CONFIG_NET_VRF=m +# CONFIG_ARCNET is not set +CONFIG_ATM_DRIVERS=y +# CONFIG_ATM_DUMMY is not set +# CONFIG_ATM_TCP is not set +# CONFIG_ATM_LANAI is not set +# CONFIG_ATM_ENI is not set +# CONFIG_ATM_NICSTAR is not set +# CONFIG_ATM_IDT77252 is not set +# CONFIG_ATM_IA is not set +# CONFIG_ATM_FORE200E is not set +# CONFIG_ATM_HE is not set +# CONFIG_ATM_SOLOS is not set +CONFIG_ETHERNET=y +CONFIG_NET_VENDOR_3COM=y +# CONFIG_VORTEX is not set +# CONFIG_TYPHOON is not set +# CONFIG_NET_VENDOR_ACTIONS is not set +CONFIG_NET_VENDOR_ADAPTEC=y +# CONFIG_ADAPTEC_STARFIRE is not set +CONFIG_NET_VENDOR_AGERE=y +# CONFIG_ET131X is not set +# CONFIG_NET_VENDOR_ALACRITECH is not set +CONFIG_NET_VENDOR_ALTEON=y +# CONFIG_ACENIC is not set +# CONFIG_ALTERA_TSE is not set +# CONFIG_NET_VENDOR_AMAZON is not set +CONFIG_NET_VENDOR_AMD=y +# CONFIG_AMD8111_ETH is not set +# CONFIG_PCNET32 is not set +# CONFIG_AMD_XGBE is not set +# CONFIG_PDS_CORE is not set +# CONFIG_NET_XGENE is not set +# CONFIG_NET_XGENE_V2 is not set +# CONFIG_NET_VENDOR_AQUANTIA is not set +# CONFIG_NET_VENDOR_ARC is not set +# CONFIG_NET_VENDOR_ASIX is not set +CONFIG_NET_VENDOR_ATHEROS=y +# CONFIG_ATL2 is not set +# CONFIG_ATL1 is not set +# CONFIG_ATL1E is not set +# CONFIG_ATL1C is not set +# CONFIG_ALX is not set +# CONFIG_CX_ECAT is not set +# CONFIG_NET_VENDOR_BROADCOM is not set +# CONFIG_NET_VENDOR_CADENCE is not set +# CONFIG_NET_CALXEDA_XGMAC is not set +# CONFIG_NET_VENDOR_CAVIUM is not set +CONFIG_NET_VENDOR_CHELSIO=y +# CONFIG_CHELSIO_T1 is not set +# CONFIG_CHELSIO_T3 is not set +# CONFIG_CHELSIO_T4 is not set +# CONFIG_CHELSIO_T4VF is not set +# CONFIG_NET_VENDOR_CIRRUS is not set +CONFIG_NET_VENDOR_CISCO=y +# CONFIG_ENIC is not set +# CONFIG_NET_VENDOR_CORTINA is not set +# CONFIG_NET_VENDOR_DAVICOM is not set +# CONFIG_DNET is not set +CONFIG_NET_VENDOR_DEC=y +# CONFIG_NET_TULIP is not set +CONFIG_NET_VENDOR_DLINK=y +# CONFIG_DL2K is not set +# CONFIG_SUNDANCE is not set +CONFIG_NET_VENDOR_EMULEX=y +# CONFIG_BE2NET is not set +# CONFIG_NET_VENDOR_ENGLEDER is not set +# CONFIG_NET_VENDOR_EZCHIP is not set +# CONFIG_NET_VENDOR_FARADAY is not set +# CONFIG_NET_VENDOR_FREESCALE is not set +# CONFIG_NET_VENDOR_FUNGIBLE is not set +# CONFIG_NET_VENDOR_GOOGLE is not set +# CONFIG_NET_VENDOR_HISILICON is not set +# CONFIG_NET_VENDOR_HUAWEI is not set +# CONFIG_NET_VENDOR_INTEL is not set +# CONFIG_JME is not set +# CONFIG_KORINA is not set +CONFIG_NET_VENDOR_ADI=y +# CONFIG_NET_VENDOR_LITEX is not set +# CONFIG_NET_VENDOR_MARVELL is not set +# CONFIG_NET_VENDOR_MEDIATEK is not set +CONFIG_NET_VENDOR_MELLANOX=y +# CONFIG_MLX4_EN is not set +# CONFIG_MLX5_CORE is not set +# CONFIG_MLXSW_CORE is not set +# CONFIG_MLXFW is not set +# CONFIG_MLXBF_GIGE is not set +# CONFIG_NET_VENDOR_MICREL is not set +# CONFIG_NET_VENDOR_MICROCHIP is not set +# CONFIG_NET_VENDOR_MICROSEMI is not set +# CONFIG_NET_VENDOR_MICROSOFT is not set +CONFIG_NET_VENDOR_MYRI=y +# CONFIG_MYRI10GE is not set +# CONFIG_FEALNX is not set +# CONFIG_NET_VENDOR_NI is not set +# CONFIG_NET_VENDOR_NATSEMI is not set +CONFIG_NET_VENDOR_NETERION=y +# CONFIG_S2IO is not set +# CONFIG_NET_VENDOR_NETRONOME is not set +CONFIG_NET_VENDOR_NVIDIA=y +# CONFIG_FORCEDETH is not set +# CONFIG_LPC_ENET is not set +CONFIG_NET_VENDOR_OKI=y +# CONFIG_PCH_GBE is not set +# CONFIG_ETHOC is not set +CONFIG_NET_VENDOR_PACKET_ENGINES=y +# CONFIG_HAMACHI is not set +# CONFIG_YELLOWFIN is not set +# CONFIG_NET_VENDOR_PENSANDO is not set +CONFIG_NET_VENDOR_QLOGIC=y +# CONFIG_QLA3XXX is not set +# CONFIG_QLCNIC is not set +# CONFIG_NETXEN_NIC is not set +# CONFIG_QED is not set +CONFIG_NET_VENDOR_BROCADE=y +# CONFIG_BNA is not set +# CONFIG_NET_VENDOR_QUALCOMM is not set +CONFIG_NET_VENDOR_RDC=y +# CONFIG_R6040 is not set +CONFIG_NET_VENDOR_REALTEK=y +# CONFIG_8139CP is not set +# CONFIG_8139TOO is not set +# CONFIG_R8169 is not set +CONFIG_R8125=m +CONFIG_REALTEK_PGTOOL=m +# CONFIG_NET_VENDOR_RENESAS is not set +# CONFIG_NET_VENDOR_ROCKER is not set +# CONFIG_NET_VENDOR_SAMSUNG is not set +# CONFIG_NET_VENDOR_SEEQ is not set +CONFIG_NET_VENDOR_SILAN=y +# CONFIG_SC92031 is not set +CONFIG_NET_VENDOR_SIS=y +# CONFIG_SIS900 is not set +# CONFIG_SIS190 is not set +# CONFIG_NET_VENDOR_SOLARFLARE is not set +# CONFIG_NET_VENDOR_SMSC is not set +# CONFIG_NET_VENDOR_SOCIONEXT is not set +CONFIG_NET_VENDOR_KY=y +CONFIG_X1_EMAC=y +# CONFIG_NET_VENDOR_STMICRO is not set +CONFIG_NET_VENDOR_SUN=y +# CONFIG_HAPPYMEAL is not set +# CONFIG_SUNGEM is not set +# CONFIG_CASSINI is not set +# CONFIG_NIU is not set +# CONFIG_NET_VENDOR_SUNPLUS is not set +# CONFIG_NET_VENDOR_SYNOPSYS is not set +CONFIG_NET_VENDOR_TEHUTI=y +# CONFIG_TEHUTI is not set +CONFIG_NET_VENDOR_TI=y +# CONFIG_TI_DAVINCI_EMAC is not set +# CONFIG_TI_DAVINCI_MDIO is not set +# CONFIG_TI_CPSW_PHY_SEL is not set +# CONFIG_TI_CPSW is not set +# CONFIG_TI_CPTS is not set +# CONFIG_TLAN is not set +# CONFIG_NET_VENDOR_VERTEXCOM is not set +# CONFIG_NET_VENDOR_VIA is not set +# CONFIG_NET_VENDOR_WANGXUN is not set +# CONFIG_NET_VENDOR_WIZNET is not set +# CONFIG_NET_VENDOR_XILINX is not set +CONFIG_ETHERCAT=y +# CONFIG_EC_MASTER is not set +# CONFIG_EC_GENERIC is not set +# CONFIG_EC_X1_EMAC is not set +# CONFIG_FDDI is not set +# CONFIG_HIPPI is not set +CONFIG_PHYLIB=y +CONFIG_SWPHY=y +# CONFIG_LED_TRIGGER_PHY is not set +CONFIG_PHYLIB_LEDS=y +CONFIG_FIXED_PHY=y + +# +# MII PHY device drivers +# +# CONFIG_AMD_PHY is not set +# CONFIG_MESON_GXL_PHY is not set +# CONFIG_ADIN_PHY is not set +# CONFIG_ADIN1100_PHY is not set +# CONFIG_AQUANTIA_PHY is not set +# CONFIG_AX88796B_PHY is not set +# CONFIG_BROADCOM_PHY is not set +# CONFIG_BCM54140_PHY is not set +# CONFIG_BCM63XX_PHY is not set +# CONFIG_BCM7XXX_PHY is not set +# CONFIG_BCM84881_PHY is not set +# CONFIG_BCM87XX_PHY is not set +# CONFIG_CICADA_PHY is not set +# CONFIG_CORTINA_PHY is not set +# CONFIG_DAVICOM_PHY is not set +# CONFIG_ICPLUS_PHY is not set +# CONFIG_LXT_PHY is not set +# CONFIG_INTEL_XWAY_PHY is not set +# CONFIG_LSI_ET1011C_PHY is not set +# CONFIG_MARVELL_PHY is not set +# CONFIG_MARVELL_10G_PHY is not set +# CONFIG_MARVELL_88Q2XXX_PHY is not set +# CONFIG_MARVELL_88X2222_PHY is not set +# CONFIG_MAXLINEAR_GPHY is not set +# CONFIG_MEDIATEK_GE_PHY is not set +# CONFIG_MICREL_PHY is not set +# CONFIG_MICROCHIP_T1S_PHY is not set +# CONFIG_MICROCHIP_PHY is not set +# CONFIG_MICROCHIP_T1_PHY is not set +# CONFIG_MICROSEMI_PHY is not set +CONFIG_MOTORCOMM_PHY=m +# CONFIG_NATIONAL_PHY is not set +# CONFIG_NXP_CBTX_PHY is not set +# CONFIG_NXP_C45_TJA11XX_PHY is not set +# CONFIG_NXP_TJA11XX_PHY is not set +# CONFIG_NCN26000_PHY is not set +# CONFIG_AT803X_PHY is not set +# CONFIG_QSEMI_PHY is not set +CONFIG_REALTEK_PHY=y +# CONFIG_RENESAS_PHY is not set +# CONFIG_ROCKCHIP_PHY is not set +# CONFIG_SMSC_PHY is not set +# CONFIG_STE10XP is not set +# CONFIG_TERANETICS_PHY is not set +# CONFIG_DP83822_PHY is not set +# CONFIG_DP83TC811_PHY is not set +# CONFIG_DP83848_PHY is not set +# CONFIG_DP83867_PHY is not set +# CONFIG_DP83869_PHY is not set +# CONFIG_DP83TD510_PHY is not set +# CONFIG_VITESSE_PHY is not set +# CONFIG_XILINX_GMII2RGMII is not set +# CONFIG_MICREL_KS8995MA is not set +# CONFIG_PSE_CONTROLLER is not set +CONFIG_CAN_DEV=y +# CONFIG_CAN_VCAN is not set +# CONFIG_CAN_VXCAN is not set +CONFIG_CAN_NETLINK=y +CONFIG_CAN_CALC_BITTIMING=y +CONFIG_CAN_RX_OFFLOAD=y +# CONFIG_CAN_AT91 is not set +# CONFIG_CAN_BXCAN is not set +# CONFIG_CAN_CAN327 is not set +CONFIG_CAN_FLEXCAN=y +# CONFIG_CAN_GRCAN is not set +# CONFIG_CAN_KVASER_PCIEFD is not set +# CONFIG_CAN_SLCAN is not set +# CONFIG_CAN_SUN4I is not set +# CONFIG_CAN_XILINXCAN is not set +# CONFIG_IPMS_CAN is not set +# CONFIG_CAN_C_CAN is not set +# CONFIG_CAN_CC770 is not set +# CONFIG_CAN_CTUCANFD is not set +# CONFIG_CAN_CTUCANFD_PCI is not set +# CONFIG_CAN_CTUCANFD_PLATFORM is not set +# CONFIG_CAN_IFI_CANFD is not set +# CONFIG_CAN_M_CAN is not set +# CONFIG_CAN_PEAK_PCIEFD is not set +# CONFIG_CAN_RCAR is not set +# CONFIG_CAN_RCAR_CANFD is not set +# CONFIG_CAN_SJA1000 is not set +# CONFIG_CAN_SOFTING is not set + +# +# CAN SPI interfaces +# +# CONFIG_CAN_HI311X is not set +# CONFIG_CAN_MCP251X is not set +# CONFIG_CAN_MCP251XFD is not set +# end of CAN SPI interfaces + +# +# CAN USB interfaces +# +# CONFIG_CAN_8DEV_USB is not set +# CONFIG_CAN_EMS_USB is not set +# CONFIG_CAN_ESD_USB is not set +# CONFIG_CAN_ETAS_ES58X is not set +# CONFIG_CAN_F81604 is not set +# CONFIG_CAN_GS_USB is not set +# CONFIG_CAN_KVASER_USB is not set +# CONFIG_CAN_MCBA_USB is not set +# CONFIG_CAN_PEAK_USB is not set +# CONFIG_CAN_UCAN is not set +# end of CAN USB interfaces + +# CONFIG_CAN_DEBUG_DEVICES is not set + +# +# MCTP Device Drivers +# +# CONFIG_MCTP_SERIAL is not set +# CONFIG_MCTP_TRANSPORT_I2C is not set +# end of MCTP Device Drivers + +CONFIG_MDIO_DEVICE=y +CONFIG_MDIO_BUS=y +CONFIG_FWNODE_MDIO=y +CONFIG_OF_MDIO=y +CONFIG_MDIO_DEVRES=y +# CONFIG_MDIO_SUN4I is not set +# CONFIG_MDIO_XGENE is not set +# CONFIG_MDIO_ASPEED is not set +# CONFIG_MDIO_BITBANG is not set +# CONFIG_MDIO_BCM_IPROC is not set +# CONFIG_MDIO_BCM_UNIMAC is not set +# CONFIG_MDIO_HISI_FEMAC is not set +# CONFIG_MDIO_MVUSB is not set +# CONFIG_MDIO_MSCC_MIIM is not set +# CONFIG_MDIO_MOXART is not set +# CONFIG_MDIO_OCTEON is not set +# CONFIG_MDIO_IPQ4019 is not set +# CONFIG_MDIO_IPQ8064 is not set +# CONFIG_MDIO_THUNDER is not set + +# +# MDIO Multiplexers +# +# CONFIG_MDIO_BUS_MUX_MESON_G12A is not set +# CONFIG_MDIO_BUS_MUX_MESON_GXL is not set +# CONFIG_MDIO_BUS_MUX_BCM6368 is not set +# CONFIG_MDIO_BUS_MUX_BCM_IPROC is not set +# CONFIG_MDIO_BUS_MUX_GPIO is not set +# CONFIG_MDIO_BUS_MUX_MULTIPLEXER is not set +# CONFIG_MDIO_BUS_MUX_MMIOREG is not set + +# +# PCS device drivers +# +# CONFIG_PCS_RZN1_MIIC is not set +# end of PCS device drivers + +CONFIG_PPP=y +CONFIG_PPP_BSDCOMP=m +CONFIG_PPP_DEFLATE=m +CONFIG_PPP_FILTER=y +CONFIG_PPP_MPPE=m +CONFIG_PPP_MULTILINK=y +CONFIG_PPPOATM=m +CONFIG_PPPOE=m +# CONFIG_PPPOE_HASH_BITS_1 is not set +# CONFIG_PPPOE_HASH_BITS_2 is not set +CONFIG_PPPOE_HASH_BITS_4=y +# CONFIG_PPPOE_HASH_BITS_8 is not set +CONFIG_PPPOE_HASH_BITS=4 +CONFIG_PPTP=m +CONFIG_PPPOL2TP=m +CONFIG_PPP_ASYNC=m +CONFIG_PPP_SYNC_TTY=m +CONFIG_SLIP=m +CONFIG_SLHC=y +CONFIG_SLIP_COMPRESSED=y +CONFIG_SLIP_SMART=y +CONFIG_SLIP_MODE_SLIP6=y +CONFIG_USB_NET_DRIVERS=y +# CONFIG_USB_CATC is not set +# CONFIG_USB_KAWETH is not set +# CONFIG_USB_PEGASUS is not set +# CONFIG_USB_RTL8150 is not set +CONFIG_USB_RTL8152=m +# CONFIG_USB_LAN78XX is not set +CONFIG_USB_USBNET=y +# CONFIG_USB_NET_AX8817X is not set +# CONFIG_USB_NET_AX88179_178A is not set +CONFIG_USB_NET_CDCETHER=y +# CONFIG_USB_NET_CDC_EEM is not set +CONFIG_USB_NET_CDC_NCM=m +# CONFIG_USB_NET_HUAWEI_CDC_NCM is not set +# CONFIG_USB_NET_CDC_MBIM is not set +# CONFIG_USB_NET_DM9601 is not set +# CONFIG_USB_NET_SR9700 is not set +# CONFIG_USB_NET_SR9800 is not set +# CONFIG_USB_NET_SMSC75XX is not set +# CONFIG_USB_NET_SMSC95XX is not set +# CONFIG_USB_NET_GL620A is not set +# CONFIG_USB_NET_NET1080 is not set +# CONFIG_USB_NET_PLUSB is not set +# CONFIG_USB_NET_MCS7830 is not set +# CONFIG_USB_NET_RNDIS_HOST is not set +CONFIG_USB_NET_CDC_SUBSET_ENABLE=y +CONFIG_USB_NET_CDC_SUBSET=y +# CONFIG_USB_ALI_M5632 is not set +# CONFIG_USB_AN2720 is not set +CONFIG_USB_BELKIN=y +CONFIG_USB_ARMLINUX=y +# CONFIG_USB_EPSON2888 is not set +# CONFIG_USB_KC2190 is not set +CONFIG_USB_NET_ZAURUS=y +# CONFIG_USB_NET_CX82310_ETH is not set +# CONFIG_USB_NET_KALMIA is not set +CONFIG_USB_NET_QMI_WWAN_F=m +CONFIG_USB_NET_QMI_WWAN=m +# CONFIG_USB_HSO is not set +# CONFIG_USB_NET_INT51X1 is not set +# CONFIG_USB_CDC_PHONET is not set +# CONFIG_USB_IPHETH is not set +# CONFIG_USB_SIERRA_NET is not set +# CONFIG_USB_VL600 is not set +# CONFIG_USB_NET_CH9200 is not set +# CONFIG_USB_NET_AQC111 is not set +CONFIG_USB_RTL8153_ECM=m +CONFIG_USB_NET_ASIX=m +CONFIG_WLAN=y +# CONFIG_WLAN_VENDOR_ADMTEK is not set +# CONFIG_WLAN_VENDOR_ATH is not set +# CONFIG_WLAN_VENDOR_ATMEL is not set +CONFIG_WLAN_VENDOR_BROADCOM=y +# CONFIG_B43 is not set +# CONFIG_B43LEGACY is not set +# CONFIG_BRCMSMAC is not set +# CONFIG_BRCMFMAC is not set +# CONFIG_WLAN_VENDOR_CISCO is not set +# CONFIG_WLAN_VENDOR_INTEL is not set +# CONFIG_WLAN_VENDOR_INTERSIL is not set +# CONFIG_WLAN_VENDOR_MARVELL is not set +# CONFIG_WLAN_VENDOR_MEDIATEK is not set +# CONFIG_WLAN_VENDOR_MICROCHIP is not set +# CONFIG_WLAN_VENDOR_PURELIFI is not set +# CONFIG_WLAN_VENDOR_RALINK is not set +CONFIG_WLAN_VENDOR_REALTEK=y +# CONFIG_RTL8180 is not set +# CONFIG_RTL8187 is not set +CONFIG_RTL_CARDS=m +# CONFIG_RTL8192CE is not set +# CONFIG_RTL8192SE is not set +# CONFIG_RTL8192DE is not set +# CONFIG_RTL8723AE is not set +# CONFIG_RTL8723BE is not set +# CONFIG_RTL8188EE is not set +# CONFIG_RTL8192EE is not set +# CONFIG_RTL8821AE is not set +CONFIG_RTL8192CU=m +CONFIG_RTLWIFI=m +CONFIG_RTLWIFI_USB=m +CONFIG_RTLWIFI_DEBUG=y +CONFIG_RTL8192C_COMMON=m +# CONFIG_RTL8XXXU is not set +CONFIG_RTW88=m +CONFIG_RTW88_CORE=m +CONFIG_RTW88_USB=m +CONFIG_RTW88_8822B=m +CONFIG_RTW88_8822C=m +CONFIG_RTW88_8723D=m +CONFIG_RTW88_8821C=m +# CONFIG_RTW88_8822BE is not set +# CONFIG_RTW88_8822BS is not set +CONFIG_RTW88_8822BU=m +# CONFIG_RTW88_8822CE is not set +# CONFIG_RTW88_8822CS is not set +CONFIG_RTW88_8822CU=m +# CONFIG_RTW88_8723DE is not set +# CONFIG_RTW88_8723DS is not set +CONFIG_RTW88_8723DU=m +# CONFIG_RTW88_8821CE is not set +# CONFIG_RTW88_8821CS is not set +CONFIG_RTW88_8821CU=m +# CONFIG_RTW88_DEBUG is not set +# CONFIG_RTW88_DEBUGFS is not set +# CONFIG_RTW89 is not set +CONFIG_RTL8852BS=m +CONFIG_RTL8852BE=m +# CONFIG_WLAN_VENDOR_RSI is not set +# CONFIG_WLAN_VENDOR_SILABS is not set +# CONFIG_WLAN_VENDOR_ST is not set +# CONFIG_WLAN_VENDOR_TI is not set +# CONFIG_WLAN_VENDOR_ZYDAS is not set +# CONFIG_WLAN_VENDOR_QUANTENNA is not set +CONFIG_AIC_WLAN_SUPPORT=y +CONFIG_AIC_INTF_SDIO=y +# CONFIG_AIC_INTF_USB is not set +CONFIG_AIC_IRQ_ACTIVE_UNSET=y +# CONFIG_AIC_IRQ_ACTIVE_HIGH is not set +# CONFIG_AIC_IRQ_ACTIVE_RISING is not set +# CONFIG_AIC_IRQ_ACTIVE_LOW is not set +# CONFIG_AIC_IRQ_ACTIVE_FALLING is not set +CONFIG_AIC8800_WLAN_SUPPORT=m +# CONFIG_AIC8800_BTLPM_SUPPORT is not set +# CONFIG_USB_NET_RNDIS_WLAN is not set +CONFIG_BCMDHD=m +CONFIG_BCMDHD_FW_PATH="/etc/firmware/fw_bcmdhd.bin" +CONFIG_BCMDHD_NVRAM_PATH="/etc/firmware/nvram.txt" +CONFIG_BCMDHD_SDIO=y +# CONFIG_BCMDHD_PCIE is not set +# CONFIG_BCMDHD_USB is not set +CONFIG_BCMDHD_OOB=y +# CONFIG_BCMDHD_SDIO_IRQ is not set +# CONFIG_MAC80211_HWSIM is not set +# CONFIG_VIRT_WIFI is not set +# CONFIG_WAN is not set +CONFIG_IEEE802154_DRIVERS=m + +# +# Wireless WAN +# +# CONFIG_WWAN is not set +# end of Wireless WAN + +# CONFIG_VMXNET3 is not set +# CONFIG_NETDEVSIM is not set +CONFIG_NET_FAILOVER=y +# CONFIG_ISDN is not set + +# +# Input device support +# +CONFIG_INPUT=y +CONFIG_INPUT_LEDS=y +# CONFIG_INPUT_FF_MEMLESS is not set +# CONFIG_INPUT_SPARSEKMAP is not set +# CONFIG_INPUT_MATRIXKMAP is not set +CONFIG_INPUT_VIVALDIFMAP=y + +# +# Userland interfaces +# +# CONFIG_INPUT_MOUSEDEV is not set +# CONFIG_INPUT_JOYDEV is not set +CONFIG_INPUT_EVDEV=y +# CONFIG_INPUT_EVBUG is not set + +# +# Input Device Drivers +# +CONFIG_INPUT_KEYBOARD=y +# CONFIG_KEYBOARD_ADC is not set +# CONFIG_KEYBOARD_ADP5588 is not set +# CONFIG_KEYBOARD_ADP5589 is not set +CONFIG_KEYBOARD_ATKBD=y +# CONFIG_KEYBOARD_QT1050 is not set +# CONFIG_KEYBOARD_QT1070 is not set +# CONFIG_KEYBOARD_QT2160 is not set +# CONFIG_KEYBOARD_CLPS711X is not set +# CONFIG_KEYBOARD_DLINK_DIR685 is not set +# CONFIG_KEYBOARD_LKKBD is not set +# CONFIG_KEYBOARD_EP93XX is not set +CONFIG_KEYBOARD_GPIO=y +# CONFIG_KEYBOARD_GPIO_POLLED is not set +# CONFIG_KEYBOARD_TCA6416 is not set +# CONFIG_KEYBOARD_TCA8418 is not set +# CONFIG_KEYBOARD_MATRIX is not set +# CONFIG_KEYBOARD_LM8323 is not set +# CONFIG_KEYBOARD_LM8333 is not set +# CONFIG_KEYBOARD_LPC32XX is not set +# CONFIG_KEYBOARD_MAX7359 is not set +# CONFIG_KEYBOARD_MCS is not set +# CONFIG_KEYBOARD_MPR121 is not set +# CONFIG_KEYBOARD_SNVS_PWRKEY is not set +# CONFIG_KEYBOARD_IMX is not set +# CONFIG_KEYBOARD_NEWTON is not set +# CONFIG_KEYBOARD_NOMADIK is not set +# CONFIG_KEYBOARD_TEGRA is not set +# CONFIG_KEYBOARD_OPENCORES is not set +# CONFIG_KEYBOARD_PINEPHONE is not set +# CONFIG_KEYBOARD_PXA27x is not set +# CONFIG_KEYBOARD_SAMSUNG is not set +# CONFIG_KEYBOARD_GOLDFISH_EVENTS is not set +# CONFIG_KEYBOARD_STOWAWAY is not set +# CONFIG_KEYBOARD_ST_KEYSCAN is not set +# CONFIG_KEYBOARD_SUNKBD is not set +# CONFIG_KEYBOARD_SH_KEYSC is not set +# CONFIG_KEYBOARD_OMAP4 is not set +# CONFIG_KEYBOARD_SPEAR is not set +# CONFIG_KEYBOARD_TM2_TOUCHKEY is not set +# CONFIG_KEYBOARD_XTKBD is not set +# CONFIG_KEYBOARD_CAP11XX is not set +# CONFIG_KEYBOARD_BCM is not set +# CONFIG_KEYBOARD_MT6779 is not set +# CONFIG_KEYBOARD_MTK_PMIC is not set +# CONFIG_KEYBOARD_CYPRESS_SF is not set +# CONFIG_INPUT_MOUSE is not set +# CONFIG_INPUT_JOYSTICK is not set +# CONFIG_INPUT_TABLET is not set +CONFIG_INPUT_TOUCHSCREEN=y +CONFIG_TOUCHSCREEN_GT9XX=y +# CONFIG_TOUCHSCREEN_ADS7846 is not set +# CONFIG_TOUCHSCREEN_AD7877 is not set +# CONFIG_TOUCHSCREEN_AD7879 is not set +# CONFIG_TOUCHSCREEN_ADC is not set +# CONFIG_TOUCHSCREEN_AR1021_I2C is not set +# CONFIG_TOUCHSCREEN_ATMEL_MXT is not set +# CONFIG_TOUCHSCREEN_AUO_PIXCIR is not set +# CONFIG_TOUCHSCREEN_BU21013 is not set +# CONFIG_TOUCHSCREEN_BU21029 is not set +# CONFIG_TOUCHSCREEN_CHIPONE_ICN8318 is not set +# CONFIG_TOUCHSCREEN_CY8CTMA140 is not set +# CONFIG_TOUCHSCREEN_CY8CTMG110 is not set +# CONFIG_TOUCHSCREEN_CYTTSP_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP4_CORE is not set +# CONFIG_TOUCHSCREEN_CYTTSP5 is not set +# CONFIG_TOUCHSCREEN_DYNAPRO is not set +# CONFIG_TOUCHSCREEN_HAMPSHIRE is not set +# CONFIG_TOUCHSCREEN_EETI is not set +# CONFIG_TOUCHSCREEN_EGALAX is not set +# CONFIG_TOUCHSCREEN_EGALAX_SERIAL is not set +# CONFIG_TOUCHSCREEN_EXC3000 is not set +# CONFIG_TOUCHSCREEN_FUJITSU is not set +CONFIG_TOUCHSCREEN_GOODIX=y +# CONFIG_TOUCHSCREEN_HIDEEP is not set +# CONFIG_TOUCHSCREEN_HYCON_HY46XX is not set +# CONFIG_TOUCHSCREEN_HYNITRON_CSTXXX is not set +# CONFIG_TOUCHSCREEN_ILI210X is not set +# CONFIG_TOUCHSCREEN_ILITEK is not set +# CONFIG_TOUCHSCREEN_IPROC is not set +# CONFIG_TOUCHSCREEN_S6SY761 is not set +# CONFIG_TOUCHSCREEN_GUNZE is not set +# CONFIG_TOUCHSCREEN_EKTF2127 is not set +# CONFIG_TOUCHSCREEN_ELAN is not set +# CONFIG_TOUCHSCREEN_ELO is not set +# CONFIG_TOUCHSCREEN_WACOM_W8001 is not set +# CONFIG_TOUCHSCREEN_WACOM_I2C is not set +# CONFIG_TOUCHSCREEN_MAX11801 is not set +# CONFIG_TOUCHSCREEN_MCS5000 is not set +# CONFIG_TOUCHSCREEN_MMS114 is not set +# CONFIG_TOUCHSCREEN_MELFAS_MIP4 is not set +# CONFIG_TOUCHSCREEN_MSG2638 is not set +# CONFIG_TOUCHSCREEN_MTOUCH is not set +# CONFIG_TOUCHSCREEN_NOVATEK_NVT_TS is not set +# CONFIG_TOUCHSCREEN_IMAGIS is not set +# CONFIG_TOUCHSCREEN_IMX6UL_TSC is not set +# CONFIG_TOUCHSCREEN_INEXIO is not set +# CONFIG_TOUCHSCREEN_PENMOUNT is not set +# CONFIG_TOUCHSCREEN_EDT_FT5X06 is not set +# CONFIG_TOUCHSCREEN_RASPBERRYPI_FW is not set +# CONFIG_TOUCHSCREEN_MIGOR is not set +# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set +# CONFIG_TOUCHSCREEN_TOUCHWIN is not set +# CONFIG_TOUCHSCREEN_PIXCIR is not set +# CONFIG_TOUCHSCREEN_WDT87XX_I2C is not set +# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set +# CONFIG_TOUCHSCREEN_TOUCHIT213 is not set +# CONFIG_TOUCHSCREEN_TS4800 is not set +# CONFIG_TOUCHSCREEN_TSC_SERIO is not set +# CONFIG_TOUCHSCREEN_TSC2004 is not set +# CONFIG_TOUCHSCREEN_TSC2005 is not set +# CONFIG_TOUCHSCREEN_TSC2007 is not set +# CONFIG_TOUCHSCREEN_RM_TS is not set +# CONFIG_TOUCHSCREEN_SILEAD is not set +# CONFIG_TOUCHSCREEN_SIS_I2C is not set +# CONFIG_TOUCHSCREEN_ST1232 is not set +# CONFIG_TOUCHSCREEN_STMFTS is not set +# CONFIG_TOUCHSCREEN_SUN4I is not set +# CONFIG_TOUCHSCREEN_SUR40 is not set +# CONFIG_TOUCHSCREEN_SURFACE3_SPI is not set +# CONFIG_TOUCHSCREEN_SX8654 is not set +# CONFIG_TOUCHSCREEN_TPS6507X is not set +# CONFIG_TOUCHSCREEN_ZET6223 is not set +# CONFIG_TOUCHSCREEN_ZFORCE is not set +# CONFIG_TOUCHSCREEN_COLIBRI_VF50 is not set +# CONFIG_TOUCHSCREEN_ROHM_BU21023 is not set +# CONFIG_TOUCHSCREEN_IQS5XX is not set +# CONFIG_TOUCHSCREEN_IQS7211 is not set +# CONFIG_TOUCHSCREEN_ZINITIX is not set +# CONFIG_TOUCHSCREEN_HIMAX_HX83112B is not set +CONFIG_TOUCHSCREEN_CHIPONE_TDDI=y +CONFIG_TOUCHSCREEN_CHSC5XXX=y +CONFIG_CHSC5XXX_TOUCHPANEL_DRIVER=y +CONFIG_SEMI_TOUCH_AUTO_UPDATE_EN=y +# CONFIG_SEMI_TOUCH_APK_NODE_EN is not set +# CONFIG_TOUCHSCREEN_FTS is not set +CONFIG_INPUT_MISC=y +# CONFIG_INPUT_AD714X is not set +# CONFIG_INPUT_ARIEL_PWRBUTTON is not set +# CONFIG_INPUT_ATMEL_CAPTOUCH is not set +# CONFIG_INPUT_BBNSM_PWRKEY is not set +# CONFIG_INPUT_BMA150 is not set +# CONFIG_INPUT_E3X0_BUTTON is not set +# CONFIG_INPUT_MMA8450 is not set +# CONFIG_INPUT_GPIO_BEEPER is not set +# CONFIG_INPUT_GPIO_DECODER is not set +# CONFIG_INPUT_GPIO_VIBRA is not set +# CONFIG_INPUT_ATI_REMOTE2 is not set +# CONFIG_INPUT_KEYSPAN_REMOTE is not set +# CONFIG_INPUT_KXTJ9 is not set +# CONFIG_INPUT_POWERMATE is not set +# CONFIG_INPUT_YEALINK is not set +# CONFIG_INPUT_CM109 is not set +# CONFIG_INPUT_REGULATOR_HAPTIC is not set +CONFIG_INPUT_UINPUT=y +# CONFIG_INPUT_PCF8574 is not set +# CONFIG_INPUT_PWM_BEEPER is not set +# CONFIG_INPUT_PWM_VIBRA is not set +# CONFIG_INPUT_GPIO_ROTARY_ENCODER is not set +# CONFIG_INPUT_DA7280_HAPTICS is not set +# CONFIG_INPUT_ADXL34X is not set +# CONFIG_INPUT_IBM_PANEL is not set +# CONFIG_INPUT_IMS_PCU is not set +# CONFIG_INPUT_IQS269A is not set +# CONFIG_INPUT_IQS626A is not set +# CONFIG_INPUT_IQS7222 is not set +# CONFIG_INPUT_CMA3000 is not set +# CONFIG_INPUT_DRV260X_HAPTICS is not set +# CONFIG_INPUT_DRV2665_HAPTICS is not set +# CONFIG_INPUT_DRV2667_HAPTICS is not set +# CONFIG_INPUT_HISI_POWERKEY is not set +CONFIG_INPUT_KY_POWERKEY=y +CONFIG_HALL_SENSOR_AS1911=y +# CONFIG_INPUT_SC27XX_VIBRA is not set +# CONFIG_INPUT_RT5120_PWRKEY is not set +# CONFIG_RMI4_CORE is not set + +# +# Hardware I/O ports +# +CONFIG_SERIO=y +CONFIG_SERIO_SERPORT=y +# CONFIG_SERIO_PCIPS2 is not set +CONFIG_SERIO_LIBPS2=y +# CONFIG_SERIO_RAW is not set +# CONFIG_SERIO_ALTERA_PS2 is not set +# CONFIG_SERIO_PS2MULT is not set +# CONFIG_SERIO_ARC_PS2 is not set +# CONFIG_SERIO_APBPS2 is not set +# CONFIG_SERIO_OLPC_APSP is not set +# CONFIG_SERIO_SUN4I_PS2 is not set +# CONFIG_SERIO_GPIO_PS2 is not set +# CONFIG_USERIO is not set +# CONFIG_GAMEPORT is not set +# end of Hardware I/O ports +# end of Input device support + +# +# Character devices +# +CONFIG_TTY=y +CONFIG_VT=y +CONFIG_CONSOLE_TRANSLATIONS=y +CONFIG_VT_CONSOLE=y +CONFIG_VT_CONSOLE_SLEEP=y +CONFIG_HW_CONSOLE=y +CONFIG_VT_HW_CONSOLE_BINDING=y +CONFIG_UNIX98_PTYS=y +CONFIG_LEGACY_PTYS=y +CONFIG_LEGACY_PTY_COUNT=256 +CONFIG_LEGACY_TIOCSTI=y +CONFIG_LDISC_AUTOLOAD=y + +# +# Serial drivers +# +CONFIG_SERIAL_EARLYCON=y +# CONFIG_SERIAL_8250 is not set + +# +# Non-8250 serial port support +# +# CONFIG_SERIAL_AMBA_PL010 is not set +# CONFIG_SERIAL_EARLYCON_SEMIHOST is not set +CONFIG_SERIAL_EARLYCON_RISCV_SBI=y +# CONFIG_SERIAL_ATMEL is not set +# CONFIG_SERIAL_MESON is not set +# CONFIG_SERIAL_CLPS711X is not set +# CONFIG_SERIAL_SAMSUNG is not set +# CONFIG_SERIAL_TEGRA is not set +# CONFIG_SERIAL_TEGRA_TCU is not set +# CONFIG_SERIAL_MAX3100 is not set +# CONFIG_SERIAL_MAX310X is not set +CONFIG_SERIAL_PXA=y +# CONFIG_SERIAL_PXA_NON8250 is not set +CONFIG_SERIAL_PXA_KY_X1=y +CONFIG_SERIAL_PXA_CONSOLE=y +# CONFIG_SERIAL_IMX is not set +# CONFIG_SERIAL_IMX_EARLYCON is not set +# CONFIG_SERIAL_UARTLITE is not set +# CONFIG_SERIAL_SH_SCI is not set +# CONFIG_SERIAL_HS_LPC32XX is not set +CONFIG_SERIAL_CORE=y +CONFIG_SERIAL_CORE_CONSOLE=y +# CONFIG_SERIAL_ICOM is not set +# CONFIG_SERIAL_JSM is not set +# CONFIG_SERIAL_MSM is not set +# CONFIG_SERIAL_VT8500 is not set +# CONFIG_SERIAL_OMAP is not set +# CONFIG_SERIAL_SIFIVE is not set +# CONFIG_SERIAL_LANTIQ is not set +# CONFIG_SERIAL_SCCNXP is not set +# CONFIG_SERIAL_SC16IS7XX is not set +# CONFIG_SERIAL_TIMBERDALE is not set +# CONFIG_SERIAL_BCM63XX is not set +# CONFIG_SERIAL_ALTERA_JTAGUART is not set +# CONFIG_SERIAL_ALTERA_UART is not set +# CONFIG_SERIAL_PCH_UART is not set +# CONFIG_SERIAL_MXS_AUART is not set +# CONFIG_SERIAL_XILINX_PS_UART is not set +# CONFIG_SERIAL_MPS2_UART is not set +# CONFIG_SERIAL_ARC is not set +# CONFIG_SERIAL_RP2 is not set +# CONFIG_SERIAL_FSL_LPUART is not set +# CONFIG_SERIAL_FSL_LINFLEXUART is not set +# CONFIG_SERIAL_CONEXANT_DIGICOLOR is not set +# CONFIG_SERIAL_ST_ASC is not set +# CONFIG_SERIAL_SPRD is not set +# CONFIG_SERIAL_STM32 is not set +# CONFIG_SERIAL_MVEBU_UART is not set +# CONFIG_SERIAL_OWL is not set +# CONFIG_SERIAL_RDA is not set +# CONFIG_SERIAL_MILBEAUT_USIO is not set +# CONFIG_SERIAL_LITEUART is not set +# CONFIG_SERIAL_SUNPLUS is not set +# CONFIG_SERIAL_NUVOTON_MA35D1 is not set +# end of Serial drivers + +# CONFIG_SERIAL_NONSTANDARD is not set +# CONFIG_N_GSM is not set +# CONFIG_NOZOMI is not set +# CONFIG_NULL_TTY is not set +CONFIG_HVC_DRIVER=y +# CONFIG_HVC_RISCV_SBI is not set +# CONFIG_RPMSG_TTY is not set +CONFIG_SERIAL_DEV_BUS=y +CONFIG_SERIAL_DEV_CTRL_TTYPORT=y +# CONFIG_TTY_PRINTK is not set +CONFIG_VIRTIO_CONSOLE=y +# CONFIG_IPMI_HANDLER is not set +# CONFIG_ASPEED_KCS_IPMI_BMC is not set +# CONFIG_NPCM7XX_KCS_IPMI_BMC is not set +# CONFIG_ASPEED_BT_IPMI_BMC is not set +# CONFIG_SSIF_IPMI_BMC is not set +# CONFIG_IPMB_DEVICE_INTERFACE is not set +CONFIG_HW_RANDOM=y +# CONFIG_HW_RANDOM_TIMERIOMEM is not set +CONFIG_HW_RANDOM_INTEL=y +CONFIG_HW_RANDOM_AMD=y +CONFIG_HW_RANDOM_ATMEL=y +# CONFIG_HW_RANDOM_BA431 is not set +CONFIG_HW_RANDOM_BCM2835=y +CONFIG_HW_RANDOM_IPROC_RNG200=y +CONFIG_HW_RANDOM_GEODE=y +CONFIG_HW_RANDOM_IXP4XX=y +CONFIG_HW_RANDOM_OMAP=y +CONFIG_HW_RANDOM_OMAP3_ROM=y +# CONFIG_HW_RANDOM_VIRTIO is not set +CONFIG_HW_RANDOM_MXC_RNGA=y +CONFIG_HW_RANDOM_IMX_RNGC=y +CONFIG_HW_RANDOM_INGENIC_RNG=y +CONFIG_HW_RANDOM_INGENIC_TRNG=y +CONFIG_HW_RANDOM_NOMADIK=y +CONFIG_HW_RANDOM_HISI=y +# CONFIG_HW_RANDOM_HISTB is not set +# CONFIG_HW_RANDOM_ST is not set +CONFIG_HW_RANDOM_XGENE=y +CONFIG_HW_RANDOM_STM32=y +# CONFIG_HW_RANDOM_PIC32 is not set +# CONFIG_HW_RANDOM_MESON is not set +# CONFIG_HW_RANDOM_MTK is not set +# CONFIG_HW_RANDOM_EXYNOS is not set +# CONFIG_HW_RANDOM_NPCM is not set +CONFIG_HW_RANDOM_KEYSTONE=y +# CONFIG_HW_RANDOM_CCTRNG is not set +# CONFIG_HW_RANDOM_XIPHERA is not set +CONFIG_HW_RANDOM_CN10K=y +# CONFIG_HW_RANDOM_JH7110 is not set +CONFIG_HW_RANDOM_KY=y +# CONFIG_APPLICOM is not set +CONFIG_DEVMEM=y +CONFIG_DEVPORT=y +CONFIG_TCG_TPM=y +CONFIG_HW_RANDOM_TPM=y +# CONFIG_TCG_TIS is not set +# CONFIG_TCG_TIS_SPI is not set +# CONFIG_TCG_TIS_I2C is not set +# CONFIG_TCG_TIS_SYNQUACER is not set +# CONFIG_TCG_TIS_I2C_CR50 is not set +# CONFIG_TCG_TIS_I2C_ATMEL is not set +# CONFIG_TCG_TIS_I2C_INFINEON is not set +# CONFIG_TCG_TIS_I2C_NUVOTON is not set +# CONFIG_TCG_ATMEL is not set +# CONFIG_TCG_VTPM_PROXY is not set +# CONFIG_TCG_TIS_ST33ZP24_I2C is not set +# CONFIG_TCG_TIS_ST33ZP24_SPI is not set +# CONFIG_XILLYBUS is not set +# CONFIG_XILLYUSB is not set +# end of Character devices + +# +# I2C support +# +CONFIG_I2C=y +CONFIG_I2C_BOARDINFO=y +CONFIG_I2C_COMPAT=y +CONFIG_I2C_CHARDEV=y +# CONFIG_I2C_MUX is not set +# CONFIG_I2C_ATR is not set +CONFIG_I2C_HELPER_AUTO=y +CONFIG_I2C_ALGOBIT=m + +# +# I2C Hardware Bus support +# + +# +# PC SMBus host controller drivers +# +# CONFIG_I2C_ALI1535 is not set +# CONFIG_I2C_ALI1563 is not set +# CONFIG_I2C_ALI15X3 is not set +# CONFIG_I2C_AMD756 is not set +# CONFIG_I2C_AMD8111 is not set +# CONFIG_I2C_HIX5HD2 is not set +# CONFIG_I2C_I801 is not set +# CONFIG_I2C_ISCH is not set +# CONFIG_I2C_PIIX4 is not set +# CONFIG_I2C_NFORCE2 is not set +# CONFIG_I2C_NVIDIA_GPU is not set +# CONFIG_I2C_SIS5595 is not set +# CONFIG_I2C_SIS630 is not set +# CONFIG_I2C_SIS96X is not set +CONFIG_I2C_KY_X1=y +# CONFIG_I2C_VIA is not set +# CONFIG_I2C_VIAPRO is not set + +# +# I2C system bus drivers (mostly embedded / system-on-chip) +# +# CONFIG_I2C_ALTERA is not set +# CONFIG_I2C_ASPEED is not set +# CONFIG_I2C_AT91 is not set +# CONFIG_I2C_AXXIA is not set +# CONFIG_I2C_BCM2835 is not set +# CONFIG_I2C_BCM_IPROC is not set +# CONFIG_I2C_BCM_KONA is not set +# CONFIG_I2C_BRCMSTB is not set +# CONFIG_I2C_CADENCE is not set +# CONFIG_I2C_CBUS_GPIO is not set +# CONFIG_I2C_DAVINCI is not set +# CONFIG_I2C_DESIGNWARE_PLATFORM is not set +# CONFIG_I2C_DESIGNWARE_PCI is not set +# CONFIG_I2C_DIGICOLOR is not set +# CONFIG_I2C_EG20T is not set +# CONFIG_I2C_EMEV2 is not set +# CONFIG_I2C_EXYNOS5 is not set +# CONFIG_I2C_GPIO is not set +# CONFIG_I2C_GXP is not set +# CONFIG_I2C_HIGHLANDER is not set +# CONFIG_I2C_HISI is not set +# CONFIG_I2C_IMG is not set +# CONFIG_I2C_IMX is not set +# CONFIG_I2C_IMX_LPI2C is not set +# CONFIG_I2C_IOP3XX is not set +# CONFIG_I2C_JZ4780 is not set +# CONFIG_I2C_LPC2K is not set +# CONFIG_I2C_LS2X is not set +# CONFIG_I2C_MESON is not set +# CONFIG_I2C_MICROCHIP_CORE is not set +# CONFIG_I2C_MT65XX is not set +# CONFIG_I2C_MT7621 is not set +# CONFIG_I2C_MV64XXX is not set +# CONFIG_I2C_MXS is not set +# CONFIG_I2C_NPCM is not set +# CONFIG_I2C_OCORES is not set +# CONFIG_I2C_OMAP is not set +# CONFIG_I2C_OWL is not set +# CONFIG_I2C_APPLE is not set +# CONFIG_I2C_PCA_PLATFORM is not set +# CONFIG_I2C_PNX is not set +# CONFIG_I2C_PXA is not set +# CONFIG_I2C_QCOM_CCI is not set +# CONFIG_I2C_QUP is not set +# CONFIG_I2C_RIIC is not set +# CONFIG_I2C_RK3X is not set +# CONFIG_I2C_RZV2M is not set +# CONFIG_I2C_S3C2410 is not set +# CONFIG_I2C_SH_MOBILE is not set +# CONFIG_I2C_SIMTEC is not set +# CONFIG_I2C_SPRD is not set +# CONFIG_I2C_ST is not set +# CONFIG_I2C_STM32F4 is not set +# CONFIG_I2C_STM32F7 is not set +# CONFIG_I2C_SUN6I_P2WI is not set +# CONFIG_I2C_SYNQUACER is not set +# CONFIG_I2C_TEGRA is not set +# CONFIG_I2C_TEGRA_BPMP is not set +# CONFIG_I2C_UNIPHIER is not set +# CONFIG_I2C_UNIPHIER_F is not set +# CONFIG_I2C_VERSATILE is not set +# CONFIG_I2C_WMT is not set +# CONFIG_I2C_THUNDERX is not set +# CONFIG_I2C_XILINX is not set +# CONFIG_I2C_XLP9XX is not set +# CONFIG_I2C_RCAR is not set + +# +# External I2C/SMBus adapter drivers +# +# CONFIG_I2C_DIOLAN_U2C is not set +# CONFIG_I2C_CP2615 is not set +# CONFIG_I2C_PCI1XXXX is not set +# CONFIG_I2C_ROBOTFUZZ_OSIF is not set +# CONFIG_I2C_TAOS_EVM is not set +# CONFIG_I2C_TINY_USB is not set + +# +# Other I2C/SMBus bus drivers +# +# CONFIG_I2C_MLXCPLD is not set +# CONFIG_I2C_VIRTIO is not set +# end of I2C Hardware Bus support + +# CONFIG_I2C_STUB is not set +CONFIG_I2C_SLAVE=y +CONFIG_I2C_SLAVE_EEPROM=y +# CONFIG_I2C_SLAVE_TESTUNIT is not set +# CONFIG_I2C_DEBUG_CORE is not set +# CONFIG_I2C_DEBUG_ALGO is not set +# CONFIG_I2C_DEBUG_BUS is not set +# end of I2C support + +# CONFIG_I3C is not set +CONFIG_SPI=y +# CONFIG_SPI_DEBUG is not set +CONFIG_SPI_MASTER=y +CONFIG_SPI_MEM=y + +# +# SPI Master Controller Drivers +# +# CONFIG_SPI_ALTERA is not set +# CONFIG_SPI_ALTERA_CORE is not set +# CONFIG_SPI_AMLOGIC_SPIFC_A1 is not set +# CONFIG_SPI_AR934X is not set +# CONFIG_SPI_ATH79 is not set +# CONFIG_SPI_ARMADA_3700 is not set +# CONFIG_SPI_ASPEED_SMC is not set +# CONFIG_SPI_ATMEL is not set +# CONFIG_SPI_ATMEL_QUADSPI is not set +# CONFIG_SPI_AXI_SPI_ENGINE is not set +# CONFIG_SPI_BCM2835 is not set +# CONFIG_SPI_BCM2835AUX is not set +# CONFIG_SPI_BCM63XX is not set +# CONFIG_SPI_BCM63XX_HSSPI is not set +# CONFIG_SPI_BCM_QSPI is not set +# CONFIG_SPI_BCMBCA_HSSPI is not set +# CONFIG_SPI_BITBANG is not set +# CONFIG_SPI_CADENCE is not set +# CONFIG_SPI_CADENCE_QUADSPI is not set +# CONFIG_SPI_CADENCE_XSPI is not set +# CONFIG_SPI_CLPS711X is not set +# CONFIG_SPI_DAVINCI is not set +# CONFIG_SPI_DESIGNWARE_EXT is not set +CONFIG_SPI_X1=y +CONFIG_SPI_X1_QSPI=y +# CONFIG_SPI_DESIGNWARE is not set +# CONFIG_SPI_EP93XX is not set +# CONFIG_SPI_FSL_LPSPI is not set +# CONFIG_SPI_FSL_QUADSPI is not set +# CONFIG_SPI_GXP is not set +# CONFIG_SPI_HISI_KUNPENG is not set +# CONFIG_SPI_HISI_SFC_V3XX is not set +# CONFIG_SPI_NXP_FLEXSPI is not set +# CONFIG_SPI_GPIO is not set +# CONFIG_SPI_IMG_SPFI is not set +# CONFIG_SPI_IMX is not set +# CONFIG_SPI_INGENIC is not set +# CONFIG_SPI_INTEL_PCI is not set +# CONFIG_SPI_INTEL_PLATFORM is not set +# CONFIG_SPI_JCORE is not set +# CONFIG_SPI_LOONGSON_PCI is not set +# CONFIG_SPI_LOONGSON_PLATFORM is not set +# CONFIG_SPI_LP8841_RTC is not set +# CONFIG_SPI_FSL_SPI is not set +# CONFIG_SPI_FSL_DSPI is not set +# CONFIG_SPI_MESON_SPICC is not set +# CONFIG_SPI_MESON_SPIFC is not set +# CONFIG_SPI_MICROCHIP_CORE is not set +# CONFIG_SPI_MICROCHIP_CORE_QSPI is not set +# CONFIG_SPI_MT65XX is not set +# CONFIG_SPI_MT7621 is not set +# CONFIG_SPI_MTK_NOR is not set +# CONFIG_SPI_WPCM_FIU is not set +# CONFIG_SPI_NPCM_FIU is not set +# CONFIG_SPI_NPCM_PSPI is not set +# CONFIG_SPI_LANTIQ_SSC is not set +# CONFIG_SPI_OC_TINY is not set +# CONFIG_SPI_OMAP24XX is not set +# CONFIG_SPI_TI_QSPI is not set +# CONFIG_SPI_ORION is not set +# CONFIG_SPI_PCI1XXXX is not set +# CONFIG_SPI_PIC32 is not set +# CONFIG_SPI_PIC32_SQI is not set +# CONFIG_SPI_PXA2XX is not set +# CONFIG_SPI_ROCKCHIP is not set +# CONFIG_SPI_ROCKCHIP_SFC is not set +# CONFIG_SPI_RSPI is not set +# CONFIG_SPI_RZV2M_CSI is not set +# CONFIG_SPI_QCOM_QSPI is not set +# CONFIG_SPI_QUP is not set +# CONFIG_SPI_S3C64XX is not set +# CONFIG_SPI_SC18IS602 is not set +# CONFIG_SPI_SH_MSIOF is not set +# CONFIG_SPI_SH is not set +# CONFIG_SPI_SH_HSPI is not set +# CONFIG_SPI_SIFIVE is not set +# CONFIG_SPI_SN_F_OSPI is not set +# CONFIG_SPI_SPRD is not set +# CONFIG_SPI_SPRD_ADI is not set +# CONFIG_SPI_STM32 is not set +# CONFIG_SPI_STM32_QSPI is not set +# CONFIG_SPI_ST_SSC4 is not set +# CONFIG_SPI_SUN4I is not set +# CONFIG_SPI_SUN6I is not set +# CONFIG_SPI_SUNPLUS_SP7021 is not set +# CONFIG_SPI_SYNQUACER is not set +# CONFIG_SPI_MXIC is not set +# CONFIG_SPI_TEGRA210_QUAD is not set +# CONFIG_SPI_TEGRA114 is not set +# CONFIG_SPI_TEGRA20_SFLASH is not set +# CONFIG_SPI_TEGRA20_SLINK is not set +# CONFIG_SPI_THUNDERX is not set +# CONFIG_SPI_TOPCLIFF_PCH is not set +# CONFIG_SPI_UNIPHIER is not set +# CONFIG_SPI_XCOMM is not set +# CONFIG_SPI_XILINX is not set +# CONFIG_SPI_XLP is not set +# CONFIG_SPI_XTENSA_XTFPGA is not set +# CONFIG_SPI_ZYNQ_QSPI is not set +# CONFIG_SPI_ZYNQMP_GQSPI is not set +# CONFIG_SPI_AMD is not set + +# +# SPI Multiplexer support +# +# CONFIG_SPI_MUX is not set + +# +# SPI Protocol Masters +# +CONFIG_SPI_SPIDEV=y +# CONFIG_SPI_LOOPBACK_TEST is not set +# CONFIG_SPI_TLE62X0 is not set +# CONFIG_SPI_SLAVE is not set +# CONFIG_SPMI is not set +# CONFIG_HSI is not set +CONFIG_PPS=y +# CONFIG_PPS_DEBUG is not set + +# +# PPS clients support +# +# CONFIG_PPS_CLIENT_KTIMER is not set +# CONFIG_PPS_CLIENT_LDISC is not set +# CONFIG_PPS_CLIENT_GPIO is not set + +# +# PPS generators support +# + +# +# PTP clock support +# +CONFIG_PTP_1588_CLOCK=y +CONFIG_PTP_1588_CLOCK_OPTIONAL=y +CONFIG_PTP_1588_CLOCK_DTE=y +CONFIG_PTP_1588_CLOCK_QORIQ=y +# CONFIG_DP83640_PHY is not set +# CONFIG_PTP_1588_CLOCK_INES is not set +# CONFIG_PTP_1588_CLOCK_PCH is not set +# CONFIG_PTP_1588_CLOCK_IDT82P33 is not set +CONFIG_PTP_1588_CLOCK_IDTCM=y +# CONFIG_PTP_1588_CLOCK_MOCK is not set +# end of PTP clock support + +CONFIG_PINCTRL=y +CONFIG_GENERIC_PINCTRL_GROUPS=y +CONFIG_PINMUX=y +CONFIG_GENERIC_PINMUX_FUNCTIONS=y +CONFIG_PINCONF=y +CONFIG_GENERIC_PINCONF=y +# CONFIG_DEBUG_PINCTRL is not set +# CONFIG_PINCTRL_AMD is not set +# CONFIG_PINCTRL_AT91PIO4 is not set +# CONFIG_PINCTRL_BM1880 is not set +# CONFIG_PINCTRL_CY8C95X0 is not set +# CONFIG_PINCTRL_DA850_PUPD is not set +# CONFIG_PINCTRL_EQUILIBRIUM is not set +# CONFIG_PINCTRL_INGENIC is not set +# CONFIG_PINCTRL_LOONGSON2 is not set +# CONFIG_PINCTRL_LPC18XX is not set +# CONFIG_PINCTRL_MCP23S08 is not set +# CONFIG_PINCTRL_MICROCHIP_SGPIO is not set +# CONFIG_PINCTRL_OCELOT is not set +# CONFIG_PINCTRL_PISTACHIO is not set +CONFIG_PINCTRL_KY_PMIC=y +# CONFIG_PINCTRL_ROCKCHIP is not set +CONFIG_PINCTRL_SINGLE=y +# CONFIG_PINCTRL_STMFX is not set +# CONFIG_PINCTRL_SX150X is not set +# CONFIG_PINCTRL_MLXBF3 is not set +# CONFIG_PINCTRL_OWL is not set +# CONFIG_PINCTRL_ASPEED_G4 is not set +# CONFIG_PINCTRL_ASPEED_G5 is not set +# CONFIG_PINCTRL_ASPEED_G6 is not set +# CONFIG_PINCTRL_BCM281XX is not set +# CONFIG_PINCTRL_BCM2835 is not set +# CONFIG_PINCTRL_BCM4908 is not set +# CONFIG_PINCTRL_BCM6318 is not set +# CONFIG_PINCTRL_BCM6328 is not set +# CONFIG_PINCTRL_BCM6358 is not set +# CONFIG_PINCTRL_BCM6362 is not set +# CONFIG_PINCTRL_BCM6368 is not set +# CONFIG_PINCTRL_BCM63268 is not set +# CONFIG_PINCTRL_IPROC_GPIO is not set +# CONFIG_PINCTRL_CYGNUS_MUX is not set +# CONFIG_PINCTRL_NS is not set +# CONFIG_PINCTRL_NSP_GPIO is not set +# CONFIG_PINCTRL_NS2_MUX is not set +# CONFIG_PINCTRL_NSP_MUX is not set +# CONFIG_PINCTRL_AS370 is not set +# CONFIG_PINCTRL_BERLIN_BG4CT is not set + +# +# MediaTek pinctrl drivers +# +# CONFIG_EINT_MTK is not set +# CONFIG_PINCTRL_MT2701 is not set +# CONFIG_PINCTRL_MT7623 is not set +# CONFIG_PINCTRL_MT7629 is not set +# CONFIG_PINCTRL_MT8135 is not set +# CONFIG_PINCTRL_MT8127 is not set +# CONFIG_PINCTRL_MT2712 is not set +# CONFIG_PINCTRL_MT6765 is not set +# CONFIG_PINCTRL_MT6779 is not set +# CONFIG_PINCTRL_MT6795 is not set +# CONFIG_PINCTRL_MT6797 is not set +# CONFIG_PINCTRL_MT7622 is not set +# CONFIG_PINCTRL_MT7981 is not set +# CONFIG_PINCTRL_MT7986 is not set +# CONFIG_PINCTRL_MT8167 is not set +# CONFIG_PINCTRL_MT8173 is not set +# CONFIG_PINCTRL_MT8183 is not set +# CONFIG_PINCTRL_MT8186 is not set +# CONFIG_PINCTRL_MT8188 is not set +# CONFIG_PINCTRL_MT8192 is not set +# CONFIG_PINCTRL_MT8195 is not set +# CONFIG_PINCTRL_MT8365 is not set +# CONFIG_PINCTRL_MT8516 is not set +# CONFIG_PINCTRL_MT6397 is not set +# end of MediaTek pinctrl drivers + +CONFIG_PINCTRL_MESON=y +# CONFIG_PINCTRL_WPCM450 is not set +# CONFIG_PINCTRL_NPCM7XX is not set +# CONFIG_PINCTRL_PXA25X is not set +# CONFIG_PINCTRL_PXA27X is not set +# CONFIG_PINCTRL_MSM is not set +# CONFIG_PINCTRL_QCOM_SSBI_PMIC is not set +# CONFIG_PINCTRL_LPASS_LPI is not set + +# +# Renesas pinctrl drivers +# +# CONFIG_PINCTRL_RENESAS is not set +# CONFIG_PINCTRL_PFC_EMEV2 is not set +# CONFIG_PINCTRL_PFC_R8A77995 is not set +# CONFIG_PINCTRL_PFC_R8A7794 is not set +# CONFIG_PINCTRL_PFC_R8A77990 is not set +# CONFIG_PINCTRL_PFC_R8A7779 is not set +# CONFIG_PINCTRL_PFC_R8A7790 is not set +# CONFIG_PINCTRL_PFC_R8A77951 is not set +# CONFIG_PINCTRL_PFC_R8A7778 is not set +# CONFIG_PINCTRL_PFC_R8A7793 is not set +# CONFIG_PINCTRL_PFC_R8A7791 is not set +# CONFIG_PINCTRL_PFC_R8A77965 is not set +# CONFIG_PINCTRL_PFC_R8A77960 is not set +# CONFIG_PINCTRL_PFC_R8A77961 is not set +# CONFIG_PINCTRL_PFC_R8A779F0 is not set +# CONFIG_PINCTRL_PFC_R8A7792 is not set +# CONFIG_PINCTRL_PFC_R8A77980 is not set +# CONFIG_PINCTRL_PFC_R8A77970 is not set +# CONFIG_PINCTRL_PFC_R8A779A0 is not set +# CONFIG_PINCTRL_PFC_R8A779G0 is not set +# CONFIG_PINCTRL_PFC_R8A7740 is not set +# CONFIG_PINCTRL_PFC_R8A73A4 is not set +# CONFIG_PINCTRL_RZA1 is not set +# CONFIG_PINCTRL_RZA2 is not set +# CONFIG_PINCTRL_RZG2L is not set +# CONFIG_PINCTRL_PFC_R8A77470 is not set +# CONFIG_PINCTRL_PFC_R8A7745 is not set +# CONFIG_PINCTRL_PFC_R8A7742 is not set +# CONFIG_PINCTRL_PFC_R8A7743 is not set +# CONFIG_PINCTRL_PFC_R8A7744 is not set +# CONFIG_PINCTRL_PFC_R8A774C0 is not set +# CONFIG_PINCTRL_PFC_R8A774E1 is not set +# CONFIG_PINCTRL_PFC_R8A774A1 is not set +# CONFIG_PINCTRL_PFC_R8A774B1 is not set +# CONFIG_PINCTRL_RZN1 is not set +# CONFIG_PINCTRL_RZV2M is not set +# CONFIG_PINCTRL_PFC_SH7203 is not set +# CONFIG_PINCTRL_PFC_SH7264 is not set +# CONFIG_PINCTRL_PFC_SH7269 is not set +# CONFIG_PINCTRL_PFC_SH7720 is not set +# CONFIG_PINCTRL_PFC_SH7722 is not set +# CONFIG_PINCTRL_PFC_SH7734 is not set +# CONFIG_PINCTRL_PFC_SH7757 is not set +# CONFIG_PINCTRL_PFC_SH7785 is not set +# CONFIG_PINCTRL_PFC_SH7786 is not set +# CONFIG_PINCTRL_PFC_SH73A0 is not set +# CONFIG_PINCTRL_PFC_SH7723 is not set +# CONFIG_PINCTRL_PFC_SH7724 is not set +# CONFIG_PINCTRL_PFC_SHX3 is not set +# end of Renesas pinctrl drivers + +# CONFIG_PINCTRL_EXYNOS is not set +# CONFIG_PINCTRL_S3C64XX is not set +# CONFIG_PINCTRL_SPRD_SC9860 is not set +# CONFIG_PINCTRL_STARFIVE_JH7100 is not set +# CONFIG_PINCTRL_STARFIVE_JH7110_SYS is not set +# CONFIG_PINCTRL_STARFIVE_JH7110_AON is not set +# CONFIG_PINCTRL_STM32F429 is not set +# CONFIG_PINCTRL_STM32F469 is not set +# CONFIG_PINCTRL_STM32F746 is not set +# CONFIG_PINCTRL_STM32F769 is not set +# CONFIG_PINCTRL_STM32H743 is not set +# CONFIG_PINCTRL_STM32MP135 is not set +# CONFIG_PINCTRL_STM32MP157 is not set +# CONFIG_PINCTRL_STM32MP257 is not set +# CONFIG_PINCTRL_TI_IODELAY is not set +CONFIG_PINCTRL_UNIPHIER=y +# CONFIG_PINCTRL_UNIPHIER_LD4 is not set +# CONFIG_PINCTRL_UNIPHIER_PRO4 is not set +# CONFIG_PINCTRL_UNIPHIER_SLD8 is not set +# CONFIG_PINCTRL_UNIPHIER_PRO5 is not set +# CONFIG_PINCTRL_UNIPHIER_PXS2 is not set +# CONFIG_PINCTRL_UNIPHIER_LD6B is not set +# CONFIG_PINCTRL_UNIPHIER_LD11 is not set +# CONFIG_PINCTRL_UNIPHIER_LD20 is not set +# CONFIG_PINCTRL_UNIPHIER_PXS3 is not set +# CONFIG_PINCTRL_UNIPHIER_NX1 is not set +# CONFIG_PINCTRL_TMPV7700 is not set +CONFIG_GPIOLIB=y +CONFIG_GPIOLIB_FASTPATH_LIMIT=512 +CONFIG_OF_GPIO=y +CONFIG_GPIOLIB_IRQCHIP=y +# CONFIG_DEBUG_GPIO is not set +CONFIG_GPIO_SYSFS=y +CONFIG_GPIO_CDEV=y +CONFIG_GPIO_CDEV_V1=y + +# +# Memory mapped GPIO drivers +# +# CONFIG_GPIO_74XX_MMIO is not set +# CONFIG_GPIO_ALTERA is not set +# CONFIG_GPIO_ASPEED is not set +# CONFIG_GPIO_ASPEED_SGPIO is not set +# CONFIG_GPIO_ATH79 is not set +# CONFIG_GPIO_RASPBERRYPI_EXP is not set +# CONFIG_GPIO_BCM_KONA is not set +# CONFIG_GPIO_BCM_XGS_IPROC is not set +# CONFIG_GPIO_BRCMSTB is not set +# CONFIG_GPIO_CADENCE is not set +# CONFIG_GPIO_CLPS711X is not set +# CONFIG_GPIO_DWAPB is not set +# CONFIG_GPIO_EIC_SPRD is not set +# CONFIG_GPIO_EM is not set +# CONFIG_GPIO_GE_FPGA is not set +# CONFIG_GPIO_FTGPIO010 is not set +# CONFIG_GPIO_GENERIC_PLATFORM is not set +# CONFIG_GPIO_GRGPIO is not set +# CONFIG_GPIO_HISI is not set +# CONFIG_GPIO_HLWD is not set +# CONFIG_GPIO_LOGICVC is not set +# CONFIG_GPIO_LOONGSON_64BIT is not set +# CONFIG_GPIO_LPC18XX is not set +# CONFIG_GPIO_LPC32XX is not set +# CONFIG_GPIO_MB86S7X is not set +# CONFIG_GPIO_MPC8XXX is not set +# CONFIG_GPIO_MT7621 is not set +# CONFIG_GPIO_MXC is not set +# CONFIG_GPIO_MXS is not set +# CONFIG_GPIO_PXA is not set +# CONFIG_GPIO_RCAR is not set +# CONFIG_GPIO_RDA is not set +# CONFIG_GPIO_ROCKCHIP is not set +# CONFIG_GPIO_SAMA5D2_PIOBU is not set +# CONFIG_GPIO_SIFIVE is not set +# CONFIG_GPIO_SNPS_CREG is not set +# CONFIG_GPIO_SPRD is not set +# CONFIG_GPIO_STP_XWAY is not set +# CONFIG_GPIO_SYSCON is not set +# CONFIG_GPIO_TEGRA is not set +# CONFIG_GPIO_TEGRA186 is not set +# CONFIG_GPIO_TS4800 is not set +# CONFIG_GPIO_THUNDERX is not set +# CONFIG_GPIO_UNIPHIER is not set +# CONFIG_GPIO_VISCONTI is not set +# CONFIG_GPIO_XGENE_SB is not set +# CONFIG_GPIO_XILINX is not set +# CONFIG_GPIO_XLP is not set +# CONFIG_GPIO_AMD_FCH is not set +# CONFIG_GPIO_IDT3243X is not set +# end of Memory mapped GPIO drivers + +# +# I2C GPIO expanders +# +# CONFIG_GPIO_ADNP is not set +# CONFIG_GPIO_FXL6408 is not set +# CONFIG_GPIO_DS4520 is not set +# CONFIG_GPIO_GW_PLD is not set +# CONFIG_GPIO_MAX7300 is not set +# CONFIG_GPIO_MAX732X is not set +CONFIG_GPIO_PCA953X=y +CONFIG_GPIO_PCA953X_IRQ=y +# CONFIG_GPIO_PCA9570 is not set +# CONFIG_GPIO_PCF857X is not set +# CONFIG_GPIO_TPIC2810 is not set +# CONFIG_GPIO_TS4900 is not set +# end of I2C GPIO expanders + +# +# MFD GPIO expanders +# +# CONFIG_GPIO_ELKHARTLAKE is not set +# CONFIG_GPIO_PMIC_EIC_SPRD is not set +# CONFIG_GPIO_SL28CPLD is not set +# CONFIG_GPIO_TQMX86 is not set +# end of MFD GPIO expanders + +# +# PCI GPIO expanders +# +# CONFIG_GPIO_AMD8111 is not set +# CONFIG_GPIO_BT8XX is not set +# CONFIG_GPIO_MLXBF is not set +# CONFIG_GPIO_MLXBF2 is not set +# CONFIG_GPIO_MLXBF3 is not set +# CONFIG_GPIO_ML_IOH is not set +# CONFIG_GPIO_PCH is not set +# CONFIG_GPIO_PCI_IDIO_16 is not set +# CONFIG_GPIO_PCIE_IDIO_24 is not set +# CONFIG_GPIO_RDC321X is not set +# end of PCI GPIO expanders + +# +# SPI GPIO expanders +# +# CONFIG_GPIO_74X164 is not set +# CONFIG_GPIO_MAX3191X is not set +# CONFIG_GPIO_MAX7301 is not set +# CONFIG_GPIO_MC33880 is not set +# CONFIG_GPIO_PISOSR is not set +# CONFIG_GPIO_XRA1403 is not set +# end of SPI GPIO expanders + +# +# USB GPIO expanders +# +# end of USB GPIO expanders + +# +# Virtual GPIO drivers +# +# CONFIG_GPIO_AGGREGATOR is not set +# CONFIG_GPIO_LATCH is not set +# CONFIG_GPIO_MOCKUP is not set +# CONFIG_GPIO_VIRTIO is not set +# CONFIG_GPIO_SIM is not set +CONFIG_GPIO_X1=y +# end of Virtual GPIO drivers + +# CONFIG_W1 is not set +# CONFIG_POWER_RESET is not set +CONFIG_POWER_SUPPLY=y +# CONFIG_POWER_SUPPLY_DEBUG is not set +CONFIG_POWER_SUPPLY_HWMON=y +# CONFIG_GENERIC_ADC_BATTERY is not set +# CONFIG_IP5XXX_POWER is not set +# CONFIG_TEST_POWER is not set +# CONFIG_CHARGER_ADP5061 is not set +# CONFIG_BATTERY_ACT8945A is not set +# CONFIG_BATTERY_CW2015 is not set +CONFIG_KY_BATTERY_CW2015=y +# CONFIG_BATTERY_DS2780 is not set +# CONFIG_BATTERY_DS2781 is not set +# CONFIG_BATTERY_DS2782 is not set +# CONFIG_BATTERY_LEGO_EV3 is not set +# CONFIG_BATTERY_SAMSUNG_SDI is not set +CONFIG_BATTERY_SBS=y +# CONFIG_CHARGER_SBS is not set +CONFIG_CHARGER_SBS_VIRTUAL=y +# CONFIG_BATTERY_BQ27XXX is not set +# CONFIG_BATTERY_MAX17040 is not set +# CONFIG_BATTERY_MAX17042 is not set +# CONFIG_CHARGER_ISP1704 is not set +# CONFIG_CHARGER_MAX8903 is not set +# CONFIG_CHARGER_LP8727 is not set +# CONFIG_CHARGER_GPIO is not set +# CONFIG_CHARGER_MANAGER is not set +# CONFIG_CHARGER_LT3651 is not set +# CONFIG_CHARGER_LTC4162L is not set +# CONFIG_CHARGER_DETECTOR_MAX14656 is not set +# CONFIG_CHARGER_MAX77976 is not set +# CONFIG_CHARGER_QCOM_SMBB is not set +# CONFIG_CHARGER_BQ2415X is not set +# CONFIG_CHARGER_BQ24190 is not set +# CONFIG_CHARGER_BQ24257 is not set +# CONFIG_CHARGER_BQ24735 is not set +# CONFIG_CHARGER_BQ2515X is not set +# CONFIG_CHARGER_BQ25890 is not set +# CONFIG_CHARGER_BQ25980 is not set +# CONFIG_CHARGER_BQ256XX is not set +# CONFIG_CHARGER_SMB347 is not set +# CONFIG_BATTERY_GAUGE_LTC2941 is not set +# CONFIG_BATTERY_GOLDFISH is not set +# CONFIG_BATTERY_RT5033 is not set +# CONFIG_CHARGER_RT9455 is not set +# CONFIG_CHARGER_RT9467 is not set +# CONFIG_CHARGER_RT9471 is not set +# CONFIG_CHARGER_SC2731 is not set +# CONFIG_FUEL_GAUGE_SC27XX is not set +# CONFIG_CHARGER_UCS1002 is not set +# CONFIG_CHARGER_BD99954 is not set +# CONFIG_BATTERY_UG3105 is not set +CONFIG_CHARGER_SGM415XX=y +CONFIG_HWMON=y +# CONFIG_HWMON_DEBUG_CHIP is not set + +# +# Native drivers +# +# CONFIG_SENSORS_AD7314 is not set +# CONFIG_SENSORS_AD7414 is not set +# CONFIG_SENSORS_AD7418 is not set +# CONFIG_SENSORS_ADM1021 is not set +# CONFIG_SENSORS_ADM1025 is not set +# CONFIG_SENSORS_ADM1026 is not set +# CONFIG_SENSORS_ADM1029 is not set +# CONFIG_SENSORS_ADM1031 is not set +# CONFIG_SENSORS_ADM1177 is not set +# CONFIG_SENSORS_ADM9240 is not set +# CONFIG_SENSORS_ADT7310 is not set +# CONFIG_SENSORS_ADT7410 is not set +# CONFIG_SENSORS_ADT7411 is not set +# CONFIG_SENSORS_ADT7462 is not set +# CONFIG_SENSORS_ADT7470 is not set +# CONFIG_SENSORS_ADT7475 is not set +# CONFIG_SENSORS_AHT10 is not set +# CONFIG_SENSORS_AQUACOMPUTER_D5NEXT is not set +# CONFIG_SENSORS_AS370 is not set +# CONFIG_SENSORS_ASC7621 is not set +# CONFIG_SENSORS_AXI_FAN_CONTROL is not set +# CONFIG_SENSORS_ASB100 is not set +# CONFIG_SENSORS_ASPEED is not set +# CONFIG_SENSORS_ATXP1 is not set +# CONFIG_SENSORS_BT1_PVT is not set +# CONFIG_SENSORS_CORSAIR_CPRO is not set +# CONFIG_SENSORS_CORSAIR_PSU is not set +# CONFIG_SENSORS_DRIVETEMP is not set +# CONFIG_SENSORS_DS620 is not set +# CONFIG_SENSORS_DS1621 is not set +# CONFIG_SENSORS_I5K_AMB is not set +# CONFIG_SENSORS_SPARX5 is not set +# CONFIG_SENSORS_F71805F is not set +# CONFIG_SENSORS_F71882FG is not set +# CONFIG_SENSORS_F75375S is not set +# CONFIG_SENSORS_FSCHMD is not set +# CONFIG_SENSORS_FTSTEUTATES is not set +# CONFIG_SENSORS_GL518SM is not set +# CONFIG_SENSORS_GL520SM is not set +# CONFIG_SENSORS_G760A is not set +# CONFIG_SENSORS_G762 is not set +# CONFIG_SENSORS_GPIO_FAN is not set +# CONFIG_SENSORS_GXP_FAN_CTRL is not set +# CONFIG_SENSORS_HIH6130 is not set +# CONFIG_SENSORS_HS3001 is not set +# CONFIG_SENSORS_IIO_HWMON is not set +# CONFIG_SENSORS_IT87 is not set +# CONFIG_SENSORS_JC42 is not set +# CONFIG_SENSORS_POWR1220 is not set +# CONFIG_SENSORS_LAN966X is not set +# CONFIG_SENSORS_LINEAGE is not set +# CONFIG_SENSORS_LTC2945 is not set +# CONFIG_SENSORS_LTC2947_I2C is not set +# CONFIG_SENSORS_LTC2947_SPI is not set +# CONFIG_SENSORS_LTC2990 is not set +# CONFIG_SENSORS_LTC2992 is not set +# CONFIG_SENSORS_LTC4151 is not set +# CONFIG_SENSORS_LTC4215 is not set +# CONFIG_SENSORS_LTC4222 is not set +# CONFIG_SENSORS_LTC4245 is not set +# CONFIG_SENSORS_LTC4260 is not set +# CONFIG_SENSORS_LTC4261 is not set +# CONFIG_SENSORS_MAX1111 is not set +# CONFIG_SENSORS_MAX127 is not set +# CONFIG_SENSORS_MAX16065 is not set +# CONFIG_SENSORS_MAX1619 is not set +# CONFIG_SENSORS_MAX1668 is not set +# CONFIG_SENSORS_MAX197 is not set +# CONFIG_SENSORS_MAX31722 is not set +# CONFIG_SENSORS_MAX31730 is not set +# CONFIG_SENSORS_MAX31760 is not set +# CONFIG_MAX31827 is not set +# CONFIG_SENSORS_MAX6620 is not set +# CONFIG_SENSORS_MAX6621 is not set +# CONFIG_SENSORS_MAX6639 is not set +# CONFIG_SENSORS_MAX6642 is not set +# CONFIG_SENSORS_MAX6650 is not set +# CONFIG_SENSORS_MAX6697 is not set +# CONFIG_SENSORS_MAX31790 is not set +# CONFIG_SENSORS_MC34VR500 is not set +# CONFIG_SENSORS_MCP3021 is not set +# CONFIG_SENSORS_TC654 is not set +# CONFIG_SENSORS_TPS23861 is not set +# CONFIG_SENSORS_MR75203 is not set +# CONFIG_SENSORS_ADCXX is not set +# CONFIG_SENSORS_LM63 is not set +# CONFIG_SENSORS_LM70 is not set +# CONFIG_SENSORS_LM73 is not set +# CONFIG_SENSORS_LM75 is not set +# CONFIG_SENSORS_LM77 is not set +# CONFIG_SENSORS_LM78 is not set +# CONFIG_SENSORS_LM80 is not set +# CONFIG_SENSORS_LM83 is not set +# CONFIG_SENSORS_LM85 is not set +# CONFIG_SENSORS_LM87 is not set +# CONFIG_SENSORS_LM90 is not set +# CONFIG_SENSORS_LM92 is not set +# CONFIG_SENSORS_LM93 is not set +# CONFIG_SENSORS_LM95234 is not set +# CONFIG_SENSORS_LM95241 is not set +# CONFIG_SENSORS_LM95245 is not set +# CONFIG_SENSORS_PC87360 is not set +# CONFIG_SENSORS_PC87427 is not set +# CONFIG_SENSORS_NTC_THERMISTOR is not set +# CONFIG_SENSORS_NCT6683 is not set +# CONFIG_SENSORS_NCT6775 is not set +# CONFIG_SENSORS_NCT6775_I2C is not set +# CONFIG_SENSORS_NCT7802 is not set +# CONFIG_SENSORS_NCT7904 is not set +# CONFIG_SENSORS_NPCM7XX is not set +# CONFIG_SENSORS_NSA320 is not set +# CONFIG_SENSORS_NZXT_KRAKEN2 is not set +# CONFIG_SENSORS_NZXT_SMART2 is not set +# CONFIG_SENSORS_OCC_P8_I2C is not set +# CONFIG_SENSORS_PCF8591 is not set +# CONFIG_PMBUS is not set +CONFIG_SENSORS_PWM_FAN=y +# CONFIG_SENSORS_RASPBERRYPI_HWMON is not set +# CONFIG_SENSORS_SL28CPLD is not set +# CONFIG_SENSORS_SBTSI is not set +# CONFIG_SENSORS_SBRMI is not set +# CONFIG_SENSORS_SHT15 is not set +# CONFIG_SENSORS_SHT21 is not set +# CONFIG_SENSORS_SHT3x is not set +# CONFIG_SENSORS_SHT4x is not set +# CONFIG_SENSORS_SHTC1 is not set +# CONFIG_SENSORS_SIS5595 is not set +# CONFIG_SENSORS_DME1737 is not set +# CONFIG_SENSORS_EMC1403 is not set +# CONFIG_SENSORS_EMC2103 is not set +# CONFIG_SENSORS_EMC2305 is not set +# CONFIG_SENSORS_EMC6W201 is not set +# CONFIG_SENSORS_SMSC47M1 is not set +# CONFIG_SENSORS_SMSC47M192 is not set +# CONFIG_SENSORS_SMSC47B397 is not set +# CONFIG_SENSORS_SCH5627 is not set +# CONFIG_SENSORS_SCH5636 is not set +# CONFIG_SENSORS_STTS751 is not set +# CONFIG_SENSORS_SFCTEMP is not set +# CONFIG_SENSORS_ADC128D818 is not set +# CONFIG_SENSORS_ADS7828 is not set +# CONFIG_SENSORS_ADS7871 is not set +# CONFIG_SENSORS_AMC6821 is not set +# CONFIG_SENSORS_INA209 is not set +# CONFIG_SENSORS_INA2XX is not set +# CONFIG_SENSORS_INA238 is not set +# CONFIG_SENSORS_INA3221 is not set +# CONFIG_SENSORS_TC74 is not set +# CONFIG_SENSORS_THMC50 is not set +# CONFIG_SENSORS_TMP102 is not set +# CONFIG_SENSORS_TMP103 is not set +# CONFIG_SENSORS_TMP108 is not set +# CONFIG_SENSORS_TMP401 is not set +# CONFIG_SENSORS_TMP421 is not set +# CONFIG_SENSORS_TMP464 is not set +# CONFIG_SENSORS_TMP513 is not set +# CONFIG_SENSORS_VIA686A is not set +# CONFIG_SENSORS_VT1211 is not set +# CONFIG_SENSORS_VT8231 is not set +# CONFIG_SENSORS_W83773G is not set +# CONFIG_SENSORS_W83781D is not set +# CONFIG_SENSORS_W83791D is not set +# CONFIG_SENSORS_W83792D is not set +# CONFIG_SENSORS_W83793 is not set +# CONFIG_SENSORS_W83795 is not set +# CONFIG_SENSORS_W83L785TS is not set +# CONFIG_SENSORS_W83L786NG is not set +# CONFIG_SENSORS_W83627HF is not set +# CONFIG_SENSORS_W83627EHF is not set +CONFIG_THERMAL=y +# CONFIG_THERMAL_NETLINK is not set +# CONFIG_THERMAL_STATISTICS is not set +CONFIG_THERMAL_EMERGENCY_POWEROFF_DELAY_MS=0 +CONFIG_THERMAL_HWMON=y +CONFIG_THERMAL_OF=y +# CONFIG_THERMAL_WRITABLE_TRIPS is not set +CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y +# CONFIG_THERMAL_DEFAULT_GOV_FAIR_SHARE is not set +# CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set +# CONFIG_THERMAL_GOV_FAIR_SHARE is not set +CONFIG_THERMAL_GOV_STEP_WISE=y +# CONFIG_THERMAL_GOV_BANG_BANG is not set +# CONFIG_THERMAL_GOV_USER_SPACE is not set +CONFIG_CPU_THERMAL=y +CONFIG_CPU_FREQ_THERMAL=y +# CONFIG_CPU_HOTPLUG_THERMAL is not set +# CONFIG_THERMAL_EMULATION is not set +# CONFIG_THERMAL_MMIO is not set +# CONFIG_HISI_THERMAL is not set +# CONFIG_IMX_THERMAL is not set +# CONFIG_IMX8MM_THERMAL is not set +# CONFIG_K3_THERMAL is not set +# CONFIG_QORIQ_THERMAL is not set +# CONFIG_SPEAR_THERMAL is not set +# CONFIG_SUN8I_THERMAL is not set +# CONFIG_ROCKCHIP_THERMAL is not set +# CONFIG_RCAR_THERMAL is not set +# CONFIG_RCAR_GEN3_THERMAL is not set +# CONFIG_RZG2L_THERMAL is not set +# CONFIG_KIRKWOOD_THERMAL is not set +# CONFIG_DOVE_THERMAL is not set +# CONFIG_ARMADA_THERMAL is not set +# CONFIG_DA9062_THERMAL is not set + +# +# Mediatek thermal drivers +# +# CONFIG_MTK_THERMAL is not set +# end of Mediatek thermal drivers + +CONFIG_X1_THERMAL=y + +# +# Intel thermal drivers +# + +# +# ACPI INT340X thermal drivers +# +# end of ACPI INT340X thermal drivers +# end of Intel thermal drivers + +# +# Broadcom thermal drivers +# +# CONFIG_BCM2711_THERMAL is not set +# CONFIG_BCM2835_THERMAL is not set +# CONFIG_BRCMSTB_THERMAL is not set +# CONFIG_BCM_NS_THERMAL is not set +# CONFIG_BCM_SR_THERMAL is not set +# end of Broadcom thermal drivers + +# +# Texas Instruments thermal drivers +# +# CONFIG_TI_SOC_THERMAL is not set +# end of Texas Instruments thermal drivers + +# +# Samsung thermal drivers +# +# CONFIG_EXYNOS_THERMAL is not set +# end of Samsung thermal drivers + +# +# NVIDIA Tegra thermal drivers +# +# CONFIG_TEGRA_SOCTHERM is not set +# CONFIG_TEGRA_BPMP_THERMAL is not set +# CONFIG_TEGRA30_TSENSOR is not set +# end of NVIDIA Tegra thermal drivers + +# CONFIG_GENERIC_ADC_THERMAL is not set + +# +# Qualcomm thermal drivers +# +# end of Qualcomm thermal drivers + +# CONFIG_UNIPHIER_THERMAL is not set +# CONFIG_SPRD_THERMAL is not set +# CONFIG_LOONGSON2_THERMAL is not set +CONFIG_WATCHDOG=y +CONFIG_WATCHDOG_CORE=y +# CONFIG_WATCHDOG_NOWAYOUT is not set +CONFIG_WATCHDOG_HANDLE_BOOT_ENABLED=y +CONFIG_WATCHDOG_OPEN_TIMEOUT=0 +# CONFIG_WATCHDOG_SYSFS is not set +# CONFIG_WATCHDOG_HRTIMER_PRETIMEOUT is not set + +# +# Watchdog Pretimeout Governors +# +# CONFIG_WATCHDOG_PRETIMEOUT_GOV is not set + +# +# Watchdog Device Drivers +# +# CONFIG_SOFT_WATCHDOG is not set +# CONFIG_DA9052_WATCHDOG is not set +# CONFIG_DA9055_WATCHDOG is not set +# CONFIG_DA9063_WATCHDOG is not set +# CONFIG_DA9062_WATCHDOG is not set +# CONFIG_GPIO_WATCHDOG is not set +# CONFIG_MENF21BMC_WATCHDOG is not set +# CONFIG_XILINX_WATCHDOG is not set +# CONFIG_XILINX_WINDOW_WATCHDOG is not set +# CONFIG_ZIIRAVE_WATCHDOG is not set +# CONFIG_MLX_WDT is not set +# CONFIG_SL28CPLD_WATCHDOG is not set +# CONFIG_ARMADA_37XX_WATCHDOG is not set +# CONFIG_ASM9260_WATCHDOG is not set +# CONFIG_AT91RM9200_WATCHDOG is not set +# CONFIG_AT91SAM9X_WATCHDOG is not set +# CONFIG_SAMA5D4_WATCHDOG is not set +# CONFIG_CADENCE_WATCHDOG is not set +# CONFIG_FTWDT010_WATCHDOG is not set +# CONFIG_S3C2410_WATCHDOG is not set +# CONFIG_SA1100_WATCHDOG is not set +# CONFIG_DW_WATCHDOG is not set +# CONFIG_EP93XX_WATCHDOG is not set +# CONFIG_OMAP_WATCHDOG is not set +# CONFIG_PNX4008_WATCHDOG is not set +# CONFIG_DAVINCI_WATCHDOG is not set +# CONFIG_K3_RTI_WATCHDOG is not set +# CONFIG_RN5T618_WATCHDOG is not set +# CONFIG_SUNXI_WATCHDOG is not set +# CONFIG_NPCM7XX_WATCHDOG is not set +# CONFIG_STMP3XXX_RTC_WATCHDOG is not set +# CONFIG_TS4800_WATCHDOG is not set +# CONFIG_TS72XX_WATCHDOG is not set +# CONFIG_MAX63XX_WATCHDOG is not set +# CONFIG_MAX77620_WATCHDOG is not set +# CONFIG_IMX2_WDT is not set +# CONFIG_IMX7ULP_WDT is not set +# CONFIG_MOXART_WDT is not set +# CONFIG_ST_LPC_WATCHDOG is not set +# CONFIG_TEGRA_WATCHDOG is not set +# CONFIG_QCOM_WDT is not set +# CONFIG_MESON_GXBB_WATCHDOG is not set +# CONFIG_MESON_WATCHDOG is not set +# CONFIG_MEDIATEK_WATCHDOG is not set +# CONFIG_DIGICOLOR_WATCHDOG is not set +# CONFIG_LPC18XX_WATCHDOG is not set +# CONFIG_RENESAS_WDT is not set +# CONFIG_RENESAS_RZAWDT is not set +# CONFIG_RENESAS_RZN1WDT is not set +# CONFIG_RENESAS_RZG2LWDT is not set +# CONFIG_ASPEED_WATCHDOG is not set +CONFIG_STM32_WATCHDOG=y +# CONFIG_UNIPHIER_WATCHDOG is not set +# CONFIG_RTD119X_WATCHDOG is not set +# CONFIG_REALTEK_OTTO_WDT is not set +# CONFIG_SPRD_WATCHDOG is not set +# CONFIG_VISCONTI_WATCHDOG is not set +# CONFIG_MSC313E_WATCHDOG is not set +# CONFIG_APPLE_WATCHDOG is not set +# CONFIG_SUNPLUS_WATCHDOG is not set +# CONFIG_ADVANTECH_WDT is not set +# CONFIG_ADVANTECH_EC_WDT is not set +# CONFIG_ALIM1535_WDT is not set +# CONFIG_ALIM7101_WDT is not set +# CONFIG_EBC_C384_WDT is not set +# CONFIG_EXAR_WDT is not set +# CONFIG_F71808E_WDT is not set +# CONFIG_SP5100_TCO is not set +# CONFIG_SC520_WDT is not set +# CONFIG_SBC_FITPC2_WATCHDOG is not set +# CONFIG_EUROTECH_WDT is not set +# CONFIG_IB700_WDT is not set +# CONFIG_IBMASR is not set +# CONFIG_WAFER_WDT is not set +# CONFIG_I6300ESB_WDT is not set +# CONFIG_IE6XX_WDT is not set +# CONFIG_IT8712F_WDT is not set +# CONFIG_IT87_WDT is not set +# CONFIG_HP_WATCHDOG is not set +# CONFIG_SC1200_WDT is not set +# CONFIG_PC87413_WDT is not set +# CONFIG_NV_TCO is not set +# CONFIG_RDC321X_WDT is not set +# CONFIG_60XX_WDT is not set +# CONFIG_CPU5_WDT is not set +# CONFIG_SMSC_SCH311X_WDT is not set +# CONFIG_SMSC37B787_WDT is not set +# CONFIG_TQMX86_WDT is not set +# CONFIG_VIA_WDT is not set +# CONFIG_W83627HF_WDT is not set +# CONFIG_W83877F_WDT is not set +# CONFIG_W83977F_WDT is not set +# CONFIG_MACHZ_WDT is not set +# CONFIG_SBC_EPX_C3_WATCHDOG is not set +# CONFIG_BCM47XX_WDT is not set +# CONFIG_JZ4740_WDT is not set +CONFIG_MARVELL_GTI_WDT=y +# CONFIG_BCM2835_WDT is not set +# CONFIG_BCM_KONA_WDT is not set +# CONFIG_BCM_KONA_WDT_DEBUG is not set +# CONFIG_BCM7038_WDT is not set +# CONFIG_IMGPDC_WDT is not set +# CONFIG_LOONGSON1_WDT is not set +# CONFIG_GXP_WATCHDOG is not set +# CONFIG_MT7621_WDT is not set +# CONFIG_MPC5200_WDT is not set +# CONFIG_MEN_A21_WDT is not set +# CONFIG_STARFIVE_WATCHDOG is not set +# CONFIG_UML_WATCHDOG is not set + +# +# PCI-based Watchdog Cards +# +# CONFIG_PCIPCWATCHDOG is not set +# CONFIG_WDTPCI is not set + +# +# USB-based Watchdog Cards +# +# CONFIG_USBPCWATCHDOG is not set +CONFIG_KY_WATCHDOG=y +# CONFIG_X1_WDT_TEST is not set +CONFIG_SSB_POSSIBLE=y +# CONFIG_SSB is not set +CONFIG_BCMA_POSSIBLE=y +# CONFIG_BCMA is not set + +# +# Multifunction device drivers +# +CONFIG_MFD_CORE=y +# CONFIG_MFD_ACT8945A is not set +# CONFIG_MFD_SUN4I_GPADC is not set +# CONFIG_MFD_AS3711 is not set +# CONFIG_MFD_SMPRO is not set +# CONFIG_MFD_AS3722 is not set +# CONFIG_PMIC_ADP5520 is not set +# CONFIG_MFD_AAT2870_CORE is not set +# CONFIG_MFD_AT91_USART is not set +# CONFIG_MFD_ATMEL_FLEXCOM is not set +# CONFIG_MFD_ATMEL_HLCDC is not set +# CONFIG_MFD_BCM590XX is not set +# CONFIG_MFD_BD9571MWV is not set +# CONFIG_MFD_AXP20X_I2C is not set +# CONFIG_MFD_CS42L43_I2C is not set +# CONFIG_MFD_MADERA is not set +# CONFIG_MFD_MAX5970 is not set +# CONFIG_PMIC_DA903X is not set +# CONFIG_MFD_DA9052_SPI is not set +# CONFIG_MFD_DA9052_I2C is not set +# CONFIG_MFD_DA9055 is not set +# CONFIG_MFD_DA9062 is not set +# CONFIG_MFD_DA9063 is not set +# CONFIG_MFD_DA9150 is not set +# CONFIG_MFD_DLN2 is not set +# CONFIG_MFD_ENE_KB3930 is not set +# CONFIG_MFD_EXYNOS_LPASS is not set +# CONFIG_MFD_GATEWORKS_GSC is not set +# CONFIG_MFD_MC13XXX_SPI is not set +# CONFIG_MFD_MC13XXX_I2C is not set +# CONFIG_MFD_MP2629 is not set +# CONFIG_MFD_MXS_LRADC is not set +# CONFIG_MFD_MX25_TSADC is not set +# CONFIG_MFD_HI6421_PMIC is not set +# CONFIG_MFD_HI655X_PMIC is not set +# CONFIG_LPC_ICH is not set +# CONFIG_LPC_SCH is not set +# CONFIG_INTEL_SOC_PMIC is not set +# CONFIG_MFD_IQS62X is not set +# CONFIG_MFD_JANZ_CMODIO is not set +# CONFIG_MFD_KEMPLD is not set +# CONFIG_MFD_88PM800 is not set +# CONFIG_MFD_88PM805 is not set +# CONFIG_MFD_88PM860X is not set +# CONFIG_MFD_MAX14577 is not set +# CONFIG_MFD_MAX77541 is not set +# CONFIG_MFD_MAX77620 is not set +# CONFIG_MFD_MAX77650 is not set +# CONFIG_MFD_MAX77686 is not set +# CONFIG_MFD_MAX77693 is not set +# CONFIG_MFD_MAX77714 is not set +# CONFIG_MFD_MAX77843 is not set +# CONFIG_MFD_MAX8907 is not set +# CONFIG_MFD_MAX8925 is not set +# CONFIG_MFD_MAX8997 is not set +# CONFIG_MFD_MAX8998 is not set +# CONFIG_MFD_MT6360 is not set +# CONFIG_MFD_MT6370 is not set +# CONFIG_MFD_MT6397 is not set +# CONFIG_MFD_MENF21BMC is not set +# CONFIG_MFD_OCELOT is not set +# CONFIG_EZX_PCAP is not set +# CONFIG_MFD_CPCAP is not set +# CONFIG_MFD_VIPERBOARD is not set +# CONFIG_MFD_NTXEC is not set +# CONFIG_MFD_RETU is not set +# CONFIG_MFD_PCF50633 is not set +# CONFIG_MFD_PM8XXX is not set +# CONFIG_MFD_SY7636A is not set +# CONFIG_MFD_RDC321X is not set +# CONFIG_MFD_RT4831 is not set +# CONFIG_MFD_RT5033 is not set +# CONFIG_MFD_RT5120 is not set +# CONFIG_MFD_RC5T583 is not set +# CONFIG_MFD_RK8XX_I2C is not set +# CONFIG_MFD_RK8XX_SPI is not set +# CONFIG_MFD_RN5T618 is not set +# CONFIG_MFD_SEC_CORE is not set +# CONFIG_MFD_SI476X_CORE is not set +# CONFIG_MFD_SL28CPLD is not set +# CONFIG_MFD_SM501 is not set +# CONFIG_MFD_SKY81452 is not set +# CONFIG_MFD_SC27XX_PMIC is not set +# CONFIG_RZ_MTU3 is not set +# CONFIG_ABX500_CORE is not set +# CONFIG_MFD_STMPE is not set +# CONFIG_MFD_SUN6I_PRCM is not set +CONFIG_MFD_SYSCON=y +# CONFIG_MFD_TI_AM335X_TSCADC is not set +# CONFIG_MFD_LP3943 is not set +# CONFIG_MFD_LP8788 is not set +# CONFIG_MFD_TI_LMU is not set +# CONFIG_MFD_PALMAS is not set +# CONFIG_TPS6105X is not set +# CONFIG_TPS65010 is not set +# CONFIG_TPS6507X is not set +# CONFIG_MFD_TPS65086 is not set +# CONFIG_MFD_TPS65090 is not set +# CONFIG_MFD_TPS65217 is not set +# CONFIG_MFD_TI_LP873X is not set +# CONFIG_MFD_TI_LP87565 is not set +# CONFIG_MFD_TPS65218 is not set +# CONFIG_MFD_TPS65219 is not set +# CONFIG_MFD_TPS6586X is not set +# CONFIG_MFD_TPS65910 is not set +# CONFIG_MFD_TPS65912_I2C is not set +# CONFIG_MFD_TPS65912_SPI is not set +# CONFIG_MFD_TPS6594_I2C is not set +# CONFIG_MFD_TPS6594_SPI is not set +# CONFIG_TWL4030_CORE is not set +# CONFIG_TWL6040_CORE is not set +# CONFIG_MFD_WL1273_CORE is not set +# CONFIG_MFD_LM3533 is not set +# CONFIG_MFD_TIMBERDALE is not set +# CONFIG_MFD_TC3589X is not set +# CONFIG_MFD_TQMX86 is not set +# CONFIG_MFD_VX855 is not set +# CONFIG_MFD_LOCHNAGAR is not set +# CONFIG_MFD_ARIZONA_I2C is not set +# CONFIG_MFD_ARIZONA_SPI is not set +# CONFIG_MFD_WM8400 is not set +# CONFIG_MFD_WM831X_I2C is not set +# CONFIG_MFD_WM831X_SPI is not set +# CONFIG_MFD_WM8350_I2C is not set +# CONFIG_MFD_WM8994 is not set +# CONFIG_MFD_STW481X is not set +# CONFIG_MFD_ROHM_BD718XX is not set +# CONFIG_MFD_ROHM_BD71828 is not set +# CONFIG_MFD_ROHM_BD957XMUF is not set +# CONFIG_MFD_STM32_LPTIMER is not set +# CONFIG_MFD_STM32_TIMERS is not set +# CONFIG_MFD_STPMIC1 is not set +# CONFIG_MFD_STMFX is not set +# CONFIG_MFD_ATC260X_I2C is not set +# CONFIG_MFD_KHADAS_MCU is not set +# CONFIG_MFD_ACER_A500_EC is not set +# CONFIG_MFD_QCOM_PM8008 is not set +CONFIG_MFD_KY_PMIC=y +# CONFIG_RAVE_SP_CORE is not set +# CONFIG_MFD_INTEL_M10_BMC_SPI is not set +# CONFIG_MFD_RSMU_I2C is not set +# CONFIG_MFD_RSMU_SPI is not set +# end of Multifunction device drivers + +CONFIG_REGULATOR=y +# CONFIG_REGULATOR_DEBUG is not set +CONFIG_REGULATOR_FIXED_VOLTAGE=y +# CONFIG_REGULATOR_VIRTUAL_CONSUMER is not set +# CONFIG_REGULATOR_USERSPACE_CONSUMER is not set +# CONFIG_REGULATOR_88PG86X is not set +# CONFIG_REGULATOR_ACT8865 is not set +# CONFIG_REGULATOR_AD5398 is not set +# CONFIG_REGULATOR_ANATOP is not set +# CONFIG_REGULATOR_AW37503 is not set +# CONFIG_REGULATOR_DA9121 is not set +# CONFIG_REGULATOR_DA9210 is not set +# CONFIG_REGULATOR_DA9211 is not set +# CONFIG_REGULATOR_FAN53555 is not set +# CONFIG_REGULATOR_FAN53880 is not set +# CONFIG_REGULATOR_GPIO is not set +# CONFIG_REGULATOR_ISL9305 is not set +# CONFIG_REGULATOR_ISL6271A is not set +# CONFIG_REGULATOR_LP3971 is not set +# CONFIG_REGULATOR_LP3972 is not set +# CONFIG_REGULATOR_LP872X is not set +# CONFIG_REGULATOR_LP8755 is not set +# CONFIG_REGULATOR_LTC3589 is not set +# CONFIG_REGULATOR_LTC3676 is not set +# CONFIG_REGULATOR_MAX1586 is not set +# CONFIG_REGULATOR_MAX77620 is not set +# CONFIG_REGULATOR_MAX77650 is not set +# CONFIG_REGULATOR_MAX77857 is not set +# CONFIG_REGULATOR_MAX8649 is not set +# CONFIG_REGULATOR_MAX8660 is not set +# CONFIG_REGULATOR_MAX8893 is not set +# CONFIG_REGULATOR_MAX8907 is not set +# CONFIG_REGULATOR_MAX8952 is not set +# CONFIG_REGULATOR_MAX8973 is not set +# CONFIG_REGULATOR_MAX20086 is not set +# CONFIG_REGULATOR_MAX20411 is not set +# CONFIG_REGULATOR_MAX77686 is not set +# CONFIG_REGULATOR_MAX77693 is not set +# CONFIG_REGULATOR_MAX77802 is not set +# CONFIG_REGULATOR_MAX77826 is not set +# CONFIG_REGULATOR_MCP16502 is not set +# CONFIG_REGULATOR_MP5416 is not set +# CONFIG_REGULATOR_MP8859 is not set +# CONFIG_REGULATOR_MP886X is not set +# CONFIG_REGULATOR_MPQ7920 is not set +# CONFIG_REGULATOR_MT6311 is not set +# CONFIG_REGULATOR_PBIAS is not set +# CONFIG_REGULATOR_PCA9450 is not set +# CONFIG_REGULATOR_PF8X00 is not set +# CONFIG_REGULATOR_PFUZE100 is not set +# CONFIG_REGULATOR_PV88060 is not set +# CONFIG_REGULATOR_PV88080 is not set +# CONFIG_REGULATOR_PV88090 is not set +# CONFIG_REGULATOR_PWM is not set +# CONFIG_REGULATOR_QCOM_REFGEN is not set +# CONFIG_REGULATOR_QCOM_RPMH is not set +# CONFIG_REGULATOR_QCOM_SPMI is not set +# CONFIG_REGULATOR_QCOM_USB_VBUS is not set +# CONFIG_REGULATOR_RAA215300 is not set +# CONFIG_REGULATOR_RASPBERRYPI_TOUCHSCREEN_ATTINY is not set +# CONFIG_REGULATOR_RT4801 is not set +# CONFIG_REGULATOR_RT4803 is not set +# CONFIG_REGULATOR_RT5190A is not set +# CONFIG_REGULATOR_RT5739 is not set +# CONFIG_REGULATOR_RT5759 is not set +# CONFIG_REGULATOR_RT6160 is not set +# CONFIG_REGULATOR_RT6190 is not set +# CONFIG_REGULATOR_RT6245 is not set +# CONFIG_REGULATOR_RTQ2134 is not set +# CONFIG_REGULATOR_RTMV20 is not set +# CONFIG_REGULATOR_RTQ6752 is not set +# CONFIG_REGULATOR_RTQ2208 is not set +# CONFIG_REGULATOR_S2MPA01 is not set +# CONFIG_REGULATOR_S2MPS11 is not set +# CONFIG_REGULATOR_S5M8767 is not set +# CONFIG_REGULATOR_SC2731 is not set +# CONFIG_REGULATOR_SLG51000 is not set +# CONFIG_REGULATOR_STM32_BOOSTER is not set +# CONFIG_REGULATOR_STM32_VREFBUF is not set +# CONFIG_REGULATOR_STM32_PWR is not set +# CONFIG_REGULATOR_TI_ABB is not set +# CONFIG_REGULATOR_STW481X_VMMC is not set +# CONFIG_REGULATOR_SY8106A is not set +# CONFIG_REGULATOR_SY8824X is not set +# CONFIG_REGULATOR_SY8827N is not set +# CONFIG_REGULATOR_TPS51632 is not set +# CONFIG_REGULATOR_TPS62360 is not set +# CONFIG_REGULATOR_TPS6286X is not set +# CONFIG_REGULATOR_TPS6287X is not set +# CONFIG_REGULATOR_TPS65023 is not set +# CONFIG_REGULATOR_TPS6507X is not set +# CONFIG_REGULATOR_TPS65132 is not set +# CONFIG_REGULATOR_TPS6524X is not set +# CONFIG_REGULATOR_TPS68470 is not set +# CONFIG_REGULATOR_UNIPHIER is not set +# CONFIG_REGULATOR_VCTRL is not set +# CONFIG_REGULATOR_QCOM_LABIBB is not set +CONFIG_REGULATOR_KY=y +CONFIG_RC_CORE=y +# CONFIG_LIRC is not set +CONFIG_RC_MAP=y +# CONFIG_RC_DECODERS is not set +CONFIG_RC_DEVICES=y +# CONFIG_IR_ENE is not set +# CONFIG_IR_FINTEK is not set +# CONFIG_IR_GPIO_CIR is not set +# CONFIG_IR_HIX5HD2 is not set +# CONFIG_IR_IGORPLUGUSB is not set +# CONFIG_IR_IGUANA is not set +# CONFIG_IR_IMON is not set +# CONFIG_IR_IMON_RAW is not set +# CONFIG_IR_ITE_CIR is not set +# CONFIG_IR_MCEUSB is not set +# CONFIG_IR_MESON is not set +# CONFIG_IR_MESON_TX is not set +# CONFIG_IR_MTK is not set +# CONFIG_IR_NUVOTON is not set +# CONFIG_IR_REDRAT3 is not set +# CONFIG_IR_RX51 is not set +# CONFIG_IR_SERIAL is not set +# CONFIG_IR_STREAMZAP is not set +# CONFIG_IR_SUNXI is not set +CONFIG_IR_KY=y +# CONFIG_IR_TOY is not set +# CONFIG_IR_TTUSBIR is not set +# CONFIG_IR_WINBOND_CIR is not set +# CONFIG_RC_ATI_REMOTE is not set +# CONFIG_RC_LOOPBACK is not set +# CONFIG_RC_ST is not set +# CONFIG_RC_XBOX_DVD is not set +# CONFIG_IR_IMG is not set + +# +# CEC support +# +# CONFIG_MEDIA_CEC_SUPPORT is not set +# end of CEC support + +CONFIG_MEDIA_SUPPORT=y +# CONFIG_MEDIA_SUPPORT_FILTER is not set +# CONFIG_MEDIA_SUBDRV_AUTOSELECT is not set + +# +# Media device types +# +CONFIG_MEDIA_CAMERA_SUPPORT=y +CONFIG_MEDIA_ANALOG_TV_SUPPORT=y +CONFIG_MEDIA_DIGITAL_TV_SUPPORT=y +CONFIG_MEDIA_RADIO_SUPPORT=y +CONFIG_MEDIA_SDR_SUPPORT=y +CONFIG_MEDIA_PLATFORM_SUPPORT=y +CONFIG_MEDIA_TEST_SUPPORT=y +# end of Media device types + +# +# Media core support +# +CONFIG_VIDEO_DEV=y +CONFIG_MEDIA_CONTROLLER=y +CONFIG_DVB_CORE=y +# end of Media core support + +# +# Video4Linux options +# +CONFIG_VIDEO_V4L2_I2C=y +CONFIG_VIDEO_V4L2_SUBDEV_API=y +# CONFIG_VIDEO_ADV_DEBUG is not set +# CONFIG_VIDEO_FIXED_MINOR_RANGES is not set +CONFIG_V4L2_FWNODE=y +CONFIG_V4L2_ASYNC=y +# end of Video4Linux options + +# +# Media controller options +# +# CONFIG_MEDIA_CONTROLLER_DVB is not set +# end of Media controller options + +# +# Digital TV options +# +# CONFIG_DVB_MMAP is not set +# CONFIG_DVB_NET is not set +CONFIG_DVB_MAX_ADAPTERS=16 +# CONFIG_DVB_DYNAMIC_MINORS is not set +# CONFIG_DVB_DEMUX_SECTION_LOSS_LOG is not set +# CONFIG_DVB_ULE_DEBUG is not set +# end of Digital TV options + +# +# Media drivers +# + +# +# Media drivers +# +CONFIG_MEDIA_USB_SUPPORT=y + +# +# Webcam devices +# +# CONFIG_USB_GSPCA is not set +# CONFIG_USB_PWC is not set +# CONFIG_USB_S2255 is not set +# CONFIG_VIDEO_USBTV is not set +CONFIG_USB_VIDEO_CLASS=y +CONFIG_USB_VIDEO_CLASS_INPUT_EVDEV=y + +# +# Analog TV USB devices +# +# CONFIG_VIDEO_GO7007 is not set +# CONFIG_VIDEO_HDPVR is not set +# CONFIG_VIDEO_PVRUSB2 is not set +# CONFIG_VIDEO_STK1160 is not set + +# +# Analog/digital TV USB devices +# +# CONFIG_VIDEO_AU0828 is not set + +# +# Digital TV USB devices +# +# CONFIG_DVB_AS102 is not set +# CONFIG_DVB_B2C2_FLEXCOP_USB is not set +# CONFIG_DVB_USB_V2 is not set +# CONFIG_DVB_USB is not set +# CONFIG_SMS_USB_DRV is not set +# CONFIG_DVB_TTUSB_BUDGET is not set +# CONFIG_DVB_TTUSB_DEC is not set + +# +# Webcam, TV (analog/digital) USB devices +# +# CONFIG_VIDEO_EM28XX is not set + +# +# Software defined radio USB devices +# +# CONFIG_USB_AIRSPY is not set +# CONFIG_USB_HACKRF is not set +# CONFIG_USB_MSI2500 is not set +# CONFIG_MEDIA_PCI_SUPPORT is not set +# CONFIG_RADIO_ADAPTERS is not set +CONFIG_MEDIA_PLATFORM_DRIVERS=y +# CONFIG_V4L_PLATFORM_DRIVERS is not set +# CONFIG_SDR_PLATFORM_DRIVERS is not set +# CONFIG_DVB_PLATFORM_DRIVERS is not set +# CONFIG_V4L_MEM2MEM_DRIVERS is not set + +# +# Allegro DVT media platform drivers +# + +# +# Amlogic media platform drivers +# + +# +# Amphion drivers +# + +# +# Aspeed media platform drivers +# + +# +# Atmel media platform drivers +# + +# +# Cadence media platform drivers +# +# CONFIG_VIDEO_CADENCE_CSI2RX is not set +# CONFIG_VIDEO_CADENCE_CSI2TX is not set + +# +# Chips&Media media platform drivers +# + +# +# Intel media platform drivers +# + +# +# Marvell media platform drivers +# + +# +# Mediatek media platform drivers +# + +# +# Microchip Technology, Inc. media platform drivers +# + +# +# NVidia media platform drivers +# + +# +# NXP media platform drivers +# +# CONFIG_VIDEO_IMX7_CSI is not set +# CONFIG_VIDEO_IMX8MQ_MIPI_CSI2 is not set +# CONFIG_VIDEO_IMX_MIPI_CSIS is not set +# CONFIG_VIDEO_IMX8_ISI is not set + +# +# Qualcomm media platform drivers +# + +# +# Renesas media platform drivers +# + +# +# Rockchip media platform drivers +# + +# +# Samsung media platform drivers +# + +# +# STMicroelectronics media platform drivers +# + +# +# Sunxi media platform drivers +# + +# +# Texas Instruments drivers +# + +# +# Verisilicon media platform drivers +# + +# +# VIA media platform drivers +# + +# +# Xilinx media platform drivers +# + +# +# Ky media platform drivers +# +CONFIG_VIDEO_LINLON_X1=y +# CONFIG_VIDEO_LINLON_FTRACE_X1 is not set +CONFIG_VIDEO_LINLON_PRINT_FILE_X1=y + +# +# KY X1 Camera And Video V2 +# +CONFIG_KY_X1_CAMERA_V2=y +CONFIG_KY_X1_CCIC_V2=y +CONFIG_KY_X1_VI_V2=y +CONFIG_KY_X1_VI_IOMMU=y +CONFIG_KY_X1_ISP_V2=y +CONFIG_KY_X1_CPP_V2=y +CONFIG_KY_X1_SENSOR_V2=y + +# +# KY X1 Virtual Camera Driver +# +CONFIG_KY_X1_VIR_CAMERA=y + +# +# MMC/SDIO DVB adapters +# +# CONFIG_SMS_SDIO_DRV is not set +# CONFIG_V4L_TEST_DRIVERS is not set +# CONFIG_DVB_TEST_DRIVERS is not set +CONFIG_UVC_COMMON=y +CONFIG_VIDEOBUF2_CORE=y +CONFIG_VIDEOBUF2_V4L2=y +CONFIG_VIDEOBUF2_MEMOPS=y +CONFIG_VIDEOBUF2_DMA_CONTIG=y +CONFIG_VIDEOBUF2_VMALLOC=y +CONFIG_VIDEOBUF2_DMA_SG=y +# end of Media drivers + +# +# Media ancillary drivers +# +CONFIG_MEDIA_ATTACH=y +CONFIG_VIDEO_IR_I2C=y +CONFIG_VIDEO_CAMERA_SENSOR=y +# CONFIG_VIDEO_AR0521 is not set +# CONFIG_VIDEO_HI556 is not set +# CONFIG_VIDEO_HI846 is not set +# CONFIG_VIDEO_HI847 is not set +# CONFIG_VIDEO_IMX208 is not set +# CONFIG_VIDEO_IMX214 is not set +# CONFIG_VIDEO_IMX219 is not set +# CONFIG_VIDEO_IMX258 is not set +# CONFIG_VIDEO_IMX274 is not set +# CONFIG_VIDEO_IMX290 is not set +# CONFIG_VIDEO_IMX296 is not set +# CONFIG_VIDEO_IMX319 is not set +# CONFIG_VIDEO_IMX334 is not set +# CONFIG_VIDEO_IMX335 is not set +# CONFIG_VIDEO_IMX355 is not set +# CONFIG_VIDEO_IMX412 is not set +# CONFIG_VIDEO_IMX415 is not set +# CONFIG_VIDEO_MT9M001 is not set +# CONFIG_VIDEO_MT9M111 is not set +# CONFIG_VIDEO_MT9P031 is not set +# CONFIG_VIDEO_MT9T112 is not set +# CONFIG_VIDEO_MT9V011 is not set +# CONFIG_VIDEO_MT9V032 is not set +# CONFIG_VIDEO_MT9V111 is not set +# CONFIG_VIDEO_OG01A1B is not set +# CONFIG_VIDEO_OV01A10 is not set +# CONFIG_VIDEO_OV02A10 is not set +# CONFIG_VIDEO_OV08D10 is not set +# CONFIG_VIDEO_OV08X40 is not set +# CONFIG_VIDEO_OV13858 is not set +# CONFIG_VIDEO_OV13B10 is not set +# CONFIG_VIDEO_OV2640 is not set +# CONFIG_VIDEO_OV2659 is not set +# CONFIG_VIDEO_OV2680 is not set +# CONFIG_VIDEO_OV2685 is not set +# CONFIG_VIDEO_OV2740 is not set +# CONFIG_VIDEO_OV4689 is not set +# CONFIG_VIDEO_OV5640 is not set +# CONFIG_VIDEO_OV5645 is not set +# CONFIG_VIDEO_OV5647 is not set +# CONFIG_VIDEO_OV5648 is not set +# CONFIG_VIDEO_OV5670 is not set +# CONFIG_VIDEO_OV5675 is not set +# CONFIG_VIDEO_OV5693 is not set +# CONFIG_VIDEO_OV5695 is not set +# CONFIG_VIDEO_OV6650 is not set +# CONFIG_VIDEO_OV7251 is not set +# CONFIG_VIDEO_OV7640 is not set +# CONFIG_VIDEO_OV7670 is not set +# CONFIG_VIDEO_OV772X is not set +# CONFIG_VIDEO_OV7740 is not set +# CONFIG_VIDEO_OV8856 is not set +# CONFIG_VIDEO_OV8858 is not set +# CONFIG_VIDEO_OV8865 is not set +# CONFIG_VIDEO_OV9282 is not set +# CONFIG_VIDEO_OV9640 is not set +# CONFIG_VIDEO_OV9650 is not set +# CONFIG_VIDEO_OV9734 is not set +# CONFIG_VIDEO_RDACM20 is not set +# CONFIG_VIDEO_RDACM21 is not set +# CONFIG_VIDEO_RJ54N1 is not set +# CONFIG_VIDEO_S5C73M3 is not set +# CONFIG_VIDEO_S5K5BAF is not set +# CONFIG_VIDEO_S5K6A3 is not set +# CONFIG_VIDEO_ST_VGXY61 is not set +# CONFIG_VIDEO_CCS is not set +# CONFIG_VIDEO_ET8EK8 is not set + +# +# Lens drivers +# +# CONFIG_VIDEO_AD5820 is not set +# CONFIG_VIDEO_AK7375 is not set +# CONFIG_VIDEO_DW9714 is not set +# CONFIG_VIDEO_DW9719 is not set +# CONFIG_VIDEO_DW9768 is not set +# CONFIG_VIDEO_DW9807_VCM is not set +# end of Lens drivers + +# +# Flash devices +# +# CONFIG_VIDEO_ADP1653 is not set +# CONFIG_VIDEO_LM3560 is not set +# CONFIG_VIDEO_LM3646 is not set +# end of Flash devices + +# +# Audio decoders, processors and mixers +# +# CONFIG_VIDEO_CS3308 is not set +# CONFIG_VIDEO_CS5345 is not set +# CONFIG_VIDEO_CS53L32A is not set +# CONFIG_VIDEO_MSP3400 is not set +# CONFIG_VIDEO_SONY_BTF_MPX is not set +# CONFIG_VIDEO_TDA1997X is not set +# CONFIG_VIDEO_TDA7432 is not set +# CONFIG_VIDEO_TDA9840 is not set +# CONFIG_VIDEO_TEA6415C is not set +# CONFIG_VIDEO_TEA6420 is not set +# CONFIG_VIDEO_TLV320AIC23B is not set +# CONFIG_VIDEO_TVAUDIO is not set +# CONFIG_VIDEO_UDA1342 is not set +# CONFIG_VIDEO_VP27SMPX is not set +# CONFIG_VIDEO_WM8739 is not set +# CONFIG_VIDEO_WM8775 is not set +# end of Audio decoders, processors and mixers + +# +# RDS decoders +# +# CONFIG_VIDEO_SAA6588 is not set +# end of RDS decoders + +# +# Video decoders +# +# CONFIG_VIDEO_ADV7180 is not set +# CONFIG_VIDEO_ADV7183 is not set +# CONFIG_VIDEO_ADV748X is not set +# CONFIG_VIDEO_ADV7604 is not set +# CONFIG_VIDEO_ADV7842 is not set +# CONFIG_VIDEO_BT819 is not set +# CONFIG_VIDEO_BT856 is not set +# CONFIG_VIDEO_BT866 is not set +# CONFIG_VIDEO_ISL7998X is not set +# CONFIG_VIDEO_KS0127 is not set +# CONFIG_VIDEO_ML86V7667 is not set +# CONFIG_VIDEO_SAA7110 is not set +# CONFIG_VIDEO_SAA711X is not set +# CONFIG_VIDEO_TC358743 is not set +# CONFIG_VIDEO_TC358746 is not set +# CONFIG_VIDEO_TVP514X is not set +# CONFIG_VIDEO_TVP5150 is not set +# CONFIG_VIDEO_TVP7002 is not set +# CONFIG_VIDEO_TW2804 is not set +# CONFIG_VIDEO_TW9903 is not set +# CONFIG_VIDEO_TW9906 is not set +# CONFIG_VIDEO_TW9910 is not set +# CONFIG_VIDEO_VPX3220 is not set + +# +# Video and audio decoders +# +# CONFIG_VIDEO_SAA717X is not set +# CONFIG_VIDEO_CX25840 is not set +# end of Video decoders + +# +# Video encoders +# +# CONFIG_VIDEO_ADV7170 is not set +# CONFIG_VIDEO_ADV7175 is not set +# CONFIG_VIDEO_ADV7343 is not set +# CONFIG_VIDEO_ADV7393 is not set +# CONFIG_VIDEO_ADV7511 is not set +# CONFIG_VIDEO_AK881X is not set +# CONFIG_VIDEO_SAA7127 is not set +# CONFIG_VIDEO_SAA7185 is not set +# CONFIG_VIDEO_THS8200 is not set +# end of Video encoders + +# +# Video improvement chips +# +# CONFIG_VIDEO_UPD64031A is not set +# CONFIG_VIDEO_UPD64083 is not set +# end of Video improvement chips + +# +# Audio/Video compression chips +# +# CONFIG_VIDEO_SAA6752HS is not set +# end of Audio/Video compression chips + +# +# SDR tuner chips +# +# CONFIG_SDR_MAX2175 is not set +# end of SDR tuner chips + +# +# Miscellaneous helper chips +# +# CONFIG_VIDEO_I2C is not set +# CONFIG_VIDEO_M52790 is not set +# CONFIG_VIDEO_ST_MIPID02 is not set +# CONFIG_VIDEO_THS7303 is not set +# end of Miscellaneous helper chips + +# +# Video serializers and deserializers +# +# CONFIG_VIDEO_DS90UB913 is not set +# CONFIG_VIDEO_DS90UB953 is not set +# CONFIG_VIDEO_DS90UB960 is not set +# end of Video serializers and deserializers + +# +# Media SPI Adapters +# +# CONFIG_CXD2880_SPI_DRV is not set +# CONFIG_VIDEO_GS1662 is not set +# end of Media SPI Adapters + +CONFIG_MEDIA_TUNER=y + +# +# Customize TV tuners +# +# CONFIG_MEDIA_TUNER_E4000 is not set +# CONFIG_MEDIA_TUNER_FC0011 is not set +# CONFIG_MEDIA_TUNER_FC0012 is not set +# CONFIG_MEDIA_TUNER_FC0013 is not set +# CONFIG_MEDIA_TUNER_FC2580 is not set +# CONFIG_MEDIA_TUNER_IT913X is not set +# CONFIG_MEDIA_TUNER_M88RS6000T is not set +# CONFIG_MEDIA_TUNER_MAX2165 is not set +# CONFIG_MEDIA_TUNER_MC44S803 is not set +# CONFIG_MEDIA_TUNER_MSI001 is not set +# CONFIG_MEDIA_TUNER_MT2060 is not set +# CONFIG_MEDIA_TUNER_MT2063 is not set +# CONFIG_MEDIA_TUNER_MT20XX is not set +# CONFIG_MEDIA_TUNER_MT2131 is not set +# CONFIG_MEDIA_TUNER_MT2266 is not set +# CONFIG_MEDIA_TUNER_MXL301RF is not set +# CONFIG_MEDIA_TUNER_MXL5005S is not set +# CONFIG_MEDIA_TUNER_MXL5007T is not set +# CONFIG_MEDIA_TUNER_QM1D1B0004 is not set +# CONFIG_MEDIA_TUNER_QM1D1C0042 is not set +# CONFIG_MEDIA_TUNER_QT1010 is not set +# CONFIG_MEDIA_TUNER_R820T is not set +# CONFIG_MEDIA_TUNER_SI2157 is not set +# CONFIG_MEDIA_TUNER_SIMPLE is not set +# CONFIG_MEDIA_TUNER_TDA18212 is not set +# CONFIG_MEDIA_TUNER_TDA18218 is not set +# CONFIG_MEDIA_TUNER_TDA18250 is not set +# CONFIG_MEDIA_TUNER_TDA18271 is not set +# CONFIG_MEDIA_TUNER_TDA827X is not set +# CONFIG_MEDIA_TUNER_TDA8290 is not set +# CONFIG_MEDIA_TUNER_TDA9887 is not set +# CONFIG_MEDIA_TUNER_TEA5761 is not set +# CONFIG_MEDIA_TUNER_TEA5767 is not set +# CONFIG_MEDIA_TUNER_TUA9001 is not set +# CONFIG_MEDIA_TUNER_XC2028 is not set +# CONFIG_MEDIA_TUNER_XC4000 is not set +# CONFIG_MEDIA_TUNER_XC5000 is not set +# end of Customize TV tuners + +# +# Customise DVB Frontends +# + +# +# Multistandard (satellite) frontends +# +# CONFIG_DVB_MXL5XX is not set +# CONFIG_DVB_STB0899 is not set +# CONFIG_DVB_STB6100 is not set +# CONFIG_DVB_STV090x is not set +# CONFIG_DVB_STV0910 is not set +# CONFIG_DVB_STV6110x is not set +# CONFIG_DVB_STV6111 is not set + +# +# Multistandard (cable + terrestrial) frontends +# +# CONFIG_DVB_DRXK is not set +# CONFIG_DVB_MN88472 is not set +# CONFIG_DVB_MN88473 is not set +# CONFIG_DVB_SI2165 is not set +# CONFIG_DVB_TDA18271C2DD is not set + +# +# DVB-S (satellite) frontends +# +# CONFIG_DVB_CX24110 is not set +# CONFIG_DVB_CX24116 is not set +# CONFIG_DVB_CX24117 is not set +# CONFIG_DVB_CX24120 is not set +# CONFIG_DVB_CX24123 is not set +# CONFIG_DVB_DS3000 is not set +# CONFIG_DVB_MB86A16 is not set +# CONFIG_DVB_MT312 is not set +# CONFIG_DVB_S5H1420 is not set +# CONFIG_DVB_SI21XX is not set +# CONFIG_DVB_STB6000 is not set +# CONFIG_DVB_STV0288 is not set +# CONFIG_DVB_STV0299 is not set +# CONFIG_DVB_STV0900 is not set +# CONFIG_DVB_STV6110 is not set +# CONFIG_DVB_TDA10071 is not set +# CONFIG_DVB_TDA10086 is not set +# CONFIG_DVB_TDA8083 is not set +# CONFIG_DVB_TDA8261 is not set +# CONFIG_DVB_TDA826X is not set +# CONFIG_DVB_TS2020 is not set +# CONFIG_DVB_TUA6100 is not set +# CONFIG_DVB_TUNER_CX24113 is not set +# CONFIG_DVB_TUNER_ITD1000 is not set +# CONFIG_DVB_VES1X93 is not set +# CONFIG_DVB_ZL10036 is not set +# CONFIG_DVB_ZL10039 is not set + +# +# DVB-T (terrestrial) frontends +# +# CONFIG_DVB_CX22700 is not set +# CONFIG_DVB_CX22702 is not set +# CONFIG_DVB_CXD2820R is not set +# CONFIG_DVB_CXD2841ER is not set +# CONFIG_DVB_DIB3000MB is not set +# CONFIG_DVB_DIB3000MC is not set +# CONFIG_DVB_DIB7000M is not set +# CONFIG_DVB_DIB7000P is not set +# CONFIG_DVB_DIB9000 is not set +# CONFIG_DVB_DRXD is not set +# CONFIG_DVB_EC100 is not set +# CONFIG_DVB_L64781 is not set +# CONFIG_DVB_MT352 is not set +# CONFIG_DVB_NXT6000 is not set +# CONFIG_DVB_S5H1432 is not set +# CONFIG_DVB_SP887X is not set +# CONFIG_DVB_STV0367 is not set +# CONFIG_DVB_TDA10048 is not set +# CONFIG_DVB_TDA1004X is not set +# CONFIG_DVB_ZD1301_DEMOD is not set +# CONFIG_DVB_ZL10353 is not set +# CONFIG_DVB_CXD2880 is not set + +# +# DVB-C (cable) frontends +# +# CONFIG_DVB_STV0297 is not set +# CONFIG_DVB_TDA10021 is not set +# CONFIG_DVB_TDA10023 is not set +# CONFIG_DVB_VES1820 is not set + +# +# ATSC (North American/Korean Terrestrial/Cable DTV) frontends +# +# CONFIG_DVB_AU8522_DTV is not set +# CONFIG_DVB_AU8522_V4L is not set +# CONFIG_DVB_BCM3510 is not set +# CONFIG_DVB_LG2160 is not set +# CONFIG_DVB_LGDT3305 is not set +# CONFIG_DVB_LGDT330X is not set +# CONFIG_DVB_MXL692 is not set +# CONFIG_DVB_NXT200X is not set +# CONFIG_DVB_OR51132 is not set +# CONFIG_DVB_OR51211 is not set +# CONFIG_DVB_S5H1409 is not set +# CONFIG_DVB_S5H1411 is not set + +# +# ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_DIB8000 is not set +# CONFIG_DVB_MB86A20S is not set +# CONFIG_DVB_S921 is not set + +# +# ISDB-S (satellite) & ISDB-T (terrestrial) frontends +# +# CONFIG_DVB_MN88443X is not set +# CONFIG_DVB_TC90522 is not set + +# +# Digital terrestrial only tuners/PLL +# +# CONFIG_DVB_PLL is not set +# CONFIG_DVB_TUNER_DIB0070 is not set +# CONFIG_DVB_TUNER_DIB0090 is not set + +# +# SEC control devices for DVB-S +# +# CONFIG_DVB_A8293 is not set +# CONFIG_DVB_AF9033 is not set +# CONFIG_DVB_ASCOT2E is not set +# CONFIG_DVB_ATBM8830 is not set +# CONFIG_DVB_HELENE is not set +# CONFIG_DVB_HORUS3A is not set +# CONFIG_DVB_ISL6405 is not set +# CONFIG_DVB_ISL6421 is not set +# CONFIG_DVB_ISL6423 is not set +# CONFIG_DVB_IX2505V is not set +# CONFIG_DVB_LGS8GL5 is not set +# CONFIG_DVB_LGS8GXX is not set +# CONFIG_DVB_LNBH25 is not set +# CONFIG_DVB_LNBH29 is not set +# CONFIG_DVB_LNBP21 is not set +# CONFIG_DVB_LNBP22 is not set +# CONFIG_DVB_M88RS2000 is not set +# CONFIG_DVB_TDA665x is not set +# CONFIG_DVB_DRX39XYJ is not set + +# +# Common Interface (EN50221) controller drivers +# +# CONFIG_DVB_CXD2099 is not set +# CONFIG_DVB_SP2 is not set +# end of Customise DVB Frontends + +# +# Tools to develop new frontends +# +# CONFIG_DVB_DUMMY_FE is not set +# end of Media ancillary drivers + +# +# Graphics support +# +CONFIG_VIDEO_CMDLINE=y +CONFIG_VIDEO_NOMODESET=y +# CONFIG_AUXDISPLAY is not set +# CONFIG_TEGRA_HOST1X is not set +# CONFIG_IMX_IPUV3_CORE is not set +CONFIG_DRM=y +CONFIG_DRM_MIPI_DSI=y +# CONFIG_DRM_DEBUG_MM is not set +CONFIG_DRM_KMS_HELPER=y +# CONFIG_DRM_DEBUG_DP_MST_TOPOLOGY_REFS is not set +# CONFIG_DRM_DEBUG_MODESET_LOCK is not set +CONFIG_DRM_FBDEV_EMULATION=y +CONFIG_DRM_FBDEV_OVERALLOC=100 +# CONFIG_DRM_FBDEV_LEAK_PHYS_SMEM is not set +# CONFIG_DRM_LOAD_EDID_FIRMWARE is not set +CONFIG_DRM_DP_AUX_BUS=y +CONFIG_DRM_DISPLAY_HELPER=m +CONFIG_DRM_DISPLAY_DP_HELPER=y +# CONFIG_DRM_DP_AUX_CHARDEV is not set +# CONFIG_DRM_DP_CEC is not set +CONFIG_DRM_TTM=m +CONFIG_DRM_TTM_HELPER=m +CONFIG_DRM_SUBALLOC_HELPER=m + +# +# I2C encoder or helper chips +# +# CONFIG_DRM_I2C_CH7006 is not set +# CONFIG_DRM_I2C_SIL164 is not set +# CONFIG_DRM_I2C_NXP_TDA998X is not set +# CONFIG_DRM_I2C_NXP_TDA9950 is not set +# end of I2C encoder or helper chips + +# +# ARM devices +# +# CONFIG_DRM_HDLCD is not set +# CONFIG_DRM_MALI_DISPLAY is not set +# CONFIG_DRM_KOMEDA is not set +# end of ARM devices + +CONFIG_DRM_RADEON=m +CONFIG_DRM_RADEON_USERPTR=y +# CONFIG_DRM_AMDGPU is not set +# CONFIG_DRM_NOUVEAU is not set +# CONFIG_DRM_KMB_DISPLAY is not set +# CONFIG_DRM_VGEM is not set +# CONFIG_DRM_VKMS is not set +# CONFIG_DRM_EXYNOS is not set +# CONFIG_DRM_UDL is not set +# CONFIG_DRM_AST is not set +# CONFIG_DRM_MGAG200 is not set +# CONFIG_DRM_RCAR_DW_HDMI is not set +# CONFIG_DRM_RCAR_USE_LVDS is not set +# CONFIG_DRM_RCAR_USE_MIPI_DSI is not set +# CONFIG_DRM_RZG2L_MIPI_DSI is not set +# CONFIG_DRM_SHMOBILE is not set +# CONFIG_DRM_SUN4I is not set +# CONFIG_DRM_QXL is not set +# CONFIG_DRM_TEGRA is not set +CONFIG_DRM_PANEL=y + +# +# Display Panels +# +# CONFIG_DRM_PANEL_ABT_Y030XX067A is not set +# CONFIG_DRM_PANEL_ARM_VERSATILE is not set +# CONFIG_DRM_PANEL_ASUS_Z00T_TM5P5_NT35596 is not set +# CONFIG_DRM_PANEL_AUO_A030JTN01 is not set +# CONFIG_DRM_PANEL_BOE_BF060Y8M_AJ0 is not set +# CONFIG_DRM_PANEL_BOE_HIMAX8279D is not set +# CONFIG_DRM_PANEL_BOE_TV101WUM_NL6 is not set +# CONFIG_DRM_PANEL_DSI_CM is not set +# CONFIG_DRM_PANEL_LVDS is not set +# CONFIG_DRM_PANEL_SIMPLE is not set +# CONFIG_DRM_PANEL_EDP is not set +# CONFIG_DRM_PANEL_EBBG_FT8719 is not set +# CONFIG_DRM_PANEL_ELIDA_KD35T133 is not set +# CONFIG_DRM_PANEL_FEIXIN_K101_IM2BA02 is not set +# CONFIG_DRM_PANEL_FEIYANG_FY07024DI26A30D is not set +# CONFIG_DRM_PANEL_HIMAX_HX8394 is not set +# CONFIG_DRM_PANEL_ILITEK_IL9322 is not set +# CONFIG_DRM_PANEL_ILITEK_ILI9341 is not set +# CONFIG_DRM_PANEL_ILITEK_ILI9881C is not set +# CONFIG_DRM_PANEL_INNOLUX_EJ030NA is not set +# CONFIG_DRM_PANEL_INNOLUX_P079ZCA is not set +# CONFIG_DRM_PANEL_JADARD_JD9365DA_H3 is not set +# CONFIG_DRM_PANEL_JDI_LT070ME05000 is not set +# CONFIG_DRM_PANEL_JDI_R63452 is not set +# CONFIG_DRM_PANEL_KHADAS_TS050 is not set +# CONFIG_DRM_PANEL_KINGDISPLAY_KD097D04 is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK050H3146W is not set +# CONFIG_DRM_PANEL_LEADTEK_LTK500HD1829 is not set +# CONFIG_DRM_PANEL_SAMSUNG_LD9040 is not set +# CONFIG_DRM_PANEL_LG_LB035Q02 is not set +# CONFIG_DRM_PANEL_LG_LG4573 is not set +# CONFIG_DRM_PANEL_MAGNACHIP_D53E6EA8966 is not set +# CONFIG_DRM_PANEL_NEC_NL8048HL11 is not set +# CONFIG_DRM_PANEL_NEWVISION_NV3051D is not set +# CONFIG_DRM_PANEL_NEWVISION_NV3052C is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35510 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35560 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT35950 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT36523 is not set +# CONFIG_DRM_PANEL_NOVATEK_NT36672A is not set +# CONFIG_DRM_PANEL_NOVATEK_NT39016 is not set +# CONFIG_DRM_PANEL_MANTIX_MLAF057WE51 is not set +# CONFIG_DRM_PANEL_OLIMEX_LCD_OLINUXINO is not set +# CONFIG_DRM_PANEL_ORISETECH_OTA5601A is not set +# CONFIG_DRM_PANEL_ORISETECH_OTM8009A is not set +# CONFIG_DRM_PANEL_OSD_OSD101T2587_53TS is not set +# CONFIG_DRM_PANEL_PANASONIC_VVX10F034N00 is not set +# CONFIG_DRM_PANEL_RASPBERRYPI_TOUCHSCREEN is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM67191 is not set +# CONFIG_DRM_PANEL_RAYDIUM_RM68200 is not set +# CONFIG_DRM_PANEL_RONBO_RB070D30 is not set +# CONFIG_DRM_PANEL_SAMSUNG_ATNA33XC20 is not set +# CONFIG_DRM_PANEL_SAMSUNG_DB7430 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D16D0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D27A1 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6D7AA0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E3HA2 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E63J0X03 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E63M0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E88A0_AMS452EF01 is not set +# CONFIG_DRM_PANEL_SAMSUNG_S6E8AA0 is not set +# CONFIG_DRM_PANEL_SAMSUNG_SOFEF00 is not set +# CONFIG_DRM_PANEL_SEIKO_43WVF1G is not set +# CONFIG_DRM_PANEL_SHARP_LQ101R1SX01 is not set +# CONFIG_DRM_PANEL_SHARP_LS037V7DW01 is not set +# CONFIG_DRM_PANEL_SHARP_LS043T1LE01 is not set +# CONFIG_DRM_PANEL_SHARP_LS060T1SX01 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7701 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7703 is not set +# CONFIG_DRM_PANEL_SITRONIX_ST7789V is not set +# CONFIG_DRM_PANEL_SONY_ACX565AKM is not set +# CONFIG_DRM_PANEL_SONY_TD4353_JDI is not set +# CONFIG_DRM_PANEL_SONY_TULIP_TRULY_NT35521 is not set +# CONFIG_DRM_PANEL_STARTEK_KD070FHFID015 is not set +# CONFIG_DRM_PANEL_TDO_TL070WSH30 is not set +# CONFIG_DRM_PANEL_TPO_TD028TTEC1 is not set +# CONFIG_DRM_PANEL_TPO_TD043MTEA1 is not set +# CONFIG_DRM_PANEL_TPO_TPG110 is not set +# CONFIG_DRM_PANEL_TRULY_NT35597_WQXGA is not set +# CONFIG_DRM_PANEL_VISIONOX_RM69299 is not set +# CONFIG_DRM_PANEL_VISIONOX_VTDR6130 is not set +# CONFIG_DRM_PANEL_VISIONOX_R66451 is not set +# CONFIG_DRM_PANEL_WIDECHIPS_WS2401 is not set +# CONFIG_DRM_PANEL_XINPENG_XPP055C272 is not set +# end of Display Panels + +CONFIG_DRM_BRIDGE=y +CONFIG_DRM_PANEL_BRIDGE=y + +# +# Display Interface Bridges +# +# CONFIG_DRM_CHIPONE_ICN6211 is not set +# CONFIG_DRM_CHRONTEL_CH7033 is not set +# CONFIG_DRM_CROS_EC_ANX7688 is not set +# CONFIG_DRM_DISPLAY_CONNECTOR is not set +# CONFIG_DRM_FSL_LDB is not set +# CONFIG_DRM_ITE_IT6505 is not set +# CONFIG_DRM_LONTIUM_LT8912B is not set +# CONFIG_DRM_LONTIUM_LT9211 is not set +# CONFIG_DRM_LONTIUM_LT9611 is not set +# CONFIG_DRM_LONTIUM_LT9611UXC is not set +# CONFIG_DRM_ITE_IT66121 is not set +# CONFIG_DRM_LVDS_CODEC is not set +# CONFIG_DRM_MEGACHIPS_STDPXXXX_GE_B850V3_FW is not set +# CONFIG_DRM_NWL_MIPI_DSI is not set +# CONFIG_DRM_NXP_PTN3460 is not set +# CONFIG_DRM_PARADE_PS8622 is not set +# CONFIG_DRM_PARADE_PS8640 is not set +# CONFIG_DRM_SAMSUNG_DSIM is not set +# CONFIG_DRM_SIL_SII8620 is not set +# CONFIG_DRM_SII902X is not set +# CONFIG_DRM_SII9234 is not set +# CONFIG_DRM_SIMPLE_BRIDGE is not set +# CONFIG_DRM_THINE_THC63LVD1024 is not set +# CONFIG_DRM_TOSHIBA_TC358762 is not set +# CONFIG_DRM_TOSHIBA_TC358764 is not set +# CONFIG_DRM_TOSHIBA_TC358767 is not set +# CONFIG_DRM_TOSHIBA_TC358768 is not set +# CONFIG_DRM_TOSHIBA_TC358775 is not set +# CONFIG_DRM_TI_DLPC3433 is not set +# CONFIG_DRM_TI_TFP410 is not set +# CONFIG_DRM_TI_SN65DSI83 is not set +# CONFIG_DRM_TI_SN65DSI86 is not set +# CONFIG_DRM_TI_TPD12S015 is not set +# CONFIG_DRM_ANALOGIX_ANX6345 is not set +# CONFIG_DRM_ANALOGIX_ANX78XX is not set +# CONFIG_DRM_ANALOGIX_ANX7625 is not set +# CONFIG_DRM_I2C_ADV7511 is not set +# CONFIG_DRM_CDNS_DSI is not set +# CONFIG_DRM_CDNS_MHDP8546 is not set +# CONFIG_DRM_IMX8QM_LDB is not set +# CONFIG_DRM_IMX8QXP_LDB is not set +# CONFIG_DRM_IMX8QXP_PIXEL_COMBINER is not set +# CONFIG_DRM_IMX8QXP_PIXEL_LINK_TO_DPI is not set +# end of Display Interface Bridges + +# CONFIG_DRM_IMX_LCDC is not set +# CONFIG_DRM_INGENIC is not set +# CONFIG_DRM_V3D is not set +# CONFIG_DRM_VC4 is not set +# CONFIG_DRM_LOONGSON is not set +# CONFIG_DRM_ETNAVIV is not set +# CONFIG_DRM_HISI_HIBMC is not set +# CONFIG_DRM_LOGICVC is not set +# CONFIG_DRM_MXSFB is not set +# CONFIG_DRM_IMX_LCDIF is not set +# CONFIG_DRM_ARCPGU is not set +# CONFIG_DRM_BOCHS is not set +# CONFIG_DRM_CIRRUS_QEMU is not set +# CONFIG_DRM_GM12U320 is not set +# CONFIG_DRM_OFDRM is not set +# CONFIG_DRM_PANEL_MIPI_DBI is not set +# CONFIG_DRM_SIMPLEDRM is not set +# CONFIG_TINYDRM_HX8357D is not set +# CONFIG_TINYDRM_ILI9163 is not set +# CONFIG_TINYDRM_ILI9225 is not set +# CONFIG_TINYDRM_ILI9341 is not set +# CONFIG_TINYDRM_ILI9486 is not set +# CONFIG_TINYDRM_MI0283QT is not set +# CONFIG_TINYDRM_REPAPER is not set +# CONFIG_TINYDRM_ST7586 is not set +# CONFIG_TINYDRM_ST7735R is not set +# CONFIG_DRM_PL111 is not set +# CONFIG_DRM_TVE200 is not set +# CONFIG_DRM_LIMA is not set +# CONFIG_DRM_PANFROST is not set +# CONFIG_DRM_ASPEED_GFX is not set +# CONFIG_DRM_MCDE is not set +# CONFIG_DRM_TIDSS is not set +# CONFIG_DRM_GUD is not set +# CONFIG_DRM_SSD130X is not set +# CONFIG_DRM_SPRD is not set +CONFIG_DRM_KY=y +CONFIG_KY_MIPI_PANEL=y +CONFIG_KY_HDMI=y +CONFIG_DRM_LT8911EXB=y +CONFIG_DRM_LT9711=y +# CONFIG_POWERVR_ROGUE_NULLDRMDISP is not set +CONFIG_POWERVR_ROGUE=y +# CONFIG_DRM_LEGACY is not set +CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y + +# +# Frame buffer Devices +# +CONFIG_FB=y +# CONFIG_FB_CIRRUS is not set +# CONFIG_FB_PM2 is not set +# CONFIG_FB_CLPS711X is not set +# CONFIG_FB_IMX is not set +# CONFIG_FB_CYBER2000 is not set +# CONFIG_FB_ARC is not set +# CONFIG_FB_CONTROL is not set +# CONFIG_FB_ASILIANT is not set +# CONFIG_FB_IMSTT is not set +# CONFIG_FB_EFI is not set +# CONFIG_FB_GBE is not set +# CONFIG_FB_PVR2 is not set +# CONFIG_FB_OPENCORES is not set +# CONFIG_FB_S1D13XXX is not set +# CONFIG_FB_ATMEL is not set +# CONFIG_FB_NVIDIA is not set +# CONFIG_FB_RIVA is not set +# CONFIG_FB_I740 is not set +# CONFIG_FB_MATROX is not set +# CONFIG_FB_RADEON is not set +# CONFIG_FB_ATY128 is not set +# CONFIG_FB_ATY is not set +# CONFIG_FB_S3 is not set +# CONFIG_FB_SAVAGE is not set +# CONFIG_FB_SIS is not set +# CONFIG_FB_VIA is not set +# CONFIG_FB_NEOMAGIC is not set +# CONFIG_FB_KYRO is not set +# CONFIG_FB_3DFX is not set +# CONFIG_FB_VOODOO1 is not set +# CONFIG_FB_VT8623 is not set +# CONFIG_FB_TRIDENT is not set +# CONFIG_FB_ARK is not set +# CONFIG_FB_PM3 is not set +# CONFIG_FB_CARMINE is not set +# CONFIG_FB_WM8505 is not set +# CONFIG_FB_PXA168 is not set +# CONFIG_FB_SH_MOBILE_LCDC is not set +# CONFIG_FB_S3C is not set +# CONFIG_FB_SMSCUFX is not set +# CONFIG_FB_UDL is not set +# CONFIG_FB_IBM_GXT4500 is not set +# CONFIG_FB_GOLDFISH is not set +# CONFIG_FB_DA8XX is not set +# CONFIG_FB_VIRTUAL is not set +# CONFIG_FB_METRONOME is not set +# CONFIG_FB_MB862XX is not set +# CONFIG_FB_BROADSHEET is not set +# CONFIG_FB_SIMPLE is not set +# CONFIG_FB_SSD1307 is not set +# CONFIG_FB_SM712 is not set +# CONFIG_FB_OMAP2 is not set +# CONFIG_MMP_DISP is not set +CONFIG_FB_CORE=y +CONFIG_FB_NOTIFY=y +# CONFIG_FIRMWARE_EDID is not set +CONFIG_FB_DEVICE=y +CONFIG_FB_CFB_FILLRECT=y +CONFIG_FB_CFB_COPYAREA=y +CONFIG_FB_CFB_IMAGEBLIT=y +CONFIG_FB_SYS_FILLRECT=y +CONFIG_FB_SYS_COPYAREA=y +CONFIG_FB_SYS_IMAGEBLIT=y +# CONFIG_FB_FOREIGN_ENDIAN is not set +CONFIG_FB_SYS_FOPS=y +CONFIG_FB_DEFERRED_IO=y +CONFIG_FB_IOMEM_FOPS=y +CONFIG_FB_IOMEM_HELPERS=y +CONFIG_FB_SYSMEM_HELPERS=y +CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y +# CONFIG_FB_MODE_HELPERS is not set +# CONFIG_FB_TILEBLITTING is not set +# end of Frame buffer Devices + +# +# Backlight & LCD device support +# +# CONFIG_LCD_CLASS_DEVICE is not set +CONFIG_BACKLIGHT_CLASS_DEVICE=y +# CONFIG_BACKLIGHT_KTD253 is not set +# CONFIG_BACKLIGHT_KTZ8866 is not set +# CONFIG_BACKLIGHT_OMAP1 is not set +CONFIG_BACKLIGHT_PWM=y +# CONFIG_BACKLIGHT_QCOM_WLED is not set +# CONFIG_BACKLIGHT_ADP8860 is not set +# CONFIG_BACKLIGHT_ADP8870 is not set +# CONFIG_BACKLIGHT_LM3630A is not set +# CONFIG_BACKLIGHT_LM3639 is not set +# CONFIG_BACKLIGHT_LP855X is not set +# CONFIG_BACKLIGHT_GPIO is not set +# CONFIG_BACKLIGHT_LV5207LP is not set +# CONFIG_BACKLIGHT_BD6107 is not set +# CONFIG_BACKLIGHT_ARCXCNN is not set +# CONFIG_BACKLIGHT_LED is not set +# end of Backlight & LCD device support + +CONFIG_VIDEOMODE_HELPERS=y +CONFIG_HDMI=y + +# +# Console display driver support +# +# CONFIG_VGA_CONSOLE is not set +CONFIG_DUMMY_CONSOLE=y +CONFIG_DUMMY_CONSOLE_COLUMNS=80 +CONFIG_DUMMY_CONSOLE_ROWS=25 +CONFIG_FRAMEBUFFER_CONSOLE=y +# CONFIG_FRAMEBUFFER_CONSOLE_LEGACY_ACCELERATION is not set +CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y +# CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set +# CONFIG_FRAMEBUFFER_CONSOLE_DEFERRED_TAKEOVER is not set +# end of Console display driver support + +# CONFIG_LOGO is not set +# end of Graphics support + +# CONFIG_DRM_ACCEL is not set +CONFIG_SOUND=y +CONFIG_SND=y +CONFIG_SND_TIMER=y +CONFIG_SND_PCM=y +CONFIG_SND_DMAENGINE_PCM=y +CONFIG_SND_COMPRESS_OFFLOAD=y +CONFIG_SND_JACK=y +CONFIG_SND_JACK_INPUT_DEV=y +# CONFIG_SND_OSSEMUL is not set +CONFIG_SND_PCM_TIMER=y +# CONFIG_SND_HRTIMER is not set +# CONFIG_SND_DYNAMIC_MINORS is not set +CONFIG_SND_SUPPORT_OLD_API=y +CONFIG_SND_PROC_FS=y +CONFIG_SND_VERBOSE_PROCFS=y +# CONFIG_SND_VERBOSE_PRINTK is not set +CONFIG_SND_CTL_FAST_LOOKUP=y +# CONFIG_SND_DEBUG is not set +# CONFIG_SND_CTL_INPUT_VALIDATION is not set +# CONFIG_SND_SEQUENCER is not set +CONFIG_SND_DRIVERS=y +# CONFIG_SND_DUMMY is not set +# CONFIG_SND_ALOOP is not set +# CONFIG_SND_PCMTEST is not set +# CONFIG_SND_MTPAV is not set +# CONFIG_SND_SERIAL_U16550 is not set +# CONFIG_SND_SERIAL_GENERIC is not set +# CONFIG_SND_MPU401 is not set +CONFIG_SND_PCI=y +# CONFIG_SND_AD1889 is not set +# CONFIG_SND_ATIIXP is not set +# CONFIG_SND_ATIIXP_MODEM is not set +# CONFIG_SND_AU8810 is not set +# CONFIG_SND_AU8820 is not set +# CONFIG_SND_AU8830 is not set +# CONFIG_SND_AW2 is not set +# CONFIG_SND_BT87X is not set +# CONFIG_SND_CA0106 is not set +# CONFIG_SND_CMIPCI is not set +# CONFIG_SND_OXYGEN is not set +# CONFIG_SND_CS4281 is not set +# CONFIG_SND_CS46XX is not set +# CONFIG_SND_CS5535AUDIO is not set +# CONFIG_SND_CTXFI is not set +# CONFIG_SND_DARLA20 is not set +# CONFIG_SND_GINA20 is not set +# CONFIG_SND_LAYLA20 is not set +# CONFIG_SND_DARLA24 is not set +# CONFIG_SND_GINA24 is not set +# CONFIG_SND_LAYLA24 is not set +# CONFIG_SND_MONA is not set +# CONFIG_SND_MIA is not set +# CONFIG_SND_ECHO3G is not set +# CONFIG_SND_INDIGO is not set +# CONFIG_SND_INDIGOIO is not set +# CONFIG_SND_INDIGODJ is not set +# CONFIG_SND_INDIGOIOX is not set +# CONFIG_SND_INDIGODJX is not set +# CONFIG_SND_ENS1370 is not set +# CONFIG_SND_ENS1371 is not set +# CONFIG_SND_FM801 is not set +# CONFIG_SND_HDSP is not set +# CONFIG_SND_HDSPM is not set +# CONFIG_SND_ICE1724 is not set +# CONFIG_SND_INTEL8X0 is not set +# CONFIG_SND_INTEL8X0M is not set +# CONFIG_SND_KORG1212 is not set +# CONFIG_SND_LOLA is not set +# CONFIG_SND_LX6464ES is not set +# CONFIG_SND_MIXART is not set +# CONFIG_SND_NM256 is not set +# CONFIG_SND_PCXHR is not set +# CONFIG_SND_RIPTIDE is not set +# CONFIG_SND_RME32 is not set +# CONFIG_SND_RME96 is not set +# CONFIG_SND_RME9652 is not set +# CONFIG_SND_SE6X is not set +# CONFIG_SND_VIA82XX is not set +# CONFIG_SND_VIA82XX_MODEM is not set +# CONFIG_SND_VIRTUOSO is not set +# CONFIG_SND_VX222 is not set +# CONFIG_SND_YMFPCI is not set + +# +# HD-Audio +# +# CONFIG_SND_HDA_INTEL is not set +# end of HD-Audio + +CONFIG_SND_HDA_PREALLOC_SIZE=64 +CONFIG_SND_SPI=y +CONFIG_SND_USB=y +# CONFIG_SND_USB_AUDIO is not set +# CONFIG_SND_USB_UA101 is not set +# CONFIG_SND_USB_CAIAQ is not set +# CONFIG_SND_USB_US122L is not set +# CONFIG_SND_USB_6FIRE is not set +# CONFIG_SND_USB_HIFACE is not set +# CONFIG_SND_BCD2000 is not set +# CONFIG_SND_USB_POD is not set +# CONFIG_SND_USB_PODHD is not set +# CONFIG_SND_USB_TONEPORT is not set +# CONFIG_SND_USB_VARIAX is not set +CONFIG_SND_SOC=y +CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y +CONFIG_SND_SOC_COMPRESS=y +# CONFIG_SND_SOC_ADI is not set +# CONFIG_SND_SOC_AMD_ACP is not set +# CONFIG_SND_AMD_ACP_CONFIG is not set +# CONFIG_SND_SOC_APPLE_MCA is not set +# CONFIG_SND_ATMEL_SOC is not set +# CONFIG_SND_BCM2835_SOC_I2S is not set +# CONFIG_SND_SOC_CYGNUS is not set +# CONFIG_SND_BCM63XX_I2S_WHISTLER is not set +# CONFIG_SND_EP93XX_SOC is not set +# CONFIG_SND_DESIGNWARE_I2S is not set + +# +# SoC Audio for Freescale CPUs +# + +# +# Common SoC Audio options for Freescale CPUs: +# +# CONFIG_SND_SOC_FSL_ASRC is not set +# CONFIG_SND_SOC_FSL_SAI is not set +# CONFIG_SND_SOC_FSL_AUDMIX is not set +# CONFIG_SND_SOC_FSL_SSI is not set +# CONFIG_SND_SOC_FSL_SPDIF is not set +# CONFIG_SND_SOC_FSL_ESAI is not set +# CONFIG_SND_SOC_FSL_MICFIL is not set +# CONFIG_SND_SOC_FSL_XCVR is not set +# CONFIG_SND_SOC_FSL_AUD2HTX is not set +# CONFIG_SND_SOC_FSL_RPMSG is not set +# CONFIG_SND_SOC_IMX_AUDMUX is not set +# CONFIG_SND_IMX_SOC is not set +# end of SoC Audio for Freescale CPUs + +# CONFIG_SND_SOC_CHV3_I2S is not set +# CONFIG_SND_I2S_HI6210_I2S is not set +# CONFIG_SND_JZ4740_SOC_I2S is not set +# CONFIG_SND_KIRKWOOD_SOC is not set + +# +# SoC Audio for Loongson CPUs +# +# CONFIG_SND_SOC_LOONGSON_I2S_PCI is not set +# CONFIG_SND_SOC_LOONGSON_CARD is not set +# end of SoC Audio for Loongson CPUs + +# CONFIG_SND_SOC_IMG is not set +# CONFIG_SND_SOC_INTEL_SST_TOPLEVEL is not set +# CONFIG_SND_SOC_INTEL_KEEMBAY is not set +# CONFIG_SND_SOC_INTEL_AVS is not set +# CONFIG_SND_SOC_MT8186 is not set +# CONFIG_SND_SOC_MTK_BTCVSD is not set +# CONFIG_SND_SOC_MT8188 is not set +# CONFIG_SND_SOC_MT8195 is not set + +# +# ASoC support for Amlogic platforms +# +# CONFIG_SND_MESON_AIU is not set +# CONFIG_SND_MESON_AXG_FRDDR is not set +# CONFIG_SND_MESON_AXG_TODDR is not set +# CONFIG_SND_MESON_AXG_TDMIN is not set +# CONFIG_SND_MESON_AXG_TDMOUT is not set +# CONFIG_SND_MESON_AXG_SOUND_CARD is not set +# CONFIG_SND_MESON_AXG_SPDIFOUT is not set +# CONFIG_SND_MESON_AXG_SPDIFIN is not set +# CONFIG_SND_MESON_AXG_PDM is not set +# CONFIG_SND_MESON_GX_SOUND_CARD is not set +# CONFIG_SND_MESON_G12A_TOACODEC is not set +# CONFIG_SND_MESON_G12A_TOHDMITX is not set +# CONFIG_SND_SOC_MESON_T9015 is not set +# end of ASoC support for Amlogic platforms + +# CONFIG_SND_MXS_SOC is not set +# CONFIG_SND_PXA2XX_SOC is not set +# CONFIG_SND_SOC_QCOM is not set +# CONFIG_SND_SOC_ROCKCHIP is not set +# CONFIG_SND_SOC_SAMSUNG is not set + +# +# SoC Audio support for Renesas SoCs +# +# CONFIG_SND_SOC_SH4_FSI is not set +# CONFIG_SND_SOC_RCAR is not set +# CONFIG_SND_SOC_RZ is not set +# end of SoC Audio support for Renesas SoCs + +# CONFIG_SND_SOC_SOF_TOPLEVEL is not set +# CONFIG_SND_SOC_SPRD is not set +# CONFIG_SND_SOC_STARFIVE is not set +# CONFIG_SND_SOC_STI is not set + +# +# STMicroelectronics STM32 SOC audio support +# +# CONFIG_SND_SOC_STM32_SAI is not set +# CONFIG_SND_SOC_STM32_I2S is not set +# CONFIG_SND_SOC_STM32_SPDIFRX is not set +# end of STMicroelectronics STM32 SOC audio support + +# +# Allwinner SoC Audio support +# +# CONFIG_SND_SUN4I_CODEC is not set +# CONFIG_SND_SUN8I_CODEC is not set +# CONFIG_SND_SUN8I_CODEC_ANALOG is not set +# CONFIG_SND_SUN50I_CODEC_ANALOG is not set +# CONFIG_SND_SUN4I_I2S is not set +# CONFIG_SND_SUN4I_SPDIF is not set +# CONFIG_SND_SUN50I_DMIC is not set +# end of Allwinner SoC Audio support + +# CONFIG_SND_SOC_TEGRA is not set + +# +# Audio support for Texas Instruments SoCs +# + +# +# Texas Instruments DAI support for: +# +# CONFIG_SND_SOC_DAVINCI_ASP is not set +# CONFIG_SND_SOC_DAVINCI_MCASP is not set +# CONFIG_SND_SOC_OMAP_DMIC is not set +# CONFIG_SND_SOC_OMAP_MCBSP is not set +# CONFIG_SND_SOC_OMAP_MCPDM is not set + +# +# Audio support for boards with Texas Instruments SoCs +# +# CONFIG_SND_SOC_OMAP_HDMI is not set +# CONFIG_SND_SOC_J721E_EVM is not set +# end of Audio support for Texas Instruments SoCs + +# CONFIG_SND_SOC_UNIPHIER is not set +# CONFIG_SND_SOC_XILINX_I2S is not set +# CONFIG_SND_SOC_XILINX_AUDIO_FORMATTER is not set +# CONFIG_SND_SOC_XILINX_SPDIF is not set +# CONFIG_SND_SOC_XTFPGA_I2S is not set +CONFIG_SND_SOC_KY=y +CONFIG_KY_CARD=y +CONFIG_KY_PCM=y +CONFIG_KY_I2S=y +CONFIG_KY_HDMIAUDIO=y +CONFIG_KY_DUMMYCODEC=y +# CONFIG_KY_AUDIO_DATA_DEBUG is not set +CONFIG_SND_SOC_I2C_AND_SPI=y + +# +# CODEC drivers +# +# CONFIG_SND_SOC_ALL_CODECS is not set +# CONFIG_SND_SOC_AC97_CODEC is not set +# CONFIG_SND_SOC_ADAU1372_I2C is not set +# CONFIG_SND_SOC_ADAU1372_SPI is not set +# CONFIG_SND_SOC_ADAU1701 is not set +# CONFIG_SND_SOC_ADAU1761_I2C is not set +# CONFIG_SND_SOC_ADAU1761_SPI is not set +# CONFIG_SND_SOC_ADAU7002 is not set +# CONFIG_SND_SOC_ADAU7118_HW is not set +# CONFIG_SND_SOC_ADAU7118_I2C is not set +# CONFIG_SND_SOC_AK4104 is not set +# CONFIG_SND_SOC_AK4118 is not set +# CONFIG_SND_SOC_AK4375 is not set +# CONFIG_SND_SOC_AK4458 is not set +# CONFIG_SND_SOC_AK4554 is not set +# CONFIG_SND_SOC_AK4613 is not set +# CONFIG_SND_SOC_AK4642 is not set +# CONFIG_SND_SOC_AK5386 is not set +# CONFIG_SND_SOC_AK5558 is not set +# CONFIG_SND_SOC_ALC5623 is not set +# CONFIG_SND_SOC_AUDIO_IIO_AUX is not set +# CONFIG_SND_SOC_AW8738 is not set +# CONFIG_SND_SOC_AW88395 is not set +# CONFIG_SND_SOC_AW88261 is not set +# CONFIG_SND_SOC_BD28623 is not set +# CONFIG_SND_SOC_BT_SCO is not set +# CONFIG_SND_SOC_CHV3_CODEC is not set +# CONFIG_SND_SOC_CPCAP is not set +# CONFIG_SND_SOC_CS35L32 is not set +# CONFIG_SND_SOC_CS35L33 is not set +# CONFIG_SND_SOC_CS35L34 is not set +# CONFIG_SND_SOC_CS35L35 is not set +# CONFIG_SND_SOC_CS35L36 is not set +# CONFIG_SND_SOC_CS35L41_SPI is not set +# CONFIG_SND_SOC_CS35L41_I2C is not set +# CONFIG_SND_SOC_CS35L45_SPI is not set +# CONFIG_SND_SOC_CS35L45_I2C is not set +# CONFIG_SND_SOC_CS35L56_I2C is not set +# CONFIG_SND_SOC_CS35L56_SPI is not set +# CONFIG_SND_SOC_CS42L42 is not set +# CONFIG_SND_SOC_CS42L51_I2C is not set +# CONFIG_SND_SOC_CS42L52 is not set +# CONFIG_SND_SOC_CS42L56 is not set +# CONFIG_SND_SOC_CS42L73 is not set +# CONFIG_SND_SOC_CS42L83 is not set +# CONFIG_SND_SOC_CS4234 is not set +# CONFIG_SND_SOC_CS4265 is not set +# CONFIG_SND_SOC_CS4270 is not set +# CONFIG_SND_SOC_CS4271_I2C is not set +# CONFIG_SND_SOC_CS4271_SPI is not set +# CONFIG_SND_SOC_CS42XX8_I2C is not set +# CONFIG_SND_SOC_CS43130 is not set +# CONFIG_SND_SOC_CS4341 is not set +# CONFIG_SND_SOC_CS4349 is not set +# CONFIG_SND_SOC_CS53L30 is not set +# CONFIG_SND_SOC_CX2072X is not set +# CONFIG_SND_SOC_JZ4740_CODEC is not set +# CONFIG_SND_SOC_JZ4725B_CODEC is not set +# CONFIG_SND_SOC_JZ4760_CODEC is not set +# CONFIG_SND_SOC_JZ4770_CODEC is not set +# CONFIG_SND_SOC_DA7213 is not set +# CONFIG_SND_SOC_DMIC is not set +# CONFIG_SND_SOC_ES7134 is not set +CONFIG_SND_SOC_ES7210=y +# CONFIG_SND_SOC_ES7241 is not set +CONFIG_SND_SOC_ES8156=y +# CONFIG_SND_SOC_ES8316 is not set +CONFIG_SND_SOC_ES8323=y +CONFIG_SND_SOC_ES8326=y +# CONFIG_SND_SOC_ES8328_I2C is not set +# CONFIG_SND_SOC_ES8328_SPI is not set +# CONFIG_SND_SOC_GTM601 is not set +# CONFIG_SND_SOC_HDA is not set +# CONFIG_SND_SOC_ICS43432 is not set +# CONFIG_SND_SOC_IDT821034 is not set +# CONFIG_SND_SOC_INNO_RK3036 is not set +# CONFIG_SND_SOC_LOCHNAGAR_SC is not set +# CONFIG_SND_SOC_MAX98088 is not set +# CONFIG_SND_SOC_MAX98090 is not set +# CONFIG_SND_SOC_MAX98357A is not set +# CONFIG_SND_SOC_MAX98504 is not set +# CONFIG_SND_SOC_MAX9867 is not set +# CONFIG_SND_SOC_MAX98927 is not set +# CONFIG_SND_SOC_MAX98520 is not set +# CONFIG_SND_SOC_MAX98373_I2C is not set +# CONFIG_SND_SOC_MAX98388 is not set +# CONFIG_SND_SOC_MAX98390 is not set +# CONFIG_SND_SOC_MAX98396 is not set +# CONFIG_SND_SOC_MAX9860 is not set +# CONFIG_SND_SOC_MSM8916_WCD_ANALOG is not set +# CONFIG_SND_SOC_MSM8916_WCD_DIGITAL is not set +# CONFIG_SND_SOC_PCM1681 is not set +# CONFIG_SND_SOC_PCM1789_I2C is not set +# CONFIG_SND_SOC_PCM179X_I2C is not set +# CONFIG_SND_SOC_PCM179X_SPI is not set +# CONFIG_SND_SOC_PCM186X_I2C is not set +# CONFIG_SND_SOC_PCM186X_SPI is not set +# CONFIG_SND_SOC_PCM3060_I2C is not set +# CONFIG_SND_SOC_PCM3060_SPI is not set +# CONFIG_SND_SOC_PCM3168A_I2C is not set +# CONFIG_SND_SOC_PCM3168A_SPI is not set +# CONFIG_SND_SOC_PCM5102A is not set +# CONFIG_SND_SOC_PCM512x_I2C is not set +# CONFIG_SND_SOC_PCM512x_SPI is not set +# CONFIG_SND_SOC_PEB2466 is not set +# CONFIG_SND_SOC_RK3328 is not set +# CONFIG_SND_SOC_RK817 is not set +# CONFIG_SND_SOC_RT5616 is not set +# CONFIG_SND_SOC_RT5631 is not set +# CONFIG_SND_SOC_RT5640 is not set +# CONFIG_SND_SOC_RT5659 is not set +# CONFIG_SND_SOC_RT9120 is not set +# CONFIG_SND_SOC_SGTL5000 is not set +# CONFIG_SND_SOC_SIMPLE_AMPLIFIER is not set +# CONFIG_SND_SOC_SIMPLE_MUX is not set +# CONFIG_SND_SOC_SMA1303 is not set +# CONFIG_SND_SOC_SPDIF is not set +# CONFIG_SND_SOC_SRC4XXX_I2C is not set +# CONFIG_SND_SOC_SSM2305 is not set +# CONFIG_SND_SOC_SSM2518 is not set +# CONFIG_SND_SOC_SSM2602_SPI is not set +# CONFIG_SND_SOC_SSM2602_I2C is not set +# CONFIG_SND_SOC_SSM3515 is not set +# CONFIG_SND_SOC_SSM4567 is not set +# CONFIG_SND_SOC_STA32X is not set +# CONFIG_SND_SOC_STA350 is not set +# CONFIG_SND_SOC_STI_SAS is not set +# CONFIG_SND_SOC_TAS2552 is not set +# CONFIG_SND_SOC_TAS2562 is not set +# CONFIG_SND_SOC_TAS2764 is not set +# CONFIG_SND_SOC_TAS2770 is not set +# CONFIG_SND_SOC_TAS2780 is not set +# CONFIG_SND_SOC_TAS2781_I2C is not set +# CONFIG_SND_SOC_TAS5086 is not set +# CONFIG_SND_SOC_TAS571X is not set +# CONFIG_SND_SOC_TAS5720 is not set +# CONFIG_SND_SOC_TAS5805M is not set +# CONFIG_SND_SOC_TAS6424 is not set +# CONFIG_SND_SOC_TDA7419 is not set +# CONFIG_SND_SOC_TFA9879 is not set +# CONFIG_SND_SOC_TFA989X is not set +# CONFIG_SND_SOC_TLV320ADC3XXX is not set +# CONFIG_SND_SOC_TLV320AIC23_I2C is not set +# CONFIG_SND_SOC_TLV320AIC23_SPI is not set +# CONFIG_SND_SOC_TLV320AIC31XX is not set +# CONFIG_SND_SOC_TLV320AIC32X4_I2C is not set +# CONFIG_SND_SOC_TLV320AIC32X4_SPI is not set +# CONFIG_SND_SOC_TLV320AIC3X_I2C is not set +# CONFIG_SND_SOC_TLV320AIC3X_SPI is not set +# CONFIG_SND_SOC_TLV320ADCX140 is not set +# CONFIG_SND_SOC_TS3A227E is not set +# CONFIG_SND_SOC_TSCS42XX is not set +# CONFIG_SND_SOC_TSCS454 is not set +# CONFIG_SND_SOC_UDA1334 is not set +# CONFIG_SND_SOC_WM8510 is not set +# CONFIG_SND_SOC_WM8523 is not set +# CONFIG_SND_SOC_WM8524 is not set +# CONFIG_SND_SOC_WM8580 is not set +# CONFIG_SND_SOC_WM8711 is not set +# CONFIG_SND_SOC_WM8728 is not set +# CONFIG_SND_SOC_WM8731_I2C is not set +# CONFIG_SND_SOC_WM8731_SPI is not set +# CONFIG_SND_SOC_WM8737 is not set +# CONFIG_SND_SOC_WM8741 is not set +# CONFIG_SND_SOC_WM8750 is not set +# CONFIG_SND_SOC_WM8753 is not set +# CONFIG_SND_SOC_WM8770 is not set +# CONFIG_SND_SOC_WM8776 is not set +# CONFIG_SND_SOC_WM8782 is not set +# CONFIG_SND_SOC_WM8804_I2C is not set +# CONFIG_SND_SOC_WM8804_SPI is not set +# CONFIG_SND_SOC_WM8903 is not set +# CONFIG_SND_SOC_WM8904 is not set +# CONFIG_SND_SOC_WM8940 is not set +# CONFIG_SND_SOC_WM8960 is not set +# CONFIG_SND_SOC_WM8961 is not set +# CONFIG_SND_SOC_WM8962 is not set +# CONFIG_SND_SOC_WM8974 is not set +# CONFIG_SND_SOC_WM8978 is not set +# CONFIG_SND_SOC_WM8985 is not set +# CONFIG_SND_SOC_ZL38060 is not set +# CONFIG_SND_SOC_MAX9759 is not set +# CONFIG_SND_SOC_MT6351 is not set +# CONFIG_SND_SOC_MT6358 is not set +# CONFIG_SND_SOC_MT6660 is not set +# CONFIG_SND_SOC_NAU8315 is not set +# CONFIG_SND_SOC_NAU8540 is not set +# CONFIG_SND_SOC_NAU8810 is not set +# CONFIG_SND_SOC_NAU8821 is not set +# CONFIG_SND_SOC_NAU8822 is not set +# CONFIG_SND_SOC_NAU8824 is not set +# CONFIG_SND_SOC_TPA6130A2 is not set +# CONFIG_SND_SOC_LPASS_WSA_MACRO is not set +# CONFIG_SND_SOC_LPASS_VA_MACRO is not set +# CONFIG_SND_SOC_LPASS_RX_MACRO is not set +# CONFIG_SND_SOC_LPASS_TX_MACRO is not set +# end of CODEC drivers + +CONFIG_SND_SIMPLE_CARD_UTILS=y +CONFIG_SND_SIMPLE_CARD=y +# CONFIG_SND_AUDIO_GRAPH_CARD is not set +# CONFIG_SND_AUDIO_GRAPH_CARD2 is not set +# CONFIG_SND_TEST_COMPONENT is not set +# CONFIG_SND_VIRTIO is not set +CONFIG_HID_SUPPORT=y +CONFIG_HID=y +# CONFIG_HID_BATTERY_STRENGTH is not set +# CONFIG_HIDRAW is not set +CONFIG_UHID=y +CONFIG_HID_GENERIC=y + +# +# Special HID drivers +# +# CONFIG_HID_A4TECH is not set +# CONFIG_HID_ACCUTOUCH is not set +# CONFIG_HID_ACRUX is not set +# CONFIG_HID_APPLE is not set +# CONFIG_HID_APPLEIR is not set +# CONFIG_HID_ASUS is not set +# CONFIG_HID_AUREAL is not set +# CONFIG_HID_BELKIN is not set +# CONFIG_HID_BETOP_FF is not set +# CONFIG_HID_BIGBEN_FF is not set +# CONFIG_HID_CHERRY is not set +# CONFIG_HID_CHICONY is not set +# CONFIG_HID_CORSAIR is not set +# CONFIG_HID_COUGAR is not set +# CONFIG_HID_MACALLY is not set +# CONFIG_HID_PRODIKEYS is not set +# CONFIG_HID_CMEDIA is not set +# CONFIG_HID_CREATIVE_SB0540 is not set +# CONFIG_HID_CYPRESS is not set +# CONFIG_HID_DRAGONRISE is not set +# CONFIG_HID_EMS_FF is not set +# CONFIG_HID_ELAN is not set +# CONFIG_HID_ELECOM is not set +# CONFIG_HID_ELO is not set +# CONFIG_HID_EVISION is not set +# CONFIG_HID_EZKEY is not set +# CONFIG_HID_GEMBIRD is not set +# CONFIG_HID_GFRM is not set +# CONFIG_HID_GLORIOUS is not set +# CONFIG_HID_HOLTEK is not set +# CONFIG_HID_GOOGLE_STADIA_FF is not set +# CONFIG_HID_VIVALDI is not set +# CONFIG_HID_GT683R is not set +# CONFIG_HID_KEYTOUCH is not set +# CONFIG_HID_KYE is not set +# CONFIG_HID_UCLOGIC is not set +# CONFIG_HID_WALTOP is not set +# CONFIG_HID_VIEWSONIC is not set +# CONFIG_HID_VRC2 is not set +# CONFIG_HID_XIAOMI is not set +# CONFIG_HID_GYRATION is not set +# CONFIG_HID_ICADE is not set +# CONFIG_HID_ITE is not set +# CONFIG_HID_JABRA is not set +# CONFIG_HID_TWINHAN is not set +# CONFIG_HID_KENSINGTON is not set +# CONFIG_HID_LCPOWER is not set +# CONFIG_HID_LED is not set +# CONFIG_HID_LENOVO is not set +# CONFIG_HID_LETSKETCH is not set +# CONFIG_HID_LOGITECH is not set +# CONFIG_HID_MAGICMOUSE is not set +# CONFIG_HID_MALTRON is not set +# CONFIG_HID_MAYFLASH is not set +# CONFIG_HID_MEGAWORLD_FF is not set +# CONFIG_HID_REDRAGON is not set +# CONFIG_HID_MICROSOFT is not set +# CONFIG_HID_MONTEREY is not set +CONFIG_HID_MULTITOUCH=y +# CONFIG_HID_NINTENDO is not set +# CONFIG_HID_NTI is not set +# CONFIG_HID_NTRIG is not set +# CONFIG_HID_NVIDIA_SHIELD is not set +# CONFIG_HID_ORTEK is not set +# CONFIG_HID_PANTHERLORD is not set +# CONFIG_HID_PENMOUNT is not set +# CONFIG_HID_PETALYNX is not set +# CONFIG_HID_PICOLCD is not set +# CONFIG_HID_PLANTRONICS is not set +# CONFIG_HID_PXRC is not set +# CONFIG_HID_RAZER is not set +# CONFIG_HID_PRIMAX is not set +# CONFIG_HID_RETRODE is not set +# CONFIG_HID_ROCCAT is not set +# CONFIG_HID_SAITEK is not set +# CONFIG_HID_SAMSUNG is not set +# CONFIG_HID_SEMITEK is not set +# CONFIG_HID_SIGMAMICRO is not set +# CONFIG_HID_SONY is not set +# CONFIG_HID_SPEEDLINK is not set +# CONFIG_HID_STEAM is not set +# CONFIG_HID_STEELSERIES is not set +# CONFIG_HID_SUNPLUS is not set +# CONFIG_HID_RMI is not set +# CONFIG_HID_GREENASIA is not set +# CONFIG_HID_SMARTJOYPLUS is not set +# CONFIG_HID_TIVO is not set +# CONFIG_HID_TOPSEED is not set +# CONFIG_HID_TOPRE is not set +# CONFIG_HID_THINGM is not set +# CONFIG_HID_THRUSTMASTER is not set +# CONFIG_HID_UDRAW_PS3 is not set +# CONFIG_HID_U2FZERO is not set +# CONFIG_HID_WACOM is not set +# CONFIG_HID_WIIMOTE is not set +# CONFIG_HID_XINMO is not set +# CONFIG_HID_ZEROPLUS is not set +# CONFIG_HID_ZYDACRON is not set +# CONFIG_HID_SENSOR_HUB is not set +# CONFIG_HID_ALPS is not set +# CONFIG_HID_MCP2200 is not set +# CONFIG_HID_MCP2221 is not set +# end of Special HID drivers + +# +# HID-BPF support +# +# end of HID-BPF support + +# +# USB HID support +# +CONFIG_USB_HID=y +# CONFIG_HID_PID is not set +CONFIG_USB_HIDDEV=y +# end of USB HID support + +CONFIG_I2C_HID=y +CONFIG_I2C_HID_OF=y +# CONFIG_I2C_HID_OF_ELAN is not set +# CONFIG_I2C_HID_OF_GOODIX is not set +CONFIG_I2C_HID_CORE=y + +# +# Intel ISH HID support +# +# end of Intel ISH HID support + +# +# AMD SFH HID Support +# +# CONFIG_AMD_SFH_HID is not set +# end of AMD SFH HID Support + +CONFIG_USB_OHCI_LITTLE_ENDIAN=y +CONFIG_USB_SUPPORT=y +CONFIG_USB_COMMON=y +# CONFIG_USB_LED_TRIG is not set +# CONFIG_USB_ULPI_BUS is not set +CONFIG_USB_CONN_GPIO=y +CONFIG_USB_ARCH_HAS_HCD=y +CONFIG_USB=y +CONFIG_USB_PCI=y +# CONFIG_USB_ANNOUNCE_NEW_DEVICES is not set + +# +# Miscellaneous USB options +# +CONFIG_USB_DEFAULT_PERSIST=y +# CONFIG_USB_FEW_INIT_RETRIES is not set +# CONFIG_USB_DYNAMIC_MINORS is not set +CONFIG_USB_OTG=y +# CONFIG_USB_OTG_PRODUCTLIST is not set +# CONFIG_USB_OTG_DISABLE_EXTERNAL_HUB is not set +# CONFIG_USB_OTG_FSM is not set +# CONFIG_USB_LEDS_TRIGGER_USBPORT is not set +CONFIG_USB_AUTOSUSPEND_DELAY=2 +# CONFIG_USB_MON is not set + +# +# USB Host Controller Drivers +# +# CONFIG_USB_C67X00_HCD is not set +CONFIG_USB_XHCI_HCD=y +# CONFIG_USB_XHCI_DBGCAP is not set +CONFIG_USB_XHCI_PCI=y +# CONFIG_USB_XHCI_PCI_RENESAS is not set +CONFIG_USB_XHCI_PLATFORM=y +# CONFIG_USB_XHCI_HISTB is not set +# CONFIG_USB_XHCI_MTK is not set +# CONFIG_USB_XHCI_MVEBU is not set +# CONFIG_USB_XHCI_RCAR is not set +# CONFIG_USB_BRCMSTB is not set +CONFIG_USB_EHCI_HCD=y +CONFIG_USB_EHCI_ROOT_HUB_TT=y +CONFIG_USB_EHCI_TT_NEWSCHED=y +CONFIG_USB_EHCI_PCI=y +# CONFIG_USB_EHCI_FSL is not set +# CONFIG_USB_EHCI_HCD_NPCM7XX is not set +# CONFIG_USB_EHCI_HCD_ORION is not set +# CONFIG_USB_EHCI_HCD_SPEAR is not set +# CONFIG_USB_EHCI_HCD_STI is not set +# CONFIG_USB_EHCI_HCD_AT91 is not set +# CONFIG_USB_EHCI_SH is not set +# CONFIG_USB_EHCI_EXYNOS is not set +# CONFIG_USB_EHCI_MV is not set +CONFIG_USB_EHCI_X1=y +# CONFIG_USB_EHCI_HCD_PLATFORM is not set +# CONFIG_USB_OXU210HP_HCD is not set +# CONFIG_USB_ISP116X_HCD is not set +# CONFIG_USB_ISP1362_HCD is not set +# CONFIG_USB_MAX3421_HCD is not set +# CONFIG_USB_OHCI_HCD is not set +# CONFIG_USB_UHCI_HCD is not set +# CONFIG_USB_SL811_HCD is not set +# CONFIG_USB_R8A66597_HCD is not set +# CONFIG_USB_HCD_TEST_MODE is not set +# CONFIG_USB_RENESAS_USBHS is not set + +# +# USB Device Class drivers +# +# CONFIG_USB_ACM is not set +# CONFIG_USB_PRINTER is not set +CONFIG_USB_WDM=m +# CONFIG_USB_TMC is not set + +# +# NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may +# + +# +# also be needed; see USB_STORAGE Help for more info +# +CONFIG_USB_STORAGE=y +# CONFIG_USB_STORAGE_DEBUG is not set +# CONFIG_USB_STORAGE_REALTEK is not set +# CONFIG_USB_STORAGE_DATAFAB is not set +# CONFIG_USB_STORAGE_FREECOM is not set +# CONFIG_USB_STORAGE_ISD200 is not set +# CONFIG_USB_STORAGE_USBAT is not set +# CONFIG_USB_STORAGE_SDDR09 is not set +# CONFIG_USB_STORAGE_SDDR55 is not set +# CONFIG_USB_STORAGE_JUMPSHOT is not set +# CONFIG_USB_STORAGE_ALAUDA is not set +# CONFIG_USB_STORAGE_ONETOUCH is not set +# CONFIG_USB_STORAGE_KARMA is not set +# CONFIG_USB_STORAGE_CYPRESS_ATACB is not set +# CONFIG_USB_STORAGE_ENE_UB6250 is not set +CONFIG_USB_UAS=y + +# +# USB Imaging devices +# +# CONFIG_USB_MDC800 is not set +# CONFIG_USB_MICROTEK is not set +# CONFIG_USBIP_CORE is not set + +# +# USB dual-mode controller drivers +# +# CONFIG_USB_CDNS_SUPPORT is not set +# CONFIG_USB_FOTG210 is not set +# CONFIG_USB_MTU3 is not set +# CONFIG_USB_MUSB_HDRC is not set +CONFIG_USB_DWC3=y +# CONFIG_USB_DWC3_HOST is not set +# CONFIG_USB_DWC3_GADGET is not set +CONFIG_USB_DWC3_DUAL_ROLE=y + +# +# Platform Glue Driver Support +# +# CONFIG_USB_DWC3_OMAP is not set +# CONFIG_USB_DWC3_EXYNOS is not set +CONFIG_USB_DWC3_HAPS=y +# CONFIG_USB_DWC3_KEYSTONE is not set +# CONFIG_USB_DWC3_MESON_G12A is not set +# CONFIG_USB_DWC3_OF_SIMPLE is not set +# CONFIG_USB_DWC3_ST is not set +# CONFIG_USB_DWC3_QCOM is not set +# CONFIG_USB_DWC3_IMX8MP is not set +CONFIG_USB_DWC3_XILINX=y +# CONFIG_USB_DWC3_AM62 is not set +CONFIG_USB_DWC3_OCTEON=y +CONFIG_USB_DWC3_KY=y +# CONFIG_USB_DWC2 is not set +# CONFIG_USB_CHIPIDEA is not set +# CONFIG_USB_ISP1760 is not set + +# +# USB port drivers +# +CONFIG_USB_SERIAL=m +CONFIG_USB_SERIAL_GENERIC=y +CONFIG_USB_SERIAL_SIMPLE=m +CONFIG_USB_SERIAL_AIRCABLE=m +CONFIG_USB_SERIAL_ARK3116=m +CONFIG_USB_SERIAL_BELKIN=m +CONFIG_USB_SERIAL_CH341=m +CONFIG_USB_SERIAL_WHITEHEAT=m +CONFIG_USB_SERIAL_DIGI_ACCELEPORT=m +CONFIG_USB_SERIAL_CP210X=m +CONFIG_USB_SERIAL_CYPRESS_M8=m +CONFIG_USB_SERIAL_EMPEG=m +CONFIG_USB_SERIAL_FTDI_SIO=m +CONFIG_USB_SERIAL_VISOR=m +CONFIG_USB_SERIAL_IPAQ=m +CONFIG_USB_SERIAL_IR=m +CONFIG_USB_SERIAL_EDGEPORT=m +CONFIG_USB_SERIAL_EDGEPORT_TI=m +CONFIG_USB_SERIAL_F81232=m +CONFIG_USB_SERIAL_F8153X=m +CONFIG_USB_SERIAL_GARMIN=m +CONFIG_USB_SERIAL_IPW=m +CONFIG_USB_SERIAL_IUU=m +CONFIG_USB_SERIAL_KEYSPAN_PDA=m +CONFIG_USB_SERIAL_KEYSPAN=m +CONFIG_USB_SERIAL_KLSI=m +CONFIG_USB_SERIAL_KOBIL_SCT=m +CONFIG_USB_SERIAL_MCT_U232=m +CONFIG_USB_SERIAL_METRO=m +CONFIG_USB_SERIAL_MOS7720=m +CONFIG_USB_SERIAL_MOS7840=m +CONFIG_USB_SERIAL_MXUPORT=m +CONFIG_USB_SERIAL_NAVMAN=m +CONFIG_USB_SERIAL_PL2303=m +CONFIG_USB_SERIAL_OTI6858=m +CONFIG_USB_SERIAL_QCAUX=m +CONFIG_USB_SERIAL_QUALCOMM=m +CONFIG_USB_SERIAL_SPCP8X5=m +CONFIG_USB_SERIAL_SAFE=m +CONFIG_USB_SERIAL_SAFE_PADDED=y +CONFIG_USB_SERIAL_SIERRAWIRELESS=m +CONFIG_USB_SERIAL_SYMBOL=m +CONFIG_USB_SERIAL_TI=m +CONFIG_USB_SERIAL_CYBERJACK=m +CONFIG_USB_SERIAL_WWAN=m +CONFIG_USB_SERIAL_OPTION=m +CONFIG_USB_SERIAL_OMNINET=m +CONFIG_USB_SERIAL_OPTICON=m +CONFIG_USB_SERIAL_XSENS_MT=m +CONFIG_USB_SERIAL_WISHBONE=m +CONFIG_USB_SERIAL_SSU100=m +CONFIG_USB_SERIAL_QT2=m +CONFIG_USB_SERIAL_UPD78F0730=m +CONFIG_USB_SERIAL_XR=m +CONFIG_USB_SERIAL_DEBUG=m + +# +# USB Miscellaneous drivers +# +# CONFIG_USB_EMI62 is not set +# CONFIG_USB_EMI26 is not set +# CONFIG_USB_ADUTUX is not set +# CONFIG_USB_SEVSEG is not set +# CONFIG_USB_LEGOTOWER is not set +# CONFIG_USB_LCD is not set +# CONFIG_USB_CYPRESS_CY7C63 is not set +# CONFIG_USB_CYTHERM is not set +# CONFIG_USB_IDMOUSE is not set +# CONFIG_USB_APPLEDISPLAY is not set +# CONFIG_USB_QCOM_EUD is not set +# CONFIG_APPLE_MFI_FASTCHARGE is not set +# CONFIG_USB_SISUSBVGA is not set +# CONFIG_USB_LD is not set +# CONFIG_USB_TRANCEVIBRATOR is not set +# CONFIG_USB_IOWARRIOR is not set +# CONFIG_USB_TEST is not set +# CONFIG_USB_EHSET_TEST_FIXTURE is not set +# CONFIG_USB_ISIGHTFW is not set +# CONFIG_USB_YUREX is not set +CONFIG_USB_EZUSB_FX2=m +# CONFIG_USB_HUB_USB251XB is not set +# CONFIG_USB_HSIC_USB3503 is not set +# CONFIG_USB_HSIC_USB4604 is not set +# CONFIG_USB_LINK_LAYER_TEST is not set +# CONFIG_USB_CHAOSKEY is not set +# CONFIG_BRCM_USB_PINMAP is not set +# CONFIG_USB_ONBOARD_HUB is not set +CONFIG_KY_ONBOARD_USB_HUB=y +# CONFIG_USB_ATM is not set + +# +# USB Physical Layer drivers +# +CONFIG_USB_PHY=y +# CONFIG_NOP_USB_XCEIV is not set +# CONFIG_USB_ISP1301 is not set +CONFIG_USB_X1CI_OTG=y +CONFIG_X1CI_USB2_PHY=y +# CONFIG_USB_TEGRA_PHY is not set +# CONFIG_USB_ULPI is not set +# end of USB Physical Layer drivers + +CONFIG_USB_GADGET=y +# CONFIG_USB_GADGET_DEBUG is not set +# CONFIG_USB_GADGET_DEBUG_FILES is not set +# CONFIG_USB_GADGET_DEBUG_FS is not set +CONFIG_USB_GADGET_VBUS_DRAW=2 +CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 + +# +# USB Peripheral Controller +# +# CONFIG_USB_LPC32XX is not set +# CONFIG_USB_GR_UDC is not set +# CONFIG_USB_R8A66597 is not set +# CONFIG_USB_RZV2M_USB3DRD is not set +# CONFIG_USB_RENESAS_USB3 is not set +# CONFIG_USB_RENESAS_USBF is not set +# CONFIG_USB_PXA27X is not set +# CONFIG_USB_MV_UDC is not set +CONFIG_USB_X1_UDC=y +# CONFIG_USB_MV_U3D is not set +# CONFIG_USB_SNP_UDC_PLAT is not set +# CONFIG_USB_M66592 is not set +# CONFIG_USB_BDC_UDC is not set +# CONFIG_USB_AMD5536UDC is not set +# CONFIG_USB_NET2272 is not set +# CONFIG_USB_NET2280 is not set +# CONFIG_USB_GOKU is not set +# CONFIG_USB_EG20T is not set +# CONFIG_USB_GADGET_XILINX is not set +# CONFIG_USB_MAX3420_UDC is not set +# CONFIG_USB_ASPEED_UDC is not set +# CONFIG_USB_ASPEED_VHUB is not set +# CONFIG_USB_DUMMY_HCD is not set +# end of USB Peripheral Controller + +CONFIG_USB_LIBCOMPOSITE=y +CONFIG_USB_U_ETHER=y +CONFIG_USB_U_AUDIO=y +CONFIG_USB_F_NCM=y +CONFIG_USB_F_RNDIS=y +CONFIG_USB_F_MASS_STORAGE=y +CONFIG_USB_F_FS=y +CONFIG_USB_F_UAC1=y +CONFIG_USB_F_UAC2=y +CONFIG_USB_F_UVC=y +CONFIG_USB_F_HID=y +CONFIG_USB_F_TCM=y +CONFIG_USB_CONFIGFS=y +# CONFIG_USB_CONFIGFS_SERIAL is not set +# CONFIG_USB_CONFIGFS_ACM is not set +# CONFIG_USB_CONFIGFS_OBEX is not set +CONFIG_USB_CONFIGFS_NCM=y +# CONFIG_USB_CONFIGFS_ECM is not set +# CONFIG_USB_CONFIGFS_ECM_SUBSET is not set +CONFIG_USB_CONFIGFS_RNDIS=y +# CONFIG_USB_CONFIGFS_EEM is not set +# CONFIG_USB_CONFIGFS_PHONET is not set +CONFIG_USB_CONFIGFS_MASS_STORAGE=y +# CONFIG_USB_CONFIGFS_F_LB_SS is not set +CONFIG_USB_CONFIGFS_F_FS=y +CONFIG_USB_CONFIGFS_F_UAC1=y +# CONFIG_USB_CONFIGFS_F_UAC1_LEGACY is not set +CONFIG_USB_CONFIGFS_F_UAC2=y +# CONFIG_USB_CONFIGFS_F_MIDI is not set +# CONFIG_USB_CONFIGFS_F_MIDI2 is not set +CONFIG_USB_CONFIGFS_F_HID=y +CONFIG_USB_CONFIGFS_F_UVC=y +# CONFIG_USB_CONFIGFS_F_PRINTER is not set +CONFIG_USB_CONFIGFS_F_TCM=y + +# +# USB Gadget precomposed configurations +# +# CONFIG_USB_ZERO is not set +# CONFIG_USB_AUDIO is not set +# CONFIG_USB_ETH is not set +# CONFIG_USB_G_NCM is not set +# CONFIG_USB_GADGETFS is not set +# CONFIG_USB_FUNCTIONFS is not set +# CONFIG_USB_MASS_STORAGE is not set +# CONFIG_USB_GADGET_TARGET is not set +# CONFIG_USB_G_SERIAL is not set +# CONFIG_USB_MIDI_GADGET is not set +# CONFIG_USB_G_PRINTER is not set +# CONFIG_USB_CDC_COMPOSITE is not set +# CONFIG_USB_G_NOKIA is not set +# CONFIG_USB_G_ACM_MS is not set +# CONFIG_USB_G_MULTI is not set +# CONFIG_USB_G_HID is not set +# CONFIG_USB_G_DBGP is not set +# CONFIG_USB_G_WEBCAM is not set +# CONFIG_USB_RAW_GADGET is not set +# end of USB Gadget precomposed configurations + +CONFIG_TYPEC=m +# CONFIG_TYPEC_TCPM is not set +# CONFIG_TYPEC_UCSI is not set +# CONFIG_TYPEC_TPS6598X is not set +# CONFIG_TYPEC_ANX7411 is not set +# CONFIG_TYPEC_RT1719 is not set +# CONFIG_TYPEC_HD3SS3220 is not set +# CONFIG_TYPEC_STUSB160X is not set +# CONFIG_TYPEC_WUSB3801 is not set +CONFIG_TYPEC_HUSB239=m + +# +# USB Type-C Multiplexer/DeMultiplexer Switch support +# +# CONFIG_TYPEC_MUX_FSA4480 is not set +# CONFIG_TYPEC_MUX_GPIO_SBU is not set +# CONFIG_TYPEC_MUX_PI3USB30532 is not set +# CONFIG_TYPEC_MUX_NB7VPQ904M is not set +# end of USB Type-C Multiplexer/DeMultiplexer Switch support + +# +# USB Type-C Alternate Mode drivers +# +# CONFIG_TYPEC_DP_ALTMODE is not set +# end of USB Type-C Alternate Mode drivers + +CONFIG_USB_ROLE_SWITCH=y +CONFIG_MMC=y +CONFIG_PWRSEQ_EMMC=y +CONFIG_PWRSEQ_SIMPLE=y +CONFIG_MMC_BLOCK=y +CONFIG_MMC_BLOCK_MINORS=8 +# CONFIG_SDIO_UART is not set +# CONFIG_MMC_TEST is not set + +# +# MMC/SD/SDIO Host Controller Drivers +# +# CONFIG_MMC_DEBUG is not set +# CONFIG_MMC_SUNPLUS is not set +CONFIG_MMC_SDHCI=y +# CONFIG_MMC_SDHCI_PCI is not set +CONFIG_MMC_SDHCI_PLTFM=y +# CONFIG_MMC_SDHCI_OF_ARASAN is not set +# CONFIG_MMC_SDHCI_OF_ASPEED is not set +# CONFIG_MMC_SDHCI_OF_AT91 is not set +# CONFIG_MMC_SDHCI_OF_ESDHC is not set +# CONFIG_MMC_SDHCI_OF_DWCMSHC is not set +# CONFIG_MMC_SDHCI_OF_SPARX5 is not set +# CONFIG_MMC_SDHCI_OF_X1PRO is not set +CONFIG_MMC_SDHCI_OF_X1=y +# CONFIG_MMC_SDHCI_CADENCE is not set +# CONFIG_MMC_SDHCI_ESDHC_IMX is not set +# CONFIG_MMC_SDHCI_DOVE is not set +# CONFIG_MMC_SDHCI_TEGRA is not set +# CONFIG_MMC_SDHCI_S3C is not set +# CONFIG_MMC_SDHCI_PXAV3 is not set +# CONFIG_MMC_SDHCI_PXAV2 is not set +# CONFIG_MMC_SDHCI_SPEAR is not set +# CONFIG_MMC_SDHCI_BCM_KONA is not set +# CONFIG_MMC_SDHCI_F_SDH30 is not set +# CONFIG_MMC_SDHCI_MILBEAUT is not set +# CONFIG_MMC_SDHCI_IPROC is not set +# CONFIG_MMC_MESON_GX is not set +# CONFIG_MMC_MESON_MX_SDHC is not set +# CONFIG_MMC_MESON_MX_SDIO is not set +# CONFIG_MMC_MOXART is not set +# CONFIG_MMC_SDHCI_ST is not set +# CONFIG_MMC_OMAP_HS is not set +# CONFIG_MMC_SDHCI_MSM is not set +# CONFIG_MMC_TIFM_SD is not set +# CONFIG_MMC_DAVINCI is not set +# CONFIG_MMC_SPI is not set +# CONFIG_MMC_SDHCI_SPRD is not set +# CONFIG_MMC_SDHI is not set +# CONFIG_MMC_UNIPHIER is not set +# CONFIG_MMC_CB710 is not set +# CONFIG_MMC_VIA_SDMMC is not set +# CONFIG_MMC_DW is not set +# CONFIG_MMC_SH_MMCIF is not set +# CONFIG_MMC_VUB300 is not set +# CONFIG_MMC_USHC is not set +# CONFIG_MMC_USDHI6ROL0 is not set +# CONFIG_MMC_CQHCI is not set +# CONFIG_MMC_HSQ is not set +# CONFIG_MMC_TOSHIBA_PCI is not set +# CONFIG_MMC_BCM2835 is not set +# CONFIG_MMC_MTK is not set +# CONFIG_MMC_SDHCI_BRCMSTB is not set +# CONFIG_MMC_SDHCI_XENON is not set +# CONFIG_MMC_SDHCI_OMAP is not set +# CONFIG_MMC_SDHCI_AM654 is not set +# CONFIG_MMC_OWL is not set +# CONFIG_MMC_LITEX is not set +# CONFIG_SCSI_UFSHCD is not set +# CONFIG_MEMSTICK is not set +CONFIG_NEW_LEDS=y +CONFIG_LEDS_CLASS=y +# CONFIG_LEDS_CLASS_FLASH is not set +# CONFIG_LEDS_CLASS_MULTICOLOR is not set +# CONFIG_LEDS_BRIGHTNESS_HW_CHANGED is not set + +# +# LED drivers +# +# CONFIG_LEDS_AN30259A is not set +# CONFIG_LEDS_ARIEL is not set +# CONFIG_LEDS_AW200XX is not set +# CONFIG_LEDS_AW2013 is not set +# CONFIG_LEDS_BCM6328 is not set +# CONFIG_LEDS_BCM6358 is not set +# CONFIG_LEDS_CR0014114 is not set +# CONFIG_LEDS_EL15203000 is not set +# CONFIG_LEDS_LM3530 is not set +# CONFIG_LEDS_LM3532 is not set +# CONFIG_LEDS_LM3642 is not set +# CONFIG_LEDS_LM3692X is not set +# CONFIG_LEDS_COBALT_QUBE is not set +# CONFIG_LEDS_COBALT_RAQ is not set +# CONFIG_LEDS_PCA9532 is not set +CONFIG_LEDS_GPIO=y +# CONFIG_LEDS_LP3944 is not set +# CONFIG_LEDS_LP3952 is not set +# CONFIG_LEDS_LP50XX is not set +# CONFIG_LEDS_LP55XX_COMMON is not set +# CONFIG_LEDS_LP8860 is not set +# CONFIG_LEDS_PCA955X is not set +# CONFIG_LEDS_PCA963X is not set +# CONFIG_LEDS_PCA995X is not set +# CONFIG_LEDS_DAC124S085 is not set +# CONFIG_LEDS_PWM is not set +# CONFIG_LEDS_REGULATOR is not set +# CONFIG_LEDS_BD2606MVV is not set +# CONFIG_LEDS_BD2802 is not set +# CONFIG_LEDS_LT3593 is not set +# CONFIG_LEDS_NS2 is not set +# CONFIG_LEDS_NETXBIG is not set +# CONFIG_LEDS_TCA6507 is not set +# CONFIG_LEDS_TLC591XX is not set +# CONFIG_LEDS_LM355x is not set +# CONFIG_LEDS_OT200 is not set +# CONFIG_LEDS_IS31FL319X is not set +# CONFIG_LEDS_IS31FL32XX is not set + +# +# LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) +# +# CONFIG_LEDS_BLINKM is not set +# CONFIG_LEDS_SYSCON is not set +# CONFIG_LEDS_MLXREG is not set +# CONFIG_LEDS_USER is not set +# CONFIG_LEDS_SPI_BYTE is not set +# CONFIG_LEDS_TI_LMU_COMMON is not set +# CONFIG_LEDS_LM3697 is not set +# CONFIG_LEDS_IP30 is not set +# CONFIG_LEDS_BCM63138 is not set +# CONFIG_LEDS_LGM is not set + +# +# Flash and Torch LED drivers +# + +# +# RGB LED drivers +# + +# +# LED Triggers +# +CONFIG_LEDS_TRIGGERS=y +CONFIG_LEDS_TRIGGER_TIMER=y +CONFIG_LEDS_TRIGGER_ONESHOT=y +# CONFIG_LEDS_TRIGGER_DISK is not set +# CONFIG_LEDS_TRIGGER_MTD is not set +CONFIG_LEDS_TRIGGER_HEARTBEAT=y +CONFIG_LEDS_TRIGGER_BACKLIGHT=y +# CONFIG_LEDS_TRIGGER_CPU is not set +# CONFIG_LEDS_TRIGGER_ACTIVITY is not set +CONFIG_LEDS_TRIGGER_DEFAULT_ON=y + +# +# iptables trigger is under Netfilter config (LED target) +# +# CONFIG_LEDS_TRIGGER_TRANSIENT is not set +# CONFIG_LEDS_TRIGGER_CAMERA is not set +# CONFIG_LEDS_TRIGGER_PANIC is not set +# CONFIG_LEDS_TRIGGER_NETDEV is not set +# CONFIG_LEDS_TRIGGER_PATTERN is not set +# CONFIG_LEDS_TRIGGER_AUDIO is not set +# CONFIG_LEDS_TRIGGER_TTY is not set + +# +# Simple LED drivers +# +# CONFIG_ACCESSIBILITY is not set +# CONFIG_INFINIBAND is not set +CONFIG_EDAC_SUPPORT=y +# CONFIG_EDAC is not set +CONFIG_RTC_LIB=y +CONFIG_RTC_CLASS=y +CONFIG_RTC_HCTOSYS=y +CONFIG_RTC_HCTOSYS_DEVICE="rtc0" +CONFIG_RTC_SYSTOHC=y +CONFIG_RTC_SYSTOHC_DEVICE="rtc0" +# CONFIG_RTC_DEBUG is not set +CONFIG_RTC_NVMEM=y + +# +# RTC interfaces +# +CONFIG_RTC_INTF_SYSFS=y +CONFIG_RTC_INTF_PROC=y +CONFIG_RTC_INTF_DEV=y +# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set +# CONFIG_RTC_DRV_TEST is not set + +# +# I2C RTC drivers +# +# CONFIG_RTC_DRV_ABB5ZES3 is not set +# CONFIG_RTC_DRV_ABEOZ9 is not set +# CONFIG_RTC_DRV_ABX80X is not set +# CONFIG_RTC_DRV_BRCMSTB is not set +# CONFIG_RTC_DRV_DS1307 is not set +# CONFIG_RTC_DRV_DS1374 is not set +# CONFIG_RTC_DRV_DS1672 is not set +# CONFIG_RTC_DRV_HYM8563 is not set +# CONFIG_RTC_DRV_MAX6900 is not set +# CONFIG_RTC_DRV_MAX8907 is not set +# CONFIG_RTC_DRV_MAX77686 is not set +# CONFIG_RTC_DRV_NCT3018Y is not set +# CONFIG_RTC_DRV_RS5C372 is not set +# CONFIG_RTC_DRV_ISL1208 is not set +# CONFIG_RTC_DRV_ISL12022 is not set +# CONFIG_RTC_DRV_ISL12026 is not set +# CONFIG_RTC_DRV_X1205 is not set +# CONFIG_RTC_DRV_PCF8523 is not set +# CONFIG_RTC_DRV_PCF85063 is not set +# CONFIG_RTC_DRV_PCF85363 is not set +# CONFIG_RTC_DRV_PCF8563 is not set +# CONFIG_RTC_DRV_PCF8583 is not set +# CONFIG_RTC_DRV_M41T80 is not set +# CONFIG_RTC_DRV_BQ32K is not set +# CONFIG_RTC_DRV_S35390A is not set +# CONFIG_RTC_DRV_FM3130 is not set +# CONFIG_RTC_DRV_RX8010 is not set +# CONFIG_RTC_DRV_RX8581 is not set +# CONFIG_RTC_DRV_RX8025 is not set +# CONFIG_RTC_DRV_EM3027 is not set +# CONFIG_RTC_DRV_RV3028 is not set +# CONFIG_RTC_DRV_RV3032 is not set +# CONFIG_RTC_DRV_RV8803 is not set +# CONFIG_RTC_DRV_S5M is not set +# CONFIG_RTC_DRV_SD3078 is not set +CONFIG_RTC_DRV_SPT_PMIC=y + +# +# SPI RTC drivers +# +# CONFIG_RTC_DRV_M41T93 is not set +# CONFIG_RTC_DRV_M41T94 is not set +# CONFIG_RTC_DRV_DS1302 is not set +# CONFIG_RTC_DRV_DS1305 is not set +# CONFIG_RTC_DRV_DS1343 is not set +# CONFIG_RTC_DRV_DS1347 is not set +# CONFIG_RTC_DRV_DS1390 is not set +# CONFIG_RTC_DRV_MAX6916 is not set +# CONFIG_RTC_DRV_R9701 is not set +# CONFIG_RTC_DRV_RX4581 is not set +# CONFIG_RTC_DRV_RS5C348 is not set +# CONFIG_RTC_DRV_MAX6902 is not set +# CONFIG_RTC_DRV_PCF2123 is not set +# CONFIG_RTC_DRV_MCP795 is not set +CONFIG_RTC_I2C_AND_SPI=y + +# +# SPI and I2C RTC drivers +# +# CONFIG_RTC_DRV_DS3232 is not set +# CONFIG_RTC_DRV_PCF2127 is not set +# CONFIG_RTC_DRV_RV3029C2 is not set +# CONFIG_RTC_DRV_RX6110 is not set + +# +# Platform RTC drivers +# +# CONFIG_RTC_DRV_DS1286 is not set +# CONFIG_RTC_DRV_DS1511 is not set +# CONFIG_RTC_DRV_DS1553 is not set +# CONFIG_RTC_DRV_DS1685_FAMILY is not set +# CONFIG_RTC_DRV_DS1742 is not set +# CONFIG_RTC_DRV_DS2404 is not set +# CONFIG_RTC_DRV_EFI is not set +# CONFIG_RTC_DRV_STK17TA8 is not set +# CONFIG_RTC_DRV_M48T86 is not set +# CONFIG_RTC_DRV_M48T35 is not set +# CONFIG_RTC_DRV_M48T59 is not set +# CONFIG_RTC_DRV_MSM6242 is not set +# CONFIG_RTC_DRV_BQ4802 is not set +# CONFIG_RTC_DRV_RP5C01 is not set +# CONFIG_RTC_DRV_GAMECUBE is not set +# CONFIG_RTC_DRV_SC27XX is not set +CONFIG_RTC_DRV_SPEAR=y +# CONFIG_RTC_DRV_ZYNQMP is not set + +# +# on-CPU RTC drivers +# +# CONFIG_RTC_DRV_ASM9260 is not set +# CONFIG_RTC_DRV_DIGICOLOR is not set +# CONFIG_RTC_DRV_FSL_FTM_ALARM is not set +# CONFIG_RTC_DRV_MESON is not set +# CONFIG_RTC_DRV_MESON_VRTC is not set +# CONFIG_RTC_DRV_OMAP is not set +# CONFIG_RTC_DRV_S3C is not set +# CONFIG_RTC_DRV_EP93XX is not set +CONFIG_RTC_DRV_SA1100=y +# CONFIG_RTC_DRV_AT91RM9200 is not set +# CONFIG_RTC_DRV_AT91SAM9 is not set +# CONFIG_RTC_DRV_RZN1 is not set +# CONFIG_RTC_DRV_GENERIC is not set +# CONFIG_RTC_DRV_VT8500 is not set +# CONFIG_RTC_DRV_SUN6I is not set +# CONFIG_RTC_DRV_SUNXI is not set +# CONFIG_RTC_DRV_MV is not set +# CONFIG_RTC_DRV_ARMADA38X is not set +# CONFIG_RTC_DRV_CADENCE is not set +# CONFIG_RTC_DRV_FTRTC010 is not set +# CONFIG_RTC_DRV_STMP is not set +# CONFIG_RTC_DRV_JZ4740 is not set +# CONFIG_RTC_DRV_LOONGSON is not set +# CONFIG_RTC_DRV_LPC24XX is not set +# CONFIG_RTC_DRV_LPC32XX is not set +# CONFIG_RTC_DRV_PM8XXX is not set +# CONFIG_RTC_DRV_TEGRA is not set +# CONFIG_RTC_DRV_MXC is not set +# CONFIG_RTC_DRV_MXC_V2 is not set +# CONFIG_RTC_DRV_SNVS is not set +# CONFIG_RTC_DRV_BBNSM is not set +# CONFIG_RTC_DRV_MOXART is not set +# CONFIG_RTC_DRV_MT2712 is not set +# CONFIG_RTC_DRV_MT6397 is not set +# CONFIG_RTC_DRV_MT7622 is not set +# CONFIG_RTC_DRV_XGENE is not set +# CONFIG_RTC_DRV_R7301 is not set +# CONFIG_RTC_DRV_STM32 is not set +# CONFIG_RTC_DRV_RTD119X is not set +# CONFIG_RTC_DRV_ASPEED is not set +# CONFIG_RTC_DRV_TI_K3 is not set + +# +# HID Sensor RTC drivers +# +# CONFIG_RTC_DRV_GOLDFISH is not set +# CONFIG_RTC_DRV_MSC313 is not set +CONFIG_DMADEVICES=y +# CONFIG_DMADEVICES_DEBUG is not set + +# +# DMA Devices +# +CONFIG_DMA_ENGINE=y +CONFIG_DMA_OF=y +# CONFIG_ALTERA_MSGDMA is not set +# CONFIG_APPLE_ADMAC is not set +# CONFIG_AXI_DMAC is not set +# CONFIG_BCM_SBA_RAID is not set +# CONFIG_DMA_JZ4780 is not set +# CONFIG_DMA_SA11X0 is not set +# CONFIG_DMA_SUN6I is not set +# CONFIG_DW_AXI_DMAC is not set +# CONFIG_EP93XX_DMA is not set +# CONFIG_FSL_EDMA is not set +# CONFIG_HISI_DMA is not set +# CONFIG_IMG_MDC_DMA is not set +# CONFIG_INTEL_IDMA64 is not set +# CONFIG_K3_DMA is not set +# CONFIG_MCF_EDMA is not set +# CONFIG_MILBEAUT_HDMAC is not set +# CONFIG_MILBEAUT_XDMAC is not set +CONFIG_MMP_PDMA_DRIVER=y +# CONFIG_MMP_PDMA is not set +CONFIG_MMP_PDMA_KY_X1=y +CONFIG_KY_PDMA_SUPPORT_64BIT=y +CONFIG_ADMA_KY_X1=y +# CONFIG_MMP_TDMA is not set +# CONFIG_MV_XOR is not set +# CONFIG_MXS_DMA is not set +# CONFIG_NBPFAXI_DMA is not set +# CONFIG_PCH_DMA is not set +# CONFIG_PLX_DMA is not set +# CONFIG_STM32_DMA is not set +# CONFIG_STM32_DMAMUX is not set +# CONFIG_STM32_MDMA is not set +# CONFIG_SPRD_DMA is not set +# CONFIG_TEGRA20_APB_DMA is not set +# CONFIG_TEGRA210_ADMA is not set +# CONFIG_TIMB_DMA is not set +# CONFIG_UNIPHIER_MDMAC is not set +# CONFIG_UNIPHIER_XDMAC is not set +# CONFIG_XGENE_DMA is not set +# CONFIG_XILINX_DMA is not set +# CONFIG_XILINX_XDMA is not set +# CONFIG_XILINX_ZYNQMP_DMA is not set +# CONFIG_XILINX_ZYNQMP_DPDMA is not set +CONFIG_USERSPACE_DMA=y +# CONFIG_MTK_HSDMA is not set +# CONFIG_MTK_CQDMA is not set +# CONFIG_QCOM_HIDMA_MGMT is not set +# CONFIG_QCOM_HIDMA is not set +# CONFIG_DW_DMAC is not set +# CONFIG_DW_DMAC_PCI is not set +# CONFIG_DW_EDMA is not set +# CONFIG_SF_PDMA is not set +# CONFIG_SH_DMAE_BASE is not set +# CONFIG_RCAR_DMAC is not set +# CONFIG_RENESAS_USB_DMAC is not set +# CONFIG_RZ_DMAC is not set +# CONFIG_TI_EDMA is not set +# CONFIG_DMA_OMAP is not set +# CONFIG_INTEL_LDMA is not set + +# +# DMA Clients +# +# CONFIG_ASYNC_TX_DMA is not set +# CONFIG_DMATEST is not set + +# +# DMABUF options +# +CONFIG_SYNC_FILE=y +CONFIG_SW_SYNC=y +CONFIG_UDMABUF=y +# CONFIG_DMABUF_MOVE_NOTIFY is not set +# CONFIG_DMABUF_DEBUG is not set +# CONFIG_DMABUF_SELFTESTS is not set +CONFIG_DMABUF_HEAPS=y +# CONFIG_DMABUF_SYSFS_STATS is not set +CONFIG_DMABUF_HEAPS_SYSTEM=y +CONFIG_DMABUF_HEAPS_CMA=y +# end of DMABUF options + +# CONFIG_UIO is not set +# CONFIG_VFIO is not set +# CONFIG_VIRT_DRIVERS is not set +CONFIG_VIRTIO_ANCHOR=y +CONFIG_VIRTIO=y +# CONFIG_VIRTIO_MENU is not set +# CONFIG_VDPA is not set +# CONFIG_VHOST_MENU is not set + +# +# Microsoft Hyper-V guest support +# +# end of Microsoft Hyper-V guest support + +# CONFIG_GREYBUS is not set +# CONFIG_COMEDI is not set +# CONFIG_STAGING is not set +# CONFIG_GOLDFISH is not set +# CONFIG_CHROME_PLATFORMS is not set +# CONFIG_MELLANOX_PLATFORM is not set +# CONFIG_OLPC_XO175 is not set +# CONFIG_SURFACE_PLATFORMS is not set +CONFIG_HAVE_CLK=y +CONFIG_HAVE_CLK_PREPARE=y +CONFIG_COMMON_CLK=y + +# +# Clock driver for ARM Reference designs +# +# CONFIG_CLK_ICST is not set +# CONFIG_CLK_SP810 is not set +# end of Clock driver for ARM Reference designs + +# CONFIG_CLK_HSDK is not set +# CONFIG_LMK04832 is not set +# CONFIG_COMMON_CLK_APPLE_NCO is not set +# CONFIG_COMMON_CLK_MAX77686 is not set +# CONFIG_COMMON_CLK_MAX9485 is not set +# CONFIG_COMMON_CLK_HI655X is not set +# CONFIG_COMMON_CLK_SCMI is not set +# CONFIG_COMMON_CLK_SCPI is not set +# CONFIG_COMMON_CLK_SI5341 is not set +# CONFIG_COMMON_CLK_SI5351 is not set +# CONFIG_COMMON_CLK_SI514 is not set +# CONFIG_COMMON_CLK_SI544 is not set +# CONFIG_COMMON_CLK_SI570 is not set +# CONFIG_COMMON_CLK_BM1880 is not set +# CONFIG_COMMON_CLK_CDCE706 is not set +# CONFIG_COMMON_CLK_TPS68470 is not set +# CONFIG_COMMON_CLK_CDCE925 is not set +# CONFIG_COMMON_CLK_CS2000_CP is not set +# CONFIG_COMMON_CLK_EN7523 is not set +# CONFIG_COMMON_CLK_FSL_FLEXSPI is not set +# CONFIG_COMMON_CLK_FSL_SAI is not set +# CONFIG_COMMON_CLK_GEMINI is not set +# CONFIG_COMMON_CLK_LAN966X is not set +# CONFIG_COMMON_CLK_ASPEED is not set +# CONFIG_COMMON_CLK_S2MPS11 is not set +# CONFIG_COMMON_CLK_AXI_CLKGEN is not set +# CONFIG_CLK_QORIQ is not set +# CONFIG_CLK_LS1028A_PLLDIG is not set +# CONFIG_COMMON_CLK_XGENE is not set +# CONFIG_COMMON_CLK_LOONGSON2 is not set +# CONFIG_COMMON_CLK_PWM is not set +# CONFIG_COMMON_CLK_RS9_PCIE is not set +# CONFIG_COMMON_CLK_SI521XX is not set +# CONFIG_COMMON_CLK_VC3 is not set +# CONFIG_COMMON_CLK_VC5 is not set +# CONFIG_COMMON_CLK_VC7 is not set +# CONFIG_COMMON_CLK_MMP2_AUDIO is not set +# CONFIG_COMMON_CLK_FIXED_MMIO is not set +# CONFIG_COMMON_CLK_SP7021 is not set +# CONFIG_CLK_ACTIONS is not set +# CONFIG_CLK_BAIKAL_T1 is not set +# CONFIG_CLK_BCM2711_DVP is not set +# CONFIG_CLK_BCM2835 is not set +# CONFIG_CLK_BCM_63XX is not set +# CONFIG_CLK_BCM_63XX_GATE is not set +# CONFIG_CLK_BCM63268_TIMER is not set +# CONFIG_CLK_BCM_KONA is not set +# CONFIG_CLK_BCM_CYGNUS is not set +# CONFIG_CLK_BCM_HR2 is not set +# CONFIG_CLK_BCM_NSP is not set +# CONFIG_CLK_BCM_NS2 is not set +# CONFIG_CLK_BCM_SR is not set +# CONFIG_CLK_RASPBERRYPI is not set +# CONFIG_COMMON_CLK_HI3516CV300 is not set +# CONFIG_COMMON_CLK_HI3519 is not set +# CONFIG_COMMON_CLK_HI3559A is not set +# CONFIG_COMMON_CLK_HI3660 is not set +# CONFIG_COMMON_CLK_HI3670 is not set +# CONFIG_COMMON_CLK_HI3798CV200 is not set +# CONFIG_COMMON_CLK_HI6220 is not set +# CONFIG_RESET_HISI is not set +# CONFIG_STUB_CLK_HI6220 is not set +# CONFIG_STUB_CLK_HI3660 is not set +# CONFIG_COMMON_CLK_BOSTON is not set +# CONFIG_MXC_CLK is not set +# CONFIG_CLK_IMX8MM is not set +# CONFIG_CLK_IMX8MN is not set +# CONFIG_CLK_IMX8MP is not set +# CONFIG_CLK_IMX8MQ is not set +# CONFIG_CLK_IMX8ULP is not set +# CONFIG_CLK_IMX93 is not set +# CONFIG_CLK_IMXRT1050 is not set + +# +# Ingenic SoCs drivers +# +# CONFIG_INGENIC_CGU_JZ4740 is not set +# CONFIG_INGENIC_CGU_JZ4755 is not set +# CONFIG_INGENIC_CGU_JZ4725B is not set +# CONFIG_INGENIC_CGU_JZ4760 is not set +# CONFIG_INGENIC_CGU_JZ4770 is not set +# CONFIG_INGENIC_CGU_JZ4780 is not set +# CONFIG_INGENIC_CGU_X1000 is not set +# CONFIG_INGENIC_CGU_X1830 is not set +# CONFIG_INGENIC_TCU_CLK is not set +# end of Ingenic SoCs drivers + +# CONFIG_COMMON_CLK_KEYSTONE is not set +# CONFIG_TI_SYSCON_CLK is not set + +# +# Clock driver for MediaTek SoC +# +# CONFIG_COMMON_CLK_MEDIATEK_FHCTL is not set +# CONFIG_COMMON_CLK_MT2701 is not set +# CONFIG_COMMON_CLK_MT2712 is not set +# CONFIG_COMMON_CLK_MT6765 is not set +# CONFIG_COMMON_CLK_MT6779 is not set +# CONFIG_COMMON_CLK_MT6795 is not set +# CONFIG_COMMON_CLK_MT6797 is not set +# CONFIG_COMMON_CLK_MT7622 is not set +# CONFIG_COMMON_CLK_MT7629 is not set +# CONFIG_COMMON_CLK_MT7981 is not set +# CONFIG_COMMON_CLK_MT7986 is not set +# CONFIG_COMMON_CLK_MT8135 is not set +# CONFIG_COMMON_CLK_MT8167 is not set +# CONFIG_COMMON_CLK_MT8173 is not set +# CONFIG_COMMON_CLK_MT8183 is not set +# CONFIG_COMMON_CLK_MT8186 is not set +# CONFIG_COMMON_CLK_MT8188 is not set +# CONFIG_COMMON_CLK_MT8192 is not set +# CONFIG_COMMON_CLK_MT8195 is not set +# CONFIG_COMMON_CLK_MT8365 is not set +# CONFIG_COMMON_CLK_MT8516 is not set +# end of Clock driver for MediaTek SoC + +# +# Clock support for Amlogic platforms +# +# end of Clock support for Amlogic platforms + +# CONFIG_MSTAR_MSC313_CPUPLL is not set +# CONFIG_MSTAR_MSC313_MPLL is not set +# CONFIG_MCHP_CLK_MPFS is not set +CONFIG_COMMON_CLK_NUVOTON=y +CONFIG_CLK_MA35D1=y +# CONFIG_COMMON_CLK_PISTACHIO is not set +# CONFIG_COMMON_CLK_QCOM is not set +# CONFIG_CLK_MT7621 is not set +# CONFIG_CLK_MTMIPS is not set +# CONFIG_CLK_RENESAS is not set +# CONFIG_COMMON_CLK_SAMSUNG is not set +# CONFIG_CLK_SIFIVE is not set +# CONFIG_CLK_INTEL_SOCFPGA is not set +# CONFIG_SPRD_COMMON_CLK is not set +# CONFIG_CLK_STARFIVE_JH7100 is not set +# CONFIG_CLK_STARFIVE_JH7110_PLL is not set +# CONFIG_CLK_STARFIVE_JH7110_SYS is not set +CONFIG_CLK_SUNXI=y +CONFIG_CLK_SUNXI_CLOCKS=y +CONFIG_CLK_SUNXI_PRCM_SUN6I=y +CONFIG_CLK_SUNXI_PRCM_SUN8I=y +CONFIG_CLK_SUNXI_PRCM_SUN9I=y +# CONFIG_SUNXI_CCU is not set +# CONFIG_COMMON_CLK_TI_ADPLL is not set +# CONFIG_CLK_UNIPHIER is not set +# CONFIG_COMMON_CLK_VISCONTI is not set +# CONFIG_CLK_LGM_CGU is not set +# CONFIG_XILINX_VCU is not set +# CONFIG_COMMON_CLK_XLNX_CLKWZRD is not set +# CONFIG_COMMON_CLK_ZYNQMP is not set +CONFIG_KY_X1_CCU=y +# CONFIG_HWSPINLOCK is not set + +# +# Clock Source drivers +# +CONFIG_TIMER_OF=y +CONFIG_TIMER_PROBE=y +# CONFIG_BCM2835_TIMER is not set +# CONFIG_BCM_KONA_TIMER is not set +# CONFIG_DAVINCI_TIMER is not set +# CONFIG_DIGICOLOR_TIMER is not set +# CONFIG_OMAP_DM_TIMER is not set +# CONFIG_DW_APB_TIMER is not set +# CONFIG_FTTMR010_TIMER is not set +# CONFIG_IXP4XX_TIMER is not set +# CONFIG_MESON6_TIMER is not set +# CONFIG_OWL_TIMER is not set +# CONFIG_RDA_TIMER is not set +# CONFIG_KY_X1_TIMER is not set +# CONFIG_SUN4I_TIMER is not set +# CONFIG_SUN5I_HSTIMER is not set +# CONFIG_TEGRA_TIMER is not set +# CONFIG_TEGRA186_TIMER is not set +# CONFIG_VT8500_TIMER is not set +# CONFIG_NPCM7XX_TIMER is not set +# CONFIG_CADENCE_TTC_TIMER is not set +# CONFIG_ASM9260_TIMER is not set +# CONFIG_CLKSRC_DBX500_PRCMU is not set +# CONFIG_CLPS711X_TIMER is not set +# CONFIG_MXS_TIMER is not set +# CONFIG_NSPIRE_TIMER is not set +# CONFIG_INTEGRATOR_AP_TIMER is not set +# CONFIG_CLKSRC_PISTACHIO is not set +# CONFIG_CLKSRC_TI_32K is not set +# CONFIG_CLKSRC_STM32_LP is not set +# CONFIG_CLKSRC_MPS2 is not set +# CONFIG_ARC_TIMERS is not set +# CONFIG_ARM_TIMER_SP804 is not set +# CONFIG_ARMV7M_SYSTICK is not set +# CONFIG_ATMEL_PIT is not set +# CONFIG_ATMEL_ST is not set +# CONFIG_CLKSRC_SAMSUNG_PWM is not set +# CONFIG_FSL_FTM_TIMER is not set +# CONFIG_MTK_TIMER is not set +# CONFIG_MTK_CPUX_TIMER is not set +# CONFIG_SPRD_TIMER is not set +# CONFIG_CLKSRC_JCORE_PIT is not set +# CONFIG_SH_TIMER_CMT is not set +# CONFIG_SH_TIMER_MTU2 is not set +# CONFIG_RENESAS_OSTM is not set +# CONFIG_SH_TIMER_TMU is not set +# CONFIG_EM_TIMER_STI is not set +# CONFIG_CLKSRC_VERSATILE is not set +# CONFIG_CLKSRC_PXA is not set +# CONFIG_TIMER_IMX_SYS_CTR is not set +# CONFIG_CLKSRC_LOONGSON1_PWM is not set +# CONFIG_CLKSRC_ST_LPC is not set +# CONFIG_GXP_TIMER is not set +CONFIG_RISCV_TIMER=y +# CONFIG_CLINT_TIMER is not set +# CONFIG_MSC313E_TIMER is not set +# CONFIG_INGENIC_TIMER is not set +# CONFIG_INGENIC_SYSOST is not set +# CONFIG_INGENIC_OST is not set +# end of Clock Source drivers + +CONFIG_MAILBOX=y +# CONFIG_IMX_MBOX is not set +# CONFIG_PLATFORM_MHU is not set +# CONFIG_ARMADA_37XX_RWTM_MBOX is not set +# CONFIG_ROCKCHIP_MBOX is not set +# CONFIG_ALTERA_MBOX is not set +# CONFIG_HI3660_MBOX is not set +# CONFIG_HI6220_MBOX is not set +# CONFIG_MAILBOX_TEST is not set +# CONFIG_POLARFIRE_SOC_MAILBOX is not set +# CONFIG_QCOM_APCS_IPC is not set +# CONFIG_BCM_PDC_MBOX is not set +# CONFIG_STM32_IPCC is not set +# CONFIG_MTK_ADSP_MBOX is not set +# CONFIG_MTK_CMDQ_MBOX is not set +# CONFIG_SUN6I_MSGBOX is not set +# CONFIG_SPRD_MBOX is not set +# CONFIG_QCOM_IPCC is not set +CONFIG_KY_MAILBOX=y +# CONFIG_X1PRO_MAILBOX is not set +CONFIG_X1_MAILBOX=y +# CONFIG_IOMMU_SUPPORT is not set + +# +# Remoteproc drivers +# +CONFIG_REMOTEPROC=y +# CONFIG_REMOTEPROC_CDEV is not set +# CONFIG_INGENIC_VPU_RPROC is not set +# CONFIG_MTK_SCP is not set +# CONFIG_MESON_MX_AO_ARC_REMOTEPROC is not set +# CONFIG_X1PRO_REMOTEPROC is not set +CONFIG_X1_REMOTEPROC=y +# CONFIG_RCAR_REMOTEPROC is not set +# CONFIG_STM32_RPROC is not set +# end of Remoteproc drivers + +# +# Rpmsg drivers +# +CONFIG_RPMSG=y +# CONFIG_RPMSG_CHAR is not set +# CONFIG_RPMSG_CTRL is not set +CONFIG_RPMSG_NS=y +# CONFIG_RPMSG_QCOM_GLINK_RPM is not set +CONFIG_RPMSG_VIRTIO=y +# end of Rpmsg drivers + +# CONFIG_SOUNDWIRE is not set + +# +# SOC (System On Chip) specific Drivers +# +# CONFIG_OWL_PM_DOMAINS is not set + +# +# Amlogic SoC drivers +# +# CONFIG_MESON_CANVAS is not set +# CONFIG_MESON_CLK_MEASURE is not set +# CONFIG_MESON_GX_SOCINFO is not set +# CONFIG_MESON_GX_PM_DOMAINS is not set +# CONFIG_MESON_EE_PM_DOMAINS is not set +# CONFIG_MESON_MX_SOCINFO is not set +# end of Amlogic SoC drivers + +# +# Apple SoC drivers +# +# CONFIG_APPLE_PMGR_PWRSTATE is not set +# CONFIG_APPLE_RTKIT is not set +# CONFIG_APPLE_SART is not set +# end of Apple SoC drivers + +# +# ASPEED SoC drivers +# +# CONFIG_ASPEED_LPC_CTRL is not set +# CONFIG_ASPEED_LPC_SNOOP is not set +# CONFIG_ASPEED_UART_ROUTING is not set +# CONFIG_ASPEED_P2A_CTRL is not set +# CONFIG_ASPEED_SOCINFO is not set +# end of ASPEED SoC drivers + +# CONFIG_AT91_SOC_ID is not set +# CONFIG_AT91_SOC_SFR is not set + +# +# Broadcom SoC drivers +# +# CONFIG_BCM2835_POWER is not set +# CONFIG_SOC_BCM63XX is not set +# CONFIG_SOC_BRCMSTB is not set +# CONFIG_BCM_PMB is not set +# end of Broadcom SoC drivers + +# +# NXP/Freescale QorIQ SoC drivers +# +# CONFIG_QUICC_ENGINE is not set +# CONFIG_DPAA2_CONSOLE is not set +# end of NXP/Freescale QorIQ SoC drivers + +# +# fujitsu SoC drivers +# +# end of fujitsu SoC drivers + +# +# Hisilicon SoC drivers +# +# end of Hisilicon SoC drivers + +# +# i.MX SoC drivers +# +# CONFIG_IMX_GPCV2_PM_DOMAINS is not set +# CONFIG_SOC_IMX8M is not set +# CONFIG_SOC_IMX9 is not set +# end of i.MX SoC drivers + +# +# IXP4xx SoC drivers +# +# CONFIG_IXP4XX_QMGR is not set +# CONFIG_IXP4XX_NPE is not set +# end of IXP4xx SoC drivers + +# +# Enable LiteX SoC Builder specific drivers +# +# CONFIG_LITEX_SOC_CONTROLLER is not set +# end of Enable LiteX SoC Builder specific drivers + +# CONFIG_LOONGSON2_GUTS is not set + +# +# MediaTek SoC drivers +# +# CONFIG_MTK_CMDQ is not set +# CONFIG_MTK_DEVAPC is not set +# CONFIG_MTK_INFRACFG is not set +# CONFIG_MTK_PMIC_WRAP is not set +# CONFIG_MTK_REGULATOR_COUPLER is not set +# CONFIG_MTK_SCPSYS is not set +# CONFIG_MTK_SCPSYS_PM_DOMAINS is not set +# CONFIG_MTK_MMSYS is not set +# end of MediaTek SoC drivers + +# CONFIG_WPCM450_SOC is not set + +# +# Qualcomm SoC drivers +# +# CONFIG_QCOM_AOSS_QMP is not set +# CONFIG_QCOM_COMMAND_DB is not set +# CONFIG_QCOM_GENI_SE is not set +# CONFIG_QCOM_GSBI is not set +# CONFIG_QCOM_LLCC is not set +# CONFIG_QCOM_PMIC_GLINK is not set +# CONFIG_QCOM_RAMP_CTRL is not set +# CONFIG_QCOM_RPM_MASTER_STATS is not set +# CONFIG_QCOM_RPMH is not set +# CONFIG_QCOM_SMD_RPM is not set +# CONFIG_QCOM_SPM is not set +# CONFIG_QCOM_WCNSS_CTRL is not set +# CONFIG_QCOM_APR is not set +# CONFIG_QCOM_ICC_BWMON is not set +# end of Qualcomm SoC drivers + +# CONFIG_SOC_RENESAS is not set +# CONFIG_ROCKCHIP_GRF is not set +# CONFIG_ROCKCHIP_IODOMAIN is not set +# CONFIG_ROCKCHIP_PM_DOMAINS is not set +# CONFIG_SOC_SAMSUNG is not set +# CONFIG_JH71XX_PMU is not set +# CONFIG_SUN20I_PPU is not set +# CONFIG_SOC_TEGRA20_VOLTAGE_COUPLER is not set +# CONFIG_SOC_TEGRA30_VOLTAGE_COUPLER is not set +# CONFIG_SOC_TI is not set +# CONFIG_UX500_SOC_ID is not set + +# +# Xilinx SoC drivers +# +# end of Xilinx SoC drivers + +CONFIG_KY_PM_DOMAINS=y +CONFIG_KY_REBOOT_CONTROL=y +CONFIG_KY_LID_CONTROL=y +CONFIG_KY_X1_DMA_RANGE=y +CONFIG_KY_SOCINFO=y +CONFIG_KY_DDRBW=y +CONFIG_CHIP_MEDIA_JPU=y +# CONFIG_JPU_ENABLE_DEBUG_MSG is not set +CONFIG_KY_V2D=y +CONFIG_KY_RFKILL=y +# end of SOC (System On Chip) specific Drivers + +# CONFIG_PM_DEVFREQ is not set +CONFIG_EXTCON=y + +# +# Extcon Device Drivers +# +# CONFIG_EXTCON_ADC_JACK is not set +# CONFIG_EXTCON_FSA9480 is not set +CONFIG_EXTCON_USB_X1CI=y +# CONFIG_EXTCON_GPIO is not set +# CONFIG_EXTCON_MAX3355 is not set +# CONFIG_EXTCON_PTN5150 is not set +# CONFIG_EXTCON_QCOM_SPMI_MISC is not set +# CONFIG_EXTCON_RT8973A is not set +# CONFIG_EXTCON_SM5502 is not set +CONFIG_EXTCON_USB_GPIO=y +# CONFIG_EXTCON_USBC_TUSB320 is not set +# CONFIG_MEMORY is not set +CONFIG_IIO=y +CONFIG_IIO_BUFFER=y +# CONFIG_IIO_BUFFER_CB is not set +# CONFIG_IIO_BUFFER_DMA is not set +# CONFIG_IIO_BUFFER_DMAENGINE is not set +# CONFIG_IIO_BUFFER_HW_CONSUMER is not set +CONFIG_IIO_KFIFO_BUF=y +CONFIG_IIO_TRIGGERED_BUFFER=y +# CONFIG_IIO_CONFIGFS is not set +CONFIG_IIO_TRIGGER=y +CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 +# CONFIG_IIO_SW_DEVICE is not set +# CONFIG_IIO_SW_TRIGGER is not set +# CONFIG_IIO_TRIGGERED_EVENT is not set + +# +# Accelerometers +# +# CONFIG_ADIS16201 is not set +# CONFIG_ADIS16209 is not set +# CONFIG_ADXL313_I2C is not set +# CONFIG_ADXL313_SPI is not set +# CONFIG_ADXL345_I2C is not set +# CONFIG_ADXL345_SPI is not set +# CONFIG_ADXL355_I2C is not set +# CONFIG_ADXL355_SPI is not set +# CONFIG_ADXL367_SPI is not set +# CONFIG_ADXL367_I2C is not set +# CONFIG_ADXL372_SPI is not set +# CONFIG_ADXL372_I2C is not set +# CONFIG_BMA180 is not set +# CONFIG_BMA220 is not set +# CONFIG_BMA400 is not set +# CONFIG_BMC150_ACCEL is not set +# CONFIG_BMI088_ACCEL is not set +# CONFIG_DA280 is not set +# CONFIG_DA311 is not set +# CONFIG_DMARD06 is not set +# CONFIG_DMARD09 is not set +# CONFIG_DMARD10 is not set +# CONFIG_FXLS8962AF_I2C is not set +# CONFIG_FXLS8962AF_SPI is not set +# CONFIG_IIO_ST_ACCEL_3AXIS is not set +# CONFIG_IIO_KX022A_SPI is not set +# CONFIG_IIO_KX022A_I2C is not set +# CONFIG_KXSD9 is not set +# CONFIG_KXCJK1013 is not set +# CONFIG_MC3230 is not set +# CONFIG_MMA7455_I2C is not set +# CONFIG_MMA7455_SPI is not set +# CONFIG_MMA7660 is not set +# CONFIG_MMA8452 is not set +# CONFIG_MMA9551 is not set +# CONFIG_MMA9553 is not set +# CONFIG_MSA311 is not set +CONFIG_MXC4005=y +# CONFIG_MXC6255 is not set +# CONFIG_SCA3000 is not set +# CONFIG_SCA3300 is not set +# CONFIG_STK8312 is not set +# CONFIG_STK8BA50 is not set +# end of Accelerometers + +# +# Analog to digital converters +# +# CONFIG_AD4130 is not set +# CONFIG_AD7091R5 is not set +# CONFIG_AD7124 is not set +# CONFIG_AD7192 is not set +# CONFIG_AD7266 is not set +# CONFIG_AD7280 is not set +# CONFIG_AD7291 is not set +# CONFIG_AD7292 is not set +# CONFIG_AD7298 is not set +# CONFIG_AD7476 is not set +# CONFIG_AD7606_IFACE_PARALLEL is not set +# CONFIG_AD7606_IFACE_SPI is not set +# CONFIG_AD7766 is not set +# CONFIG_AD7768_1 is not set +# CONFIG_AD7780 is not set +# CONFIG_AD7791 is not set +# CONFIG_AD7793 is not set +# CONFIG_AD7887 is not set +# CONFIG_AD7923 is not set +# CONFIG_AD7949 is not set +# CONFIG_AD799X is not set +# CONFIG_AD9467 is not set +# CONFIG_ADI_AXI_ADC is not set +# CONFIG_ASPEED_ADC is not set +# CONFIG_AT91_ADC is not set +# CONFIG_AT91_SAMA5D2_ADC is not set +# CONFIG_BCM_IPROC_ADC is not set +# CONFIG_BERLIN2_ADC is not set +# CONFIG_CC10001_ADC is not set +# CONFIG_ENVELOPE_DETECTOR is not set +# CONFIG_EP93XX_ADC is not set +# CONFIG_EXYNOS_ADC is not set +# CONFIG_HI8435 is not set +# CONFIG_HX711 is not set +# CONFIG_INA2XX_ADC is not set +# CONFIG_INGENIC_ADC is not set +# CONFIG_IMX7D_ADC is not set +# CONFIG_IMX8QXP_ADC is not set +# CONFIG_IMX93_ADC is not set +# CONFIG_LPC18XX_ADC is not set +# CONFIG_LPC32XX_ADC is not set +# CONFIG_LTC2471 is not set +# CONFIG_LTC2485 is not set +# CONFIG_LTC2496 is not set +# CONFIG_LTC2497 is not set +# CONFIG_MAX1027 is not set +# CONFIG_MAX11100 is not set +# CONFIG_MAX1118 is not set +# CONFIG_MAX11205 is not set +# CONFIG_MAX11410 is not set +# CONFIG_MAX1241 is not set +# CONFIG_MAX1363 is not set +# CONFIG_MAX9611 is not set +# CONFIG_MCP320X is not set +# CONFIG_MCP3422 is not set +# CONFIG_MCP3911 is not set +# CONFIG_MEDIATEK_MT6577_AUXADC is not set +# CONFIG_MESON_SARADC is not set +# CONFIG_NAU7802 is not set +# CONFIG_NPCM_ADC is not set +# CONFIG_RCAR_GYRO_ADC is not set +# CONFIG_ROCKCHIP_SARADC is not set +# CONFIG_RICHTEK_RTQ6056 is not set +# CONFIG_RZG2L_ADC is not set +# CONFIG_SC27XX_ADC is not set +# CONFIG_SPEAR_ADC is not set +# CONFIG_SD_ADC_MODULATOR is not set +# CONFIG_STM32_ADC_CORE is not set +# CONFIG_STM32_DFSDM_CORE is not set +# CONFIG_STM32_DFSDM_ADC is not set +# CONFIG_SUN20I_GPADC is not set +# CONFIG_TI_ADC081C is not set +# CONFIG_TI_ADC0832 is not set +# CONFIG_TI_ADC084S021 is not set +# CONFIG_TI_ADC12138 is not set +# CONFIG_TI_ADC108S102 is not set +# CONFIG_TI_ADC128S052 is not set +# CONFIG_TI_ADC161S626 is not set +# CONFIG_TI_ADS1015 is not set +# CONFIG_TI_ADS7924 is not set +# CONFIG_TI_ADS1100 is not set +# CONFIG_TI_ADS7950 is not set +# CONFIG_TI_ADS8344 is not set +# CONFIG_TI_ADS8688 is not set +# CONFIG_TI_ADS124S08 is not set +# CONFIG_TI_ADS131E08 is not set +# CONFIG_TI_LMP92064 is not set +# CONFIG_TI_TLC4541 is not set +# CONFIG_TI_TSC2046 is not set +# CONFIG_VF610_ADC is not set +# CONFIG_XILINX_XADC is not set +# CONFIG_XILINX_AMS is not set +CONFIG_KY_P1_ADC=y +# end of Analog to digital converters + +# +# Analog to digital and digital to analog converters +# +# CONFIG_AD74115 is not set +# CONFIG_AD74413R is not set +# end of Analog to digital and digital to analog converters + +# +# Analog Front Ends +# +# CONFIG_IIO_RESCALE is not set +# end of Analog Front Ends + +# +# Amplifiers +# +# CONFIG_AD8366 is not set +# CONFIG_ADA4250 is not set +# CONFIG_HMC425 is not set +# end of Amplifiers + +# +# Capacitance to digital converters +# +# CONFIG_AD7150 is not set +# CONFIG_AD7746 is not set +# end of Capacitance to digital converters + +# +# Chemical Sensors +# +# CONFIG_ATLAS_PH_SENSOR is not set +# CONFIG_ATLAS_EZO_SENSOR is not set +# CONFIG_BME680 is not set +# CONFIG_CCS811 is not set +# CONFIG_IAQCORE is not set +# CONFIG_PMS7003 is not set +# CONFIG_SCD30_CORE is not set +# CONFIG_SCD4X is not set +# CONFIG_SENSIRION_SGP30 is not set +# CONFIG_SENSIRION_SGP40 is not set +# CONFIG_SPS30_I2C is not set +# CONFIG_SPS30_SERIAL is not set +# CONFIG_SENSEAIR_SUNRISE_CO2 is not set +# CONFIG_VZ89X is not set +# end of Chemical Sensors + +# +# Hid Sensor IIO Common +# +# end of Hid Sensor IIO Common + +# +# IIO SCMI Sensors +# +# end of IIO SCMI Sensors + +# +# SSP Sensor Common +# +# CONFIG_IIO_SSP_SENSORHUB is not set +# end of SSP Sensor Common + +# +# Digital to analog converters +# +# CONFIG_AD3552R is not set +# CONFIG_AD5064 is not set +# CONFIG_AD5360 is not set +# CONFIG_AD5380 is not set +# CONFIG_AD5421 is not set +# CONFIG_AD5446 is not set +# CONFIG_AD5449 is not set +# CONFIG_AD5592R is not set +# CONFIG_AD5593R is not set +# CONFIG_AD5504 is not set +# CONFIG_AD5624R_SPI is not set +# CONFIG_LTC2688 is not set +# CONFIG_AD5686_SPI is not set +# CONFIG_AD5696_I2C is not set +# CONFIG_AD5755 is not set +# CONFIG_AD5758 is not set +# CONFIG_AD5761 is not set +# CONFIG_AD5764 is not set +# CONFIG_AD5766 is not set +# CONFIG_AD5770R is not set +# CONFIG_AD5791 is not set +# CONFIG_AD7293 is not set +# CONFIG_AD7303 is not set +# CONFIG_AD8801 is not set +# CONFIG_DPOT_DAC is not set +# CONFIG_DS4424 is not set +# CONFIG_LPC18XX_DAC is not set +# CONFIG_LTC1660 is not set +# CONFIG_LTC2632 is not set +# CONFIG_M62332 is not set +# CONFIG_MAX517 is not set +# CONFIG_MAX5522 is not set +# CONFIG_MAX5821 is not set +# CONFIG_MCP4725 is not set +# CONFIG_MCP4728 is not set +# CONFIG_MCP4922 is not set +# CONFIG_STM32_DAC is not set +# CONFIG_TI_DAC082S085 is not set +# CONFIG_TI_DAC5571 is not set +# CONFIG_TI_DAC7311 is not set +# CONFIG_TI_DAC7612 is not set +# CONFIG_VF610_DAC is not set +# end of Digital to analog converters + +# +# IIO dummy driver +# +# end of IIO dummy driver + +# +# Filters +# +# CONFIG_ADMV8818 is not set +# end of Filters + +# +# Frequency Synthesizers DDS/PLL +# + +# +# Clock Generator/Distribution +# +# CONFIG_AD9523 is not set +# end of Clock Generator/Distribution + +# +# Phase-Locked Loop (PLL) frequency synthesizers +# +# CONFIG_ADF4350 is not set +# CONFIG_ADF4371 is not set +# CONFIG_ADF4377 is not set +# CONFIG_ADMV1013 is not set +# CONFIG_ADMV1014 is not set +# CONFIG_ADMV4420 is not set +# CONFIG_ADRF6780 is not set +# end of Phase-Locked Loop (PLL) frequency synthesizers +# end of Frequency Synthesizers DDS/PLL + +# +# Digital gyroscope sensors +# +# CONFIG_ADIS16080 is not set +# CONFIG_ADIS16130 is not set +# CONFIG_ADIS16136 is not set +# CONFIG_ADIS16260 is not set +# CONFIG_ADXRS290 is not set +# CONFIG_ADXRS450 is not set +# CONFIG_BMG160 is not set +# CONFIG_FXAS21002C is not set +# CONFIG_MPU3050_I2C is not set +# CONFIG_IIO_ST_GYRO_3AXIS is not set +# CONFIG_ITG3200 is not set +# end of Digital gyroscope sensors + +# +# Health Sensors +# + +# +# Heart Rate Monitors +# +# CONFIG_AFE4403 is not set +# CONFIG_AFE4404 is not set +# CONFIG_MAX30100 is not set +# CONFIG_MAX30102 is not set +# end of Heart Rate Monitors +# end of Health Sensors + +# +# Humidity sensors +# +# CONFIG_AM2315 is not set +# CONFIG_DHT11 is not set +# CONFIG_HDC100X is not set +# CONFIG_HDC2010 is not set +# CONFIG_HTS221 is not set +# CONFIG_HTU21 is not set +# CONFIG_SI7005 is not set +# CONFIG_SI7020 is not set +# end of Humidity sensors + +# +# Inertial measurement units +# +# CONFIG_ADIS16400 is not set +# CONFIG_ADIS16460 is not set +# CONFIG_ADIS16475 is not set +# CONFIG_ADIS16480 is not set +# CONFIG_BMI160_I2C is not set +# CONFIG_BMI160_SPI is not set +# CONFIG_BOSCH_BNO055_SERIAL is not set +# CONFIG_BOSCH_BNO055_I2C is not set +# CONFIG_FXOS8700_I2C is not set +# CONFIG_FXOS8700_SPI is not set +# CONFIG_KMX61 is not set +# CONFIG_INV_ICM42600_I2C is not set +# CONFIG_INV_ICM42600_SPI is not set +# CONFIG_INV_MPU6050_I2C is not set +# CONFIG_INV_MPU6050_SPI is not set +# CONFIG_IIO_ST_LSM6DSX is not set +# CONFIG_IIO_ST_LSM9DS0 is not set +# end of Inertial measurement units + +# +# Light sensors +# +# CONFIG_ADJD_S311 is not set +# CONFIG_ADUX1020 is not set +# CONFIG_AL3010 is not set +# CONFIG_AL3320A is not set +# CONFIG_APDS9300 is not set +# CONFIG_APDS9960 is not set +# CONFIG_AS73211 is not set +# CONFIG_BH1750 is not set +# CONFIG_BH1780 is not set +# CONFIG_CM32181 is not set +# CONFIG_CM3232 is not set +# CONFIG_CM3323 is not set +# CONFIG_CM3605 is not set +# CONFIG_CM36651 is not set +# CONFIG_GP2AP002 is not set +# CONFIG_GP2AP020A00F is not set +# CONFIG_IQS621_ALS is not set +# CONFIG_SENSORS_ISL29018 is not set +# CONFIG_SENSORS_ISL29028 is not set +# CONFIG_ISL29125 is not set +# CONFIG_JSA1212 is not set +# CONFIG_ROHM_BU27008 is not set +# CONFIG_ROHM_BU27034 is not set +# CONFIG_RPR0521 is not set +# CONFIG_LTR501 is not set +# CONFIG_LTRF216A is not set +# CONFIG_LV0104CS is not set +# CONFIG_MAX44000 is not set +# CONFIG_MAX44009 is not set +# CONFIG_NOA1305 is not set +# CONFIG_OPT3001 is not set +# CONFIG_OPT4001 is not set +# CONFIG_PA12203001 is not set +# CONFIG_SI1133 is not set +# CONFIG_SI1145 is not set +CONFIG_STK3310=y +# CONFIG_ST_UVIS25 is not set +# CONFIG_TCS3414 is not set +# CONFIG_TCS3472 is not set +# CONFIG_SENSORS_TSL2563 is not set +# CONFIG_TSL2583 is not set +# CONFIG_TSL2591 is not set +# CONFIG_TSL2772 is not set +# CONFIG_TSL4531 is not set +# CONFIG_US5182D is not set +# CONFIG_VCNL4000 is not set +# CONFIG_VCNL4035 is not set +# CONFIG_VEML6030 is not set +# CONFIG_VEML6070 is not set +# CONFIG_VL6180 is not set +# CONFIG_ZOPT2201 is not set +# end of Light sensors + +# +# Magnetometer sensors +# +# CONFIG_AK8974 is not set +# CONFIG_AK8975 is not set +# CONFIG_AK09911 is not set +# CONFIG_BMC150_MAGN_I2C is not set +# CONFIG_BMC150_MAGN_SPI is not set +# CONFIG_MAG3110 is not set +# CONFIG_MMC35240 is not set +# CONFIG_IIO_ST_MAGN_3AXIS is not set +# CONFIG_SENSORS_HMC5843_I2C is not set +# CONFIG_SENSORS_HMC5843_SPI is not set +# CONFIG_SENSORS_RM3100_I2C is not set +# CONFIG_SENSORS_RM3100_SPI is not set +# CONFIG_TI_TMAG5273 is not set +# CONFIG_YAMAHA_YAS530 is not set +# end of Magnetometer sensors + +# +# Multiplexers +# +# CONFIG_IIO_MUX is not set +# end of Multiplexers + +# +# Inclinometer sensors +# +# end of Inclinometer sensors + +# +# Triggers - standalone +# +# CONFIG_IIO_INTERRUPT_TRIGGER is not set +# CONFIG_IIO_STM32_LPTIMER_TRIGGER is not set +# CONFIG_IIO_STM32_TIMER_TRIGGER is not set +# CONFIG_IIO_SYSFS_TRIGGER is not set +# end of Triggers - standalone + +# +# Linear and angular position sensors +# +# CONFIG_IQS624_POS is not set +# end of Linear and angular position sensors + +# +# Digital potentiometers +# +# CONFIG_AD5110 is not set +# CONFIG_AD5272 is not set +# CONFIG_DS1803 is not set +# CONFIG_MAX5432 is not set +# CONFIG_MAX5481 is not set +# CONFIG_MAX5487 is not set +# CONFIG_MCP4018 is not set +# CONFIG_MCP4131 is not set +# CONFIG_MCP4531 is not set +# CONFIG_MCP41010 is not set +# CONFIG_TPL0102 is not set +# CONFIG_X9250 is not set +# end of Digital potentiometers + +# +# Digital potentiostats +# +# CONFIG_LMP91000 is not set +# end of Digital potentiostats + +# +# Pressure sensors +# +# CONFIG_ABP060MG is not set +# CONFIG_BMP280 is not set +# CONFIG_DLHL60D is not set +# CONFIG_DPS310 is not set +# CONFIG_HP03 is not set +# CONFIG_ICP10100 is not set +# CONFIG_MPL115_I2C is not set +# CONFIG_MPL115_SPI is not set +# CONFIG_MPL3115 is not set +# CONFIG_MPRLS0025PA is not set +# CONFIG_MS5611 is not set +# CONFIG_MS5637 is not set +# CONFIG_IIO_ST_PRESS is not set +# CONFIG_T5403 is not set +# CONFIG_HP206C is not set +# CONFIG_ZPA2326 is not set +# end of Pressure sensors + +# +# Lightning sensors +# +# CONFIG_AS3935 is not set +# end of Lightning sensors + +# +# Proximity and distance sensors +# +# CONFIG_IRSD200 is not set +# CONFIG_ISL29501 is not set +# CONFIG_LIDAR_LITE_V2 is not set +# CONFIG_MB1232 is not set +# CONFIG_PING is not set +# CONFIG_RFD77402 is not set +# CONFIG_SRF04 is not set +# CONFIG_SX9310 is not set +# CONFIG_SX9324 is not set +# CONFIG_SX9360 is not set +# CONFIG_SX9500 is not set +# CONFIG_SRF08 is not set +# CONFIG_VCNL3020 is not set +# CONFIG_VL53L0X_I2C is not set +# end of Proximity and distance sensors + +# +# Resolver to digital converters +# +# CONFIG_AD2S90 is not set +# CONFIG_AD2S1200 is not set +# end of Resolver to digital converters + +# +# Temperature sensors +# +# CONFIG_IQS620AT_TEMP is not set +# CONFIG_LTC2983 is not set +# CONFIG_MAXIM_THERMOCOUPLE is not set +# CONFIG_MLX90614 is not set +# CONFIG_MLX90632 is not set +# CONFIG_TMP006 is not set +# CONFIG_TMP007 is not set +# CONFIG_TMP117 is not set +# CONFIG_TSYS01 is not set +# CONFIG_TSYS02D is not set +# CONFIG_MAX30208 is not set +# CONFIG_MAX31856 is not set +# CONFIG_MAX31865 is not set +# end of Temperature sensors + +# CONFIG_NTB is not set +CONFIG_PWM=y +CONFIG_PWM_SYSFS=y +# CONFIG_PWM_DEBUG is not set +# CONFIG_PWM_APPLE is not set +# CONFIG_PWM_ATMEL is not set +# CONFIG_PWM_ATMEL_TCB is not set +# CONFIG_PWM_BCM_IPROC is not set +# CONFIG_PWM_BCM_KONA is not set +# CONFIG_PWM_BCM2835 is not set +# CONFIG_PWM_BERLIN is not set +# CONFIG_PWM_BRCMSTB is not set +# CONFIG_PWM_CLK is not set +# CONFIG_PWM_CLPS711X is not set +# CONFIG_PWM_DWC is not set +# CONFIG_PWM_DWC_X1PRO is not set +# CONFIG_PWM_EP93XX is not set +# CONFIG_PWM_FSL_FTM is not set +# CONFIG_PWM_HIBVT is not set +# CONFIG_PWM_IMG is not set +# CONFIG_PWM_IMX1 is not set +# CONFIG_PWM_IMX27 is not set +# CONFIG_PWM_IMX_TPM is not set +# CONFIG_PWM_INTEL_LGM is not set +# CONFIG_PWM_IQS620A is not set +# CONFIG_PWM_JZ4740 is not set +# CONFIG_PWM_KEEMBAY is not set +# CONFIG_PWM_LPC18XX_SCT is not set +# CONFIG_PWM_LPC32XX is not set +# CONFIG_PWM_LPSS_PCI is not set +# CONFIG_PWM_LPSS_PLATFORM is not set +# CONFIG_PWM_MESON is not set +# CONFIG_PWM_MTK_DISP is not set +# CONFIG_PWM_MEDIATEK is not set +# CONFIG_PWM_MICROCHIP_CORE is not set +# CONFIG_PWM_MXS is not set +# CONFIG_PWM_OMAP_DMTIMER is not set +# CONFIG_PWM_PCA9685 is not set +CONFIG_PWM_PXA=y +# CONFIG_PWM_RASPBERRYPI_POE is not set +# CONFIG_PWM_RCAR is not set +# CONFIG_PWM_RENESAS_TPU is not set +# CONFIG_PWM_ROCKCHIP is not set +# CONFIG_PWM_SAMSUNG is not set +# CONFIG_PWM_SIFIVE is not set +# CONFIG_PWM_SL28CPLD is not set +# CONFIG_PWM_SPEAR is not set +# CONFIG_PWM_SPRD is not set +# CONFIG_PWM_STI is not set +# CONFIG_PWM_STM32 is not set +# CONFIG_PWM_STM32_LP is not set +# CONFIG_PWM_SUN4I is not set +# CONFIG_PWM_SUNPLUS is not set +# CONFIG_PWM_TEGRA is not set +# CONFIG_PWM_TIECAP is not set +# CONFIG_PWM_TIEHRPWM is not set +# CONFIG_PWM_VISCONTI is not set +# CONFIG_PWM_VT8500 is not set +# CONFIG_PWM_XILINX is not set + +# +# IRQ chip support +# +CONFIG_IRQCHIP=y +# CONFIG_AL_FIC is not set +# CONFIG_JCORE_AIC is not set +# CONFIG_RENESAS_INTC_IRQPIN is not set +# CONFIG_RENESAS_IRQC is not set +# CONFIG_RENESAS_RZA1_IRQC is not set +# CONFIG_RENESAS_RZG2L_IRQC is not set +# CONFIG_SL28CPLD_INTC is not set +# CONFIG_TS4800_IRQ is not set +# CONFIG_XILINX_INTC is not set +# CONFIG_INGENIC_TCU_IRQ is not set +# CONFIG_IRQ_UNIPHIER_AIDET is not set +# CONFIG_MESON_IRQ_GPIO is not set +# CONFIG_IMX_IRQSTEER is not set +# CONFIG_IMX_INTMUX is not set +# CONFIG_IMX_MU_MSI is not set +CONFIG_RISCV_INTC=y +CONFIG_SIFIVE_PLIC=y +# CONFIG_EXYNOS_IRQ_COMBINER is not set +# CONFIG_MST_IRQ is not set +# CONFIG_MCHP_EIC is not set +# CONFIG_SUNPLUS_SP7021_INTC is not set +# end of IRQ chip support + +# CONFIG_IPACK_BUS is not set +CONFIG_RESET_CONTROLLER=y +# CONFIG_RESET_A10SR is not set +# CONFIG_RESET_ATH79 is not set +# CONFIG_RESET_AXS10X is not set +# CONFIG_RESET_BCM6345 is not set +# CONFIG_RESET_BERLIN is not set +# CONFIG_RESET_BRCMSTB is not set +# CONFIG_RESET_BRCMSTB_RESCAL is not set +# CONFIG_RESET_HSDK is not set +# CONFIG_RESET_IMX7 is not set +# CONFIG_RESET_INTEL_GW is not set +# CONFIG_RESET_K210 is not set +# CONFIG_RESET_LANTIQ is not set +# CONFIG_RESET_LPC18XX is not set +# CONFIG_RESET_MCHP_SPARX5 is not set +# CONFIG_RESET_MESON is not set +# CONFIG_RESET_MESON_AUDIO_ARB is not set +# CONFIG_RESET_NPCM is not set +# CONFIG_RESET_NUVOTON_MA35D1 is not set +# CONFIG_RESET_PISTACHIO is not set +# CONFIG_RESET_QCOM_AOSS is not set +# CONFIG_RESET_QCOM_PDC is not set +# CONFIG_RESET_RASPBERRYPI is not set +# CONFIG_RESET_RZG2L_USBPHY_CTRL is not set +# CONFIG_RESET_SCMI is not set +# CONFIG_RESET_SIMPLE is not set +# CONFIG_RESET_SOCFPGA is not set +# CONFIG_RESET_SUNPLUS is not set +# CONFIG_RESET_SUNXI is not set +# CONFIG_RESET_TI_SCI is not set +# CONFIG_RESET_TI_SYSCON is not set +# CONFIG_RESET_TI_TPS380X is not set +# CONFIG_RESET_TN48M_CPLD is not set +# CONFIG_RESET_UNIPHIER is not set +# CONFIG_RESET_UNIPHIER_GLUE is not set +# CONFIG_RESET_ZYNQ is not set +CONFIG_RESET_X1_KY=y +# CONFIG_RESET_X1MATRIX_KY is not set +# CONFIG_RESET_STARFIVE_JH7100 is not set +# CONFIG_COMMON_RESET_HI3660 is not set +# CONFIG_COMMON_RESET_HI6220 is not set + +# +# PHY Subsystem +# +CONFIG_GENERIC_PHY=y +# CONFIG_PHY_LPC18XX_USB_OTG is not set +# CONFIG_PHY_PISTACHIO_USB is not set +# CONFIG_PHY_XGENE is not set +# CONFIG_USB_LGM_PHY is not set +# CONFIG_PHY_CAN_TRANSCEIVER is not set +# CONFIG_PHY_SUN4I_USB is not set +# CONFIG_PHY_SUN6I_MIPI_DPHY is not set +# CONFIG_PHY_SUN9I_USB is not set +# CONFIG_PHY_SUN50I_USB3 is not set +# CONFIG_PHY_MESON8_HDMI_TX is not set +# CONFIG_PHY_MESON8B_USB2 is not set +# CONFIG_PHY_MESON_GXL_USB2 is not set +# CONFIG_PHY_MESON_G12A_MIPI_DPHY_ANALOG is not set +# CONFIG_PHY_MESON_G12A_USB2 is not set +# CONFIG_PHY_MESON_G12A_USB3_PCIE is not set +# CONFIG_PHY_MESON_AXG_PCIE is not set +# CONFIG_PHY_MESON_AXG_MIPI_PCIE_ANALOG is not set +# CONFIG_PHY_MESON_AXG_MIPI_DPHY is not set + +# +# PHY drivers for Broadcom platforms +# +# CONFIG_PHY_BCM63XX_USBH is not set +# CONFIG_PHY_CYGNUS_PCIE is not set +# CONFIG_PHY_BCM_SR_USB is not set +# CONFIG_BCM_KONA_USB2_PHY is not set +# CONFIG_PHY_BCM_NS_USB2 is not set +# CONFIG_PHY_BCM_NS_USB3 is not set +# CONFIG_PHY_NS2_PCIE is not set +# CONFIG_PHY_NS2_USB_DRD is not set +# CONFIG_PHY_BRCM_SATA is not set +# CONFIG_PHY_BRCM_USB is not set +# CONFIG_PHY_BCM_SR_PCIE is not set +# end of PHY drivers for Broadcom platforms + +# CONFIG_PHY_CADENCE_TORRENT is not set +# CONFIG_PHY_CADENCE_DPHY is not set +# CONFIG_PHY_CADENCE_DPHY_RX is not set +# CONFIG_PHY_CADENCE_SIERRA is not set +# CONFIG_PHY_CADENCE_SALVO is not set +# CONFIG_PHY_FSL_IMX8MQ_USB is not set +# CONFIG_PHY_MIXEL_LVDS_PHY is not set +# CONFIG_PHY_MIXEL_MIPI_DPHY is not set +# CONFIG_PHY_FSL_IMX8M_PCIE is not set +# CONFIG_PHY_FSL_LYNX_28G is not set +# CONFIG_PHY_HI6220_USB is not set +# CONFIG_PHY_HI3660_USB is not set +# CONFIG_PHY_HI3670_USB is not set +# CONFIG_PHY_HI3670_PCIE is not set +# CONFIG_PHY_HISTB_COMBPHY is not set +# CONFIG_PHY_HISI_INNO_USB2 is not set +# CONFIG_PHY_INGENIC_USB is not set +# CONFIG_PHY_LANTIQ_VRX200_PCIE is not set +# CONFIG_PHY_LANTIQ_RCU_USB2 is not set +# CONFIG_ARMADA375_USBCLUSTER_PHY is not set +# CONFIG_PHY_BERLIN_SATA is not set +# CONFIG_PHY_BERLIN_USB is not set +# CONFIG_PHY_MVEBU_A3700_UTMI is not set +# CONFIG_PHY_MVEBU_A38X_COMPHY is not set +# CONFIG_PHY_MVEBU_CP110_UTMI is not set +# CONFIG_PHY_PXA_28NM_HSIC is not set +# CONFIG_PHY_PXA_28NM_USB2 is not set +# CONFIG_PHY_PXA_USB is not set +# CONFIG_PHY_MMP3_USB is not set +# CONFIG_PHY_MMP3_HSIC is not set +# CONFIG_PHY_MTK_PCIE is not set +# CONFIG_PHY_MTK_TPHY is not set +# CONFIG_PHY_MTK_UFS is not set +# CONFIG_PHY_MTK_XSPHY is not set +# CONFIG_PHY_MTK_HDMI is not set +# CONFIG_PHY_MTK_MIPI_DSI is not set +# CONFIG_PHY_MTK_DP is not set +# CONFIG_PHY_SPARX5_SERDES is not set +# CONFIG_PHY_LAN966X_SERDES is not set +# CONFIG_PHY_CPCAP_USB is not set +# CONFIG_PHY_MAPPHONE_MDM6600 is not set +# CONFIG_PHY_OCELOT_SERDES is not set +# CONFIG_PHY_ATH79_USB is not set +# CONFIG_PHY_QCOM_EDP is not set +# CONFIG_PHY_QCOM_IPQ4019_USB is not set +# CONFIG_PHY_QCOM_PCIE2 is not set +# CONFIG_PHY_QCOM_QMP is not set +# CONFIG_PHY_QCOM_QUSB2 is not set +# CONFIG_PHY_QCOM_SNPS_EUSB2 is not set +# CONFIG_PHY_QCOM_EUSB2_REPEATER is not set +# CONFIG_PHY_QCOM_M31_USB is not set +# CONFIG_PHY_QCOM_USB_SNPS_FEMTO_V2 is not set +# CONFIG_PHY_QCOM_USB_HS_28NM is not set +# CONFIG_PHY_QCOM_USB_SS is not set +# CONFIG_PHY_QCOM_IPQ806X_USB is not set +# CONFIG_PHY_QCOM_SGMII_ETH is not set +# CONFIG_PHY_MT7621_PCI is not set +# CONFIG_PHY_RALINK_USB is not set +# CONFIG_PHY_R8A779F0_ETHERNET_SERDES is not set +# CONFIG_PHY_RCAR_GEN3_USB3 is not set +# CONFIG_PHY_ROCKCHIP_DPHY_RX0 is not set +# CONFIG_PHY_ROCKCHIP_INNO_HDMI is not set +# CONFIG_PHY_ROCKCHIP_INNO_USB2 is not set +# CONFIG_PHY_ROCKCHIP_INNO_CSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_INNO_DSIDPHY is not set +# CONFIG_PHY_ROCKCHIP_PCIE is not set +# CONFIG_PHY_ROCKCHIP_SNPS_PCIE3 is not set +# CONFIG_PHY_ROCKCHIP_TYPEC is not set +# CONFIG_PHY_EXYNOS_DP_VIDEO is not set +# CONFIG_PHY_EXYNOS_MIPI_VIDEO is not set +# CONFIG_PHY_EXYNOS_PCIE is not set +# CONFIG_PHY_SAMSUNG_UFS is not set +# CONFIG_PHY_SAMSUNG_USB2 is not set +# CONFIG_PHY_UNIPHIER_USB2 is not set +# CONFIG_PHY_UNIPHIER_USB3 is not set +# CONFIG_PHY_UNIPHIER_PCIE is not set +# CONFIG_PHY_UNIPHIER_AHCI is not set +# CONFIG_PHY_ST_SPEAR1310_MIPHY is not set +# CONFIG_PHY_ST_SPEAR1340_MIPHY is not set +# CONFIG_PHY_STIH407_USB is not set +# CONFIG_PHY_STM32_USBPHYC is not set +# CONFIG_PHY_STARFIVE_JH7110_DPHY_RX is not set +# CONFIG_PHY_STARFIVE_JH7110_PCIE is not set +# CONFIG_PHY_STARFIVE_JH7110_USB is not set +# CONFIG_PHY_SUNPLUS_USB is not set +# CONFIG_PHY_TEGRA194_P2U is not set +# CONFIG_PHY_DA8XX_USB is not set +# CONFIG_PHY_DM816X_USB is not set +# CONFIG_PHY_AM654_SERDES is not set +# CONFIG_PHY_J721E_WIZ is not set +# CONFIG_OMAP_CONTROL_PHY is not set +# CONFIG_TI_PIPE3 is not set +# CONFIG_PHY_INTEL_KEEMBAY_EMMC is not set +# CONFIG_PHY_INTEL_KEEMBAY_USB is not set +# CONFIG_PHY_INTEL_LGM_COMBO is not set +# CONFIG_PHY_INTEL_LGM_EMMC is not set +# CONFIG_PHY_XILINX_ZYNQMP is not set +CONFIG_PHY_KY_X1_COMBPHY=y +# end of PHY Subsystem + +# CONFIG_POWERCAP is not set +# CONFIG_MCB is not set + +# +# Performance monitor support +# +# CONFIG_ARM_CCN is not set +# CONFIG_ARM_CMN is not set +CONFIG_RISCV_PMU=y +CONFIG_RISCV_PMU_LEGACY=y +CONFIG_RISCV_PMU_SBI=y +# CONFIG_ARM_SMMU_V3_PMU is not set +# CONFIG_FSL_IMX8_DDR_PMU is not set +# CONFIG_XGENE_PMU is not set +# CONFIG_ARM_DMC620_PMU is not set +# CONFIG_MARVELL_CN10K_TAD_PMU is not set +# CONFIG_ALIBABA_UNCORE_DRW_PMU is not set +# CONFIG_HNS3_PMU is not set +# CONFIG_MARVELL_CN10K_DDR_PMU is not set +# CONFIG_ARM_CORESIGHT_PMU_ARCH_SYSTEM_PMU is not set +# CONFIG_MESON_DDR_PMU is not set +# end of Performance monitor support + +CONFIG_RAS=y +# CONFIG_USB4 is not set + +# +# Android +# +# CONFIG_ANDROID_BINDER_IPC is not set +# end of Android + +# CONFIG_LIBNVDIMM is not set +# CONFIG_DAX is not set +CONFIG_NVMEM=y +CONFIG_NVMEM_SYSFS=y + +# +# Layout Types +# +# CONFIG_NVMEM_LAYOUT_SL28_VPD is not set +# CONFIG_NVMEM_LAYOUT_ONIE_TLV is not set +# end of Layout Types + +# CONFIG_NVMEM_APPLE_EFUSES is not set +# CONFIG_NVMEM_BCM_OCOTP is not set +# CONFIG_NVMEM_BRCM_NVRAM is not set +# CONFIG_NVMEM_IMX_IIM is not set +# CONFIG_NVMEM_IMX_OCOTP is not set +# CONFIG_NVMEM_IMX_OCOTP_ELE is not set +# CONFIG_NVMEM_JZ4780_EFUSE is not set +# CONFIG_NVMEM_LAN9662_OTPC is not set +# CONFIG_NVMEM_LAYERSCAPE_SFP is not set +# CONFIG_NVMEM_LPC18XX_EEPROM is not set +# CONFIG_NVMEM_LPC18XX_OTP is not set +# CONFIG_NVMEM_MESON_MX_EFUSE is not set +# CONFIG_NVMEM_MICROCHIP_OTPC is not set +# CONFIG_NVMEM_MTK_EFUSE is not set +# CONFIG_NVMEM_MXS_OCOTP is not set +# CONFIG_NVMEM_NINTENDO_OTP is not set +# CONFIG_NVMEM_QCOM_QFPROM is not set +# CONFIG_NVMEM_QCOM_SEC_QFPROM is not set +# CONFIG_NVMEM_RMEM is not set +# CONFIG_NVMEM_ROCKCHIP_EFUSE is not set +# CONFIG_NVMEM_ROCKCHIP_OTP is not set +# CONFIG_NVMEM_SC27XX_EFUSE is not set +# CONFIG_NVMEM_SNVS_LPGPR is not set +CONFIG_NVMEM_KY_EFUSE=y +# CONFIG_NVMEM_SPRD_EFUSE is not set +# CONFIG_NVMEM_STM32_ROMEM is not set +# CONFIG_NVMEM_SUNPLUS_OCOTP is not set +# CONFIG_NVMEM_U_BOOT_ENV is not set +# CONFIG_NVMEM_UNIPHIER_EFUSE is not set +# CONFIG_NVMEM_VF610_OCOTP is not set +# CONFIG_NVMEM_QORIQ_EFUSE is not set + +# +# HW tracing support +# +# CONFIG_STM is not set +# CONFIG_INTEL_TH is not set +# CONFIG_HISI_PTT is not set +# end of HW tracing support + +# CONFIG_FPGA is not set +# CONFIG_FSI is not set +# CONFIG_TEE is not set +CONFIG_PM_OPP=y +# CONFIG_SIOX is not set +# CONFIG_SLIMBUS is not set +# CONFIG_INTERCONNECT is not set +# CONFIG_COUNTER is not set +# CONFIG_MOST is not set +# CONFIG_PECI is not set +# CONFIG_HTE is not set +# end of Device Drivers + +# +# File systems +# +CONFIG_VALIDATE_FS_PARSER=y +CONFIG_FS_IOMAP=y +CONFIG_BUFFER_HEAD=y +CONFIG_LEGACY_DIRECT_IO=y +# CONFIG_EXT2_FS is not set +# CONFIG_EXT3_FS is not set +CONFIG_EXT4_FS=y +CONFIG_EXT4_USE_FOR_EXT2=y +CONFIG_EXT4_FS_POSIX_ACL=y +CONFIG_EXT4_FS_SECURITY=y +# CONFIG_EXT4_DEBUG is not set +CONFIG_JBD2=y +# CONFIG_JBD2_DEBUG is not set +CONFIG_FS_MBCACHE=y +# CONFIG_REISERFS_FS is not set +CONFIG_JFS_FS=m +CONFIG_JFS_POSIX_ACL=y +CONFIG_JFS_SECURITY=y +# CONFIG_JFS_DEBUG is not set +CONFIG_JFS_STATISTICS=y +CONFIG_XFS_FS=m +CONFIG_XFS_SUPPORT_V4=y +CONFIG_XFS_SUPPORT_ASCII_CI=y +CONFIG_XFS_QUOTA=y +CONFIG_XFS_POSIX_ACL=y +CONFIG_XFS_RT=y +# CONFIG_XFS_ONLINE_SCRUB is not set +# CONFIG_XFS_WARN is not set +# CONFIG_XFS_DEBUG is not set +CONFIG_GFS2_FS=m +# CONFIG_GFS2_FS_LOCKING_DLM is not set +CONFIG_OCFS2_FS=m +CONFIG_OCFS2_FS_O2CB=m +CONFIG_OCFS2_FS_USERSPACE_CLUSTER=m +CONFIG_OCFS2_FS_STATS=y +CONFIG_OCFS2_DEBUG_MASKLOG=y +# CONFIG_OCFS2_DEBUG_FS is not set +CONFIG_BTRFS_FS=m +CONFIG_BTRFS_FS_POSIX_ACL=y +# CONFIG_BTRFS_FS_CHECK_INTEGRITY is not set +# CONFIG_BTRFS_FS_RUN_SANITY_TESTS is not set +# CONFIG_BTRFS_DEBUG is not set +# CONFIG_BTRFS_ASSERT is not set +# CONFIG_BTRFS_FS_REF_VERIFY is not set +CONFIG_NILFS2_FS=m +CONFIG_F2FS_FS=m +CONFIG_F2FS_STAT_FS=y +CONFIG_F2FS_FS_XATTR=y +CONFIG_F2FS_FS_POSIX_ACL=y +CONFIG_F2FS_FS_SECURITY=y +# CONFIG_F2FS_CHECK_FS is not set +# CONFIG_F2FS_FAULT_INJECTION is not set +CONFIG_F2FS_FS_COMPRESSION=y +CONFIG_F2FS_FS_LZO=y +CONFIG_F2FS_FS_LZORLE=y +CONFIG_F2FS_FS_LZ4=y +CONFIG_F2FS_FS_LZ4HC=y +CONFIG_F2FS_FS_ZSTD=y +# CONFIG_F2FS_IOSTAT is not set +CONFIG_F2FS_UNFAIR_RWSEM=y +CONFIG_FS_POSIX_ACL=y +CONFIG_EXPORTFS=y +CONFIG_EXPORTFS_BLOCK_OPS=y +CONFIG_FILE_LOCKING=y +CONFIG_FS_ENCRYPTION=y +CONFIG_FS_ENCRYPTION_ALGS=y +CONFIG_FS_VERITY=y +CONFIG_FS_VERITY_BUILTIN_SIGNATURES=y +CONFIG_FSNOTIFY=y +CONFIG_DNOTIFY=y +CONFIG_INOTIFY_USER=y +CONFIG_FANOTIFY=y +# CONFIG_FANOTIFY_ACCESS_PERMISSIONS is not set +CONFIG_QUOTA=y +CONFIG_QUOTA_NETLINK_INTERFACE=y +# CONFIG_QUOTA_DEBUG is not set +CONFIG_QUOTA_TREE=m +CONFIG_QFMT_V1=m +CONFIG_QFMT_V2=m +CONFIG_QUOTACTL=y +CONFIG_AUTOFS_FS=m +CONFIG_FUSE_FS=y +CONFIG_CUSE=m +CONFIG_VIRTIO_FS=m +CONFIG_OVERLAY_FS=m +# CONFIG_OVERLAY_FS_REDIRECT_DIR is not set +CONFIG_OVERLAY_FS_REDIRECT_ALWAYS_FOLLOW=y +# CONFIG_OVERLAY_FS_INDEX is not set +CONFIG_OVERLAY_FS_XINO_AUTO=y +# CONFIG_OVERLAY_FS_METACOPY is not set +# CONFIG_OVERLAY_FS_DEBUG is not set + +# +# Caches +# +CONFIG_NETFS_SUPPORT=y +CONFIG_NETFS_STATS=y +CONFIG_FSCACHE=m +CONFIG_FSCACHE_STATS=y +# CONFIG_FSCACHE_DEBUG is not set +CONFIG_CACHEFILES=m +# CONFIG_CACHEFILES_DEBUG is not set +CONFIG_CACHEFILES_ERROR_INJECTION=y +# CONFIG_CACHEFILES_ONDEMAND is not set +# end of Caches + +# +# CD-ROM/DVD Filesystems +# +CONFIG_ISO9660_FS=m +CONFIG_JOLIET=y +CONFIG_ZISOFS=y +CONFIG_UDF_FS=m +# end of CD-ROM/DVD Filesystems + +# +# DOS/FAT/EXFAT/NT Filesystems +# +CONFIG_FAT_FS=y +CONFIG_MSDOS_FS=y +CONFIG_VFAT_FS=y +CONFIG_FAT_DEFAULT_CODEPAGE=437 +CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" +CONFIG_FAT_DEFAULT_UTF8=y +CONFIG_EXFAT_FS=y +CONFIG_EXFAT_DEFAULT_IOCHARSET="utf8" +CONFIG_NTFS_FS=y +# CONFIG_NTFS_DEBUG is not set +CONFIG_NTFS_RW=y +CONFIG_NTFS3_FS=y +# CONFIG_NTFS3_64BIT_CLUSTER is not set +CONFIG_NTFS3_LZX_XPRESS=y +CONFIG_NTFS3_FS_POSIX_ACL=y +# end of DOS/FAT/EXFAT/NT Filesystems + +# +# Pseudo filesystems +# +CONFIG_PROC_FS=y +CONFIG_PROC_KCORE=y +CONFIG_PROC_SYSCTL=y +CONFIG_PROC_PAGE_MONITOR=y +CONFIG_PROC_CHILDREN=y +CONFIG_KERNFS=y +CONFIG_SYSFS=y +CONFIG_TMPFS=y +CONFIG_TMPFS_POSIX_ACL=y +CONFIG_TMPFS_XATTR=y +# CONFIG_TMPFS_INODE64 is not set +# CONFIG_TMPFS_QUOTA is not set +CONFIG_ARCH_SUPPORTS_HUGETLBFS=y +CONFIG_HUGETLBFS=y +CONFIG_HUGETLB_PAGE=y +CONFIG_ARCH_HAS_GIGANTIC_PAGE=y +CONFIG_CONFIGFS_FS=y +CONFIG_EFIVAR_FS=y +# end of Pseudo filesystems + +CONFIG_MISC_FILESYSTEMS=y +CONFIG_ORANGEFS_FS=m +CONFIG_ADFS_FS=m +# CONFIG_ADFS_FS_RW is not set +CONFIG_AFFS_FS=m +CONFIG_ECRYPT_FS=y +CONFIG_ECRYPT_FS_MESSAGING=y +CONFIG_HFS_FS=m +CONFIG_HFSPLUS_FS=m +CONFIG_BEFS_FS=m +# CONFIG_BEFS_DEBUG is not set +CONFIG_BFS_FS=m +CONFIG_EFS_FS=m +CONFIG_JFFS2_FS=m +CONFIG_JFFS2_FS_DEBUG=0 +CONFIG_JFFS2_FS_WRITEBUFFER=y +CONFIG_JFFS2_FS_WBUF_VERIFY=y +CONFIG_JFFS2_SUMMARY=y +CONFIG_JFFS2_FS_XATTR=y +CONFIG_JFFS2_FS_POSIX_ACL=y +CONFIG_JFFS2_FS_SECURITY=y +CONFIG_JFFS2_COMPRESSION_OPTIONS=y +CONFIG_JFFS2_ZLIB=y +CONFIG_JFFS2_LZO=y +CONFIG_JFFS2_RTIME=y +CONFIG_JFFS2_RUBIN=y +CONFIG_JFFS2_CMODE_NONE=y +# CONFIG_JFFS2_CMODE_PRIORITY is not set +# CONFIG_JFFS2_CMODE_SIZE is not set +# CONFIG_JFFS2_CMODE_FAVOURLZO is not set +CONFIG_UBIFS_FS=m +# CONFIG_UBIFS_FS_ADVANCED_COMPR is not set +CONFIG_UBIFS_FS_LZO=y +CONFIG_UBIFS_FS_ZLIB=y +CONFIG_UBIFS_FS_ZSTD=y +# CONFIG_UBIFS_ATIME_SUPPORT is not set +CONFIG_UBIFS_FS_XATTR=y +CONFIG_UBIFS_FS_SECURITY=y +CONFIG_UBIFS_FS_AUTHENTICATION=y +CONFIG_CRAMFS=m +CONFIG_CRAMFS_BLOCKDEV=y +CONFIG_CRAMFS_MTD=y +CONFIG_SQUASHFS=m +# CONFIG_SQUASHFS_FILE_CACHE is not set +CONFIG_SQUASHFS_FILE_DIRECT=y +CONFIG_SQUASHFS_DECOMP_SINGLE=y +CONFIG_SQUASHFS_DECOMP_MULTI=y +CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y +CONFIG_SQUASHFS_CHOICE_DECOMP_BY_MOUNT=y +CONFIG_SQUASHFS_MOUNT_DECOMP_THREADS=y +CONFIG_SQUASHFS_XATTR=y +CONFIG_SQUASHFS_ZLIB=y +CONFIG_SQUASHFS_LZ4=y +CONFIG_SQUASHFS_LZO=y +CONFIG_SQUASHFS_XZ=y +CONFIG_SQUASHFS_ZSTD=y +# CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set +# CONFIG_SQUASHFS_EMBEDDED is not set +CONFIG_SQUASHFS_FRAGMENT_CACHE_SIZE=3 +CONFIG_VXFS_FS=m +CONFIG_MINIX_FS=m +CONFIG_OMFS_FS=m +CONFIG_HPFS_FS=m +CONFIG_QNX4FS_FS=m +CONFIG_QNX6FS_FS=m +# CONFIG_QNX6FS_DEBUG is not set +CONFIG_ROMFS_FS=m +CONFIG_ROMFS_BACKED_BY_BLOCK=y +# CONFIG_ROMFS_BACKED_BY_MTD is not set +# CONFIG_ROMFS_BACKED_BY_BOTH is not set +CONFIG_ROMFS_ON_BLOCK=y +# CONFIG_PSTORE is not set +CONFIG_SYSV_FS=m +CONFIG_UFS_FS=m +# CONFIG_UFS_FS_WRITE is not set +# CONFIG_UFS_DEBUG is not set +CONFIG_EROFS_FS=m +# CONFIG_EROFS_FS_DEBUG is not set +CONFIG_EROFS_FS_XATTR=y +CONFIG_EROFS_FS_POSIX_ACL=y +CONFIG_EROFS_FS_SECURITY=y +CONFIG_EROFS_FS_ZIP=y +# CONFIG_EROFS_FS_ZIP_LZMA is not set +# CONFIG_EROFS_FS_ZIP_DEFLATE is not set +CONFIG_EROFS_FS_PCPU_KTHREAD=y +# CONFIG_EROFS_FS_PCPU_KTHREAD_HIPRI is not set +CONFIG_NETWORK_FILESYSTEMS=y +CONFIG_NFS_FS=y +CONFIG_NFS_V2=y +CONFIG_NFS_V3=y +# CONFIG_NFS_V3_ACL is not set +CONFIG_NFS_V4=y +# CONFIG_NFS_SWAP is not set +CONFIG_NFS_V4_1=y +CONFIG_NFS_V4_2=y +CONFIG_PNFS_FILE_LAYOUT=y +CONFIG_PNFS_BLOCK=y +CONFIG_PNFS_FLEXFILE_LAYOUT=y +CONFIG_NFS_V4_1_IMPLEMENTATION_ID_DOMAIN="kernel.org" +# CONFIG_NFS_V4_1_MIGRATION is not set +CONFIG_NFS_V4_SECURITY_LABEL=y +CONFIG_ROOT_NFS=y +# CONFIG_NFS_USE_LEGACY_DNS is not set +CONFIG_NFS_USE_KERNEL_DNS=y +CONFIG_NFS_DEBUG=y +CONFIG_NFS_DISABLE_UDP_SUPPORT=y +CONFIG_NFS_V4_2_READ_PLUS=y +CONFIG_NFSD=y +# CONFIG_NFSD_V2 is not set +CONFIG_NFSD_V3_ACL=y +CONFIG_NFSD_V4=y +CONFIG_NFSD_PNFS=y +CONFIG_NFSD_BLOCKLAYOUT=y +CONFIG_NFSD_SCSILAYOUT=y +CONFIG_NFSD_FLEXFILELAYOUT=y +CONFIG_NFSD_V4_2_INTER_SSC=y +# CONFIG_NFSD_V4_SECURITY_LABEL is not set +CONFIG_GRACE_PERIOD=y +CONFIG_LOCKD=y +CONFIG_LOCKD_V4=y +CONFIG_NFS_ACL_SUPPORT=y +CONFIG_NFS_COMMON=y +CONFIG_NFS_V4_2_SSC_HELPER=y +CONFIG_SUNRPC=y +CONFIG_SUNRPC_GSS=y +CONFIG_SUNRPC_BACKCHANNEL=y +CONFIG_RPCSEC_GSS_KRB5=y +CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA1=y +# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_CAMELLIA is not set +# CONFIG_RPCSEC_GSS_KRB5_ENCTYPES_AES_SHA2 is not set +CONFIG_SUNRPC_DEBUG=y +CONFIG_CEPH_FS=m +CONFIG_CEPH_FSCACHE=y +CONFIG_CEPH_FS_POSIX_ACL=y +# CONFIG_CEPH_FS_SECURITY_LABEL is not set +CONFIG_CIFS=y +CONFIG_CIFS_STATS2=y +CONFIG_CIFS_ALLOW_INSECURE_LEGACY=y +CONFIG_CIFS_UPCALL=y +CONFIG_CIFS_XATTR=y +CONFIG_CIFS_POSIX=y +CONFIG_CIFS_DEBUG=y +# CONFIG_CIFS_DEBUG2 is not set +# CONFIG_CIFS_DEBUG_DUMP_KEYS is not set +CONFIG_CIFS_DFS_UPCALL=y +CONFIG_CIFS_SWN_UPCALL=y +CONFIG_CIFS_ROOT=y +CONFIG_SMB_SERVER=m +CONFIG_SMB_SERVER_CHECK_CAP_NET_ADMIN=y +CONFIG_SMB_SERVER_KERBEROS5=y +CONFIG_SMBFS=y +CONFIG_CODA_FS=m +CONFIG_AFS_FS=m +# CONFIG_AFS_DEBUG is not set +CONFIG_AFS_FSCACHE=y +# CONFIG_AFS_DEBUG_CURSOR is not set +CONFIG_NLS=y +CONFIG_NLS_DEFAULT="utf8" +CONFIG_NLS_CODEPAGE_437=y +CONFIG_NLS_CODEPAGE_737=m +CONFIG_NLS_CODEPAGE_775=m +CONFIG_NLS_CODEPAGE_850=m +CONFIG_NLS_CODEPAGE_852=m +CONFIG_NLS_CODEPAGE_855=m +CONFIG_NLS_CODEPAGE_857=m +CONFIG_NLS_CODEPAGE_860=m +CONFIG_NLS_CODEPAGE_861=m +CONFIG_NLS_CODEPAGE_862=m +CONFIG_NLS_CODEPAGE_863=m +CONFIG_NLS_CODEPAGE_864=m +CONFIG_NLS_CODEPAGE_865=m +CONFIG_NLS_CODEPAGE_866=m +CONFIG_NLS_CODEPAGE_869=m +CONFIG_NLS_CODEPAGE_936=m +CONFIG_NLS_CODEPAGE_950=m +CONFIG_NLS_CODEPAGE_932=m +CONFIG_NLS_CODEPAGE_949=m +CONFIG_NLS_CODEPAGE_874=m +CONFIG_NLS_ISO8859_8=m +CONFIG_NLS_CODEPAGE_1250=m +CONFIG_NLS_CODEPAGE_1251=m +CONFIG_NLS_ASCII=m +CONFIG_NLS_ISO8859_1=m +CONFIG_NLS_ISO8859_2=m +CONFIG_NLS_ISO8859_3=m +CONFIG_NLS_ISO8859_4=m +CONFIG_NLS_ISO8859_5=m +CONFIG_NLS_ISO8859_6=m +CONFIG_NLS_ISO8859_7=m +CONFIG_NLS_ISO8859_9=m +CONFIG_NLS_ISO8859_13=m +CONFIG_NLS_ISO8859_14=m +CONFIG_NLS_ISO8859_15=m +CONFIG_NLS_KOI8_R=m +CONFIG_NLS_KOI8_U=m +CONFIG_NLS_MAC_ROMAN=m +CONFIG_NLS_MAC_CELTIC=m +CONFIG_NLS_MAC_CENTEURO=m +CONFIG_NLS_MAC_CROATIAN=m +CONFIG_NLS_MAC_CYRILLIC=m +CONFIG_NLS_MAC_GAELIC=m +CONFIG_NLS_MAC_GREEK=m +CONFIG_NLS_MAC_ICELAND=m +CONFIG_NLS_MAC_INUIT=m +CONFIG_NLS_MAC_ROMANIAN=m +CONFIG_NLS_MAC_TURKISH=m +CONFIG_NLS_UTF8=m +CONFIG_NLS_UCS2_UTILS=y +CONFIG_DLM=m +# CONFIG_DLM_DEBUG is not set +CONFIG_UNICODE=y +# CONFIG_UNICODE_NORMALIZATION_SELFTEST is not set +CONFIG_IO_WQ=y +# end of File systems + +# +# Security options +# +CONFIG_KEYS=y +CONFIG_KEYS_REQUEST_CACHE=y +CONFIG_PERSISTENT_KEYRINGS=y +# CONFIG_TRUSTED_KEYS is not set +# CONFIG_ENCRYPTED_KEYS is not set +# CONFIG_KEY_DH_OPERATIONS is not set +# CONFIG_KEY_NOTIFICATIONS is not set +CONFIG_SECURITY_DMESG_RESTRICT=y +CONFIG_PROC_MEM_ALWAYS_FORCE=y +# CONFIG_PROC_MEM_FORCE_PTRACE is not set +# CONFIG_PROC_MEM_NO_FORCE is not set +CONFIG_SECURITY=y +CONFIG_SECURITYFS=y +CONFIG_SECURITY_NETWORK=y +# CONFIG_SECURITY_NETWORK_XFRM is not set +CONFIG_SECURITY_PATH=y +CONFIG_HARDENED_USERCOPY=y +# CONFIG_FORTIFY_SOURCE is not set +# CONFIG_STATIC_USERMODEHELPER is not set +# CONFIG_SECURITY_SELINUX is not set +# CONFIG_SECURITY_SMACK is not set +# CONFIG_SECURITY_TOMOYO is not set +CONFIG_SECURITY_APPARMOR=y +# CONFIG_SECURITY_APPARMOR_DEBUG is not set +CONFIG_SECURITY_APPARMOR_INTROSPECT_POLICY=y +CONFIG_SECURITY_APPARMOR_HASH=y +CONFIG_SECURITY_APPARMOR_HASH_DEFAULT=y +CONFIG_SECURITY_APPARMOR_EXPORT_BINARY=y +CONFIG_SECURITY_APPARMOR_PARANOID_LOAD=y +# CONFIG_SECURITY_LOADPIN is not set +# CONFIG_SECURITY_YAMA is not set +# CONFIG_SECURITY_SAFESETID is not set +# CONFIG_SECURITY_LOCKDOWN_LSM is not set +CONFIG_SECURITY_LANDLOCK=y +CONFIG_INTEGRITY=y +CONFIG_INTEGRITY_SIGNATURE=y +CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_TRUSTED_KEYRING=y +CONFIG_INTEGRITY_AUDIT=y +CONFIG_IMA=y +CONFIG_IMA_MEASURE_PCR_IDX=10 +CONFIG_IMA_LSM_RULES=y +CONFIG_IMA_NG_TEMPLATE=y +# CONFIG_IMA_SIG_TEMPLATE is not set +CONFIG_IMA_DEFAULT_TEMPLATE="ima-ng" +CONFIG_IMA_DEFAULT_HASH_SHA1=y +# CONFIG_IMA_DEFAULT_HASH_SHA256 is not set +# CONFIG_IMA_DEFAULT_HASH_SHA512 is not set +CONFIG_IMA_DEFAULT_HASH="sha1" +# CONFIG_IMA_WRITE_POLICY is not set +# CONFIG_IMA_READ_POLICY is not set +CONFIG_IMA_APPRAISE=y +CONFIG_IMA_ARCH_POLICY=y +# CONFIG_IMA_APPRAISE_BUILD_POLICY is not set +CONFIG_IMA_APPRAISE_BOOTPARAM=y +CONFIG_IMA_APPRAISE_MODSIG=y +# CONFIG_IMA_BLACKLIST_KEYRING is not set +# CONFIG_IMA_LOAD_X509 is not set +CONFIG_IMA_MEASURE_ASYMMETRIC_KEYS=y +CONFIG_IMA_QUEUE_EARLY_BOOT_KEYS=y +# CONFIG_IMA_DISABLE_HTABLE is not set +# CONFIG_EVM is not set +# CONFIG_DEFAULT_SECURITY_APPARMOR is not set +CONFIG_DEFAULT_SECURITY_DAC=y +CONFIG_LSM="landlock,integrity,apparmor" + +# +# Kernel hardening options +# + +# +# Memory initialization +# +CONFIG_CC_HAS_AUTO_VAR_INIT_PATTERN=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO_BARE=y +CONFIG_CC_HAS_AUTO_VAR_INIT_ZERO=y +CONFIG_INIT_STACK_NONE=y +# CONFIG_INIT_STACK_ALL_PATTERN is not set +# CONFIG_INIT_STACK_ALL_ZERO is not set +# CONFIG_INIT_ON_ALLOC_DEFAULT_ON is not set +# CONFIG_INIT_ON_FREE_DEFAULT_ON is not set +CONFIG_CC_HAS_ZERO_CALL_USED_REGS=y +# CONFIG_ZERO_CALL_USED_REGS is not set +# end of Memory initialization + +# +# Hardening of kernel data structures +# +# CONFIG_LIST_HARDENED is not set +# CONFIG_BUG_ON_DATA_CORRUPTION is not set +# end of Hardening of kernel data structures + +CONFIG_RANDSTRUCT_NONE=y +# end of Kernel hardening options +# end of Security options + +CONFIG_XOR_BLOCKS=y +CONFIG_ASYNC_CORE=y +CONFIG_ASYNC_MEMCPY=y +CONFIG_ASYNC_XOR=y +CONFIG_ASYNC_PQ=y +CONFIG_ASYNC_RAID6_RECOV=y +CONFIG_CRYPTO=y + +# +# Crypto core or helper +# +CONFIG_CRYPTO_ALGAPI=y +CONFIG_CRYPTO_ALGAPI2=y +CONFIG_CRYPTO_AEAD=y +CONFIG_CRYPTO_AEAD2=y +CONFIG_CRYPTO_SIG=y +CONFIG_CRYPTO_SIG2=y +CONFIG_CRYPTO_SKCIPHER=y +CONFIG_CRYPTO_SKCIPHER2=y +CONFIG_CRYPTO_HASH=y +CONFIG_CRYPTO_HASH2=y +CONFIG_CRYPTO_RNG=y +CONFIG_CRYPTO_RNG2=y +CONFIG_CRYPTO_RNG_DEFAULT=y +CONFIG_CRYPTO_AKCIPHER2=y +CONFIG_CRYPTO_AKCIPHER=y +CONFIG_CRYPTO_KPP2=y +CONFIG_CRYPTO_KPP=y +CONFIG_CRYPTO_ACOMP2=y +CONFIG_CRYPTO_MANAGER=y +CONFIG_CRYPTO_MANAGER2=y +CONFIG_CRYPTO_USER=m +CONFIG_CRYPTO_MANAGER_DISABLE_TESTS=y +CONFIG_CRYPTO_NULL=y +CONFIG_CRYPTO_NULL2=y +CONFIG_CRYPTO_PCRYPT=m +CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_AUTHENC=y +# CONFIG_CRYPTO_TEST is not set +# end of Crypto core or helper + +# +# Public-key cryptography +# +CONFIG_CRYPTO_RSA=y +CONFIG_CRYPTO_DH=y +# CONFIG_CRYPTO_DH_RFC7919_GROUPS is not set +CONFIG_CRYPTO_ECC=y +CONFIG_CRYPTO_ECDH=y +CONFIG_CRYPTO_ECDSA=m +CONFIG_CRYPTO_ECRDSA=m +CONFIG_CRYPTO_SM2=m +CONFIG_CRYPTO_CURVE25519=m +# end of Public-key cryptography + +# +# Block ciphers +# +CONFIG_CRYPTO_AES=y +CONFIG_CRYPTO_AES_TI=m +CONFIG_CRYPTO_ARIA=m +CONFIG_CRYPTO_BLOWFISH=m +CONFIG_CRYPTO_BLOWFISH_COMMON=m +CONFIG_CRYPTO_CAMELLIA=m +CONFIG_CRYPTO_CAST_COMMON=m +CONFIG_CRYPTO_CAST5=m +CONFIG_CRYPTO_CAST6=m +CONFIG_CRYPTO_DES=m +CONFIG_CRYPTO_FCRYPT=m +CONFIG_CRYPTO_SERPENT=m +CONFIG_CRYPTO_SM4=m +CONFIG_CRYPTO_SM4_GENERIC=m +CONFIG_CRYPTO_TWOFISH=m +CONFIG_CRYPTO_TWOFISH_COMMON=m +# end of Block ciphers + +# +# Length-preserving ciphers and modes +# +CONFIG_CRYPTO_ADIANTUM=m +CONFIG_CRYPTO_CHACHA20=m +CONFIG_CRYPTO_CBC=y +CONFIG_CRYPTO_CFB=m +CONFIG_CRYPTO_CTR=y +CONFIG_CRYPTO_CTS=y +CONFIG_CRYPTO_ECB=y +CONFIG_CRYPTO_HCTR2=m +CONFIG_CRYPTO_KEYWRAP=m +CONFIG_CRYPTO_LRW=m +CONFIG_CRYPTO_OFB=m +CONFIG_CRYPTO_PCBC=m +CONFIG_CRYPTO_XCTR=m +CONFIG_CRYPTO_XTS=y +CONFIG_CRYPTO_NHPOLY1305=m +# end of Length-preserving ciphers and modes + +# +# AEAD (authenticated encryption with associated data) ciphers +# +# CONFIG_CRYPTO_AEGIS128 is not set +CONFIG_CRYPTO_CHACHA20POLY1305=m +CONFIG_CRYPTO_CCM=y +CONFIG_CRYPTO_GCM=y +CONFIG_CRYPTO_GENIV=m +CONFIG_CRYPTO_SEQIV=m +CONFIG_CRYPTO_ECHAINIV=m +CONFIG_CRYPTO_ESSIV=y +# end of AEAD (authenticated encryption with associated data) ciphers + +# +# Hashes, digests, and MACs +# +CONFIG_CRYPTO_BLAKE2B=m +CONFIG_CRYPTO_CMAC=y +CONFIG_CRYPTO_GHASH=y +CONFIG_CRYPTO_HMAC=y +CONFIG_CRYPTO_MD4=m +CONFIG_CRYPTO_MD5=y +CONFIG_CRYPTO_MICHAEL_MIC=m +CONFIG_CRYPTO_POLYVAL=m +CONFIG_CRYPTO_POLY1305=m +CONFIG_CRYPTO_RMD160=m +CONFIG_CRYPTO_SHA1=y +CONFIG_CRYPTO_SHA256=y +CONFIG_CRYPTO_SHA512=y +CONFIG_CRYPTO_SHA3=y +CONFIG_CRYPTO_SM3=m +CONFIG_CRYPTO_SM3_GENERIC=m +CONFIG_CRYPTO_STREEBOG=m +CONFIG_CRYPTO_VMAC=m +CONFIG_CRYPTO_WP512=m +CONFIG_CRYPTO_XCBC=m +CONFIG_CRYPTO_XXHASH=m +# end of Hashes, digests, and MACs + +# +# CRCs (cyclic redundancy checks) +# +CONFIG_CRYPTO_CRC32C=y +CONFIG_CRYPTO_CRC32=m +CONFIG_CRYPTO_CRCT10DIF=y +CONFIG_CRYPTO_CRC64_ROCKSOFT=y +# end of CRCs (cyclic redundancy checks) + +# +# Compression +# +CONFIG_CRYPTO_DEFLATE=y +CONFIG_CRYPTO_LZO=y +CONFIG_CRYPTO_842=m +CONFIG_CRYPTO_LZ4=m +CONFIG_CRYPTO_LZ4HC=m +CONFIG_CRYPTO_ZSTD=m +# end of Compression + +# +# Random number generation +# +CONFIG_CRYPTO_ANSI_CPRNG=m +CONFIG_CRYPTO_DRBG_MENU=y +CONFIG_CRYPTO_DRBG_HMAC=y +# CONFIG_CRYPTO_DRBG_HASH is not set +# CONFIG_CRYPTO_DRBG_CTR is not set +CONFIG_CRYPTO_DRBG=y +CONFIG_CRYPTO_JITTERENTROPY=y +# CONFIG_CRYPTO_JITTERENTROPY_TESTINTERFACE is not set +# end of Random number generation + +# +# Userspace interface +# +CONFIG_CRYPTO_USER_API=m +CONFIG_CRYPTO_USER_API_HASH=m +CONFIG_CRYPTO_USER_API_SKCIPHER=m +CONFIG_CRYPTO_USER_API_RNG=m +# CONFIG_CRYPTO_USER_API_RNG_CAVP is not set +CONFIG_CRYPTO_USER_API_AEAD=m +# CONFIG_CRYPTO_USER_API_ENABLE_OBSOLETE is not set +# CONFIG_CRYPTO_STATS is not set +# end of Userspace interface + +CONFIG_CRYPTO_HASH_INFO=y +CONFIG_CRYPTO_HW=y +# CONFIG_CRYPTO_DEV_ALLWINNER is not set +# CONFIG_CRYPTO_DEV_SL3516 is not set +# CONFIG_CRYPTO_DEV_EXYNOS_RNG is not set +# CONFIG_CRYPTO_DEV_S5P is not set +# CONFIG_CRYPTO_DEV_ATMEL_AES is not set +# CONFIG_CRYPTO_DEV_ATMEL_TDES is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA is not set +# CONFIG_CRYPTO_DEV_ATMEL_ECC is not set +# CONFIG_CRYPTO_DEV_ATMEL_SHA204A is not set +# CONFIG_CAVIUM_CPT is not set +# CONFIG_CRYPTO_DEV_NITROX_CNN55XX is not set +# CONFIG_CRYPTO_DEV_OCTEONTX_CPT is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_AES_SM4 is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_ECC is not set +# CONFIG_CRYPTO_DEV_KEEMBAY_OCS_HCU is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCC is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXX is not set +# CONFIG_CRYPTO_DEV_QAT_C62X is not set +# CONFIG_CRYPTO_DEV_QAT_4XXX is not set +# CONFIG_CRYPTO_DEV_QAT_DH895xCCVF is not set +# CONFIG_CRYPTO_DEV_QAT_C3XXXVF is not set +# CONFIG_CRYPTO_DEV_QAT_C62XVF is not set +# CONFIG_CRYPTO_DEV_CAVIUM_ZIP is not set +# CONFIG_CRYPTO_DEV_QCE is not set +# CONFIG_CRYPTO_DEV_QCOM_RNG is not set +# CONFIG_CRYPTO_DEV_IMGTEC_HASH is not set +# CONFIG_CRYPTO_DEV_ZYNQMP_AES is not set +# CONFIG_CRYPTO_DEV_ZYNQMP_SHA3 is not set +# CONFIG_CRYPTO_DEV_VIRTIO is not set +# CONFIG_CRYPTO_DEV_SAFEXCEL is not set +# CONFIG_CRYPTO_DEV_CCREE is not set +# CONFIG_CRYPTO_DEV_HISI_SEC is not set +# CONFIG_CRYPTO_DEV_AMLOGIC_GXL is not set +# CONFIG_CRYPTO_DEV_SA2UL is not set +# CONFIG_CRYPTO_DEV_ASPEED is not set +# CONFIG_CRYPTO_DEV_JH7110 is not set +CONFIG_KY_REE_ENGINE=y +CONFIG_KY_REE_AES=y +# CONFIG_KY_CRYPTO_DEBUG is not set +# CONFIG_KY_CRYPTO_SELF_TEST is not set +CONFIG_ASYMMETRIC_KEY_TYPE=y +CONFIG_ASYMMETRIC_PUBLIC_KEY_SUBTYPE=y +CONFIG_X509_CERTIFICATE_PARSER=y +# CONFIG_PKCS8_PRIVATE_KEY_PARSER is not set +CONFIG_PKCS7_MESSAGE_PARSER=y +# CONFIG_PKCS7_TEST_KEY is not set +# CONFIG_SIGNED_PE_FILE_VERIFICATION is not set +# CONFIG_FIPS_SIGNATURE_SELFTEST is not set + +# +# Certificates for signature checking +# +CONFIG_MODULE_SIG_KEY="certs/signing_key.pem" +CONFIG_MODULE_SIG_KEY_TYPE_RSA=y +# CONFIG_MODULE_SIG_KEY_TYPE_ECDSA is not set +CONFIG_SYSTEM_TRUSTED_KEYRING=y +CONFIG_SYSTEM_TRUSTED_KEYS="" +# CONFIG_SYSTEM_EXTRA_CERTIFICATE is not set +# CONFIG_SECONDARY_TRUSTED_KEYRING is not set +# CONFIG_SYSTEM_BLACKLIST_KEYRING is not set +# end of Certificates for signature checking + +CONFIG_BINARY_PRINTF=y + +# +# Library routines +# +CONFIG_RAID6_PQ=y +CONFIG_RAID6_PQ_BENCHMARK=y +CONFIG_LINEAR_RANGES=y +# CONFIG_PACKING is not set +CONFIG_BITREVERSE=y +CONFIG_GENERIC_STRNCPY_FROM_USER=y +CONFIG_GENERIC_STRNLEN_USER=y +CONFIG_GENERIC_NET_UTILS=y +CONFIG_CORDIC=m +# CONFIG_PRIME_NUMBERS is not set +CONFIG_RATIONAL=y +CONFIG_GENERIC_PCI_IOMAP=y + +# +# Crypto library routines +# +CONFIG_CRYPTO_LIB_UTILS=y +CONFIG_CRYPTO_LIB_AES=y +CONFIG_CRYPTO_LIB_ARC4=m +CONFIG_CRYPTO_LIB_GF128MUL=y +CONFIG_CRYPTO_LIB_BLAKE2S_GENERIC=y +CONFIG_CRYPTO_LIB_CHACHA_GENERIC=m +CONFIG_CRYPTO_LIB_CHACHA=m +CONFIG_CRYPTO_LIB_CURVE25519_GENERIC=m +CONFIG_CRYPTO_LIB_CURVE25519=m +CONFIG_CRYPTO_LIB_DES=m +CONFIG_CRYPTO_LIB_POLY1305_RSIZE=1 +CONFIG_CRYPTO_LIB_POLY1305_GENERIC=m +CONFIG_CRYPTO_LIB_POLY1305=m +CONFIG_CRYPTO_LIB_CHACHA20POLY1305=m +CONFIG_CRYPTO_LIB_SHA1=y +CONFIG_CRYPTO_LIB_SHA256=y +# end of Crypto library routines + +CONFIG_CRC_CCITT=m +CONFIG_CRC16=y +CONFIG_CRC_T10DIF=y +CONFIG_CRC64_ROCKSOFT=y +CONFIG_CRC_ITU_T=m +CONFIG_CRC32=y +# CONFIG_CRC32_SELFTEST is not set +CONFIG_CRC32_SLICEBY8=y +# CONFIG_CRC32_SLICEBY4 is not set +# CONFIG_CRC32_SARWATE is not set +# CONFIG_CRC32_BIT is not set +CONFIG_CRC64=y +# CONFIG_CRC4 is not set +# CONFIG_CRC7 is not set +CONFIG_LIBCRC32C=y +# CONFIG_CRC8 is not set +CONFIG_XXHASH=y +CONFIG_AUDIT_GENERIC=y +# CONFIG_RANDOM32_SELFTEST is not set +CONFIG_842_COMPRESS=m +CONFIG_842_DECOMPRESS=m +CONFIG_ZLIB_INFLATE=y +CONFIG_ZLIB_DEFLATE=y +CONFIG_LZO_COMPRESS=y +CONFIG_LZO_DECOMPRESS=y +CONFIG_LZ4_COMPRESS=m +CONFIG_LZ4HC_COMPRESS=m +CONFIG_LZ4_DECOMPRESS=m +CONFIG_ZSTD_COMMON=y +CONFIG_ZSTD_COMPRESS=y +CONFIG_ZSTD_DECOMPRESS=y +CONFIG_XZ_DEC=y +CONFIG_XZ_DEC_X86=y +CONFIG_XZ_DEC_POWERPC=y +CONFIG_XZ_DEC_IA64=y +CONFIG_XZ_DEC_ARM=y +CONFIG_XZ_DEC_ARMTHUMB=y +CONFIG_XZ_DEC_SPARC=y +# CONFIG_XZ_DEC_MICROLZMA is not set +CONFIG_XZ_DEC_BCJ=y +# CONFIG_XZ_DEC_TEST is not set +CONFIG_DECOMPRESS_GZIP=y +CONFIG_DECOMPRESS_ZSTD=y +CONFIG_GENERIC_ALLOCATOR=y +CONFIG_REED_SOLOMON=y +CONFIG_REED_SOLOMON_DEC8=y +CONFIG_TEXTSEARCH=y +CONFIG_TEXTSEARCH_KMP=m +CONFIG_TEXTSEARCH_BM=m +CONFIG_TEXTSEARCH_FSM=m +CONFIG_INTERVAL_TREE=y +CONFIG_XARRAY_MULTI=y +CONFIG_ASSOCIATIVE_ARRAY=y +CONFIG_HAS_IOMEM=y +CONFIG_HAS_IOPORT=y +CONFIG_HAS_IOPORT_MAP=y +CONFIG_HAS_DMA=y +CONFIG_NEED_DMA_MAP_STATE=y +CONFIG_ARCH_DMA_ADDR_T_64BIT=y +CONFIG_DMA_DECLARE_COHERENT=y +CONFIG_ARCH_HAS_SETUP_DMA_OPS=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_DEVICE=y +CONFIG_ARCH_HAS_SYNC_DMA_FOR_CPU=y +CONFIG_ARCH_HAS_DMA_PREP_COHERENT=y +CONFIG_ARCH_DMA_DEFAULT_COHERENT=y +CONFIG_SWIOTLB=y +# CONFIG_SWIOTLB_DYNAMIC is not set +CONFIG_DMA_BOUNCE_UNALIGNED_KMALLOC=y +# CONFIG_DMA_RESTRICTED_POOL is not set +CONFIG_DMA_NONCOHERENT_MMAP=y +CONFIG_DMA_COHERENT_POOL=y +CONFIG_DMA_DIRECT_REMAP=y +CONFIG_DMA_CMA=y + +# +# Default contiguous memory area size: +# +CONFIG_CMA_SIZE_MBYTES=16 +CONFIG_CMA_SIZE_SEL_MBYTES=y +# CONFIG_CMA_SIZE_SEL_PERCENTAGE is not set +# CONFIG_CMA_SIZE_SEL_MIN is not set +# CONFIG_CMA_SIZE_SEL_MAX is not set +CONFIG_CMA_ALIGNMENT=8 +# CONFIG_DMA_API_DEBUG is not set +# CONFIG_DMA_MAP_BENCHMARK is not set +CONFIG_SGL_ALLOC=y +CONFIG_CPU_RMAP=y +CONFIG_DQL=y +CONFIG_GLOB=y +# CONFIG_GLOB_SELFTEST is not set +CONFIG_NLATTR=y +CONFIG_CLZ_TAB=y +CONFIG_IRQ_POLL=y +CONFIG_MPILIB=y +CONFIG_SIGNATURE=y +CONFIG_LIBFDT=y +CONFIG_OID_REGISTRY=y +CONFIG_UCS2_STRING=y +CONFIG_HAVE_GENERIC_VDSO=y +CONFIG_GENERIC_GETTIMEOFDAY=y +CONFIG_GENERIC_VDSO_TIME_NS=y +CONFIG_FONT_SUPPORT=y +# CONFIG_FONTS is not set +CONFIG_FONT_8x8=y +CONFIG_FONT_8x16=y +CONFIG_SG_POOL=y +CONFIG_ARCH_HAS_PMEM_API=y +CONFIG_ARCH_STACKWALK=y +CONFIG_STACKDEPOT=y +CONFIG_SBITMAP=y +# CONFIG_PARMAN is not set +# CONFIG_OBJAGG is not set +# end of Library routines + +CONFIG_GENERIC_IOREMAP=y +CONFIG_GENERIC_LIB_DEVMEM_IS_ALLOWED=y + +# +# Kernel hacking +# + +# +# printk and dmesg options +# +CONFIG_PRINTK_TIME=y +# CONFIG_PRINTK_CALLER is not set +# CONFIG_STACKTRACE_BUILD_ID is not set +CONFIG_CONSOLE_LOGLEVEL_DEFAULT=8 +CONFIG_CONSOLE_LOGLEVEL_QUIET=8 +CONFIG_MESSAGE_LOGLEVEL_DEFAULT=4 +# CONFIG_BOOT_PRINTK_DELAY is not set +CONFIG_DYNAMIC_DEBUG=y +CONFIG_DYNAMIC_DEBUG_CORE=y +CONFIG_SYMBOLIC_ERRNAME=y +CONFIG_DEBUG_BUGVERBOSE=y +# end of printk and dmesg options + +CONFIG_DEBUG_KERNEL=y +CONFIG_DEBUG_MISC=y + +# +# Compile-time checks and compiler options +# +CONFIG_DEBUG_INFO=y +CONFIG_AS_HAS_NON_CONST_LEB128=y +# CONFIG_DEBUG_INFO_NONE is not set +CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT=y +# CONFIG_DEBUG_INFO_DWARF4 is not set +# CONFIG_DEBUG_INFO_DWARF5 is not set +# CONFIG_DEBUG_INFO_REDUCED is not set +CONFIG_DEBUG_INFO_COMPRESSED_NONE=y +# CONFIG_DEBUG_INFO_COMPRESSED_ZLIB is not set +# CONFIG_DEBUG_INFO_SPLIT is not set +# CONFIG_DEBUG_INFO_BTF is not set +CONFIG_PAHOLE_HAS_SPLIT_BTF=y +CONFIG_PAHOLE_HAS_LANG_EXCLUDE=y +# CONFIG_GDB_SCRIPTS is not set +CONFIG_FRAME_WARN=2048 +# CONFIG_STRIP_ASM_SYMS is not set +# CONFIG_READABLE_ASM is not set +# CONFIG_HEADERS_INSTALL is not set +# CONFIG_DEBUG_SECTION_MISMATCH is not set +CONFIG_SECTION_MISMATCH_WARN_ONLY=y +# CONFIG_DEBUG_FORCE_FUNCTION_ALIGN_64B is not set +CONFIG_ARCH_WANT_FRAME_POINTERS=y +CONFIG_FRAME_POINTER=y +# CONFIG_VMLINUX_MAP is not set +# CONFIG_DEBUG_FORCE_WEAK_PER_CPU is not set +# end of Compile-time checks and compiler options + +# +# Generic Kernel Debugging Instruments +# +CONFIG_MAGIC_SYSRQ=y +CONFIG_MAGIC_SYSRQ_DEFAULT_ENABLE=0x1 +CONFIG_MAGIC_SYSRQ_SERIAL=y +CONFIG_MAGIC_SYSRQ_SERIAL_SEQUENCE="" +CONFIG_DEBUG_FS=y +CONFIG_DEBUG_FS_ALLOW_ALL=y +# CONFIG_DEBUG_FS_DISALLOW_MOUNT is not set +# CONFIG_DEBUG_FS_ALLOW_NONE is not set +CONFIG_HAVE_ARCH_KGDB=y +CONFIG_HAVE_ARCH_KGDB_QXFER_PKT=y +# CONFIG_KGDB is not set +CONFIG_ARCH_HAS_UBSAN_SANITIZE_ALL=y +# CONFIG_UBSAN is not set +CONFIG_HAVE_KCSAN_COMPILER=y +# end of Generic Kernel Debugging Instruments + +# +# Networking Debugging +# +# CONFIG_NET_DEV_REFCNT_TRACKER is not set +# CONFIG_NET_NS_REFCNT_TRACKER is not set +# CONFIG_DEBUG_NET is not set +# end of Networking Debugging + +# +# Memory Debugging +# +# CONFIG_PAGE_EXTENSION is not set +# CONFIG_DEBUG_PAGEALLOC is not set +CONFIG_SLUB_DEBUG=y +# CONFIG_SLUB_DEBUG_ON is not set +# CONFIG_PAGE_OWNER is not set +# CONFIG_PAGE_TABLE_CHECK is not set +# CONFIG_PAGE_POISONING is not set +# CONFIG_DEBUG_PAGE_REF is not set +# CONFIG_DEBUG_RODATA_TEST is not set +CONFIG_ARCH_HAS_DEBUG_WX=y +CONFIG_DEBUG_WX=y +CONFIG_GENERIC_PTDUMP=y +CONFIG_PTDUMP_CORE=y +# CONFIG_PTDUMP_DEBUGFS is not set +CONFIG_HAVE_DEBUG_KMEMLEAK=y +# CONFIG_DEBUG_KMEMLEAK is not set +# CONFIG_PER_VMA_LOCK_STATS is not set +# CONFIG_DEBUG_OBJECTS is not set +# CONFIG_SHRINKER_DEBUG is not set +# CONFIG_DEBUG_STACK_USAGE is not set +CONFIG_SCHED_STACK_END_CHECK=y +CONFIG_ARCH_HAS_DEBUG_VM_PGTABLE=y +# CONFIG_DEBUG_VM is not set +# CONFIG_DEBUG_VM_PGTABLE is not set +CONFIG_ARCH_HAS_DEBUG_VIRTUAL=y +# CONFIG_DEBUG_VIRTUAL is not set +# CONFIG_DEBUG_MEMORY_INIT is not set +# CONFIG_DEBUG_PER_CPU_MAPS is not set +CONFIG_HAVE_ARCH_KASAN=y +CONFIG_HAVE_ARCH_KASAN_VMALLOC=y +CONFIG_CC_HAS_KASAN_GENERIC=y +CONFIG_CC_HAS_WORKING_NOSANITIZE_ADDRESS=y +# CONFIG_KASAN is not set +CONFIG_HAVE_ARCH_KFENCE=y +# CONFIG_KFENCE is not set +# end of Memory Debugging + +# CONFIG_DEBUG_SHIRQ is not set + +# +# Debug Oops, Lockups and Hangs +# +# CONFIG_PANIC_ON_OOPS is not set +CONFIG_PANIC_ON_OOPS_VALUE=0 +CONFIG_PANIC_TIMEOUT=0 +# CONFIG_SOFTLOCKUP_DETECTOR is not set +CONFIG_HAVE_HARDLOCKUP_DETECTOR_BUDDY=y +# CONFIG_HARDLOCKUP_DETECTOR is not set +CONFIG_DETECT_HUNG_TASK=y +CONFIG_DEFAULT_HUNG_TASK_TIMEOUT=120 +# CONFIG_BOOTPARAM_HUNG_TASK_PANIC is not set +# CONFIG_WQ_WATCHDOG is not set +# CONFIG_WQ_CPU_INTENSIVE_REPORT is not set +# CONFIG_TEST_LOCKUP is not set +# end of Debug Oops, Lockups and Hangs + +# +# Scheduler Debugging +# +CONFIG_SCHED_DEBUG=y +CONFIG_SCHED_INFO=y +# CONFIG_SCHEDSTATS is not set +# end of Scheduler Debugging + +# CONFIG_DEBUG_TIMEKEEPING is not set +# CONFIG_DEBUG_PREEMPT is not set + +# +# Lock Debugging (spinlocks, mutexes, etc...) +# +CONFIG_LOCK_DEBUGGING_SUPPORT=y +# CONFIG_PROVE_LOCKING is not set +# CONFIG_LOCK_STAT is not set +CONFIG_DEBUG_RT_MUTEXES=y +CONFIG_DEBUG_SPINLOCK=y +CONFIG_DEBUG_MUTEXES=y +# CONFIG_DEBUG_WW_MUTEX_SLOWPATH is not set +CONFIG_DEBUG_RWSEMS=y +# CONFIG_DEBUG_LOCK_ALLOC is not set +CONFIG_DEBUG_ATOMIC_SLEEP=y +# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set +# CONFIG_LOCK_TORTURE_TEST is not set +# CONFIG_WW_MUTEX_SELFTEST is not set +# CONFIG_SCF_TORTURE_TEST is not set +# CONFIG_CSD_LOCK_WAIT_DEBUG is not set +# end of Lock Debugging (spinlocks, mutexes, etc...) + +# CONFIG_DEBUG_IRQFLAGS is not set +CONFIG_STACKTRACE=y +# CONFIG_WARN_ALL_UNSEEDED_RANDOM is not set +# CONFIG_DEBUG_KOBJECT is not set + +# +# Debug kernel data structures +# +# CONFIG_DEBUG_LIST is not set +# CONFIG_DEBUG_PLIST is not set +# CONFIG_DEBUG_SG is not set +# CONFIG_DEBUG_NOTIFIERS is not set +# CONFIG_DEBUG_MAPLE_TREE is not set +# end of Debug kernel data structures + +# +# RCU Debugging +# +# CONFIG_RCU_SCALE_TEST is not set +# CONFIG_RCU_TORTURE_TEST is not set +# CONFIG_RCU_REF_SCALE_TEST is not set +CONFIG_RCU_CPU_STALL_TIMEOUT=21 +CONFIG_RCU_EXP_CPU_STALL_TIMEOUT=0 +# CONFIG_RCU_CPU_STALL_CPUTIME is not set +# CONFIG_RCU_TRACE is not set +# CONFIG_RCU_EQS_DEBUG is not set +# end of RCU Debugging + +# CONFIG_DEBUG_WQ_FORCE_RR_CPU is not set +# CONFIG_CPU_HOTPLUG_STATE_CONTROL is not set +# CONFIG_LATENCYTOP is not set +CONFIG_NOP_TRACER=y +CONFIG_HAVE_RETHOOK=y +CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y +CONFIG_HAVE_FUNCTION_GRAPH_RETVAL=y +CONFIG_HAVE_DYNAMIC_FTRACE=y +CONFIG_HAVE_DYNAMIC_FTRACE_WITH_REGS=y +CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y +CONFIG_HAVE_SYSCALL_TRACEPOINTS=y +CONFIG_TRACE_CLOCK=y +CONFIG_RING_BUFFER=y +CONFIG_EVENT_TRACING=y +CONFIG_CONTEXT_SWITCH_TRACER=y +CONFIG_TRACING=y +CONFIG_TRACING_SUPPORT=y +CONFIG_FTRACE=y +# CONFIG_BOOTTIME_TRACING is not set +# CONFIG_IRQSOFF_TRACER is not set +# CONFIG_PREEMPT_TRACER is not set +# CONFIG_SCHED_TRACER is not set +# CONFIG_HWLAT_TRACER is not set +# CONFIG_OSNOISE_TRACER is not set +# CONFIG_TIMERLAT_TRACER is not set +# CONFIG_ENABLE_DEFAULT_TRACERS is not set +# CONFIG_FTRACE_SYSCALLS is not set +# CONFIG_TRACER_SNAPSHOT is not set +CONFIG_BRANCH_PROFILE_NONE=y +# CONFIG_PROFILE_ANNOTATED_BRANCHES is not set +# CONFIG_PROFILE_ALL_BRANCHES is not set +# CONFIG_BLK_DEV_IO_TRACE is not set +CONFIG_UPROBE_EVENTS=y +CONFIG_BPF_EVENTS=y +CONFIG_DYNAMIC_EVENTS=y +CONFIG_PROBE_EVENTS=y +# CONFIG_SYNTH_EVENTS is not set +# CONFIG_USER_EVENTS is not set +# CONFIG_TRACE_EVENT_INJECT is not set +# CONFIG_TRACEPOINT_BENCHMARK is not set +# CONFIG_RING_BUFFER_BENCHMARK is not set +# CONFIG_TRACE_EVAL_MAP_FILE is not set +# CONFIG_RING_BUFFER_STARTUP_TEST is not set +# CONFIG_RING_BUFFER_VALIDATE_TIME_DELTAS is not set +# CONFIG_PREEMPTIRQ_DELAY_TEST is not set +# CONFIG_RV is not set +# CONFIG_SAMPLES is not set +CONFIG_STRICT_DEVMEM=y +# CONFIG_IO_STRICT_DEVMEM is not set + +# +# riscv Debugging +# +# end of riscv Debugging + +# +# Kernel Testing and Coverage +# +# CONFIG_KUNIT is not set +# CONFIG_NOTIFIER_ERROR_INJECTION is not set +# CONFIG_FAULT_INJECTION is not set +CONFIG_ARCH_HAS_KCOV=y +CONFIG_CC_HAS_SANCOV_TRACE_PC=y +# CONFIG_KCOV is not set +# CONFIG_RUNTIME_TESTING_MENU is not set +CONFIG_ARCH_USE_MEMTEST=y +# CONFIG_MEMTEST is not set +# end of Kernel Testing and Coverage + +# +# Rust hacking +# +# end of Rust hacking +# end of Kernel hacking + +# +# Documentation +# +# CONFIG_WARN_MISSING_DOCUMENTS is not set +# CONFIG_WARN_ABI_ERRORS is not set +# end of Documentation diff --git a/external/config/sources/families/ky.conf b/external/config/sources/families/ky.conf new file mode 100644 index 000000000000..20bffdba3324 --- /dev/null +++ b/external/config/sources/families/ky.conf @@ -0,0 +1,103 @@ +ARCH="riscv64" + +LINUXCONFIG="linux-ky-${BRANCH}" +LINUXFAMILY="ky" + +SERIALCON="ttyS0" +BOOTSCRIPT='boot-ky.cmd:boot.cmd' +BOOTENV_FILE='ky.txt' +KERNEL_COMPILER='riscv64-unknown-linux-gnu-' +UBOOT_COMPILER='riscv64-unknown-linux-gnu-' +OVERLAY_PREFIX='x1' +OFFSET=30 + +case "${BRANCH}" in + + current) + BOOTBRANCH='branch:v2022.10-ky' + + KERNELBRANCH="branch:orange-pi-6.6-ky" + KERNELPATCHDIR="ky-${BRANCH}" + UBOOT_TARGET_MAP=";;bootinfo_sd.bin bootinfo_emmc.bin bootinfo_spinor.bin FSBL.bin u-boot-env-default.bin u-boot-opensbi.itb" + ;; + +esac + + +uboot_custom_postprocess() +{ + : +} + +write_uboot_platform() +{ + if [[ -b "${2}boot0" ]]; then + echo 0 > /sys/block/${2##*/}boot0/force_ro + dd if=${1}/bootinfo_emmc.bin of=${2}boot0 >/dev/null 2>&1 && sync + dd if=${1}/FSBL.bin of=${2}boot0 seek=512 bs=1 >/dev/null 2>&1 && sync + echo 1 > /sys/block/${2##*/}boot0/force_ro + fi + + dd if=$1/bootinfo_sd.bin of=$2 seek=0 conv=notrunc status=none >/dev/null 2>&1 + dd if=$1/FSBL.bin of=$2 seek=256 conv=notrunc status=none >/dev/null 2>&1 + dd if=$1/u-boot-env-default.bin of=$2 seek=768 conv=notrunc status=none >/dev/null 2>&1 + dd if=$1/u-boot-opensbi.itb of=$2 seek=1664 conv=notrunc status=none >/dev/null 2>&1 +} + +write_uboot_platform_mtd() +{ + if [[ -b /dev/mtdblock0 ]]; then + dd if=$1/bootinfo_spinor.bin of=/dev/mtdblock0 >/dev/null 2>&1 && sync + dd if=$1/FSBL.bin of=/dev/mtdblock2 seek=0 bs=1 >/dev/null 2>&1 && sync + dd if=$1/u-boot-env-default.bin of=/dev/mtdblock3 seek=0 bs=1 >/dev/null 2>&1 && sync + dd if=$1/u-boot-opensbi.itb of=/dev/mtdblock5 seek=0 bs=1K >/dev/null 2>&1 && sync + fi +} + +family_tweaks() +{ + rsync -a --chown=root:root "${EXTER}"/packages/bsp/ky/* ${SDCARD}/ + + run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y gdisk dnsmasq util-linux-extra smartmontools can-utils v4l-utils cmake python3-pip" + if [[ ${DESKTOP_ENVIRONMENT} == gnome ]]; then + run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y gnome-screenshot tightvncserver gnome-bluetooth" + sed -i 's/# *AutomaticLoginEnable = true/AutomaticLoginEnable = true/' ${SDCARD}/etc/gdm3/custom.conf + sed -i 's/# *AutomaticLogin = user1/AutomaticLogin = orangepi/' ${SDCARD}/etc/gdm3/custom.conf + echo -e "\n[Install]\nWantedBy=multi-user.target" >> ${SDCARD}/lib/systemd/system/gdm3.service + #cp $EXTER/packages/blobs/desktop/desktop-wallpapers/orangepi-default.png ${SDCARD}/usr/share/backgrounds/warty-final-ubuntu.png + fi + + if [[ $RELEASE == noble && ${SELECTED_CONFIGURATION} == desktop ]]; then + local packages_to_install + packages_to_install_common=("ddk" "camera" "mpp") + packages_to_install=("mesa" "glmark2" "gst" "ffmpeg" "mpv") + packages_to_install+=("libv4l" "chromium" "npu" "docker" "adbd" "gnome") + + run_on_sdcard "DEBIAN_FRONTEND=noninteractive apt-get install -y vlc fonts-liberation libu2f-udev xdg-utils" + + for package in ${packages_to_install_common[@]}; do + dpkg_install_debs_chroot $EXTER/cache/sources/ky_packages/common/$package + done + + for package in ${packages_to_install[@]}; do + dpkg_install_debs_chroot $EXTER/cache/sources/ky_packages/$RELEASE/$package + done + + rm $SDCARD/root/*.deb >/dev/null 2>&1 + fi + + if [[ $BUILD_DESKTOP == yes ]]; then + sed -i "s/auto-profiles = yes/auto-profiles = no/" ${SDCARD}/usr/share/pulseaudio/alsa-mixer/profile-sets/default.conf + echo "load-module module-alsa-sink device=hw:0,0 sink_name=HDMI-Playback sink_properties=\"device.description='HDMI Audio'\"" >> ${SDCARD}/etc/pulse/default.pa + echo "load-module module-alsa-sink device=hw:1,0 sink_name=AudioCodec-Playback sink_properties=\"device.description='Audio Codec'\"" >> ${SDCARD}/etc/pulse/default.pa + echo "set-default-sink HDMI-Playback" >> ${SDCARD}/etc/pulse/default.pa + fi + + if [[ "${BOARD}x" == orangepirv2x ]]; then + nvram=$EXTER/cache/sources/orangepi-firmware-git + [[ -f ${nvram}/nvram_ap6256.txt-$BOARD ]] && cp ${nvram}/nvram_ap6256.txt-${BOARD} ${SDCARD}/lib/firmware/nvram_ap6256.txt + fi + + chroot "${SDCARD}" /bin/bash -c "sudo usermod -aG docker ${OPI_USERNAME}" + install_wiringop +} diff --git a/external/config/sources/families/starfive2.conf b/external/config/sources/families/starfive2.conf index 5de01041769f..8b1009733079 100644 --- a/external/config/sources/families/starfive2.conf +++ b/external/config/sources/families/starfive2.conf @@ -10,6 +10,8 @@ ARCH="riscv64" LINUXCONFIG="linux-starfive2-${BRANCH}" LINUXFAMILY="starfive2" +IMAGE_PARTITION_TABLE='gpt' +SKIP_EXTERNAL_TOOLCHAINS='yes' SRC_CMDLINE="console=tty0 console=ttyS0,115200 earlycon rootwait" SERIALCON="ttyS0" diff --git a/external/config/sources/riscv64.conf b/external/config/sources/riscv64.conf index ff544faaa0cb..d4dd3e2b3d55 100644 --- a/external/config/sources/riscv64.conf +++ b/external/config/sources/riscv64.conf @@ -12,8 +12,6 @@ ARCH='riscv64' ARCHITECTURE='riscv' KERNEL_SRC_ARCH='riscv' QEMU_BINARY='qemu-riscv64-static' -IMAGE_PARTITION_TABLE='gpt' -SKIP_EXTERNAL_TOOLCHAINS='yes' GIT_SERVER="https://github.com/orangepi-xunlong" KERNEL_IMAGE_TYPE="Image" diff --git a/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.asc b/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.asc new file mode 100644 index 000000000000..75b3db325f08 --- /dev/null +++ b/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.asc @@ -0,0 +1 @@ +15c8eb90a4ba8139a034149e6fd74528 ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz diff --git a/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.md5sum b/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.md5sum new file mode 100644 index 000000000000..c337b40b1495 --- /dev/null +++ b/external/config/torrents/ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz.md5sum @@ -0,0 +1 @@ +15c8eb90a4ba8139a034149e6fd74528 diff --git a/external/packages/bsp/common/usr/lib/orangepi/orangepi-hardware-optimization b/external/packages/bsp/common/usr/lib/orangepi/orangepi-hardware-optimization index 9e6f5dbbfc5e..f5509b87bb16 100755 --- a/external/packages/bsp/common/usr/lib/orangepi/orangepi-hardware-optimization +++ b/external/packages/bsp/common/usr/lib/orangepi/orangepi-hardware-optimization @@ -413,6 +413,19 @@ prepare_board() { /opt/media-ctl-pipeline.sh -d /dev/media0 -i csiphy0 -s ISP0 -a start /opt/ISP/stf_isp_ctrl -m imx219mipi -j 0 -a 1 & ;; + orangepirv2) + rfkill unblock all + /usr/bin/brcm_patchram_plus --enable_hci --no2bytes --tosleep 200000 \ + --baudrate 1500000 --patchram /lib/firmware/BCM4345C5.hcd /dev/ttyS2 & + ;; + orangepir2s) + echo ff > /sys/class/net/enP2p1s0/queues/rx-0/rps_cpus + echo ff > /sys/class/net/enP1p1s0/queues/rx-0/rps_cpus + + echo 4096 > /sys/class/net/enP2p1s0/queues/rx-0/rps_flow_cnt + echo 4096 > /sys/class/net/enP1p1s0/queues/rx-0/rps_flow_cnt + + ;; esac diff --git a/external/packages/bsp/common/usr/sbin/nand-sata-install b/external/packages/bsp/common/usr/sbin/nand-sata-install index 42d973f18712..d063bfff2350 100755 --- a/external/packages/bsp/common/usr/sbin/nand-sata-install +++ b/external/packages/bsp/common/usr/sbin/nand-sata-install @@ -31,7 +31,7 @@ elif grep -q 'sun5i' /proc/cpuinfo; then DEVICE_TYPE="a13"; else DEVICE_TYPE="a20"; fi BOOTLOADER="${CWD}/${DEVICE_TYPE}/bootloader" case ${LINUXFAMILY} in - rk3328|rk3399|rockchip64) + rk3328|rk3399|rockchip64|rockchip-rk356x|rockchip-rk3588|ky) FIRSTSECTOR=32768 ;; *) diff --git a/external/packages/bsp/ky/etc/initramfs-tools/hooks/add_firmware_to_initrd.sh b/external/packages/bsp/ky/etc/initramfs-tools/hooks/add_firmware_to_initrd.sh new file mode 100755 index 000000000000..d1bbf0088baf --- /dev/null +++ b/external/packages/bsp/ky/etc/initramfs-tools/hooks/add_firmware_to_initrd.sh @@ -0,0 +1,8 @@ +#!/bin/sh +# Copy firmware file to initrd +# + +mkdir -p "${DESTDIR}"/lib/firmware +cp -rf /lib/firmware/esos.elf "${DESTDIR}"/lib/firmware + +exit 0 diff --git a/external/packages/bsp/ky/opt/camtest_sensor0_mode0.json b/external/packages/bsp/ky/opt/camtest_sensor0_mode0.json new file mode 100644 index 000000000000..f57450b83bc2 --- /dev/null +++ b/external/packages/bsp/ky/opt/camtest_sensor0_mode0.json @@ -0,0 +1,69 @@ +{ + "tuning_server_enable":1, + "show_fps":1, + "auto_run": 1, + + "cpp_node": [ + { + "name": "cpp0", + "enable": 1, + "format":"NV12", + "src_from_file": 1, + + "src_path":"/tmp/cpp_case_in_data/1920x1080/", + "size_width":1920, + "size_height":1080, + + }, + { + "name": "cpp1", + "enable": 0, + "format":"NV12", + "src_from_file": 0, + + "src_path":"/vendor/etc/camera/", + "size_width":1920, + "size_height":1080, + }, + ], + + "isp_node":[ + { + "name": "isp0", + "enable": 1, + "work_mode":"online", + "format":"NV12", + "out_width":1920, + "out_height":1080, + + "sensor_name":"ov13855_spm", + "sensor_id" : 0, + "sensor_work_mode":0, + "fps":30, + + "src_file":"/tmp/1920x1080_raw12_long_packed.vrf", + "bit_depth": 12, + "in_width":1920, + "in_height":1080, + + }, + { + "name": "isp1", + "enable": 0, + "work_mode":"offline_capture", + "format":"NV12", + "out_width":1600, + "out_height":1200, + + "src_file":"/tmp/1920x1080_raw12_long_packed.vrf", + "bit_depth": 12, + "in_width":1920, + "in_height":1080, + + "sensor_name":"gc2375h_spm", + "sensor_id" : 1, + "sensor_work_mode":0, + "fps":30, + }, + ] +} diff --git a/external/packages/bsp/ky/opt/camtest_sensor2_mode0.json b/external/packages/bsp/ky/opt/camtest_sensor2_mode0.json new file mode 100644 index 000000000000..44bf77e2c257 --- /dev/null +++ b/external/packages/bsp/ky/opt/camtest_sensor2_mode0.json @@ -0,0 +1,69 @@ +{ + "tuning_server_enable":1, + "show_fps":1, + "auto_run": 1, + + "cpp_node": [ + { + "name": "cpp0", + "enable": 1, + "format":"NV12", + "src_from_file": 1, + + "src_path":"/tmp/cpp_case_in_data/1920x1080/", + "size_width":1920, + "size_height":1080, + + }, + { + "name": "cpp1", + "enable": 0, + "format":"NV12", + "src_from_file": 0, + + "src_path":"/vendor/etc/camera/", + "size_width":1920, + "size_height":1080, + }, + ], + + "isp_node":[ + { + "name": "isp0", + "enable": 1, + "work_mode":"online", + "format":"NV12", + "out_width":1920, + "out_height":1080, + + "sensor_name":"ov13855_spm", + "sensor_id" : 2, + "sensor_work_mode":0, + "fps":30, + + "src_file":"/tmp/1920x1080_raw12_long_packed.vrf", + "bit_depth": 12, + "in_width":1920, + "in_height":1080, + + }, + { + "name": "isp1", + "enable": 0, + "work_mode":"offline_capture", + "format":"NV12", + "out_width":1600, + "out_height":1200, + + "src_file":"/tmp/1920x1080_raw12_long_packed.vrf", + "bit_depth": 12, + "in_width":1920, + "in_height":1080, + + "sensor_name":"gc2375h_spm", + "sensor_id" : 1, + "sensor_work_mode":0, + "fps":30, + }, + ] +} diff --git a/external/packages/bsp/ky/opt/openwebui_0.0.1_riscv64.deb b/external/packages/bsp/ky/opt/openwebui_0.0.1_riscv64.deb new file mode 100644 index 0000000000000000000000000000000000000000..0f39901e595e6fb5f9f88a71d34bb786e6e7ab62 GIT binary patch literal 25930 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 literal 0 HcmV?d00001 diff --git a/external/packages/bsp/ky/usr/bin/brcm_patchram_plus b/external/packages/bsp/ky/usr/bin/brcm_patchram_plus new file mode 100755 index 0000000000000000000000000000000000000000..7b7e8535c5c10d62b8f45e283a42a8c895d5fe0b GIT binary patch literal 15208 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 M^eH7HcfI}p0*}tyZU6uP literal 0 HcmV?d00001 diff --git a/external/packages/bsp/ky/usr/bin/gadget-setup.sh b/external/packages/bsp/ky/usr/bin/gadget-setup.sh new file mode 100755 index 000000000000..5729f72a4b20 --- /dev/null +++ b/external/packages/bsp/ky/usr/bin/gadget-setup.sh @@ -0,0 +1,852 @@ +#!/bin/bash +# In busybox ash, should use /bin/sh, but bianbu cannot use /bin/sh + +name=`basename $0` +SCRIPT_VERSION="v0.5-SUPPORTROLESW" +CONFIG_FILE=$HOME/.usb_config + +# USB Descriptors +VENDOR_ID="0x361c" +PRODUC_ID="0x0007" +MANUAF_STR="Ky" +PRODUC_STR="Ky Composite Device" +SERNUM_STR="20211102" +SN_PATH="/proc/device-tree/serial-number" +[ "$BOARD_SN" ] || BOARD_SN=$( [ -e $SN_PATH ] && tr -d '\000' < $SN_PATH ) +[ "$BOARD_SN" ] && SERNUM_STR=$BOARD_SN + +CONFIGFS=/sys/kernel/config +GADGET_PATH=$CONFIGFS/usb_gadget/ky +GFUNC_PATH=$GADGET_PATH/functions +GCONFIG=$GADGET_PATH/configs/c.1 +[ "$USB_UDC" ] || USB_UDC=$(ls /sys/class/udc | awk "NR==1{print}") + +# MSC Debug Ramdisk +RAMDISK_PATH=/var/sdcard +TMPFS_FOUND=`mount | grep tmpfs | grep -v devtmpfs | awk '{print $3}' | grep '/dev/shm' | wc -l` +[ "$TMPFS_FOUND" -eq 1 ] && RAMDISK_PATH=/dev/shm/sdcard +TMPFS_FOUND=`mount | grep tmpfs | grep -v devtmpfs | awk '{print $3}' | grep '/tmp' | wc -l` +[ "$TMPFS_FOUND" -eq 1 ] && RAMDISK_PATH=/tmp/sdcard +# SCSI Target +NAA="naa.6001405c3214b06a" +CORE_DIR=$CONFIGFS/target/core +USB_GDIR=$CONFIGFS/target/usb_gadget + +# Global variables to record configured functions +MSC=disabled +UAS=disabled +UAS_ARG="" +MSC_ARG="" +ADB=disabled +UVC=disabled +RNDIS=disabled +FUNCTION_CNT=0 +DEBUG= + +usage() +{ + echo "$name usage: " + echo "" + echo -e "Support Select functions in $CONFIG_FILE:" + echo -e "\tWrite : line in $CONFIG_FILE, then run:" + echo -e "\t$name [start|stop|reload|config]" + echo -e "Or Select functions manually:" + echo -e "\t$name (,...)" + echo -e "Set USB connection:" + echo -e "\t$name [pause|resume]" + echo -e "\n$name info: show gadget info" + echo -e "\nhint: udc is automatically selected, you can" + echo -e "\toverride udc with env USB_UDC_IDX=[integer]/USB_UDC=[str]" + echo -e "Set USB role-switch:" + echo -e "\t$name role [host|device]" + echo "" + echo "Functions and arguments supported:" + echo -e "\tmsc(:dev/file) Mass Storage(Bulk-Only)." + echo -e "\tuas(:dev/file) Mass Storage(UASP)." + echo -e "\tadb Android Debug Bridge over USB." + echo -e "\tuvc Webcam." + echo -e "\trndis RNDIS NIC function." + echo -e "\nKy gadget-setup tool $SCRIPT_VERSION" + echo "" +} + +gadget_info() +{ + echo "$name: $1" +} + +gadget_debug() +{ + [ $DEBUG ] && echo "$name: $1" +} + +die() +{ + gadget_info "$1" + exit 1 +} + +g_remove() +{ + [ -h $1 ] && rm -f $1 + [ -d $1 ] && rmdir $1 + [ -e $1 ] && rm -f $1 +} + +## MSC + +msc_ramdisk_() +{ + # Debug Ramdisk for MSC without any argument + gadget_info "msc: ramdisk: $RAMDISK_PATH/disk.img" + mkdir -p $RAMDISK_PATH/sda + dd if=/dev/zero of=$RAMDISK_PATH/disk.img bs=1M count=1038 + mkdosfs -F 32 $RAMDISK_PATH/disk.img +} + +msc_config() +{ + gadget_debug "add a msc function instance" + MSC_DIR=$GFUNC_PATH/mass_storage.usb0 + mkdir -p $MSC_DIR + DEVICE=$1 + [ $DEVICE ] || DEVICE=$MSC_ARG + # Create a backstore + if [ -z "$DEVICE" ]; then + echo "$name: no device specificed, select ramdisk as backstore" + msc_ramdisk_ + echo "tmp files would be created in: $RAMDISK_PATH" + echo "$RAMDISK_PATH/disk.img" > $MSC_DIR/lun.0/file + elif [ -b $DEVICE ]; then + echo "$name: block device" + echo "$DEVICE" > $MSC_DIR/lun.0/file + else + echo "$name: other path, regular file" + echo "$DEVICE" > $MSC_DIR/lun.0/file + fi + + echo 1 > $MSC_DIR/lun.0/removable + echo 0 > $MSC_DIR/lun.0/nofua +} + +msc_link() +{ + gadget_debug "add msc to usb config" + ln -s $MSC_DIR $GCONFIG/mass_storage.usb0 +} + +msc_unlink() +{ + gadget_debug "remove msc from usb config" + g_remove $GCONFIG/mass_storage.usb0 +} + +msc_clean() +{ + gadget_debug "clean msc" + g_remove $GFUNC_PATH/mass_storage.usb0 + g_remove $RAMDISK_PATH/disk.img + g_remove $RAMDISK_PATH/sda +} + +## UAS + +uas_config() +{ + gadget_debug "add a uas function instance" + # Load the target modules and mount the add a file function instance system + # Uncomment these if modules not built-in: + # lsmod | grep -q configfs || modprobe configfs + # lsmod | grep -q target_core_mod || modprobe target_core_mod + DEVICE=$1 + [ $DEVICE ] || DEVICE=$UAS_ARG + mkdir -p $GADGET_PATH/functions/tcm.0 + # Create a backstore + if [ -z "$DEVICE" ]; then + echo "$name: no device specificed, select rd_mcp as backstore" + BACKSTORE_DIR=$CORE_DIR/rd_mcp_0/ramdisk + mkdir -p $BACKSTORE_DIR + # ramdisk + echo rd_pages=200000 > $BACKSTORE_DIR/control + elif [ -b $DEVICE ]; then + echo "$name: block device, select iblock as backstore" + BACKSTORE_DIR=$CORE_DIR/iblock_0/iblock + mkdir -p $BACKSTORE_DIR + echo "udev_path=${DEVICE}" > $BACKSTORE_DIR/control + else + echo "$name: other path, select fileio as backstore" + BACKSTORE_DIR=$CORE_DIR/fileio_0/fileio + mkdir -p $BACKSTORE_DIR + DEVICE_SIZE=$(du -b $DEVICE | cut -f1) + echo "fd_dev_name=${DEVICE},fd_dev_size=${DEVICE_SIZE}" > $BACKSTORE_DIR/control + # echo 1 > $BACKSTORE_DIR/attrib/emulate_write_cache + fi + [ -n "$DEVICE" ] && umount $DEVICE + echo 1 > $BACKSTORE_DIR/enable + echo "$name: NAA of target: $NAA" + # Create an NAA target and a target portal group (TPG) + mkdir -p $USB_GDIR/$NAA/tpgt_1/ + echo "$name tpgt_1 has lun_0" + # Create a LUN + mkdir $USB_GDIR/$NAA/tpgt_1/lun/lun_0 + # Nexus initiator on target port 1 to $NAA + echo $NAA > $USB_GDIR/$NAA/tpgt_1/nexus + + # Allow write access for non authenticated initiators + # echo 0 > $USB_GDIR/$NAA/tpgt_1/attrib/demo_mode_write_protect + ln -s $BACKSTORE_DIR $USB_GDIR/$NAA/tpgt_1/lun/lun_0/data + #ln -s $BACKSTORE_DIR $USB_GDIR/$NAA/tpgt_1/lun/lun_0/virtual_scsi_port + # echo 15 > $USB_GDIR/$NAA/tpgt_1/maxburst + + # Enable the target portal group, with 1 lun + echo 1 > $USB_GDIR/$NAA/tpgt_1/enable +} + +uas_link() +{ + gadget_debug "add uas to usb config" + ln -s $GADGET_PATH/functions/tcm.0 $GCONFIG/tcm.0 +} + +uas_unlink() +{ + gadget_debug "remove uas from usb config" + g_remove $GCONFIG/tcm.0 +} + +uas_clean() +{ + gadget_debug "clean uas" + [ -d "$USB_GDIR/$NAA/tpgt_1/enable" ] && echo 0 > $USB_GDIR/$NAA/tpgt_1/enable + g_remove $USB_GDIR/$NAA/tpgt_1/lun/lun_0/data + g_remove $USB_GDIR/$NAA/tpgt_1/lun/lun_0/virtual_scsi_port + g_remove $USB_GDIR/$NAA/tpgt_1/lun/lun_0 + g_remove $USB_GDIR/$NAA/tpgt_1/ + g_remove $USB_GDIR/$NAA/ + g_remove $USB_GDIR + BACKSTORE_DIR=$CORE_DIR/iblock_0/iblock + g_remove $BACKSTORE_DIR + BACKSTORE_DIR=$CORE_DIR/fileio_0/fileio + g_remove $BACKSTORE_DIR + BACKSTORE_DIR=$CORE_DIR/rd_mcp_0/ramdisk + g_remove $BACKSTORE_DIR + g_remove $GADGET_PATH/functions/tcm.0 +} + +## ADB + +adb_config() +{ + gadget_debug "add a adb function instance" + mkdir $GFUNC_PATH/ffs.adb +} + +adb_link() +{ + gadget_debug "add adb to usb config" + ln -s $GFUNC_PATH/ffs.adb/ $GCONFIG/ffs.adb + mkdir /dev/usb-ffs + mkdir /dev/usb-ffs/adb + mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb/ + #mkdir /dev/pts + #mount -t devpts -o defaults,mode=644,ptmxmode=666 devpts /dev/pts + adbd & + sleep 1 +} + +adb_unlink() +{ + gadget_debug "remove adb from usb config" + killall adbd + g_remove $GCONFIG/ffs.adb + [ -e /dev/usb-ffs/adb/ ] && umount /dev/usb-ffs/adb/ + #[ -e /dev/pts ] && umount /dev/pts + #g_remove /dev/pts + g_remove /dev/usb-ffs/adb + g_remove /dev/usb-ffs +} + +adb_clean() +{ + gadget_debug "clean adb" + g_remove $GFUNC_PATH/ffs.adb +} + +## UVC + +### Setup streaming/ directory. +add_uvc_fmt_resolution() +{ + FORMAT=$1 # $1 format "uncompressed/y" / "mjpeg/m" + UVC_DISPLAY_W=$2 # $2 Width + UVC_DISPLAY_H=$3 # $3 Height + FRAMERATE=$4 # $4 HIGH_FRAMERATE 0/1 + #https://docs.kernel.org/usb/gadget_uvc.html + UVC_MJPEG_PRE_PATH=$GFUNC_PATH/$UVC_INSTANCE/streaming/$FORMAT + UVC_FRAME_WDIR=${UVC_MJPEG_PRE_PATH}/${UVC_DISPLAY_H}p + gadget_debug "UVC_FRAME_WDIR: $UVC_FRAME_WDIR" + mkdir -p $UVC_FRAME_WDIR + echo $UVC_DISPLAY_W > $UVC_FRAME_WDIR/wWidth + echo $UVC_DISPLAY_H > $UVC_FRAME_WDIR/wHeight + DW_MAX_VD_FB_SZ=$(( $UVC_DISPLAY_W * $UVC_DISPLAY_H * 2 )) + if [ "$FORMAT"=="mjpeg/m" ]; then + if [ -e "$CONFIG_FILE" ]; then + # Attempt to parse the dwMaxVideoFrameBufferSize from ~/.uvcg_config + parsed_value=$(grep "^mjpeg $UVC_DISPLAY_W $UVC_DISPLAY_H" ~/.uvcg_config | awk '{print $4}') + # Check if the value was found; if not, keep the pre-calculated value + if [ ! -z "$parsed_value" ]; then + DW_MAX_VD_FB_SZ="$parsed_value" + fi + gadget_debug "format: $FORMAT, dw_max_video_fb_size: $DW_MAX_VD_FB_SZ" + fi + fi + echo $DW_MAX_VD_FB_SZ > $UVC_FRAME_WDIR/dwMaxVideoFrameBufferSize + # Many camera host app only shows the default framerate of a format in their list + # So we set it here. + if [ "$FRAMERATE" -eq 20 ]; then + echo 500000 > $UVC_FRAME_WDIR/dwDefaultFrameInterval + elif [ "$FRAMERATE" -eq 15 ]; then + echo 666666 > $UVC_FRAME_WDIR/dwDefaultFrameInterval + elif [ "$FRAMERATE" -eq 30 ]; then + echo 333333 > $UVC_FRAME_WDIR/dwDefaultFrameInterval + elif [ "$FRAMERATE" -eq 60 ]; then + echo 166666 > $UVC_FRAME_WDIR/dwDefaultFrameInterval + elif [ "$FRAMERATE" -eq 10 ]; then + echo 1000000 > $UVC_FRAME_WDIR/dwDefaultFrameInterval + fi + # lowest framerate in this script is 10fps + DW_MIN_BITRATE=$(( 10 * $DW_MAX_VD_FB_SZ * 8 )) + DW_MAX_BITRATE=$(( $FRAMERATE * $DW_MAX_VD_FB_SZ * 8 )) + if [ "$FORMAT"=="mjpeg/m" ]; then + # MJPEG can compress the data at least 5:1, + # let's set the ratio to 4 + DW_MIN_BITRATE=$(( $DW_MIN_BITRATE / 4 )) + gadget_debug "format: $FORMAT, dw_min_br: $DW_MIN_BITRATE" + fi + echo $DW_MIN_BITRATE > $UVC_FRAME_WDIR/dwMinBitRate + echo $DW_MAX_BITRATE > $UVC_FRAME_WDIR/dwMaxBitRate + echo -e "\t$UVC_INSTANCE will support ${FORMAT} ${UVC_DISPLAY_W}x${UVC_DISPLAY_H}@${FRAMERATE}p" + cat < $UVC_FRAME_WDIR/dwFrameInterval +166666 +333333 +416667 +500000 +666666 +1000000 +EOF +} + +destroy_one_uvc_format_() +{ + FORMAT=$1 + UVC_MJPEG_PRE_PATH=$GFUNC_PATH/$UVC_INSTANCE/streaming/$FORMAT + for ppath in ${UVC_MJPEG_PRE_PATH}/*p; do + g_remove $ppath + done +} + +destroy_all_uvc_format_() +{ + + destroy_one_uvc_format_ uncompressed/y + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/uncompressed/y + destroy_one_uvc_format_ mjpeg/m + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/mjpeg/m +} + +create_uvc_link_() +{ + mkdir $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h + ln -s $GFUNC_PATH/$UVC_INSTANCE/streaming/mjpeg/m/ $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/m + ln -s $GFUNC_PATH/$UVC_INSTANCE/streaming/uncompressed/y/ $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/y + ln -s $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/ $GFUNC_PATH/$UVC_INSTANCE/streaming/class/fs + ln -s $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/ $GFUNC_PATH/$UVC_INSTANCE/streaming/class/hs + ln -s $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/ $GFUNC_PATH/$UVC_INSTANCE/streaming/class/ss + mkdir $GFUNC_PATH/$UVC_INSTANCE/control/header/h + ln -s $GFUNC_PATH/$UVC_INSTANCE/control/header/h/ $GFUNC_PATH/$UVC_INSTANCE/control/class/fs/ + ln -s $GFUNC_PATH/$UVC_INSTANCE/control/header/h/ $GFUNC_PATH/$UVC_INSTANCE/control/class/ss/ +} + +destroy_uvc_link_() +{ + g_remove $GFUNC_PATH/$UVC_INSTANCE/control/class/fs/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/control/class/ss/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/control/header/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/class/ss/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/class/hs/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/class/fs/h + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/m + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h/y + g_remove $GFUNC_PATH/$UVC_INSTANCE/streaming/header/h +} + +destroy_uvc_() +{ + destroy_uvc_link_ + destroy_all_uvc_format_ + g_remove $GFUNC_PATH/$UVC_INSTANCE +} + +set_uvc_maxpacket_() +{ + MAX=$1 ## $1 1024/2048/3072 + BURST=$2 ## $2 1-15 + FUNCTION=$GFUNC_PATH/$UVC_INSTANCE + echo -e "\t$UVC_INSTANCE set streaming_maxpacket=$MAX, streaming_maxburst=$BURST" + echo $MAX > $FUNCTION/streaming_maxpacket + echo $BURST > $FUNCTION/streaming_maxburst +} + +uvc_config() +{ + UVC_INSTANCE=uvc.0 + gadget_info "Adding a uvc function instance $UVC_INSTANCE..." + mkdir -p $GFUNC_PATH/$UVC_INSTANCE + # add_uvc_fmt_resolution + add_uvc_fmt_resolution uncompressed/y 320 240 30 + add_uvc_fmt_resolution uncompressed/y 640 360 30 + add_uvc_fmt_resolution uncompressed/y 640 480 30 + add_uvc_fmt_resolution uncompressed/y 640 640 30 + add_uvc_fmt_resolution uncompressed/y 1280 720 30 + add_uvc_fmt_resolution uncompressed/y 1920 1080 30 + add_uvc_fmt_resolution uncompressed/y 3840 2160 30 + add_uvc_fmt_resolution mjpeg/m 640 360 30 + add_uvc_fmt_resolution mjpeg/m 640 480 30 + add_uvc_fmt_resolution mjpeg/m 1280 720 30 + add_uvc_fmt_resolution mjpeg/m 1920 1080 30 + add_uvc_fmt_resolution mjpeg/m 3840 2160 30 + set_uvc_maxpacket_ 3072 15 + create_uvc_link_ +} + +uvc_link() +{ + gadget_debug "add uvc to usb config, unlike adb, you have to run ur own uvc-gadget app" + UVC_INSTANCE=uvc.0 + ln -s $GFUNC_PATH/$UVC_INSTANCE/ $GCONFIG/$UVC_INSTANCE +} + +uvc_unlink() +{ + gadget_debug "remove uvc from usb config" + UVC_INSTANCE=uvc.0 + g_remove $GCONFIG/$UVC_INSTANCE +} + +uvc_clean() +{ + gadget_debug "clean uvc" + UVC_INSTANCE=uvc.0 + destroy_uvc_ +} + +## RNDIS + +rndis_config() +{ + OVERRIDE_VENDOR_FOR_WINDOWS=$1 + # create function instance + # functions/. + # f_function allowed: rndis + mkdir -p $GFUNC_PATH/rndis.0 +} + +rndis_link() +{ + + # Add Microsoft os descriptors to ensure + # Windows recognize us as an RNDIS compatible device + # thus no need to install driver manually. + # Verified on Windows 10. + echo 0xEF > $GADGET_PATH/bDeviceClass + echo 0x02 > $GADGET_PATH/bDeviceSubClass + echo 0x01 > $GADGET_PATH/bDeviceProtocol + echo 1 > $GADGET_PATH/os_desc/use + echo 0x1 > $GADGET_PATH/os_desc/b_vendor_code + echo "MSFT100" > $GADGET_PATH/os_desc/qw_sign + mkdir -p $GFUNC_PATH/rndis.0/os_desc/interface.rndis + echo RNDIS > $GFUNC_PATH/rndis.0/os_desc/interface.rndis/compatible_id + echo 5162001 > $GFUNC_PATH/rndis.0/os_desc/interface.rndis/sub_compatible_id + ln -s $GADGET_PATH/configs/c.1 $GADGET_PATH/os_desc/c.1 + + ln -s $GFUNC_PATH/rndis.0 $GCONFIG + HOST_ADDR=`cat $GFUNC_PATH/rndis.0/host_addr` + DEV_ADDR=`cat $GFUNC_PATH/rndis.0/dev_addr` + IFNAME=`cat $GFUNC_PATH/rndis.0/ifname` + gadget_info "rndis function enabled, mac(h): $HOST_ADDR, mac(g): $DEV_ADDR, ifname: $IFNAME." + gadget_info "execute ifconfig $IFNAME up to enable rndis iface." +} + +rndis_unlink() +{ + [ -e $GFUNC_PATH/rndis.0/ifname ] && ifconfig `cat $GFUNC_PATH/rndis.0/ifname` down + g_remove $GCONFIG/rndis.0 +} + +rndis_clean() +{ + g_remove $GFUNC_PATH/rndis.0 +} + +## MTP + +mtp_config() +{ + die "MTP Not Supported yet." +} + +mtp_link() +{ + die "MTP Not Supported yet." +} + +mtp_unlink() +{ + die "MTP Not Supported yet." +} + +mtp_clean() +{ + die "MTP Not Supported yet." +} + +## GADGET +no_udc() +{ + gadget_info "Echo none to udc" + gadget_info "We are now trying to echo None to UDC......" + [ -e $GADGET_PATH/UDC ] || die "gadget not configured yet" + [ `cat $GADGET_PATH/UDC` ] && echo "" > $GADGET_PATH/UDC + gadget_info "echo none to UDC successfully done" + gadget_info "echo none to UDC done." +} + +give_hint_to_which_have_udc_() +{ + for config_path in "/sys/kernel/config/usb_gadget/"*; do + udc_path="$config_path/UDC" + is_here=$(cat $udc_path | grep $selected_udc | wc -l) + if [ "$is_here" -gt 0 ]; then + gadget_info "ERROR: Your udc is occupied by: $udc_path" + fi + done +} + +echo_udc() +{ + [ -e $GADGET_PATH/UDC ] || die "gadget not configured yet" + [ `cat $GADGET_PATH/UDC` ] && die "UDC `cat $GADGET_PATH/UDC` already been set" + if [ "$USB_UDC_IDX" ]; then + selected_udc=$(ls /sys/class/udc | awk "NR==$USB_UDC_IDX{print}") + else + selected_udc=$USB_UDC + gadget_info "Selected udc by name: $selected_udc" + gadget_info "We are now trying to echo $selected_udc to UDC......" + fi + our_udc_occupied=$(cat /sys/kernel/config/usb_gadget/*/UDC | grep $selected_udc | wc -l) + if [ "$our_udc_occupied" -gt 0 ]; then + give_hint_to_which_have_udc_ + gadget_info "ERROR: configfs preserved, run $name resume after conflict resolved" + exit 127 + fi + echo $selected_udc > $GADGET_PATH/UDC + gadget_info "echo $selected_udc to UDC done" +} + +gconfig() +{ + gadget_info "config $VENDOR_ID/$PRODUC_ID/$SERNUM_STR/$MANUAF_STR/$PRODUC_STR." + mountpoint -q /sys/kernel/config || mount -t configfs none /sys/kernel/config + [ -e $GADGET_PATH ] && die "ERROR: gadget already configured, should run stop first" + mkdir $GADGET_PATH + echo $VENDOR_ID > $GADGET_PATH/idVendor + echo $PRODUC_ID > $GADGET_PATH/idProduct + mkdir $GADGET_PATH/strings/0x409 + echo $SERNUM_STR > $GADGET_PATH/strings/0x409/serialnumber + echo $MANUAF_STR > $GADGET_PATH/strings/0x409/manufacturer + echo $PRODUC_STR > $GADGET_PATH/strings/0x409/product + mkdir $GCONFIG + echo 0xc0 > $GCONFIG/bmAttributes + echo 500 > $GCONFIG/MaxPower + mkdir $GCONFIG/strings/0x409 + # Windows rndis driver requires rndis to be the first interface + [ $RNDIS = okay ] && rndis_config + [ $MSC = okay ] && msc_config + [ $UAS = okay ] && uas_config + [ $ADB = okay ] && adb_config + [ $UVC = okay ] && uvc_config +} + +gclean() +{ + [ -e $GADGET_PATH/UDC ] || die "gadget not configured, no need to clean" + msc_clean + uas_clean + rndis_clean + adb_clean + uvc_clean + # Remove string in gadget + gadget_info "remove strings of $GADGET_PATH." + g_remove $GADGET_PATH/strings/0x409 + # Remove gadget + gadget_info "remove $GADGET_PATH." + g_remove $GADGET_PATH +} + +glink() +{ + [ $RNDIS = okay ] && rndis_link + [ $MSC = okay ] && msc_link + [ $UAS = okay ] && uas_link + [ $ADB = okay ] && adb_link + [ $UVC = okay ] && uvc_link +} + +gunlink() +{ + [ -e $GADGET_PATH/UDC ] || die "gadget not configured yet" + rndis_unlink + msc_unlink + uas_unlink + adb_unlink + uvc_unlink + # Remove strings: + gadget_info "remove strings of c.1." + g_remove $GCONFIG/strings/0x409 + # Remove config: + gadget_info "remove configs c.1." + g_remove $GCONFIG +} + +select_one() +{ + func=$1 + + if [[ "$func" == "#"* ]];then + gadget_debug "met hashtag, skip" + return + fi + + if [[ "$func" == USB_UDC=* ]]; then + USB_UDC=$(echo $func | awk -F= '{print $2}') + gadget_info "Set USB_UDC to $USB_UDC from config file" + return + fi + + case "$func" in + msc*|mass*|storage*) + MSC=okay + MSC_ARG=$(echo $func | awk -F: '{print $2}') + ;; + "uvc"|"video|webcam") + UVC=okay + ;; + uas*|uasp*) + UAS=okay + UAS_ARG=$(echo $func | awk -F: '{print $2}') + ;; + "rndis"|"network"|"net"|"if") + RNDIS=okay + ;; + "mtp") + MTP=okay + ;; + "adb"|"fastboot"|"adbd") + ADB=okay + ;; + *) + die "not supported function: $func" + ;; + esac + gadget_info "Selected function $func" + let FUNCTION_CNT=FUNCTION_CNT+1 +} + +handle_select() { + local input_str=$1 + local IFS=, # split via comma + OLDIFS=$IFS # split functions + IFS=, + for token in $input_str; do + [ $DEBUG ] + select_one $token + done + IFS=$OLDIFS +} + +parse_config() +{ + [ -e $CONFIG_FILE ] || die "$CONFIG_FILE not found, abort." + while read line + do + select_one $line + done < $CONFIG_FILE +} + +gstart() +{ + gconfig + glink + [ $FUNCTION_CNT -lt 1 ] && die "No function selected, will not pullup." + echo_udc $1 +} + +gstop() +{ + no_udc + gunlink + gclean +} + +gen_role_switch_list() +{ + ROLE_SWITCH_LIST="" + # Find those names with dwc3 in the dir: /sys/kernel/debug/usb + for dir in /sys/kernel/debug/usb/*; do + if [[ -d "$dir" && "$dir" == *"dwc3"* ]]; then + ROLE_SWITCH_LIST="$(basename "$dir") $ROLE_SWITCH_LIST" + fi + done + # Find role-switch location in dir: /sys/class/usb_role/xxx-role-switch/ with a role file existing + for role_switch in /sys/class/usb_role/*-role-switch/; do + if [[ -d "$role_switch" && -f "${role_switch}role" ]]; then + ROLE_SWITCH_LIST="$(basename "$role_switch") $ROLE_SWITCH_LIST" + fi + done +} + +print_role_switch_info() +{ + gen_role_switch_list + echo -n "Available DRDs: " + echo "$ROLE_SWITCH_LIST" +} + +# Function to set the role for a specific role switch +set_role() { + if [ "$#" -lt 1 ]; then + echo "Usage: $name set_role [host|device]" + echo -e "\t$name set_role =[host|device]" + return 1 + fi + local input="$*" + local role_switch + local role + # Use awk to parse the input + echo "$input" | awk -F'[ =]' '{ + if (NF == 2) { + role_switch = $1; + role = $2; + } else if (NF == 1) { + role_switch = $1; + role = "NONE"; # Default role + } else if (NF >= 3) { + role_switch = $1; + role = $3; + sub(/=[^=]+$/, "", role_switch); # Remove the =part from role_switch + } + print role_switch, role + }' | { + read role_switch role + if [[ "$role_switch" == *"-role-switch" ]]; then + # It's a role-switch, verify its existence + local role_switch_path="/sys/class/usb_role/$role_switch/role" + if [ ! -e "$role_switch_path" ]; then + gadget_info "Error: Role switch '$role_switch' does not exist." + return 1 + fi + if [[ "$role" == "NONE" ]]; then + role=$(cat $role_switch_path) + gadget_info "Role for role switch '$role_switch' is currently '$role'." + else + echo "$role" > "$role_switch_path" + gadget_info "Role for'$role_switch' set to '$role'." + fi + else + # It's a controller type, verify its existence + local usb_controller_path="/sys/kernel/debug/usb/$role_switch/mode" + if [ ! -e "$usb_controller_path" ]; then + gadget_info "Error: controller support mode switch '$role_switch' does not exist." + return 1 + fi + if [[ "$role" == "NONE" ]]; then + role=$(cat $usb_controller_path) + gadget_info "Mode for '$role_switch' is currently '$role'." + else + echo "$role" > "$usb_controller_path" + sleep 1 + role_after="$(cat $usb_controller_path)" + if [[ "$role" != "$role_after" ]]; then + gadget_info "Error: controller '$role_switch' doesn't support mode switch!!!" + role="$(cat $usb_controller_path)" + gadget_info "Mode for Controller '$role_switch' is currently '$role'." + else + gadget_info "Mode for controller '$role_switch' set to '$role'." + fi + fi + fi + print_role_switch_info + } +} + +print_info() +{ + echo "Ky gadget-setup tool $SCRIPT_VERSION" + echo + echo "Board Model: `tr -d '\000' < /proc/device-tree/model`" + echo "Serial Number: $SERNUM_STR" + echo "General Config Info: $VENDOR_ID/$PRODUC_ID/$MANUAF_STR/$PRODUC_STR." + echo "Config File Path: $CONFIG_FILE" + echo "MSC Ramdisk Path (selected from tmpfs mounting point): $RAMDISK_PATH" + echo "UASP SCSI NAA: $NAA" + echo "UASP Target Dir: $USB_GDIR" + echo "Available UDCs: `ls -1 /sys/class/udc/ | tr '\n' ' '`" + print_role_switch_info + echo +} + +## MAIN +case "$1" in + stop|clean) + gstop + ;; + restart|reload) + gstop + parse_config + gstart + ;; + start) + parse_config + gstart $2 + ;; + pause|disconnect) + no_udc + ;; + resume|connect) + USBDEV_IDX=$2 + echo_udc + ;; + config) + vi $CONFIG_FILE + [ -e $CONFIG_FILE ] && gadget_info ".usb_config updated" + ;; + help) + usage + ;; + info) + print_info + ;; + set_role|role_switch|role|rolesw|mode|switch|dr_mode) + shift + set_role "$@" + ;; + [a-z]*) + handle_select $1 + gstart $2 + ;; + *) + usage + ;; +esac + +exit $? diff --git a/external/packages/bsp/ky/usr/lib/firmware/esos.elf b/external/packages/bsp/ky/usr/lib/firmware/esos.elf new file mode 100755 index 0000000000000000000000000000000000000000..af1fa4dbe986c90184ab01f5a8527a8e533c3d21 GIT binary patch literal 103196 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 literal 0 HcmV?d00001 diff --git a/external/packages/bsp/ky/usr/lib/systemd/system/getty@.service.d/override.conf b/external/packages/bsp/ky/usr/lib/systemd/system/getty@.service.d/override.conf new file mode 100644 index 000000000000..da9dce6cf1d9 --- /dev/null +++ b/external/packages/bsp/ky/usr/lib/systemd/system/getty@.service.d/override.conf @@ -0,0 +1,5 @@ +[Service] +ExecStartPre=/bin/sh -c 'exec /bin/sleep 10' +ExecStart= +ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM +Type=idle diff --git a/external/packages/bsp/ky/usr/lib/systemd/system/serial-getty@.service.d/override.conf b/external/packages/bsp/ky/usr/lib/systemd/system/serial-getty@.service.d/override.conf new file mode 100644 index 000000000000..da9dce6cf1d9 --- /dev/null +++ b/external/packages/bsp/ky/usr/lib/systemd/system/serial-getty@.service.d/override.conf @@ -0,0 +1,5 @@ +[Service] +ExecStartPre=/bin/sh -c 'exec /bin/sleep 10' +ExecStart= +ExecStart=-/sbin/agetty --noissue --autologin orangepi %I $TERM +Type=idle diff --git a/external/packages/bsp/ky/usr/local/bin/auto_login_cli.sh b/external/packages/bsp/ky/usr/local/bin/auto_login_cli.sh new file mode 100755 index 000000000000..4831bb2332b0 --- /dev/null +++ b/external/packages/bsp/ky/usr/local/bin/auto_login_cli.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +if [[ -z $1 ]]; then + user=root +else + user=$1 +fi + +[[ -d /lib/systemd/system/getty@.service.d/ ]] && rm /lib/systemd/system/getty@.service.d/ -rf +[[ -f /lib/systemd/system/serial-getty@.service.d/override.conf ]] && rm /lib/systemd/system/serial-getty@.service.d/override.conf -f +[[ -d /etc/systemd/system/getty@.service.d/ ]] && rm /etc/systemd/system/getty@.service.d/ -rf +[[ -f /etc/systemd/system/serial-getty@.service.d/override.conf ]] && rm /etc/systemd/system/serial-getty@.service.d/override.conf -f + +if [[ $1 == "-d" ]]; then + exit +fi + +mkdir -p /etc/systemd/system/getty@.service.d/ +mkdir -p /etc/systemd/system/serial-getty@.service.d/ +cat <<-EOF > \ +/etc/systemd/system/serial-getty@.service.d/override.conf +[Service] +ExecStartPre=/bin/sh -c 'exec /bin/sleep 10' +ExecStart= +ExecStart=-/sbin/agetty --noissue --autologin ${user} %I \$TERM +Type=idle +EOF +cp /etc/systemd/system/serial-getty@.service.d/override.conf \ +/etc/systemd/system/getty@.service.d/override.conf diff --git a/external/packages/bsp/ky/usr/local/bin/create_ap b/external/packages/bsp/ky/usr/local/bin/create_ap new file mode 100755 index 000000000000..882cad21e25c --- /dev/null +++ b/external/packages/bsp/ky/usr/local/bin/create_ap @@ -0,0 +1,1919 @@ +#!/bin/bash + +# general dependencies: +# bash (to run this script) +# util-linux (for getopt) +# procps or procps-ng +# hostapd +# iproute2 +# iw +# iwconfig (you only need this if 'iw' can not recognize your adapter) +# haveged (optional) + +# dependencies for 'nat' or 'none' Internet sharing method +# dnsmasq +# iptables + +VERSION=0.4.6 +PROGNAME="$(basename $0)" + +# make sure that all command outputs are in english +# so we can parse them correctly +export LC_ALL=C + +# all new files and directories must be readable only by root. +# in special cases we must use chmod to give any other permissions. +SCRIPT_UMASK=0077 +umask $SCRIPT_UMASK + +usage() { + echo "Usage: "$PROGNAME" [options] [] [ []]" + echo + echo "Options:" + echo " -h, --help Show this help" + echo " --version Print version number" + echo " -c Channel number (default: 1)" + echo " -w Use 1 for WPA, use 2 for WPA2, use 1+2 for both (default: 1+2)" + echo " -n Disable Internet sharing (if you use this, don't pass" + echo " the argument)" + echo " -m Method for Internet sharing." + echo " Use: 'nat' for NAT (default)" + echo " 'bridge' for bridging" + echo " 'none' for no Internet sharing (equivalent to -n)" + echo " --psk Use 64 hex digits pre-shared-key instead of passphrase" + echo " --hidden Make the Access Point hidden (do not broadcast the SSID)" + echo " --mac-filter Enable MAC address filtering" + echo " --mac-filter-accept Location of MAC address filter list (defaults to /etc/hostapd/hostapd.accept)" + echo " --redirect-to-localhost If -n is set, redirect every web request to localhost (useful for public information networks)" + echo " --hostapd-debug With level between 1 and 2, passes arguments -d or -dd to hostapd for debugging." + echo " --isolate-clients Disable communication between clients" + echo " --ieee80211n Enable IEEE 802.11n (HT)" + echo " --ieee80211ac Enable IEEE 802.11ac (VHT)" + echo " --ht_capab HT capabilities (default: [HT40+])" + echo " --vht_capab VHT capabilities" + echo " --country Set two-letter country code for regularity (example: US)" + echo " --freq-band Set frequency band. Valid inputs: 2.4, 5 (default: 2.4)" + echo " --driver Choose your WiFi adapter driver (default: nl80211)" + echo " --no-virt Do not create virtual interface" + echo " --no-haveged Do not run 'haveged' automatically when needed" + echo " --fix-unmanaged If NetworkManager shows your interface as unmanaged after you" + echo " close create_ap, then use this option to switch your interface" + echo " back to managed" + echo " --mac Set MAC address" + echo " --dhcp-dns Set DNS returned by DHCP" + echo " --daemon Run create_ap in the background" + echo " --pidfile Save daemon PID to file" + echo " --logfile Save daemon messages to file" + echo " --stop Send stop command to an already running create_ap. For an " + echo " you can put the PID of create_ap or the WiFi interface. You can" + echo " get them with --list-running" + echo " --list-running Show the create_ap processes that are already running" + echo " --list-clients List the clients connected to create_ap instance associated with ." + echo " For an you can put the PID of create_ap or the WiFi interface." + echo " If virtual WiFi interface was created, then use that one." + echo " You can get them with --list-running" + echo " --mkconfig Store configs in conf_file" + echo " --config Load configs from conf_file" + echo + echo "Non-Bridging Options:" + echo " --no-dns Disable dnsmasq DNS server" + echo " --no-dnsmasq Disable dnsmasq server completely" + echo " -g IPv4 Gateway for the Access Point (default: 192.168.12.1)" + echo " -d DNS server will take into account /etc/hosts" + echo " -e DNS server will take into account additional hosts file" + echo + echo "Useful informations:" + echo " * If you're not using the --no-virt option, then you can create an AP with the same" + echo " interface you are getting your Internet connection." + echo " * You can pass your SSID and password through pipe or through arguments (see examples)." + echo " * On bridge method if the is not a bridge interface, then" + echo " a bridge interface is created automatically." + echo + echo "Examples:" + echo " "$PROGNAME" wlan0 eth0 MyAccessPoint MyPassPhrase" + echo " echo -e 'MyAccessPoint\nMyPassPhrase' | "$PROGNAME" wlan0 eth0" + echo " "$PROGNAME" wlan0 eth0 MyAccessPoint" + echo " echo 'MyAccessPoint' | "$PROGNAME" wlan0 eth0" + echo " "$PROGNAME" wlan0 wlan0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" -n wlan0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" -m bridge wlan0 eth0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" -m bridge wlan0 br0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" --driver rtl871xdrv wlan0 eth0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" --daemon wlan0 eth0 MyAccessPoint MyPassPhrase" + echo " "$PROGNAME" --stop wlan0" +} + +# Busybox polyfills +if cp --help 2>&1 | grep -q -- --no-clobber; then + cp_n() { + cp -n "$@" + } +else + cp_n() { + yes n | cp -i "$@" + } +fi + +# on success it echos a non-zero unused FD +# on error it echos 0 +get_avail_fd() { + local x + for x in $(seq 1 $(ulimit -n)); do + if [[ ! -a "/proc/$BASHPID/fd/$x" ]]; then + echo $x + return + fi + done + echo 0 +} + +# lock file for the mutex counter +COUNTER_LOCK_FILE=/tmp/create_ap.$$.lock + +cleanup_lock() { + rm -f $COUNTER_LOCK_FILE +} + +init_lock() { + local LOCK_FILE=/tmp/create_ap.all.lock + + # we initialize only once + [[ $LOCK_FD -ne 0 ]] && return 0 + + LOCK_FD=$(get_avail_fd) + [[ $LOCK_FD -eq 0 ]] && return 1 + + # open/create lock file with write access for all users + # otherwise normal users will not be able to use it. + # to avoid race conditions on creation, we need to + # use umask to set the permissions. + umask 0555 + eval "exec $LOCK_FD>$LOCK_FILE" > /dev/null 2>&1 || return 1 + umask $SCRIPT_UMASK + + # there is a case where lock file was created from a normal + # user. change the owner to root as soon as we can. + [[ $(id -u) -eq 0 ]] && chown 0:0 $LOCK_FILE + + # create mutex counter lock file + echo 0 > $COUNTER_LOCK_FILE + + return $? +} + +# recursive mutex lock for all create_ap processes +mutex_lock() { + local counter_mutex_fd + local counter + + # lock local mutex and read counter + counter_mutex_fd=$(get_avail_fd) + if [[ $counter_mutex_fd -ne 0 ]]; then + eval "exec $counter_mutex_fd<>$COUNTER_LOCK_FILE" + flock $counter_mutex_fd + read -u $counter_mutex_fd counter + else + echo "Failed to lock mutex counter" >&2 + return 1 + fi + + # lock global mutex and increase counter + [[ $counter -eq 0 ]] && flock $LOCK_FD + counter=$(( $counter + 1 )) + + # write counter and unlock local mutex + echo $counter > /proc/$BASHPID/fd/$counter_mutex_fd + eval "exec ${counter_mutex_fd}<&-" + return 0 +} + +# recursive mutex unlock for all create_ap processes +mutex_unlock() { + local counter_mutex_fd + local counter + + # lock local mutex and read counter + counter_mutex_fd=$(get_avail_fd) + if [[ $counter_mutex_fd -ne 0 ]]; then + eval "exec $counter_mutex_fd<>$COUNTER_LOCK_FILE" + flock $counter_mutex_fd + read -u $counter_mutex_fd counter + else + echo "Failed to lock mutex counter" >&2 + return 1 + fi + + # decrease counter and unlock global mutex + if [[ $counter -gt 0 ]]; then + counter=$(( $counter - 1 )) + [[ $counter -eq 0 ]] && flock -u $LOCK_FD + fi + + # write counter and unlock local mutex + echo $counter > /proc/$BASHPID/fd/$counter_mutex_fd + eval "exec ${counter_mutex_fd}<&-" + return 0 +} + +# it takes 2 arguments +# returns: +# 0 if v1 (1st argument) and v2 (2nd argument) are the same +# 1 if v1 is less than v2 +# 2 if v1 is greater than v2 +version_cmp() { + local V1 V2 VN x + [[ ! $1 =~ ^[0-9]+(\.[0-9]+)*$ ]] && die "Wrong version format!" + [[ ! $2 =~ ^[0-9]+(\.[0-9]+)*$ ]] && die "Wrong version format!" + + V1=( $(echo $1 | tr '.' ' ') ) + V2=( $(echo $2 | tr '.' ' ') ) + VN=${#V1[@]} + [[ $VN -lt ${#V2[@]} ]] && VN=${#V2[@]} + + for ((x = 0; x < $VN; x++)); do + [[ ${V1[x]} -lt ${V2[x]} ]] && return 1 + [[ ${V1[x]} -gt ${V2[x]} ]] && return 2 + done + + return 0 +} + +USE_IWCONFIG=0 + +is_interface() { + [[ -z "$1" ]] && return 1 + [[ -d "/sys/class/net/${1}" ]] +} + +is_wifi_interface() { + which iw > /dev/null 2>&1 && iw dev $1 info > /dev/null 2>&1 && return 0 + if which iwconfig > /dev/null 2>&1 && iwconfig $1 > /dev/null 2>&1; then + USE_IWCONFIG=1 + return 0 + fi + return 1 +} + +is_bridge_interface() { + [[ -z "$1" ]] && return 1 + [[ -d "/sys/class/net/${1}/bridge" ]] +} + +get_phy_device() { + local x + for x in /sys/class/ieee80211/*; do + [[ ! -e "$x" ]] && continue + if [[ "${x##*/}" = "$1" ]]; then + echo $1 + return 0 + elif [[ -e "$x/device/net/$1" ]]; then + echo ${x##*/} + return 0 + elif [[ -e "$x/device/net:$1" ]]; then + echo ${x##*/} + return 0 + else + if [[ -e "/sys/class/net/$1" ]]; then + phy=$(readlink -f /sys/class/net/$1/phy80211) + phy1=$(readlink -f $x) + if [[ $phy == $phy1 ]]; then + echo ${x##*/} + return 0 + fi + fi + fi + done + echo "Failed to get phy interface" >&2 + return 1 +} + +get_adapter_info() { + local PHY + PHY=$(get_phy_device "$1") + [[ $? -ne 0 ]] && return 1 + iw phy $PHY info +} + +get_adapter_kernel_module() { + local MODULE + MODULE=$(readlink -f "/sys/class/net/$1/device/driver/module") + echo ${MODULE##*/} +} + +can_be_sta_and_ap() { + # iwconfig does not provide this information, assume false + [[ $USE_IWCONFIG -eq 1 ]] && return 1 + if [[ "$(get_adapter_kernel_module "$1")" == "brcmfmac" ]]; then + echo "WARN: brmfmac driver doesn't work properly with virtual interfaces and" >&2 + echo " it can cause kernel panic. For this reason we disallow virtual" >&2 + echo " interfaces for your adapter." >&2 + echo " For more info: https://github.com/oblique/create_ap/issues/203" >&2 + return 1 + fi + get_adapter_info "$1" | grep -E '{.* managed.* AP.*}' > /dev/null 2>&1 && return 0 + get_adapter_info "$1" | grep -E '{.* AP.* managed.*}' > /dev/null 2>&1 && return 0 + return 1 +} + +can_be_ap() { + # iwconfig does not provide this information, assume true + [[ $USE_IWCONFIG -eq 1 ]] && return 0 + get_adapter_info "$1" | grep -E '\* AP$' > /dev/null 2>&1 && return 0 + return 1 +} + +can_transmit_to_channel() { + local IFACE CHANNEL_NUM CHANNEL_INFO + IFACE=$1 + CHANNEL_NUM=$2 + + if [[ $USE_IWCONFIG -eq 0 ]]; then + if [[ $FREQ_BAND == 2.4 ]]; then + CHANNEL_INFO=$(get_adapter_info ${IFACE} | grep " 24[0-9][0-9].0 MHz \[${CHANNEL_NUM}\]") + else + CHANNEL_INFO=$(get_adapter_info ${IFACE} | grep " \(49[0-9][0-9]\|5[0-9]\{3\}.0\) MHz \[${CHANNEL_NUM}\]") + fi + [[ -z "${CHANNEL_INFO}" ]] && return 1 + [[ "${CHANNEL_INFO}" == *no\ IR* ]] && return 1 + [[ "${CHANNEL_INFO}" == *disabled* ]] && return 1 + return 0 + else + CHANNEL_NUM=$(printf '%02d' ${CHANNEL_NUM}) + CHANNEL_INFO=$(iwlist ${IFACE} channel | grep -E "Channel[[:blank:]]${CHANNEL_NUM}[[:blank:]]?:") + [[ -z "${CHANNEL_INFO}" ]] && return 1 + return 0 + fi +} + +# taken from iw/util.c +ieee80211_frequency_to_channel() { + local FREQ=$1 + if [[ $FREQ -eq 2484 ]]; then + echo 14 + elif [[ $FREQ -lt 2484 ]]; then + echo $(( ($FREQ - 2407) / 5 )) + elif [[ $FREQ -ge 4910 && $FREQ -le 4980 ]]; then + echo $(( ($FREQ - 4000) / 5 )) + elif [[ $FREQ -le 45000 ]]; then + echo $(( ($FREQ - 5000) / 5 )) + elif [[ $FREQ -ge 58320 && $FREQ -le 64800 ]]; then + echo $(( ($FREQ - 56160) / 2160 )) + else + echo 0 + fi +} + +is_5ghz_frequency() { + [[ $1 =~ ^(49[0-9]{2})|(5[0-9]{3})$ ]] +} + +is_wifi_connected() { + if [[ $USE_IWCONFIG -eq 0 ]]; then + iw dev "$1" link 2>&1 | grep -E '^Connected to' > /dev/null 2>&1 && return 0 + else + iwconfig "$1" 2>&1 | grep -E 'Access Point: [0-9a-fA-F]{2}:' > /dev/null 2>&1 && return 0 + fi + return 1 +} + +is_macaddr() { + echo "$1" | grep -E "^([0-9a-fA-F]{2}:){5}[0-9a-fA-F]{2}$" > /dev/null 2>&1 +} + +is_unicast_macaddr() { + local x + is_macaddr "$1" || return 1 + x=$(echo "$1" | cut -d: -f1) + x=$(printf '%d' "0x${x}") + [[ $(expr $x % 2) -eq 0 ]] +} + +get_macaddr() { + is_interface "$1" || return + cat "/sys/class/net/${1}/address" +} + +get_mtu() { + is_interface "$1" || return + cat "/sys/class/net/${1}/mtu" +} + +alloc_new_iface() { + local prefix=$1 + local i=0 + + mutex_lock + while :; do + if ! is_interface $prefix$i && [[ ! -f $COMMON_CONFDIR/ifaces/$prefix$i ]]; then + mkdir -p $COMMON_CONFDIR/ifaces + touch $COMMON_CONFDIR/ifaces/$prefix$i + echo $prefix$i + mutex_unlock + return + fi + i=$((i + 1)) + done + mutex_unlock +} + +dealloc_iface() { + rm -f $COMMON_CONFDIR/ifaces/$1 +} + +get_all_macaddrs() { + cat /sys/class/net/*/address +} + +get_new_macaddr() { + local OLDMAC NEWMAC LAST_BYTE i + OLDMAC=$(get_macaddr "$1") + LAST_BYTE=$(printf %d 0x${OLDMAC##*:}) + mutex_lock + for i in {1..255}; do + NEWMAC="${OLDMAC%:*}:$(printf %02x $(( ($LAST_BYTE + $i) % 256 )))" + (get_all_macaddrs | grep "$NEWMAC" > /dev/null 2>&1) || break + done + mutex_unlock + echo $NEWMAC +} + +# start haveged when needed +haveged_watchdog() { + local show_warn=1 + while :; do + mutex_lock + if [[ $(cat /proc/sys/kernel/random/entropy_avail) -lt 1000 ]]; then + if ! which haveged > /dev/null 2>&1; then + if [[ $show_warn -eq 1 ]]; then + echo "WARN: Low entropy detected. We recommend you to install \`haveged'" + show_warn=0 + fi + elif ! pidof haveged > /dev/null 2>&1; then + echo "Low entropy detected, starting haveged" + # boost low-entropy + haveged -w 1024 -p $COMMON_CONFDIR/haveged.pid + fi + fi + mutex_unlock + sleep 2 + done +} + +NETWORKMANAGER_CONF=/etc/NetworkManager/NetworkManager.conf +NM_OLDER_VERSION=1 + +networkmanager_exists() { + local NM_VER + which nmcli > /dev/null 2>&1 || return 1 + NM_VER=$(nmcli -v | grep -m1 -oE '[0-9]+(\.[0-9]+)*\.[0-9]+') + version_cmp $NM_VER 0.9.9 + if [[ $? -eq 1 ]]; then + NM_OLDER_VERSION=1 + else + NM_OLDER_VERSION=0 + fi + return 0 +} + +networkmanager_is_running() { + local NMCLI_OUT + networkmanager_exists || return 1 + if [[ $NM_OLDER_VERSION -eq 1 ]]; then + NMCLI_OUT=$(nmcli -t -f RUNNING nm 2>&1 | grep -E '^running$') + else + NMCLI_OUT=$(nmcli -t -f RUNNING g 2>&1 | grep -E '^running$') + fi + [[ -n "$NMCLI_OUT" ]] +} + +networkmanager_knows_iface() { + # check if the interface $1 is known to NetworkManager + # an interface may exist but may not be known to NetworkManager if it is in a different network namespace than NetworkManager + nmcli -t -f DEVICE d 2>&1 | grep -Fxq "$1" +} + +networkmanager_iface_is_unmanaged() { + is_interface "$1" || return 2 + networkmanager_knows_iface "$1" || return 0 + (nmcli -t -f DEVICE,STATE d 2>&1 | grep -E "^$1:unmanaged$" > /dev/null 2>&1) || return 1 +} + +ADDED_UNMANAGED= + +networkmanager_add_unmanaged() { + local MAC UNMANAGED WAS_EMPTY x + networkmanager_exists || return 1 + + [[ -d ${NETWORKMANAGER_CONF%/*} ]] || mkdir -p ${NETWORKMANAGER_CONF%/*} + [[ -f ${NETWORKMANAGER_CONF} ]] || touch ${NETWORKMANAGER_CONF} + + if [[ $NM_OLDER_VERSION -eq 1 ]]; then + if [[ -z "$2" ]]; then + MAC=$(get_macaddr "$1") + else + MAC="$2" + fi + [[ -z "$MAC" ]] && return 1 + fi + + mutex_lock + UNMANAGED=$(grep -m1 -Eo '^unmanaged-devices=[[:alnum:]:;,-]*' /etc/NetworkManager/NetworkManager.conf) + + WAS_EMPTY=0 + [[ -z "$UNMANAGED" ]] && WAS_EMPTY=1 + UNMANAGED=$(echo "$UNMANAGED" | sed 's/unmanaged-devices=//' | tr ';,' ' ') + + # if it exists, do nothing + for x in $UNMANAGED; do + if [[ $x == "mac:${MAC}" ]] || + [[ $NM_OLDER_VERSION -eq 0 && $x == "interface-name:${1}" ]]; then + mutex_unlock + return 2 + fi + done + + if [[ $NM_OLDER_VERSION -eq 1 ]]; then + UNMANAGED="${UNMANAGED} mac:${MAC}" + else + UNMANAGED="${UNMANAGED} interface-name:${1}" + fi + + UNMANAGED=$(echo $UNMANAGED | sed -e 's/^ //') + UNMANAGED="${UNMANAGED// /;}" + UNMANAGED="unmanaged-devices=${UNMANAGED}" + + if ! grep -E '^\[keyfile\]' ${NETWORKMANAGER_CONF} > /dev/null 2>&1; then + echo -e "\n\n[keyfile]\n${UNMANAGED}" >> ${NETWORKMANAGER_CONF} + elif [[ $WAS_EMPTY -eq 1 ]]; then + sed -e "s/^\(\[keyfile\].*\)$/\1\n${UNMANAGED}/" -i ${NETWORKMANAGER_CONF} + else + sed -e "s/^unmanaged-devices=.*/${UNMANAGED}/" -i ${NETWORKMANAGER_CONF} + fi + + ADDED_UNMANAGED="${ADDED_UNMANAGED} ${1} " + mutex_unlock + + local nm_pid=$(pidof NetworkManager) + [[ -n "$nm_pid" ]] && kill -HUP $nm_pid + + return 0 +} + +networkmanager_rm_unmanaged() { + local MAC UNMANAGED + networkmanager_exists || return 1 + [[ ! -f ${NETWORKMANAGER_CONF} ]] && return 1 + + if [[ $NM_OLDER_VERSION -eq 1 ]]; then + if [[ -z "$2" ]]; then + MAC=$(get_macaddr "$1") + else + MAC="$2" + fi + [[ -z "$MAC" ]] && return 1 + fi + + mutex_lock + UNMANAGED=$(grep -m1 -Eo '^unmanaged-devices=[[:alnum:]:;,-]*' /etc/NetworkManager/NetworkManager.conf | sed 's/unmanaged-devices=//' | tr ';,' ' ') + + if [[ -z "$UNMANAGED" ]]; then + mutex_unlock + return 1 + fi + + [[ -n "$MAC" ]] && UNMANAGED=$(echo $UNMANAGED | sed -e "s/mac:${MAC}\( \|$\)//g") + UNMANAGED=$(echo $UNMANAGED | sed -e "s/interface-name:${1}\( \|$\)//g") + UNMANAGED=$(echo $UNMANAGED | sed -e 's/ $//') + + if [[ -z "$UNMANAGED" ]]; then + sed -e "/^unmanaged-devices=.*/d" -i ${NETWORKMANAGER_CONF} + else + UNMANAGED="${UNMANAGED// /;}" + UNMANAGED="unmanaged-devices=${UNMANAGED}" + sed -e "s/^unmanaged-devices=.*/${UNMANAGED}/" -i ${NETWORKMANAGER_CONF} + fi + + ADDED_UNMANAGED="${ADDED_UNMANAGED/ ${1} /}" + mutex_unlock + + local nm_pid=$(pidof NetworkManager) + [[ -n "$nm_pid" ]] && kill -HUP $nm_pid + + return 0 +} + +networkmanager_fix_unmanaged() { + [[ -f ${NETWORKMANAGER_CONF} ]] || return + + mutex_lock + sed -e "/^unmanaged-devices=.*/d" -i ${NETWORKMANAGER_CONF} + mutex_unlock + + local nm_pid=$(pidof NetworkManager) + [[ -n "$nm_pid" ]] && kill -HUP $nm_pid +} + +networkmanager_rm_unmanaged_if_needed() { + [[ $ADDED_UNMANAGED =~ .*\ ${1}\ .* ]] && networkmanager_rm_unmanaged $1 $2 +} + +networkmanager_wait_until_unmanaged() { + local RES + networkmanager_is_running || return 1 + while :; do + networkmanager_iface_is_unmanaged "$1" + RES=$? + [[ $RES -eq 0 ]] && break + [[ $RES -eq 2 ]] && die "Interface '${1}' does not exist. + It's probably renamed by a udev rule." + sleep 1 + done + sleep 2 + return 0 +} + + +CHANNEL=default +GATEWAY=192.168.12.1 +WPA_VERSION=1+2 +ETC_HOSTS=0 +ADDN_HOSTS= +DHCP_DNS=gateway +NO_DNS=0 +NO_DNSMASQ=0 +DNS_PORT= +HIDDEN=0 +MAC_FILTER=0 +MAC_FILTER_ACCEPT=/etc/hostapd/hostapd.accept +ISOLATE_CLIENTS=0 +SHARE_METHOD=nat +IEEE80211N=0 +IEEE80211AC=0 +HT_CAPAB='[HT40+]' +VHT_CAPAB= +DRIVER=nl80211 +NO_VIRT=0 +COUNTRY= +FREQ_BAND=2.4 +NEW_MACADDR= +DAEMONIZE=0 +DAEMON_PIDFILE= +DAEMON_LOGFILE=/dev/null +NO_HAVEGED=0 +USE_PSK=0 + +HOSTAPD_DEBUG_ARGS= +REDIRECT_TO_LOCALHOST=0 + +CONFIG_OPTS=(CHANNEL GATEWAY WPA_VERSION ETC_HOSTS DHCP_DNS NO_DNS NO_DNSMASQ HIDDEN MAC_FILTER MAC_FILTER_ACCEPT ISOLATE_CLIENTS + SHARE_METHOD IEEE80211N IEEE80211AC HT_CAPAB VHT_CAPAB DRIVER NO_VIRT COUNTRY FREQ_BAND + NEW_MACADDR DAEMONIZE DAEMON_PIDFILE DAEMON_LOGFILE NO_HAVEGED WIFI_IFACE INTERNET_IFACE + SSID PASSPHRASE USE_PSK) + +FIX_UNMANAGED=0 +LIST_RUNNING=0 +STOP_ID= +LIST_CLIENTS_ID= + +STORE_CONFIG= +LOAD_CONFIG= + +CONFDIR= +WIFI_IFACE= +VWIFI_IFACE= +INTERNET_IFACE= +BRIDGE_IFACE= +OLD_MACADDR= +IP_ADDRS= +ROUTE_ADDRS= + +HAVEGED_WATCHDOG_PID= + +_cleanup() { + local PID x + + trap "" SIGINT SIGUSR1 SIGUSR2 EXIT + mutex_lock + disown -a + + # kill haveged_watchdog + [[ -n "$HAVEGED_WATCHDOG_PID" ]] && kill $HAVEGED_WATCHDOG_PID + + # kill processes + for x in $CONFDIR/*.pid; do + # even if the $CONFDIR is empty, the for loop will assign + # a value in $x. so we need to check if the value is a file + [[ -f $x ]] && kill -9 $(cat $x) + done + + rm -rf $CONFDIR + + local found=0 + for x in $(list_running_conf); do + if [[ -f $x/nat_internet_iface && $(cat $x/nat_internet_iface) == $INTERNET_IFACE ]]; then + found=1 + break + fi + done + + if [[ $found -eq 0 ]]; then + cp -f $COMMON_CONFDIR/${INTERNET_IFACE}_forwarding \ + /proc/sys/net/ipv4/conf/$INTERNET_IFACE/forwarding + rm -f $COMMON_CONFDIR/${INTERNET_IFACE}_forwarding + fi + + # if we are the last create_ap instance then set back the common values + if ! has_running_instance; then + # kill common processes + for x in $COMMON_CONFDIR/*.pid; do + [[ -f $x ]] && kill -9 $(cat $x) + done + + # set old ip_forward + if [[ -f $COMMON_CONFDIR/ip_forward ]]; then + cp -f $COMMON_CONFDIR/ip_forward /proc/sys/net/ipv4 + rm -f $COMMON_CONFDIR/ip_forward + fi + + # set old bridge-nf-call-iptables + if [[ -f $COMMON_CONFDIR/bridge-nf-call-iptables ]]; then + if [[ -e /proc/sys/net/bridge/bridge-nf-call-iptables ]]; then + cp -f $COMMON_CONFDIR/bridge-nf-call-iptables /proc/sys/net/bridge + fi + rm -f $COMMON_CONFDIR/bridge-nf-call-iptables + fi + + rm -rf $COMMON_CONFDIR + fi + + if [[ "$SHARE_METHOD" != "none" ]]; then + if [[ "$SHARE_METHOD" == "nat" ]]; then + iptables -w -t nat -D POSTROUTING -s ${GATEWAY%.*}.0/24 ! -o ${WIFI_IFACE} -j MASQUERADE + iptables -w -D FORWARD -i ${WIFI_IFACE} -s ${GATEWAY%.*}.0/24 -j ACCEPT + iptables -w -D FORWARD -i ${INTERNET_IFACE} -d ${GATEWAY%.*}.0/24 -j ACCEPT + elif [[ "$SHARE_METHOD" == "bridge" ]]; then + if ! is_bridge_interface $INTERNET_IFACE; then + ip link set dev $BRIDGE_IFACE down + ip link set dev $INTERNET_IFACE down + ip link set dev $INTERNET_IFACE promisc off + ip link set dev $INTERNET_IFACE nomaster + ip link delete $BRIDGE_IFACE type bridge + ip addr flush $INTERNET_IFACE + ip link set dev $INTERNET_IFACE up + dealloc_iface $BRIDGE_IFACE + + for x in "${IP_ADDRS[@]}"; do + x="${x/inet/}" + x="${x/secondary/}" + x="${x/dynamic/}" + x=$(echo $x | sed 's/\([0-9]\)sec/\1/g') + x="${x/${INTERNET_IFACE}/}" + ip addr add $x dev $INTERNET_IFACE + done + + ip route flush dev $INTERNET_IFACE + + for x in "${ROUTE_ADDRS[@]}"; do + [[ -z "$x" ]] && continue + [[ "$x" == default* ]] && continue + ip route add $x dev $INTERNET_IFACE + done + + for x in "${ROUTE_ADDRS[@]}"; do + [[ -z "$x" ]] && continue + [[ "$x" != default* ]] && continue + ip route add $x dev $INTERNET_IFACE + done + + networkmanager_rm_unmanaged_if_needed $INTERNET_IFACE + fi + fi + fi + + if [[ "$SHARE_METHOD" != "bridge" ]]; then + if [[ $NO_DNS -eq 0 ]]; then + iptables -w -D INPUT -p tcp -m tcp --dport $DNS_PORT -j ACCEPT + iptables -w -D INPUT -p udp -m udp --dport $DNS_PORT -j ACCEPT + iptables -w -t nat -D PREROUTING -s ${GATEWAY%.*}.0/24 -d ${GATEWAY} \ + -p tcp -m tcp --dport 53 -j REDIRECT --to-ports $DNS_PORT + iptables -w -t nat -D PREROUTING -s ${GATEWAY%.*}.0/24 -d ${GATEWAY} \ + -p udp -m udp --dport 53 -j REDIRECT --to-ports $DNS_PORT + fi + iptables -w -D INPUT -p udp -m udp --dport 67 -j ACCEPT + fi + + if [[ $NO_VIRT -eq 0 ]]; then + if [[ -n "$VWIFI_IFACE" ]]; then + ip link set down dev ${VWIFI_IFACE} + ip addr flush ${VWIFI_IFACE} + networkmanager_rm_unmanaged_if_needed ${VWIFI_IFACE} ${OLD_MACADDR} + iw dev ${VWIFI_IFACE} del + dealloc_iface $VWIFI_IFACE + fi + else + ip link set down dev ${WIFI_IFACE} + ip addr flush ${WIFI_IFACE} + if [[ -n "$NEW_MACADDR" ]]; then + ip link set dev ${WIFI_IFACE} address ${OLD_MACADDR} + fi + networkmanager_rm_unmanaged_if_needed ${WIFI_IFACE} ${OLD_MACADDR} + fi + + mutex_unlock + cleanup_lock + + if [[ $RUNNING_AS_DAEMON -eq 1 && -n "$DAEMON_PIDFILE" && -f "$DAEMON_PIDFILE" ]]; then + rm $DAEMON_PIDFILE + fi +} + +cleanup() { + echo + echo -n "Doing cleanup.. " + _cleanup > /dev/null 2>&1 + echo "done" +} + +die() { + [[ -n "$1" ]] && echo -e "\nERROR: $1\n" >&2 + # send die signal to the main process + [[ $BASHPID -ne $$ ]] && kill -USR2 $$ + # we don't need to call cleanup because it's traped on EXIT + exit 1 +} + +clean_exit() { + # send clean_exit signal to the main process + [[ $BASHPID -ne $$ ]] && kill -USR1 $$ + # we don't need to call cleanup because it's traped on EXIT + exit 0 +} + +list_running_conf() { + local x + mutex_lock + for x in /tmp/create_ap.*; do + if [[ -f $x/pid && -f $x/wifi_iface && -d /proc/$(cat $x/pid) ]]; then + echo $x + fi + done + mutex_unlock +} + +list_running() { + local IFACE wifi_iface x + mutex_lock + for x in $(list_running_conf); do + IFACE=${x#*.} + IFACE=${IFACE%%.*} + wifi_iface=$(cat $x/wifi_iface) + + if [[ $IFACE == $wifi_iface ]]; then + echo $(cat $x/pid) $IFACE + else + echo $(cat $x/pid) $IFACE '('$(cat $x/wifi_iface)')' + fi + done + mutex_unlock +} + +get_wifi_iface_from_pid() { + list_running | awk '{print $1 " " $NF}' | tr -d '\(\)' | grep -E "^${1} " | cut -d' ' -f2 +} + +get_pid_from_wifi_iface() { + list_running | awk '{print $1 " " $NF}' | tr -d '\(\)' | grep -E " ${1}$" | cut -d' ' -f1 +} + +get_confdir_from_pid() { + local IFACE x + mutex_lock + for x in $(list_running_conf); do + if [[ $(cat $x/pid) == "$1" ]]; then + echo $x + break + fi + done + mutex_unlock +} + +print_client() { + local line ipaddr hostname + local mac="$1" + + if [[ -f $CONFDIR/dnsmasq.leases ]]; then + line=$(grep " $mac " $CONFDIR/dnsmasq.leases | tail -n 1) + ipaddr=$(echo $line | cut -d' ' -f3) + hostname=$(echo "$line" | cut -d' ' -f4) + fi + + [[ -z "$ipaddr" ]] && ipaddr="*" + [[ -z "$hostname" ]] && hostname="*" + + printf "%-20s %-18s %s\n" "$mac" "$ipaddr" "$hostname" +} + +list_clients() { + local wifi_iface pid + + # If PID is given, get the associated wifi iface + if [[ "$1" =~ ^[1-9][0-9]*$ ]]; then + pid="$1" + wifi_iface=$(get_wifi_iface_from_pid "$pid") + [[ -z "$wifi_iface" ]] && die "'$pid' is not the pid of a running $PROGNAME instance." + fi + + [[ -z "$wifi_iface" ]] && wifi_iface="$1" + is_wifi_interface "$wifi_iface" || die "'$wifi_iface' is not a WiFi interface." + + [[ -z "$pid" ]] && pid=$(get_pid_from_wifi_iface "$wifi_iface") + [[ -z "$pid" ]] && die "'$wifi_iface' is not used from $PROGNAME instance.\n\ + Maybe you need to pass the virtual interface instead.\n\ + Use --list-running to find it out." + [[ -z "$CONFDIR" ]] && CONFDIR=$(get_confdir_from_pid "$pid") + + if [[ $USE_IWCONFIG -eq 0 ]]; then + local awk_cmd='($1 ~ /Station$/) {print $2}' + local client_list=$(iw dev "$wifi_iface" station dump | awk "$awk_cmd") + + if [[ -z "$client_list" ]]; then + echo "No clients connected" + return + fi + + printf "%-20s %-18s %s\n" "MAC" "IP" "Hostname" + + local mac + for mac in $client_list; do + print_client $mac + done + else + die "This option is not supported for the current driver." + fi +} + +has_running_instance() { + local PID x + + mutex_lock + for x in /tmp/create_ap.*; do + if [[ -f $x/pid ]]; then + PID=$(cat $x/pid) + if [[ -d /proc/$PID ]]; then + mutex_unlock + return 0 + fi + fi + done + mutex_lock + + return 1 +} + +is_running_pid() { + list_running | grep -E "^${1} " > /dev/null 2>&1 +} + +send_stop() { + local x + + mutex_lock + # send stop signal to specific pid + if is_running_pid $1; then + kill -USR1 $1 + mutex_unlock + return + fi + + # send stop signal to specific interface + for x in $(list_running | grep -E " \(?${1}( |\)?\$)" | cut -f1 -d' '); do + kill -USR1 $x + done + mutex_unlock +} + +# Storing configs +write_config() { + local i=1 + + if ! eval 'echo -n > "$STORE_CONFIG"' > /dev/null 2>&1; then + echo "ERROR: Unable to create config file $STORE_CONFIG" >&2 + exit 1 + fi + + WIFI_IFACE=$1 + if [[ "$SHARE_METHOD" == "none" ]]; then + SSID="$2" + PASSPHRASE="$3" + else + INTERNET_IFACE="$2" + SSID="$3" + PASSPHRASE="$4" + fi + + for config_opt in "${CONFIG_OPTS[@]}"; do + eval echo $config_opt=\$$config_opt + done >> "$STORE_CONFIG" + + echo -e "Config options written to '$STORE_CONFIG'" + exit 0 +} + +is_config_opt() { + local elem opt="$1" + + for elem in "${CONFIG_OPTS[@]}"; do + if [[ "$elem" == "$opt" ]]; then + return 0 + fi + done + return 1 +} + +# Load options from config file +read_config() { + local opt_name opt_val line + + while read line; do + # Read switches and their values + opt_name="${line%%=*}" + opt_val="${line#*=}" + if is_config_opt "$opt_name" ; then + eval $opt_name="\$opt_val" + else + echo "WARN: Unrecognized configuration entry $opt_name" >&2 + fi + done < "$LOAD_CONFIG" +} + + +ARGS=( "$@" ) + +# Preprocessing for --config before option-parsing starts +for ((i=0; i<$#; i++)); do + if [[ "${ARGS[i]}" = "--config" ]]; then + if [[ -f "${ARGS[i+1]}" ]]; then + LOAD_CONFIG="${ARGS[i+1]}" + read_config + else + echo "ERROR: No config file found at given location" >&2 + exit 1 + fi + break + fi +done + +GETOPT_ARGS=$(getopt -o hc:w:g:de:nm: -l "help","hidden","hostapd-debug:","redirect-to-localhost","mac-filter","mac-filter-accept:","isolate-clients","ieee80211n","ieee80211ac","ht_capab:","vht_capab:","driver:","no-virt","fix-unmanaged","country:","freq-band:","mac:","dhcp-dns:","daemon","pidfile:","logfile:","stop:","list","list-running","list-clients:","version","psk","no-haveged","no-dns","no-dnsmasq","mkconfig:","config:" -n "$PROGNAME" -- "$@") +[[ $? -ne 0 ]] && exit 1 +eval set -- "$GETOPT_ARGS" + +while :; do + case "$1" in + -h|--help) + usage + exit 0 + ;; + --version) + echo $VERSION + exit 0 + ;; + --hidden) + shift + HIDDEN=1 + ;; + --mac-filter) + shift + MAC_FILTER=1 + ;; + --mac-filter-accept) + shift + MAC_FILTER_ACCEPT="$1" + shift + ;; + --isolate-clients) + shift + ISOLATE_CLIENTS=1 + ;; + -c) + shift + CHANNEL="$1" + shift + ;; + -w) + shift + WPA_VERSION="$1" + [[ "$WPA_VERSION" == "2+1" ]] && WPA_VERSION=1+2 + shift + ;; + -g) + shift + GATEWAY="$1" + shift + ;; + -d) + shift + ETC_HOSTS=1 + ;; + -e) + shift + ADDN_HOSTS="$1" + shift + ;; + -n) + shift + SHARE_METHOD=none + ;; + -m) + shift + SHARE_METHOD="$1" + shift + ;; + --ieee80211n) + shift + IEEE80211N=1 + ;; + --ieee80211ac) + shift + IEEE80211AC=1 + ;; + --ht_capab) + shift + HT_CAPAB="$1" + shift + ;; + --vht_capab) + shift + VHT_CAPAB="$1" + shift + ;; + --driver) + shift + DRIVER="$1" + shift + ;; + --no-virt) + shift + NO_VIRT=1 + ;; + --fix-unmanaged) + shift + FIX_UNMANAGED=1 + ;; + --country) + shift + COUNTRY="$1" + shift + ;; + --freq-band) + shift + FREQ_BAND="$1" + shift + ;; + --mac) + shift + NEW_MACADDR="$1" + shift + ;; + --dhcp-dns) + shift + DHCP_DNS="$1" + shift + ;; + --daemon) + shift + DAEMONIZE=1 + ;; + --pidfile) + shift + DAEMON_PIDFILE="$1" + shift + ;; + --logfile) + shift + DAEMON_LOGFILE="$1" + shift + ;; + --stop) + shift + STOP_ID="$1" + shift + ;; + --list) + shift + LIST_RUNNING=1 + echo -e "WARN: --list is deprecated, use --list-running instead.\n" >&2 + ;; + --list-running) + shift + LIST_RUNNING=1 + ;; + --list-clients) + shift + LIST_CLIENTS_ID="$1" + shift + ;; + --no-haveged) + shift + NO_HAVEGED=1 + ;; + --psk) + shift + USE_PSK=1 + ;; + --no-dns) + shift + NO_DNS=1 + ;; + --no-dnsmasq) + shift + NO_DNSMASQ=1 + ;; + --redirect-to-localhost) + shift + REDIRECT_TO_LOCALHOST=1 + ;; + --hostapd-debug) + shift + if [ "x$1" = "x1" ]; then + HOSTAPD_DEBUG_ARGS="-d" + elif [ "x$1" = "x2" ]; then + HOSTAPD_DEBUG_ARGS="-dd" + else + printf "Error: argument for --hostapd-debug expected 1 or 2, got %s\n" "$1" + exit 1 + fi + shift + ;; + --mkconfig) + shift + STORE_CONFIG="$1" + shift + ;; + --config) + shift + shift + ;; + --) + shift + break + ;; + esac +done + +# Load positional args from config file, if needed +if [[ -n "$LOAD_CONFIG" && $# -eq 0 ]]; then + i=0 + # set arguments in order + for x in WIFI_IFACE INTERNET_IFACE SSID PASSPHRASE; do + if eval "[[ -n \"\$${x}\" ]]"; then + eval "set -- \"\${@:1:$i}\" \"\$${x}\"" + ((i++)) + fi + # we unset the variable to avoid any problems later + eval "unset $x" + done +fi + +# Check if required number of positional args are present +if [[ $# -lt 1 && $FIX_UNMANAGED -eq 0 && -z "$STOP_ID" && + $LIST_RUNNING -eq 0 && -z "$LIST_CLIENTS_ID" ]]; then + usage >&2 + exit 1 +fi + +# Set NO_DNS, if dnsmasq is disabled +if [[ $NO_DNSMASQ -eq 1 ]]; then + NO_DNS=1 +fi + +trap "cleanup_lock" EXIT + +if ! init_lock; then + echo "ERROR: Failed to initialize lock" >&2 + exit 1 +fi + +# if the user press ctrl+c or we get USR1 signal +# then run clean_exit() +trap "clean_exit" SIGINT SIGUSR1 +# if we get USR2 signal then run die(). +trap "die" SIGUSR2 + +[[ -n "$STORE_CONFIG" ]] && write_config "$@" + +if [[ $LIST_RUNNING -eq 1 ]]; then + echo -e "List of running $PROGNAME instances:\n" + list_running + exit 0 +fi + +if [[ -n "$LIST_CLIENTS_ID" ]]; then + list_clients "$LIST_CLIENTS_ID" + exit 0 +fi + +if [[ $(id -u) -ne 0 ]]; then + echo "You must run it as root." >&2 + exit 1 +fi + +if [[ -n "$STOP_ID" ]]; then + echo "Trying to kill $PROGNAME instance associated with $STOP_ID..." + send_stop "$STOP_ID" + exit 0 +fi + +if [[ $FIX_UNMANAGED -eq 1 ]]; then + echo "Trying to fix unmanaged status in NetworkManager..." + networkmanager_fix_unmanaged + exit 0 +fi + +if [[ $DAEMONIZE -eq 1 && $RUNNING_AS_DAEMON -eq 0 ]]; then + # Assume we're running underneath a service manager if PIDFILE is set + # and don't clobber it's output with a useless message + if [ -z "$DAEMON_PIDFILE" ]; then + echo "Running as Daemon..." + fi + # run a detached create_ap + RUNNING_AS_DAEMON=1 setsid "$0" "${ARGS[@]}" >>$DAEMON_LOGFILE 2>&1 & + exit 0 +elif [[ $RUNNING_AS_DAEMON -eq 1 && -n "$DAEMON_PIDFILE" ]]; then + echo $$ >$DAEMON_PIDFILE +fi + +if [[ $FREQ_BAND != 2.4 && $FREQ_BAND != 5 ]]; then + echo "ERROR: Invalid frequency band" >&2 + exit 1 +fi + +if [[ $CHANNEL == default ]]; then + if [[ $FREQ_BAND == 2.4 ]]; then + CHANNEL=1 + else + CHANNEL=36 + fi +fi + +if [[ $FREQ_BAND != 5 && $CHANNEL -gt 14 ]]; then + echo "Channel number is greater than 14, assuming 5GHz frequency band" + FREQ_BAND=5 +fi + +WIFI_IFACE=$1 + +if ! is_wifi_interface ${WIFI_IFACE}; then + echo "ERROR: '${WIFI_IFACE}' is not a WiFi interface" >&2 + exit 1 +fi + +if ! can_be_ap ${WIFI_IFACE}; then + echo "ERROR: Your adapter does not support AP (master) mode" >&2 + exit 1 +fi + +if ! can_be_sta_and_ap ${WIFI_IFACE}; then + if is_wifi_connected ${WIFI_IFACE}; then + echo "ERROR: Your adapter can not be a station (i.e. be connected) and an AP at the same time" >&2 + exit 1 + elif [[ $NO_VIRT -eq 0 ]]; then + echo "WARN: Your adapter does not fully support AP virtual interface, enabling --no-virt" >&2 + NO_VIRT=1 + fi +fi + +HOSTAPD=$(which hostapd) + +if [[ ! -x "$HOSTAPD" ]]; then + echo "ERROR: hostapd not found." >&2 + exit 1 +fi + +if [[ $(get_adapter_kernel_module ${WIFI_IFACE}) =~ ^(8192[cd][ue]|8723a[sue])$ ]]; then + if ! strings "$HOSTAPD" | grep -m1 rtl871xdrv > /dev/null 2>&1; then + echo "ERROR: You need to patch your hostapd with rtl871xdrv patches." >&2 + exit 1 + fi + + if [[ $DRIVER != "rtl871xdrv" ]]; then + echo "WARN: Your adapter needs rtl871xdrv, enabling --driver=rtl871xdrv" >&2 + DRIVER=rtl871xdrv + fi +fi + +if [[ "$SHARE_METHOD" != "nat" && "$SHARE_METHOD" != "bridge" && "$SHARE_METHOD" != "none" ]]; then + echo "ERROR: Wrong Internet sharing method" >&2 + echo + usage >&2 + exit 1 +fi + +if [[ -n "$NEW_MACADDR" ]]; then + if ! is_macaddr "$NEW_MACADDR"; then + echo "ERROR: '${NEW_MACADDR}' is not a valid MAC address" >&2 + exit 1 + fi + + if ! is_unicast_macaddr "$NEW_MACADDR"; then + echo "ERROR: The first byte of MAC address (${NEW_MACADDR}) must be even" >&2 + exit 1 + fi + + if [[ $(get_all_macaddrs | grep -c ${NEW_MACADDR}) -ne 0 ]]; then + echo "WARN: MAC address '${NEW_MACADDR}' already exists. Because of this, you may encounter some problems" >&2 + fi +fi + +if [[ "$SHARE_METHOD" != "none" ]]; then + MIN_REQUIRED_ARGS=2 +else + MIN_REQUIRED_ARGS=1 +fi + +if [[ $# -gt $MIN_REQUIRED_ARGS ]]; then + if [[ "$SHARE_METHOD" != "none" ]]; then + if [[ $# -ne 3 && $# -ne 4 ]]; then + usage >&2 + exit 1 + fi + INTERNET_IFACE="$2" + SSID="$3" + PASSPHRASE="$4" + else + if [[ $# -ne 2 && $# -ne 3 ]]; then + usage >&2 + exit 1 + fi + SSID="$2" + PASSPHRASE="$3" + fi +else + if [[ "$SHARE_METHOD" != "none" ]]; then + if [[ $# -ne 2 ]]; then + usage >&2 + exit 1 + fi + INTERNET_IFACE="$2" + fi + if tty -s; then + while :; do + read -p "SSID: " SSID + if [[ ${#SSID} -lt 1 || ${#SSID} -gt 32 ]]; then + echo "ERROR: Invalid SSID length ${#SSID} (expected 1..32)" >&2 + continue + fi + break + done + while :; do + if [[ $USE_PSK -eq 0 ]]; then + read -p "Passphrase: " -s PASSPHRASE + echo + if [[ ${#PASSPHRASE} -gt 0 && ${#PASSPHRASE} -lt 8 ]] || [[ ${#PASSPHRASE} -gt 63 ]]; then + echo "ERROR: Invalid passphrase length ${#PASSPHRASE} (expected 8..63)" >&2 + continue + fi + read -p "Retype passphrase: " -s PASSPHRASE2 + echo + if [[ "$PASSPHRASE" != "$PASSPHRASE2" ]]; then + echo "Passphrases do not match." + else + break + fi + else + read -p "PSK: " PASSPHRASE + echo + if [[ ${#PASSPHRASE} -gt 0 && ${#PASSPHRASE} -ne 64 ]]; then + echo "ERROR: Invalid pre-shared-key length ${#PASSPHRASE} (expected 64)" >&2 + continue + fi + fi + done + else + read SSID + read PASSPHRASE + fi +fi + +if [[ "$SHARE_METHOD" != "none" ]] && ! is_interface $INTERNET_IFACE; then + echo "ERROR: '${INTERNET_IFACE}' is not an interface" >&2 + exit 1 +fi + +if [[ ${#SSID} -lt 1 || ${#SSID} -gt 32 ]]; then + echo "ERROR: Invalid SSID length ${#SSID} (expected 1..32)" >&2 + exit 1 +fi + +if [[ $USE_PSK -eq 0 ]]; then + if [[ ${#PASSPHRASE} -gt 0 && ${#PASSPHRASE} -lt 8 ]] || [[ ${#PASSPHRASE} -gt 63 ]]; then + echo "ERROR: Invalid passphrase length ${#PASSPHRASE} (expected 8..63)" >&2 + exit 1 + fi +elif [[ ${#PASSPHRASE} -gt 0 && ${#PASSPHRASE} -ne 64 ]]; then + echo "ERROR: Invalid pre-shared-key length ${#PASSPHRASE} (expected 64)" >&2 + exit 1 +fi + +if [[ $(get_adapter_kernel_module ${WIFI_IFACE}) =~ ^rtl[0-9].*$ ]]; then + if [[ -n "$PASSPHRASE" ]]; then + echo "WARN: Realtek drivers usually have problems with WPA1, enabling -w 2" >&2 + WPA_VERSION=2 + fi + echo "WARN: If AP doesn't work, please read: howto/realtek.md" >&2 +fi + +if [[ $NO_VIRT -eq 1 && "$WIFI_IFACE" == "$INTERNET_IFACE" ]]; then + echo -n "ERROR: You can not share your connection from the same" >&2 + echo " interface if you are using --no-virt option." >&2 + exit 1 +fi + +mutex_lock +trap "cleanup" EXIT +CONFDIR=$(mktemp -d /tmp/create_ap.${WIFI_IFACE}.conf.XXXXXXXX) +echo "Config dir: $CONFDIR" +echo "PID: $$" +echo $$ > $CONFDIR/pid + +# to make --list-running work from any user, we must give read +# permissions to $CONFDIR and $CONFDIR/pid +chmod 755 $CONFDIR +chmod 444 $CONFDIR/pid + +COMMON_CONFDIR=/tmp/create_ap.common.conf +mkdir -p $COMMON_CONFDIR + +if [[ "$SHARE_METHOD" == "nat" ]]; then + echo $INTERNET_IFACE > $CONFDIR/nat_internet_iface + cp_n /proc/sys/net/ipv4/conf/$INTERNET_IFACE/forwarding \ + $COMMON_CONFDIR/${INTERNET_IFACE}_forwarding +fi +cp_n /proc/sys/net/ipv4/ip_forward $COMMON_CONFDIR +if [[ -e /proc/sys/net/bridge/bridge-nf-call-iptables ]]; then + cp_n /proc/sys/net/bridge/bridge-nf-call-iptables $COMMON_CONFDIR +fi +mutex_unlock + +if [[ "$SHARE_METHOD" == "bridge" ]]; then + if is_bridge_interface $INTERNET_IFACE; then + BRIDGE_IFACE=$INTERNET_IFACE + else + BRIDGE_IFACE=$(alloc_new_iface br) + fi +fi + +if [[ $USE_IWCONFIG -eq 0 ]]; then + iw dev ${WIFI_IFACE} set power_save off +fi + +if [[ $NO_VIRT -eq 0 ]]; then + VWIFI_IFACE=$(alloc_new_iface ap) + + # in NetworkManager 0.9.9 and above we can set the interface as unmanaged without + # the need of MAC address, so we set it before we create the virtual interface. + if networkmanager_is_running && [[ $NM_OLDER_VERSION -eq 0 ]]; then + echo -n "Network Manager found, set ${VWIFI_IFACE} as unmanaged device... " + networkmanager_add_unmanaged ${VWIFI_IFACE} + # do not call networkmanager_wait_until_unmanaged because interface does not + # exist yet + echo "DONE" + fi + + if is_wifi_connected ${WIFI_IFACE}; then + WIFI_IFACE_FREQ=$(iw dev ${WIFI_IFACE} link | grep -i freq | awk '{print $2}') + WIFI_IFACE_CHANNEL=$(ieee80211_frequency_to_channel ${WIFI_IFACE_FREQ}) + echo -n "${WIFI_IFACE} is already associated with channel ${WIFI_IFACE_CHANNEL} (${WIFI_IFACE_FREQ} MHz)" + if is_5ghz_frequency $WIFI_IFACE_FREQ; then + FREQ_BAND=5 + else + FREQ_BAND=2.4 + fi + if [[ $WIFI_IFACE_CHANNEL -ne $CHANNEL ]]; then + echo ", fallback to channel ${WIFI_IFACE_CHANNEL}" + CHANNEL=$WIFI_IFACE_CHANNEL + else + echo + fi + fi + + VIRTDIEMSG="Maybe your WiFi adapter does not fully support virtual interfaces. + Try again with --no-virt." + echo -n "Creating a virtual WiFi interface... " + + if iw dev ${WIFI_IFACE} interface add ${VWIFI_IFACE} type __ap; then + # now we can call networkmanager_wait_until_unmanaged + networkmanager_is_running && [[ $NM_OLDER_VERSION -eq 0 ]] && networkmanager_wait_until_unmanaged ${VWIFI_IFACE} + echo "${VWIFI_IFACE} created." + else + VWIFI_IFACE= + die "$VIRTDIEMSG" + fi + OLD_MACADDR=$(get_macaddr ${VWIFI_IFACE}) + if [[ -z "$NEW_MACADDR" && $(get_all_macaddrs | grep -c ${OLD_MACADDR}) -ne 1 ]]; then + NEW_MACADDR=$(get_new_macaddr ${VWIFI_IFACE}) + fi + WIFI_IFACE=${VWIFI_IFACE} +else + OLD_MACADDR=$(get_macaddr ${WIFI_IFACE}) +fi + +mutex_lock +echo $WIFI_IFACE > $CONFDIR/wifi_iface +chmod 444 $CONFDIR/wifi_iface +mutex_unlock + +if [[ -n "$COUNTRY" && $USE_IWCONFIG -eq 0 ]]; then + iw reg set "$COUNTRY" +fi + +can_transmit_to_channel ${WIFI_IFACE} ${CHANNEL} || die "Your adapter can not transmit to channel ${CHANNEL}, frequency band ${FREQ_BAND}GHz." + +if networkmanager_exists && ! networkmanager_iface_is_unmanaged ${WIFI_IFACE}; then + echo -n "Network Manager found, set ${WIFI_IFACE} as unmanaged device... " + networkmanager_add_unmanaged ${WIFI_IFACE} + + if networkmanager_is_running; then + networkmanager_wait_until_unmanaged ${WIFI_IFACE} + fi + + echo "DONE" +fi + +[[ $HIDDEN -eq 1 ]] && echo "Access Point's SSID is hidden!" + +[[ $MAC_FILTER -eq 1 ]] && echo "MAC address filtering is enabled!" + +[[ $ISOLATE_CLIENTS -eq 1 ]] && echo "Access Point's clients will be isolated!" + +# hostapd config +cat << EOF > $CONFDIR/hostapd.conf +beacon_int=100 +ssid=${SSID} +interface=${WIFI_IFACE} +driver=${DRIVER} +channel=${CHANNEL} +ctrl_interface=$CONFDIR/hostapd_ctrl +ctrl_interface_group=0 +ignore_broadcast_ssid=$HIDDEN +ap_isolate=$ISOLATE_CLIENTS +EOF + +if [[ -n "$COUNTRY" ]]; then + cat << EOF >> $CONFDIR/hostapd.conf +country_code=${COUNTRY} +ieee80211d=1 +EOF +fi + +if [[ $FREQ_BAND == 2.4 ]]; then + echo "hw_mode=g" >> $CONFDIR/hostapd.conf +else + echo "hw_mode=a" >> $CONFDIR/hostapd.conf +fi + +if [[ $MAC_FILTER -eq 1 ]]; then + cat << EOF >> $CONFDIR/hostapd.conf +macaddr_acl=${MAC_FILTER} +accept_mac_file=${MAC_FILTER_ACCEPT} +EOF +fi + +if [[ $IEEE80211N -eq 1 ]]; then + cat << EOF >> $CONFDIR/hostapd.conf +ieee80211n=1 +ht_capab=${HT_CAPAB} +EOF +fi + +if [[ $IEEE80211AC -eq 1 ]]; then + echo "ieee80211ac=1" >> $CONFDIR/hostapd.conf +fi + +if [[ -n "$VHT_CAPAB" ]]; then + echo "vht_capab=${VHT_CAPAB}" >> $CONFDIR/hostapd.conf +fi + +if [[ $IEEE80211N -eq 1 ]] || [[ $IEEE80211AC -eq 1 ]]; then + echo "wmm_enabled=1" >> $CONFDIR/hostapd.conf +fi + +if [[ -n "$PASSPHRASE" ]]; then + [[ "$WPA_VERSION" == "1+2" ]] && WPA_VERSION=3 + if [[ $USE_PSK -eq 0 ]]; then + WPA_KEY_TYPE=passphrase + else + WPA_KEY_TYPE=psk + fi + cat << EOF >> $CONFDIR/hostapd.conf +wpa=${WPA_VERSION} +wpa_${WPA_KEY_TYPE}=${PASSPHRASE} +wpa_key_mgmt=WPA-PSK +wpa_pairwise=TKIP CCMP +rsn_pairwise=CCMP +EOF +fi + +if [[ "$SHARE_METHOD" == "bridge" ]]; then + echo "bridge=${BRIDGE_IFACE}" >> $CONFDIR/hostapd.conf +elif [[ $NO_DNSMASQ -eq 0 ]]; then + # dnsmasq config (dhcp + dns) + DNSMASQ_VER=$(dnsmasq -v | grep -m1 -oE '[0-9]+(\.[0-9]+)*\.[0-9]+') + version_cmp $DNSMASQ_VER 2.63 + if [[ $? -eq 1 ]]; then + DNSMASQ_BIND=bind-interfaces + else + DNSMASQ_BIND=bind-dynamic + fi + if [[ "$DHCP_DNS" == "gateway" ]]; then + DHCP_DNS="$GATEWAY" + fi + cat << EOF > $CONFDIR/dnsmasq.conf +listen-address=${GATEWAY} +${DNSMASQ_BIND} +dhcp-range=${GATEWAY%.*}.1,${GATEWAY%.*}.254,255.255.255.0,24h +dhcp-option-force=option:router,${GATEWAY} +dhcp-option-force=option:dns-server,${DHCP_DNS} +EOF + MTU=$(get_mtu $INTERNET_IFACE) + [[ -n "$MTU" ]] && echo "dhcp-option-force=option:mtu,${MTU}" >> $CONFDIR/dnsmasq.conf + [[ $ETC_HOSTS -eq 0 ]] && echo no-hosts >> $CONFDIR/dnsmasq.conf + [[ -n "$ADDN_HOSTS" ]] && echo "addn-hosts=${ADDN_HOSTS}" >> $CONFDIR/dnsmasq.conf + if [[ "$SHARE_METHOD" == "none" && "$REDIRECT_TO_LOCALHOST" == "1" ]]; then + cat << EOF >> $CONFDIR/dnsmasq.conf +address=/#/$GATEWAY +EOF + fi +fi + +# initialize WiFi interface +if [[ $NO_VIRT -eq 0 && -n "$NEW_MACADDR" ]]; then + ip link set dev ${WIFI_IFACE} address ${NEW_MACADDR} || die "$VIRTDIEMSG" +fi + +ip link set down dev ${WIFI_IFACE} || die "$VIRTDIEMSG" +ip addr flush ${WIFI_IFACE} || die "$VIRTDIEMSG" + +if [[ $NO_VIRT -eq 1 && -n "$NEW_MACADDR" ]]; then + ip link set dev ${WIFI_IFACE} address ${NEW_MACADDR} || die +fi + +if [[ "$SHARE_METHOD" != "bridge" ]]; then + ip link set up dev ${WIFI_IFACE} || die "$VIRTDIEMSG" + ip addr add ${GATEWAY}/24 broadcast ${GATEWAY%.*}.255 dev ${WIFI_IFACE} || die "$VIRTDIEMSG" +fi + +# enable Internet sharing +if [[ "$SHARE_METHOD" != "none" ]]; then + echo "Sharing Internet using method: $SHARE_METHOD" + if [[ "$SHARE_METHOD" == "nat" ]]; then + iptables -w -t nat -I POSTROUTING -s ${GATEWAY%.*}.0/24 ! -o ${WIFI_IFACE} -j MASQUERADE || die + iptables -w -I FORWARD -i ${WIFI_IFACE} -s ${GATEWAY%.*}.0/24 -j ACCEPT || die + iptables -w -I FORWARD -i ${INTERNET_IFACE} -d ${GATEWAY%.*}.0/24 -j ACCEPT || die + echo 1 > /proc/sys/net/ipv4/conf/$INTERNET_IFACE/forwarding || die + echo 1 > /proc/sys/net/ipv4/ip_forward || die + # to enable clients to establish PPTP connections we must + # load nf_nat_pptp module + modprobe nf_nat_pptp > /dev/null 2>&1 + elif [[ "$SHARE_METHOD" == "bridge" ]]; then + # disable iptables rules for bridged interfaces + if [[ -e /proc/sys/net/bridge/bridge-nf-call-iptables ]]; then + echo 0 > /proc/sys/net/bridge/bridge-nf-call-iptables + fi + + # to initialize the bridge interface correctly we need to do the following: + # + # 1) save the IPs and route table of INTERNET_IFACE + # 2) if NetworkManager is running set INTERNET_IFACE as unmanaged + # 3) create BRIDGE_IFACE and attach INTERNET_IFACE to it + # 4) set the previously saved IPs and route table to BRIDGE_IFACE + # + # we need the above because BRIDGE_IFACE is the master interface from now on + # and it must know where is connected, otherwise connection is lost. + if ! is_bridge_interface $INTERNET_IFACE; then + echo -n "Create a bridge interface... " + OLD_IFS="$IFS" + IFS=$'\n' + + IP_ADDRS=( $(ip addr show $INTERNET_IFACE | grep -A 1 -E 'inet[[:blank:]]' | paste - -) ) + ROUTE_ADDRS=( $(ip route show dev $INTERNET_IFACE) ) + + IFS="$OLD_IFS" + + if networkmanager_is_running; then + networkmanager_add_unmanaged $INTERNET_IFACE + networkmanager_wait_until_unmanaged $INTERNET_IFACE + fi + + # create bridge interface + ip link add name $BRIDGE_IFACE type bridge || die + ip link set dev $BRIDGE_IFACE up || die + # set 0ms forward delay + echo -n 0 > /sys/class/net/$BRIDGE_IFACE/bridge/forward_delay + + # attach internet interface to bridge interface + ip link set dev $INTERNET_IFACE promisc on || die + ip link set dev $INTERNET_IFACE up || die + ip link set dev $INTERNET_IFACE master $BRIDGE_IFACE || die + + ip addr flush $INTERNET_IFACE + for x in "${IP_ADDRS[@]}"; do + x="${x/inet/}" + x="${x/secondary/}" + x="${x/dynamic/}" + x=$(echo $x | sed 's/\([0-9]\)sec/\1/g') + x="${x/${INTERNET_IFACE}/}" + ip addr add $x dev $BRIDGE_IFACE || die + done + + # remove any existing entries that were added from 'ip addr add' + ip route flush dev $INTERNET_IFACE + ip route flush dev $BRIDGE_IFACE + + # we must first add the entries that specify the subnets and then the + # gateway entry, otherwise 'ip addr add' will return an error + for x in "${ROUTE_ADDRS[@]}"; do + [[ "$x" == default* ]] && continue + ip route add $x dev $BRIDGE_IFACE || die + done + + for x in "${ROUTE_ADDRS[@]}"; do + [[ "$x" != default* ]] && continue + ip route add $x dev $BRIDGE_IFACE || die + done + + echo "$BRIDGE_IFACE created." + fi + fi +else + echo "No Internet sharing" +fi + +# start dhcp + dns (optional) +if [[ "$SHARE_METHOD" != "bridge" ]]; then + if [[ $NO_DNS -eq 0 ]]; then + DNS_PORT=5353 + iptables -w -I INPUT -p tcp -m tcp --dport $DNS_PORT -j ACCEPT || die + iptables -w -I INPUT -p udp -m udp --dport $DNS_PORT -j ACCEPT || die + iptables -w -t nat -I PREROUTING -s ${GATEWAY%.*}.0/24 -d ${GATEWAY} \ + -p tcp -m tcp --dport 53 -j REDIRECT --to-ports $DNS_PORT || die + iptables -w -t nat -I PREROUTING -s ${GATEWAY%.*}.0/24 -d ${GATEWAY} \ + -p udp -m udp --dport 53 -j REDIRECT --to-ports $DNS_PORT || die + else + DNS_PORT=0 + fi + + if [[ $NO_DNSMASQ -eq 0 ]]; then + iptables -w -I INPUT -p udp -m udp --dport 67 -j ACCEPT || die + + if which complain > /dev/null 2>&1; then + # openSUSE's apparmor does not allow dnsmasq to read files. + # remove restriction. + complain dnsmasq + fi + + umask 0033 + dnsmasq -C $CONFDIR/dnsmasq.conf -x $CONFDIR/dnsmasq.pid -l $CONFDIR/dnsmasq.leases -p $DNS_PORT || die + umask $SCRIPT_UMASK + fi +fi + +# start access point +echo "hostapd command-line interface: hostapd_cli -p $CONFDIR/hostapd_ctrl" + +if [[ $NO_HAVEGED -eq 0 ]]; then + haveged_watchdog & + HAVEGED_WATCHDOG_PID=$! +fi + +# start hostapd (use stdbuf when available for no delayed output in programs that redirect stdout) +STDBUF_PATH=`which stdbuf` +if [ $? -eq 0 ]; then + STDBUF_PATH=$STDBUF_PATH" -oL" +fi +$STDBUF_PATH $HOSTAPD $HOSTAPD_DEBUG_ARGS $CONFDIR/hostapd.conf & +HOSTAPD_PID=$! +echo $HOSTAPD_PID > $CONFDIR/hostapd.pid + +if ! wait $HOSTAPD_PID; then + echo -e "\nError: Failed to run hostapd, maybe a program is interfering." >&2 + if networkmanager_is_running; then + echo "If an error like 'n80211: Could not configure driver mode' was thrown" >&2 + echo "try running the following before starting create_ap:" >&2 + if [[ $NM_OLDER_VERSION -eq 1 ]]; then + echo " nmcli nm wifi off" >&2 + else + echo " nmcli r wifi off" >&2 + fi + echo " rfkill unblock wlan" >&2 + fi + die +fi + +clean_exit + +# Local Variables: +# tab-width: 4 +# indent-tabs-mode: nil +# End: + +# vim: et sts=4 sw=4 diff --git a/external/packages/bsp/ky/usr/local/bin/memtester b/external/packages/bsp/ky/usr/local/bin/memtester new file mode 100755 index 0000000000000000000000000000000000000000..dec2d6595cfc5b46b0f91038448a9a6458fb14f0 GIT binary patch literal 18776 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 literal 0 HcmV?d00001 diff --git a/external/packages/bsp/ky/usr/local/bin/reset_ssh.sh b/external/packages/bsp/ky/usr/local/bin/reset_ssh.sh new file mode 100755 index 000000000000..29d6f6d32d85 --- /dev/null +++ b/external/packages/bsp/ky/usr/local/bin/reset_ssh.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +sudo rm /etc/ssh/ssh_host_* +sudo dpkg-reconfigure openssh-server diff --git a/external/packages/bsp/ky/usr/local/bin/stressapptest b/external/packages/bsp/ky/usr/local/bin/stressapptest new file mode 100755 index 0000000000000000000000000000000000000000..f5fa6a8c7c1792f5fbb4342a02c80c0b45631044 GIT binary patch literal 281664 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 literal 0 HcmV?d00001 diff --git a/scripts/general.sh b/scripts/general.sh index ae213ded8655..f66f7d1f522f 100755 --- a/scripts/general.sh +++ b/scripts/general.sh @@ -1560,6 +1560,7 @@ prepare_host() # download external Linaro compiler and missing special dependencies since they are needed for certain sources local toolchains=( + "ky-toolchain-linux-glibc-x86_64-v1.0.1.tar.xz" "gcc-linaro-aarch64-none-elf-4.8-2013.11_linux.tar.xz" "gcc-linaro-arm-none-eabi-4.8-2014.04_linux.tar.xz" "gcc-linaro-arm-linux-gnueabihf-4.8-2014.04_linux.tar.xz" @@ -1684,6 +1685,11 @@ download_and_verify() return fi + if [[ ${filename} == *ky* ]]; then + server="http://www.iplaystore.cn/" + remotedir="" + fi + # switch to china mirror if US timeouts timeout 10 curl --head --fail --silent ${server}${remotedir}/${filename} 2>&1 >/dev/null if [[ $? -ne 7 && $? -ne 22 && $? -ne 0 ]]; then diff --git a/scripts/image-helpers.sh b/scripts/image-helpers.sh index 192e1c79ae5b..1e259c7f0f70 100755 --- a/scripts/image-helpers.sh +++ b/scripts/image-helpers.sh @@ -316,7 +316,7 @@ dpkg_install_debs_chroot() display_alert "Installing" "$(basename $deb_dir)" # when building in bulk from remote, lets make sure we have up2date index - chroot "${SDCARD}" /bin/bash -c "dpkg -i ${names[*]} " >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 + chroot "${SDCARD}" /bin/bash -c "DEBIAN_FRONTEND=noninteractive dpkg -i ${names[*]} " >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 [[ $? -ne 0 ]] && exit_with_error "Installation of $(basename $deb_dir) failed" "${BOARD} ${RELEASE} ${BUILD_DESKTOP} ${LINUXFAMILY}" chroot "${SDCARD}" /bin/bash -c "apt-mark hold ${package_names[*]}" >> "${DEST}"/${LOG_SUBPATH}/install.log 2>&1 fi diff --git a/scripts/main.sh b/scripts/main.sh index 86c9bface908..60fbe345205b 100755 --- a/scripts/main.sh +++ b/scripts/main.sh @@ -247,6 +247,8 @@ if [[ -z $BOARD ]]; then options+=("orangepicm4" "Rockchip RK3566 quad core 2-8GB RAM GBE eMMC USB3 NvMe WiFi/BT") options+=("orangepi3b" "Rockchip RK3566 quad core 2-8GB RAM GBE eMMC USB3 NvMe WiFi/BT") options+=("orangepirv" "Starfive JH7110 quad core 2-8GB RAM GBE USB3 NvMe WiFi/BT") + options+=("orangepirv2" "Ky X1 octa core 2-8GB RAM GBE USB3 WiFi/BT NVMe eMMC") + #options+=("orangepir2s" "Ky X1 octa core 2-8GB RAM 2.5GBE USB3 eMMC") #options+=("orangepir1plus" "Rockchip RK3328 quad core 1GB RAM 2xGBE USB2 SPI") #options+=("orangepi3plus" "Amlogic S905D3 quad core 2/4GB RAM SoC eMMC GBE USB3 SPI WiFi/BT") @@ -475,6 +477,12 @@ if [[ ${IGNORE_UPDATES} != yes ]]; then fi + if [[ ${BOARDFAMILY} == "ky" && $RELEASE =~ noble ]]; then + + [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/ky_packages" "branch:ky_packages" + + fi + if [[ ${BOARDFAMILY} == "sun55iw3" && $RELEASE =~ bookworm|jammy ]]; then [[ ${BUILD_OPT} == image ]] && fetch_from_repo "https://github.com/orangepi-xunlong/rk-rootfs-build.git" "${EXTER}/cache/sources/t527_packages" "branch:t527_packages"