From 884deb9244395ae19e1751b47efb19d9c7380770 Mon Sep 17 00:00:00 2001 From: goob47 Date: Fri, 29 Sep 2023 00:49:35 -0500 Subject: [PATCH] Add a toolbar above the on-screen keyboard with extra keys that are missing from iOS keyboard (#576) * Add required images to assets * Add toolbar above keyboard with more key options * Fix tvOS errors --- .../AltIcon.imageset/AltIcon.png | Bin 0 -> 2486 bytes .../AltIcon.imageset/Contents.json | 21 +++++ Limelight/Images.xcassets/Contents.json | 6 +- .../ControlIcon.imageset/Contents.json | 21 +++++ .../ControlIcon.imageset/ControlIcon.png | Bin 0 -> 2741 bytes .../DeleteIcon.imageset/Contents.json | 21 +++++ .../DeleteIcon.imageset/DeleteIcon.png | Bin 0 -> 2646 bytes .../DoneIcon.imageset/Contents.json | 21 +++++ .../DoneIcon.imageset/doneIcon.png | Bin 0 -> 405 bytes .../EscapeIcon.imageset/Contents.json | 21 +++++ .../EscapeIcon.imageset/EscapeIcon.png | Bin 0 -> 2900 bytes .../ShiftIcon.imageset/Contents.json | 21 +++++ .../ShiftIcon.imageset/ShiftIcon.png | Bin 0 -> 719 bytes .../TabIcon.imageset/Contents.json | 21 +++++ .../TabIcon.imageset/TabIcon.png | Bin 0 -> 2707 bytes .../WindowsIcon.imageset/Contents.json | 21 +++++ .../WindowsIcon.imageset/WindowsIcon.png | Bin 0 -> 2534 bytes Limelight/Input/StreamView.m | 74 ++++++++++++++++++ 18 files changed, 245 insertions(+), 3 deletions(-) create mode 100644 Limelight/Images.xcassets/AltIcon.imageset/AltIcon.png create mode 100644 Limelight/Images.xcassets/AltIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/ControlIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/ControlIcon.imageset/ControlIcon.png create mode 100644 Limelight/Images.xcassets/DeleteIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/DeleteIcon.imageset/DeleteIcon.png create mode 100644 Limelight/Images.xcassets/DoneIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/DoneIcon.imageset/doneIcon.png create mode 100644 Limelight/Images.xcassets/EscapeIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/EscapeIcon.imageset/EscapeIcon.png create mode 100644 Limelight/Images.xcassets/ShiftIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/ShiftIcon.imageset/ShiftIcon.png create mode 100644 Limelight/Images.xcassets/TabIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/TabIcon.imageset/TabIcon.png create mode 100644 Limelight/Images.xcassets/WindowsIcon.imageset/Contents.json create mode 100644 Limelight/Images.xcassets/WindowsIcon.imageset/WindowsIcon.png diff --git a/Limelight/Images.xcassets/AltIcon.imageset/AltIcon.png b/Limelight/Images.xcassets/AltIcon.imageset/AltIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..222f6437aae1a811ddd3d8a64dafe8f1616c907f GIT binary patch literal 2486 zcmeAS@N?(olHy`uVBq!ia0y~yV2A=?4mJh`28$JrObiSRGg2cw(|mmyv=|r|I2hO% zg&3F_7#J8C7#SECr5ISjYzBrfMrk-Zj!^@uhKYfJ(U1XTiZBBMLt1+#0}E7r6$1o# zK>1)gAhRMhCpWPqzepjVC||)?&wzn}foTB~TvyZrW&|5#z}GV`zcVl}a29w(7Bet# z3xhBt!>lsd^Q;1t47vHWgMCxdpkYC5Z|ZxjA{o zRu#5NU=>z*#a19;eI*63l9Fs&r3l{u1?T*tR0T6V13d#JJ1zwU1)HLjG^-#NH>mca zlr&qVjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(y-J+B<-Qvo;lEez#ykcdDAuw}X zQj3#|G7CyF^Yauy<|ZcPmzLNnDS<3ffB}d*Q!6qNHsuvVy_KAws}GXVH`FuG$EK|! zw*c-w6kQdG1voX8WTxS;3nT;41`Z5}6Ky~)umVS6q)TRQYF=?>ex9ABfeqMc7!nB2 zA!&@jr4dO2Nn=HBft7PnDk#B(l#?-8d-)Inp+u~S{WJW8kkxc7(k3cQHx{_C^)Plf>Mj~b4o#xXlHI@U|?XNZwMl7 z^f9E-wIXze=4F=H89}w638U+ZM95>a5Lp^stA9~uYFTUEvsSzo4 zf@2#Z8sy?;$7Q1r&Lp4=W5@N%;Bx^31FN5>i(^Q|oVRm)GeW{ej@Mu3RPyWPnIvEz zwJ2DkaAEfWme`$KTUyObyOq{d7N>USx zqc~rbl8W-mnTrHF6W6(<+JtN#9BzH#}vTK)G83LH&H z=+HK|(4q;~e%U?{exSTS)PjX2Tm0JpF4hNzA2>P~_iHZwr}teYm2>S@JB}Le8cvo| zbI+(hX?X3hKIqlN>&-UYYq!2*sbjmRX>C&fiR*`xX6fP64`k!mGS^n0*x#-6$*Q^` ze(SaPO34_b#oo@c$@Sp-u_YvJH`m&&b}WBdQ;Ia>7~Q7^MJ{Jty6H=`ON#y* z#(l-o4`y7{R=s0#d;2bp>Gh3aORpqbFOPOBS5lhp-0wKwLAPd=cwL(d-}q4{yP8MG*efv%yHsTbdq*zF>B$-7(QffUs z7Cd(R_|BT2n~sWgAI-=#tZqH{V|t?1+-Em8r*GSL^r&mz{e8I>O2!i6Rx^FVp59+2 z5pTuS+T*r(n$Et;&uTkk`edzFoo-wmzJAi#w3#z!YJU3q{rl$Z>v{}T)zz6fIcu`? z^d-)|IC;`@)6K8Hryoq1FmImR=@~zNR=&HpH~MSL8sR(%Dy)@{^!x5b-#sZrAAMk z;+&kUyf7dmxAVq{dwZ)nTb){*6qy)}x4ZUo&OMoOBE?AT_Noi3_lH;h`l9*${r&Y> z`?9aEo9LlpQT;7vVtzrv1Q#VorHKjm_tl1;eJq;nB%W5Bovr=*`+N3J-X0IzRu%jS zJ3iw=>+8=egO^{6Yj;vqn%Hqv-znU|Y<6l<(WNBovNsav=iA5swygWJ01 zrgVPjNm$aiZMBkK%#H^ycNEo<_eYHP6C~n@o z*|d+NXlKmX^O0S<^kvIT3(L#R&z?Q&nyjv-CLt@k^~R)=D$mc&U0qSP+p01tsmVC~ zTu9A1uNAv5w4Qb|ka+Uv=jUxqEr%Z}Ep&HtTP5`CKqIs3w#G)rcXxLmpQ!Bq;>{bA zqP2_HIqk3b*koP)E+Xgc+qZqYHwvr!3GlE*MnptxUV1t6*|TR|+g`?L>PUw_?mC*p zFvqU8>UDgGl&q|76uskOYO9sTK9&en{zmA}8`#=eubx;y9Y zG^gvrKl3m7x*;d~J1up&I$ZxhTsrwsZOh~0vrWpPw%m4a9|^xHymH3(h5ajmj{BXK zmUqh9-ZM!)sVrEp!`yzl?nT{F$IJeuT&Mc~yihTklGjr-p(c5X?bg0i>3dY}OFWfd z&bY30OHh{BkDeNRu7mSreyWA_DK)qAb_c!ke=vKhFjrX7f$Lr??|bv=ESJ4~{DA%m zqfMv09~3X0lDu@I;Q8neQ}rSeAFzMAzv1>&nV9!Ox=FQ=1A4)Gl!o2o*;zz(8!>|BO-%Q#zG8#hgIR7Ef0{mvv4FO#m`3(i8vy literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/AltIcon.imageset/Contents.json b/Limelight/Images.xcassets/AltIcon.imageset/Contents.json new file mode 100644 index 00000000..29a9ae7a --- /dev/null +++ b/Limelight/Images.xcassets/AltIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "AltIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/Contents.json b/Limelight/Images.xcassets/Contents.json index da4a164c..73c00596 100644 --- a/Limelight/Images.xcassets/Contents.json +++ b/Limelight/Images.xcassets/Contents.json @@ -1,6 +1,6 @@ { "info" : { - "version" : 1, - "author" : "xcode" + "author" : "xcode", + "version" : 1 } -} \ No newline at end of file +} diff --git a/Limelight/Images.xcassets/ControlIcon.imageset/Contents.json b/Limelight/Images.xcassets/ControlIcon.imageset/Contents.json new file mode 100644 index 00000000..24227b35 --- /dev/null +++ b/Limelight/Images.xcassets/ControlIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ControlIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/ControlIcon.imageset/ControlIcon.png b/Limelight/Images.xcassets/ControlIcon.imageset/ControlIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..48433dd16072f6ec70fdfbd73733cc7b6f83e018 GIT binary patch literal 2741 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 literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/DeleteIcon.imageset/Contents.json b/Limelight/Images.xcassets/DeleteIcon.imageset/Contents.json new file mode 100644 index 00000000..09d0484e --- /dev/null +++ b/Limelight/Images.xcassets/DeleteIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "DeleteIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/DeleteIcon.imageset/DeleteIcon.png b/Limelight/Images.xcassets/DeleteIcon.imageset/DeleteIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3a3e323f8f761ec242c9f82bc345a0ab05bba1e3 GIT binary patch literal 2646 zcmeAS@N?(olHy`uVBq!ia0y~yV2A=?4mJh`28$JrObiSRGg2cw(|mmyv=|r|I2hO% zg&3F_7#J8C7#SECr5ISjYzBrfMrk-Zj!^@uhKYfJ(U1XTiZBBMLt1+#0}E7r6$1o# zK>1)gAhRMhCpWPqzepjVC||)?&wzn}foTB~TvyZrW&|5#z}GV`zcVl}a29w(7Bet# z3xhBt!>lsd^Q;1t47vHWgMCxdpkYC5Z|ZxjA{o zRu#5NU=>z*#a19;eI*63l9Fs&r3l{u1?T*tR0T6V13d#JJ1zwU1)HLjG^-#NH>mca zlr&qVjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(y-J+B<-Qvo;lEez#ykcdDAuw}X zQj3#|G7CyF^Yauy<|ZcPmzLNnDS<3ffB}d*Q!6qNHsuvVy_KAws}GXVH`FuG$EK|! zw*c-w6kQdG1voX8WTxS;3nT;41`Z5}6Ky~)umVS6q)TRQYF=?>ex9ABfeqMc7!nB2 zA!&@jr4dO2Nn=HBft7PnDk#B(l#?-8d-)Inp+u~Ss5AV8kkxc7(k3cQHx{_C^)Plf>Mj~b4o#xXlHI@U|?XNZwMl7 z^f9E-wIXze=4F=H89}w638U+ZM95>a5Lp^stA9~uYFTUEvsSzo4 zf@2#Z8sy?;$7Q1r&Lp4=W5-qgrNf)P;W8%yt16 z)`^shwWz(?qPA$qhA`FK;`E78&#UAsXWTjRV8Q1q)8WMEemDb&lr1PQpo-_ z4jqis8{?-2^-sR5k-5;+H=FraH@rCJ&*0wkW}}*T&Gkg=K7?63S)it ztZ&Ii=Qxe4>?Z3^e&QL~a-`v#%gkKuEz2^m9*~%HvU3L0HLa!dA}v);U5ayglA^&} zx4n47nHN8W^iDils~42YSD?LA?F`#nqg}j$mZH-H;-hCIsejo%vw!J>%xzK|gl|o6 zb>Na+f3;!mh1Ht{JQfD0nkJMRUfCqlTi;0!mw)J1&4YM=r&% zPvBm3QDgJw%~sKwnVDhxivzD+ynFZVogIbF>C&>YN1qnee%rV9)r&PLUv6*DzqzM! zbF9IdsI6T6$D6OeKKlCWrqt8ZdSo*8P1?Hh@H_T}nNkl6W)xVQxx2fZaYw;JCigy> zh5Po|MJqm?vS+6RTeIW0H#eK_zdv895qZ#XVXU5b-gfEjw|y%scdk5t<_wRz-<*V^ zqDw0`$Q<6d>hSBYm+s%+|DiG|sVV#Vy25X7B9k`WXsRtMoA&wn`OCL&XYby>aibwq zBg4Uj2>}`|m6euu^ZS4Os@j%+f8JLurO=|Vd!gasmv7$m^!4Svd-v|HjSdP9>FMfQ zw{C5FyKMP#%i3Qi%*@QYghe`CD!#lB3|}Aj^wLuAFJHcFNIcxOM&5nXlbXJ~tgJ-~ z7dobQA5F5U_;BFL{|gJ9fBdbRdt$y&r^}7~_4bPwFP7~6T6|*X1%}((a*b~sdbr`B znT<`3!1{IT`f7iFyLj=UV`Svayf;5SK6Y7r@eJE+waSe~YgVo_ym3aaL*0MgmD;?V zoF{j77K@0BGheuK$H(2hJx`vQnfcAFt=fkLm;1$~eCZO^=Gm5h{>%AAd#b*6P1lcq zm9xA2eVl+~!r57-KWctO&*hi5JCm^FqW}iJib?Vez=l$o|82(^kYHayk_v=gMug25~duCWEP3$-r7P@r* z!kqBb8-~WlldqM{RMR*5b#AUT+wJ9&d#kp7eAynn+;3)_$LEQ2xNG0vvvoch787%3 zSLy2#v;O1BH_Gzz&J{SB_-_8|tR4Qu=f(H;_l+$qPRuk;=ShD1_H7%_x;1N#JS}?p z>e0c2j%K;HmVCCZ_^{xe_@=tQRhQovNF8sHlb26_er_&1Q>I+FdNp-} zxTxsGYuA?jE`R^*?CdXJzFfF;>Co=-_d7~oPfL`#wWBbZtzW5DM%YTKSBR@Mr*@it z{JDpR+kIbWH88XD75x5|JI}s;UxKuxWMWFnkt_Eff83CKyzfi%Ifcr=QU((flY)^V2+x$D99rhIzfh;^(8H~u+&t~QDfhG`U-c^L z?lAw_wBgDbzZVa6Sb|>gMDpHP%d?-+>BR2`CyltTEc1<#$X?*AnHrh-Xa17u4?f3k*mFSs$odW4QzbtBtIwV+ zDtRe?X5`u9(`Ifx5}hWNHF>r9k?1tG&h@(MZiI?ADR7`5&Hs$dYc|da{OBJBYF2r= L`njxgN@xNA6KXYK literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/DoneIcon.imageset/Contents.json b/Limelight/Images.xcassets/DoneIcon.imageset/Contents.json new file mode 100644 index 00000000..9229c641 --- /dev/null +++ b/Limelight/Images.xcassets/DoneIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "doneIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/DoneIcon.imageset/doneIcon.png b/Limelight/Images.xcassets/DoneIcon.imageset/doneIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f4d178f58daf5fd1f2a1d7b727243b299378ad37 GIT binary patch literal 405 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 Kb6Mw<&;$Spx0sy( literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/ShiftIcon.imageset/Contents.json b/Limelight/Images.xcassets/ShiftIcon.imageset/Contents.json new file mode 100644 index 00000000..12d9131a --- /dev/null +++ b/Limelight/Images.xcassets/ShiftIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "ShiftIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/ShiftIcon.imageset/ShiftIcon.png b/Limelight/Images.xcassets/ShiftIcon.imageset/ShiftIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..3e33f4a9bb03ae71b01435681e1e34f4645eaf6f GIT binary patch literal 719 zcmeAS@N?(olHy`uVBq!ia0y~yV2A=?4mJh`28$JrObiSRoCO|{#S9GG!XV7ZFl&wk z0|Qf|r;B4q#hkZy9P=(aNVGlN$+AdS_mLR~r`EbauhV?($s3qOHzwSyZJaG|MAJ)4 zkb9MQuZf3asnCDnbfd>Vg&?V=t;9+!}3-hbk_iP{&P=O<{RW2 z_kUYv@!D>e>CHZtS+(w#lle3Q+haG?zb!d-p?aGA*Lja)%447W+g846#s!_3{=AQ4 zq;CJ;z4F)v;nOx*GU?AvnD(qRERlY8=I@6YYpOPONj%^4_~&1<)!ey3zbr(n61e7e zIH@nX(5X?P1Y?TG&+6+x+O||KQquWFn)r0vY@WMq{AO}3?vo$ga_wE%y#Pgdk75b; zo@+1f=H1(1l9I;b{-y4?#NStI9yveX6tQASw(NDoh5IK@U)GQ#z)p~R$)OHC=C70z3ZEBiPpbYkqitB44$rjF6*2UngH!IQ`7(e literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/TabIcon.imageset/Contents.json b/Limelight/Images.xcassets/TabIcon.imageset/Contents.json new file mode 100644 index 00000000..fd7d96ee --- /dev/null +++ b/Limelight/Images.xcassets/TabIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "TabIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/TabIcon.imageset/TabIcon.png b/Limelight/Images.xcassets/TabIcon.imageset/TabIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..f562b1d3918097a702120785031fae05c5d82792 GIT binary patch literal 2707 zcmeAS@N?(olHy`uVBq!ia0y~yV2A=?4mJh`28$JrObiSRGg2cw(|mmyv=|r|I2hO% zg&3F_7#J8C7#SECr5ISjYzBrfMrk-Zj!^@uhKYfJ(U1XTiZBBMLt1+#0}E7r6$1o# zK>1)gAhRMhCpWPqzepjVC||)?&wzn}foTB~TvyZrW&|5#z}GV`zcVl}a29w(7Bet# z3xhBt!>lsd^Q;1t47vHWgMCxdpkYC5Z|ZxjA{o zRu#5NU=>z*#a19;eI*63l9Fs&r3l{u1?T*tR0T6V13d#JJ1zwU1)HLjG^-#NH>mca zlr&qVjFOT9D}DX)@^Za$W4-*MbbUihOG|wNBYh(y-J+B<-Qvo;lEez#ykcdDAuw}X zQj3#|G7CyF^Yauy<|ZcPmzLNnDS<3ffB}d*Q!6qNHsuvVy_KAws}GXVH`FuG$EK|! zw*c-w6kQdG1voX8WTxS;3nT;41`Z5}6Ky~)umVS6q)TRQYF=?>ex9ABfeqMc7!nB2 zA!&@jr4dO2Nn=HBft7PnDk#B(l#?-8d-)Inp+u~S(%#Z8kkxc7(k3cQHx{_C^)Plf>Mj~b4o#xXlHI@U|?XNZwMl7 z^f9E-wIXze=4F=H89}w638U+ZM95>a5Lp^stA9~uYFTUEvsSzo4 zf@2#Z8sy?;$7Q1r&Lp4=W5<1#A$8n?VHXEjr`KBWW8tVzAv8rz3y}M{-58zo~_PLt5Xo*U}0)> zK%%;(PM-1Hq_exBYJr#rvsXj@CGlxXXD}UOlrP|xn4t2qa+P0@P}HYHJrzn|xj1>UAj389Nne~!D@5x5WmeoI z_^I*!S00n1X zx~Q=*z#}ki`|XXl-*SrtPUCv}waT*O#e_v`Hg25Q%+9YD;F2j)_5a^ro7!JjuIzMm zb>-pXTc$1IJ;`igYNVTv+EzjH!#oqW$<3WU{rIJ&-lC}!Jz8GA%uH=IlQx^Z>E@n2 zdrDdpBQL3anW`NglFH1?JjbHYDe&5zJ7*f1*(d#ymY0A2?d|O!f9w9#*&j?0Xg_@L z)z#H2SFTLFyv%pmqd7BX9C-ZEz{KRp@9*zdu2_-q`r6u%(9oHm(nU_6wNjeM@%-G} z#oM<}FR)m%LRwmy`M}$<&4rKM&dsrOPE1^wc>nO>!zN~CT7UR>c`shSetci;Z;P@w z65i8vJkPh*G(J7{;`DU=;+L0Hr=E!a^xz zvqii)|Gv9xtrxdvg~sNaIXSnt_0F{}U-gbLZvFKSTRxndYt6#M_@>Nyb=X?3jK^iW zEC2r5y7R&01kHte5NUN&9nW&!+zV_V(lBt}d<^J@LBz_Ho~yoD_E6 zC(FlvykEXw|M2y7v8N|0yJuu)2j8%*{`MwY&r#T$^KH@2f}JrR9|vf(oPQqdBUoHC zrT&ord^^ccv7w<$Z@r%JTlt)kq2WZY6Kxx(TwpkuFk#+2xx70&4$d~uzx3?-!-5s3 zrs>C@+mw3x$B&Q6d){1K9iEw8tT#=_N`mLog$oNLq%O5yJ9l?__i_)FN#C{|Omf=3 zefw&cb!*n79Pg7|6SGsOVRQQVPoJKio>IHN_IFsQ7+?F$Idej$tc}>HlzQK7!;}kh z{qBWtigsGm|J#!k^X~O)W7RK@kN1bBE?&HNRquvLlO|26l|E>6d3T1%sc!L8+vB*o zxI~ov{ry+x^cdOLoY`Cb{n7D>9xdGBdMn;sTN9als@_QF^5Wv6q5`YAHue90TF?3Y z{r%;;cYRAsP3`9QXJ20@$id>X{or}Sq+)S$4tR*>3(u!f$tXV>ShtqCuNMzn! z{@(2A?se<@zE))G`7NJ(?OIsyzTO1Qg`Yove);m{!hQSVHg<1*69S3skuN zsCizRf08HI^LQBh7p1m|k#-FB-jkMCUY^nYQ1yq8*qZkZWl7~Xj(Sar__zP7n=9LA zO=IsLbBs36i8ys8$G6DTQz!MA#Kx^hefQpMMJ}2l1+~y8`JAvTnVY%g9YJj}Pgg&e IbxsLQ0Jaf7bpQYW literal 0 HcmV?d00001 diff --git a/Limelight/Images.xcassets/WindowsIcon.imageset/Contents.json b/Limelight/Images.xcassets/WindowsIcon.imageset/Contents.json new file mode 100644 index 00000000..778eea37 --- /dev/null +++ b/Limelight/Images.xcassets/WindowsIcon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "WindowsIcon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/Limelight/Images.xcassets/WindowsIcon.imageset/WindowsIcon.png b/Limelight/Images.xcassets/WindowsIcon.imageset/WindowsIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..60dec54464f5efcbac3b2dec145a37d22d802ab9 GIT binary patch literal 2534 zcmeAS@N?(olHy`uVBq!ia0y~yV2A=?4mJh`28$JrObiSRjKx9jP7LeL$-HD>U|5nG z;hE;^%b>-;z`()4#wf(V3{t|t$iToT#lQ+?GcbfPO2gT4j2ciiObiT+h72Ghg&7za z(%Lf_SfJ{w7$Cp{$_LW{nH8xyxrrtDMG65$`3lB*1`G@g%nKNyrZF-wEMS705Ve3A z!3G(&@b_jv1_lPs0*}aI1_o|n5N2eUHAjMhfjJ^GB%&n3*T*V3KUXg?B|j-uuOhbq zq>I6(!m1*-AUCxnQK2F?C$HG5!d3~a!YZ%W3M8zrqySb@l5MLL;TxdfoL`ixV5VoF zXP{)qrJ$f-Q!Ktkxw*c-f6w4|S3m}@nfdO%%4afyn;OLBW z$;?g7E6&W%voka@umQUbLk8hHB%KjBbt1_i=>$37Dk!x$Kc^HFe4%-nC3Z$O`q+fg zbwwbw*_p%iAPb^vh{UD=SrA==e^F*?UP&UzVRnX4M&wK6cU(Z^7WW{z`FDkwXJ=M zzsYhaz2U=O#WW$sfJFrl^b4Mx;Ov~=euTB~@rjw$JCq7fh#q9+JaPSlo!|c1a{c9L zWih#F>Y+itH{ZT{^=|p<+tc2Dycp;u*&OCz7sI|~%I-Bb-<5t98!V_6%v#~j^!0&GfY#?l zeX&#bMSZco`TEk%FKu6(Uq1izar+yMohGZkw6t=cNcWnm9lWRO+|tbTMdw$Y`5mON zC};8eDYeV@uKBxfj-|)np4s2Nvu$Z$xM*>?kmb#2i{73IXg&cV#gfM zP7fWy=+$NHtoL~)-EO#F-E3LzF-OMaf>-(-#W%{0H6dH~GiM!en6_uZWAml!J=234 z&Yd<3XylY(%bY8)^opz9t8GEs^kujw8e9-{kb1^8&-Cc@W#+6Q|9B;reY_pi@K51D z`P4d3F^l=0_0#f{WA~nla9?p-Z_LYLy@ZMic(pY&R3>(9X$t5CmuAJeB;O~GBg4CfPMC+Y~tXjarq+gHz5XW3HK zIe-1CdrT9AXC)@C4c(@pxT0fOoqO7o z2XAk!->W@6Kuu~A%iIO(N(Ov{q6%6|Ua{I_EN zKJ6FDx;o$Uj(vN&C3fP1c&)hF;+I<{73b}!*`Ir_{@t8^$5P7YAN%p*)UJ=ovW3}S z)HVJ6Yi5^(&v&`_`jUM&v%Asn{T}}(R2g_pQ)~My{=T^9t^ed>tyWhj&wh8XF?Yr1 z&bdE1PrS%tRn98AAa<+tR~$Pht68bVAy_j%h46n)`&g3s(<9* zfq!rHQg6+l@YIycB=)(c#r3(#`kyM-H%m6HJ^I@vJZ1N5t5>;tihon~``yp9-gI!^ zwyk$pI%+*x&E>x7Z-xB-;TRX?uF3GbO zNHcHy&5|qBo7i{gPL+zWy=)+uJ|V9M;H9X`aJ-`+z|A*PwX~HEU!3 z$uR$Kdb+=@_~n`#uQ&0q{O@`CO?jfd$Wyl5)j8tvP7ckE8#-Uz@1C?prAov#_D}M( z4E9~@4}){-Rle@eljPX9_~QR^-R349UC$-IEpAtU>vu-uWsyd%@x4g5ofOY=22>w#|VkA)__i`GW`|rm~9>!0V{=8Ct+UnKp!WR#BoSPoS*5ou# zFk=3an=yh@KOSHG>U>