From b279fdcc42872d99e2981ff38540def32984dcc8 Mon Sep 17 00:00:00 2001 From: Sam Comstock <54995596+samco-msft@users.noreply.github.com> Date: Tue, 15 Oct 2019 23:25:41 -0700 Subject: [PATCH] Master centennial (#3) * Updating documentation. * Add Desktop Bridge example --- CentennialApp/App.config | 6 + CentennialApp/App.xaml | 11 + CentennialApp/App.xaml.cs | 20 + CentennialApp/Assets/LinkBackImage.png | Bin 0 -> 34636 bytes CentennialApp/CentennialApp.csproj | 140 +++++++ CentennialApp/DiceSettings.json | 361 ++++++++++++++++++ CentennialApp/DiceSettings.ps1 | 32 ++ CentennialApp/MainWindow.xaml | 50 +++ CentennialApp/MainWindow.xaml.cs | 56 +++ CentennialApp/Properties/AssemblyInfo.cs | 58 +++ CentennialApp/Properties/Settings.Designer.cs | 26 ++ CentennialApp/Properties/Settings.settings | 7 + CentennialApp/README.md | 67 ++++ CentennialApp/Strings/Resources.Designer.cs | 108 ++++++ CentennialApp/Strings/Resources.resx | 135 +++++++ .../CentennialPackaging.wapproj | 78 ++++ CentennialPackaging/Data.dat | 0 .../Images/SplashScreen.scale-200.png | Bin 0 -> 55017 bytes .../Images/Square150x150Logo.png | Bin 0 -> 12517 bytes .../Images/Square44x44Logo.png | Bin 0 -> 5272 bytes ...x44Logo.targetsize-24_altform-unplated.png | Bin 0 -> 3878 bytes CentennialPackaging/Images/StoreLogo.png | Bin 0 -> 5641 bytes .../Images/Wide310x150Logo.scale-200.png | Bin 0 -> 19635 bytes CentennialPackaging/Package.appxmanifest | 48 +++ DiceWebSampleApps.sln | 63 +++ Scripts/DiceWebUtils.ps1 | 36 +- Scripts/WinMetadataHint.ps1 | 27 ++ UwpAddOn/README.md | 12 +- UwpCppApp/README.md | 4 +- UwpNetNativeApp/README.md | 4 +- 30 files changed, 1332 insertions(+), 17 deletions(-) create mode 100644 CentennialApp/App.config create mode 100644 CentennialApp/App.xaml create mode 100644 CentennialApp/App.xaml.cs create mode 100644 CentennialApp/Assets/LinkBackImage.png create mode 100644 CentennialApp/CentennialApp.csproj create mode 100644 CentennialApp/DiceSettings.json create mode 100644 CentennialApp/DiceSettings.ps1 create mode 100644 CentennialApp/MainWindow.xaml create mode 100644 CentennialApp/MainWindow.xaml.cs create mode 100644 CentennialApp/Properties/AssemblyInfo.cs create mode 100644 CentennialApp/Properties/Settings.Designer.cs create mode 100644 CentennialApp/Properties/Settings.settings create mode 100644 CentennialApp/README.md create mode 100644 CentennialApp/Strings/Resources.Designer.cs create mode 100644 CentennialApp/Strings/Resources.resx create mode 100644 CentennialPackaging/CentennialPackaging.wapproj create mode 100644 CentennialPackaging/Data.dat create mode 100644 CentennialPackaging/Images/SplashScreen.scale-200.png create mode 100644 CentennialPackaging/Images/Square150x150Logo.png create mode 100644 CentennialPackaging/Images/Square44x44Logo.png create mode 100644 CentennialPackaging/Images/Square44x44Logo.targetsize-24_altform-unplated.png create mode 100644 CentennialPackaging/Images/StoreLogo.png create mode 100644 CentennialPackaging/Images/Wide310x150Logo.scale-200.png create mode 100644 CentennialPackaging/Package.appxmanifest create mode 100644 Scripts/WinMetadataHint.ps1 diff --git a/CentennialApp/App.config b/CentennialApp/App.config new file mode 100644 index 0000000..ecdcf8a --- /dev/null +++ b/CentennialApp/App.config @@ -0,0 +1,6 @@ + + + + + + diff --git a/CentennialApp/App.xaml b/CentennialApp/App.xaml new file mode 100644 index 0000000..303eb46 --- /dev/null +++ b/CentennialApp/App.xaml @@ -0,0 +1,11 @@ + + + + + + diff --git a/CentennialApp/App.xaml.cs b/CentennialApp/App.xaml.cs new file mode 100644 index 0000000..fff4b2a --- /dev/null +++ b/CentennialApp/App.xaml.cs @@ -0,0 +1,20 @@ +// Copyright (c) Microsoft Corporation. +// Licensed under the MIT License.using System; + +using System; +using System.Collections.Generic; +using System.Configuration; +using System.Data; +using System.Linq; +using System.Threading.Tasks; +using System.Windows; + +namespace CentennialApp +{ + /// + /// Interaction logic for App.xaml + /// + public partial class App : Application + { + } +} diff --git a/CentennialApp/Assets/LinkBackImage.png b/CentennialApp/Assets/LinkBackImage.png new file mode 100644 index 0000000000000000000000000000000000000000..1b76e3cdab91f0191dba929808ae8c5f32ecbcd0 GIT binary patch literal 34636 zcmeFZWmJ@1`v+=(AP7nb(h`ESf^>`^oeBaD45HF9bV@#ibU36)DkU|*(B0kL-Q5i{ zXY)M&^Zk4~U*3Bym%y4CX6}9M>-yCu;H`=*0UjmZty{MU| zllD_qbMW77TQyn9TgV>jb?^eJdCw@Z0JIY|H`0hCZ>$!EK_=kIS zpHAH9rYuJ>&7G1Oj;g(%(q9Z7UOwTf-qo?JE>=?2xc)FL7Ki*;{fn6B-wWy{z2hM* z_3xz_%kbC#--}6#=>2~`BmRTS#_;cT{~gxjf1iTzdF~bX@5AIINhSV!E)#uV@_!Et zeR{wD1 zz|z^)_7HN0gPCh}-)encn83@+D=jS@cZbv@^^qMZXypidRigK)pY|uONg(?qy%0=Q zcHZZ-v@}0Lnu{eCh>(DQfT$>pI=LT@OjcLxruRd8k7Qs7Nr#;&Aua7mBV%LC-b2if zJ48jLrH-FIeS*W`Ha6iW-@jvTGTv+s?AJH1pPP3o_((jqr>hHAVb`v!1} zaPtnle&e#K<&%+-jl6Rz40BUaRZSAIUAa0xOzoSWpKouMXZTC&b2F1jAGnc$*Xr)+ znX&B^YYn4wJT_$Iw(PgZ@iee>pxy}iA>e848l&3oJgvr(@8S8VLJUY8kLZ=xfTq_ZZ~>mgNy zk**jC!`jr;RD`Pdx2>_4qeXUP672=SgA)@KZkH!LJw2Q{B}GL=LqkJ9d~_lI-5)SF z@kRor-r9U}ak;#@s>(M0qNjCvGHDqW8misN^8riD?c%8Rx)c-5w=-6-7_DP5USZE} zT~tz1l9SVQOmcHmj+Jh1o3g6v?sVnpJw}r+9A1gS_8a@HbSz%PZkE-@BioauBodn& z8~;sdJnx!Nx&N?d zHWa;*ii!<^qPT}w_IkH=F?i))&By(JR=T<##H{b{?-vvlfHFd((Vm{S@kmHWig+DQ zer0B|ZVK`6@Vt8UN>EVF(_(ONa6Xj{)dD{F&6~?XTFo)Zhx5yaEh&XF4fglH^LqAq zUg4}@))U3Jr&gdQKnX{1az69&GL#-jsU9BT zVR0?-;o~{Zp+VAqtp^p6>#y-5jdJ}d%HjXe7Dq%{J@}O$C*G(i#zmTbj&7Fp0r#bV zOkV?X>=nBk`U(4Nt0OvJ*z37^wTRXTvl|UUt{%^W=AHJtcN=#frggBF3ztX7{rxM* zC-lpC8x!*@G5;QT5cn+k68G%3D420wPUHrK&k{BNiE32mmMwn%76wyF`L2`|IiF-Z zF|^{F@u@yAF!12OW|jd(_S~x@%VpPPc2gmIItg>0B*4dK{e5oWi#ny{o)=L_a@umH zu}bQ%3H8H5IK&a?;B*8Be7oO$hl5ICt`XO8}Zuz=#E4bdzpQH z7B}OR1vbfgW5TUb@s|0oDrJUyv9T1IvZ+OJSm~hgDAmJ^#?9ZjYOATKX=pS@qS~~R z1r|Cs0^>i9da1e}L}1qFt{JtUyn=5}G_WWj)Tl4GNw&6`Lg{96bX0{WA8A1Wf3_Y! zF2lq5JuqJZf6m)k*fY}lkeIgP!bitdXbLxrw!Z+BoP&ddiOJuLj8&VthVS^Gw#BR$ znljZhRFcHq&{yX*H8u7162kco3xBEBCfeLPj3(ne$A2EJF$lyl{Dlj8V0JOrm%FvI z8Y2(5h#lxb$rq>w=XBV6DfSP4|KvP~!M@oUHW8_X+I2CFAnGuZ2S=x;rza;9vnKO1bt^qsxX~#oDI_H8y@kPHVS^vRWw&i! z;S1$Aj(dPgO-w4#O;HQdbF8#NMqb6b)wr&eKx-E(;T)6;I}2Zmg{F#7cL^s=Iy z`V`RQP_)h4EuEE@9Qp8n)yWK_UAtX z*VKa-Joh8|bBwXX)@4=~78W)(zN)bk4b50}a%|3xGi)Jf{W`RhaoMsvla84L2!~>M zjk#cDR?8iaFUdr>M1`F}S5OS^(YdWxa$+}9C2meBoVuvbEM!#Q`)o8#i)6uOF(%L}EDZE3U-iGrjT)EPsl21; zTbXhPNA^;v3c>p8wy-Pzs9LA1)|1c@D6~(VAI-aa&dZL8!5ruj(g=gjJTx;?V?J5Z z9VZ~b&p$FW6d4_@?Pu7wXD@}B?|#2Xc`p3tU}$+TQ}4Vo6K!GEH%b)X--bG;ny{+s zs+Z+?Gv1Jxtp_2m`HBrGmQ5~EGrJ#D`l;XIJryP8#pPufjfkd(hV+*%GAW6zR8?#1 zmu?PQWA)c}IZx=-Ha|_ayi&V$`XnkUio;9;(X__;HwPKaq8G6E`uO;G+)s?z+mdNP zJA5(xW?G{88^a&x{JI-t^{qIQ{97+)180q`6EywgidWRgCzl9G+cy1WIUpdQrA5Z; zc_|iC7ud0I3B++|SXkjx8W|axzc$?Oz|PUsl!+zeH+pemZ^D!r8WI8qiH<6w33QvB z$Mcp=#q3G{cJ0`u2%(T=E@ZCnW{&PxUcA#IP?s5+FXoGz#$jd7>FAp8navF%yHycS zztZ94B9X}K?9MZCai~um4iAg`@zMIA783Sb^@YJNd;ffy^k7jwzUGCCvoI!kqW1>M zbCh+*Ej4pJT!9tD{%!p!vJYv5kIojuAW!5V3+<*D^tGLc)!eNhYH`;x@WKR4YOl*Q zSI(>V*Yh7I^KRj7_J2|5))9d}f)smkyI3^STeR>YWU_ssjI}*rd%$0?+JRjQn#SVd zqCsi_gbRKJSzD#V*SC4KKcx z558$sRqRReh3^v*5+wd{{sHqL*K@TFkxHQ!>2#=230RzaBtqwY_Su4KxB7HOmd@=c zfF;q1bIwcuk%J`hQ-p)Rl&E}fiZ!TcM!L}1*8tm z&U!3&M1kqUKrtR5BXIfa>4$QExt~Q#^7!0rql|MRbsc;7+VqPh>L0R-5}976 zFJ%L0rp6w^d_60~Z_dW1F#ABqINcZR{?#?;@tRV79^t$VwQVD8lMl(~+pX{29~%Wr7$GV2)Zl%zeTv>>$=R#W>jT*U zwrMHNf2Yb6mJ}m?8k5?>n&({{LOSuS74sLmy1G*PVCIIeZsyhQXlvc}j*z}tGc9tc zR!d9E79{zD+Mm}Qe_rc5IttXvuJ$IefBWl@L5yPcrkpkg;NicN&|FU!mO`?E#avvvoPpc;?0R~J9WZRMQ$}!w}%sLZv<0S$) zYRn!BcK;A2_y3U0GkG>3{04dpb54Bj$YJRggt)TEyl$J`s|qU9T#ZwME1l zDcIo-^<>3e#WGFzkrAO>_e9bScGNs;aCqUh-xwAnt@-2MiTyZQI>6we_}QoWT8Y!l zjKqztEhg8B3V#EM3D?cs(u>PJBeD*A%I;Zz?wr(|54^F4PJy^v6MI;5G45b*Fe( zTNgB!TwFM3M@L8V95Y^e1-v(>)@n~2oZ2#T4eCC2Rdm(Fq8a0EpjXeAw`c*6uqkQy z^CZ4eu7e;?a_L|A)%NRfK#|++tPw2YydVBSz;hAl7W9@eB%39P;e2g-n+Du*I=Wid zbDnbl=%@EL+K51wPc&azf;qpW7kA7xWRu-tR%amXI$&Z6W=su@V zWNTL%7mAKjE*cwdl9;N7Jtnp&;%P8k)LAHGm=ed)LvGH_#MA07`QAXfHp=5E+urTj zS`4$h(Dv8-U1|pX$_oD_skfk1a-u-(I6FJzN{cf>=^4GAU;Fv`w*4t_!g9maYHVy= z$_@y)?_$QK4{imRUOe6WHJovXZaiO)nC=7EX0d}-dC4ayN+Jt`-M<&nR`ovFHPjXX zq;+WDbD8ud+fd@88W@!5reaVI){bXQB&wokbKc+g#gI4;Xsh=FItn%FP_leA0UE?_v)Rskg0UoYkXJcddelI1xzdK6O3>tYXu%EU1OOo-@ zRK}g`yPOcml*RH3{OEZLO2NnCG4!Lp9TGH zf3a1!x=8exZbpf(Bx5Bd$*=tW*w4-k_1XhR_3P=8z5X!wqx01yi2cS8m?tyf8Xx}# zs?=h(rn^vW85yg0&@r=AJaoJta6>X12wW+*9x{~DId7`b2o2cT0qT+)5i z7BX0FW+Bpj7@jFvpxF4j`QXoc#7J^RvYFIDZ>1c} zfJssd{ZKlLS_s9k+oo(}JU--lz+&o(9bqiv^I7wAShB9VJNU&G(Fg=0M$dg*gC{d5 zXGz`Hkmz$ZMotY&x{pD!AOXSda>A)NFo#37W44{q2x$95asAzu&J$UoT zZ3!U@8~h?CwYeNtOf6{jssE~-;E1;FMHh0c3^ZrI3(( z7L%G9GYqPY9}^T5Bp)|DJ$+K&^Xu0yprLeoo}8R;dWMFE(ug=rS+~;MRK&ZDrT`Ma z@t$e+&n6ZV5)h1&yrUYy&tvadaUN-SMeUXg|9f#~^NZr^dqxUHg{8F<4D*SaFWxtz z_+;>Kg^f&3;b}^_b5MMoug=cDlCagY_ z-)8N4@vX70QCiz3IU+*a;OK`hmhvrUYf@yxDmrX(PkMM7z(km5 zgXS}y7;D4aln2z`ma~@0J`zl>nxD%(S z_Dl+ZuW@~`Qdc%U0fAPS*&nD z$CtP{+aUSXK{x@zxQ(7=(%Kq7daHie58Xw_Ddovw?kgc>hv+}79Nz99)$?!*VWC^F z6F-lzFcZC5>n2I9jsOcZ^e=tlH_c~6P-muQYd&gPTG}U1);2dQZI|*So%0=dzS~|nLHwp3-9-uxGTQ#MIZ26YwckCrb#ihtGHPk~T@bv)R=}3CLFG35A*Ho#iCyuZ zC3dp{XbUHqm9nQ3zAK};3ua?zh_rHQb`~No-V>M;CtC`r)dbYk*47q)ZF6&TWn}{V z3BixfQye@F{zdtCS`~@KeyeJPj8+wD|4h>(dDAj-wQk6!f17rsDxTYVS`4lY5@nPx zKVREOp{1vncg2c&ZiBzxta0!LixLPYq?A&rCJQLG1`YPJXgR(=&tFd&N&^I4@*VM% z5@AhEdEc~NVcaz!OhX;LK#hCy|^KoFUCf88tCQH88}yDC!qn^duopO61Z+fee|R5%{)ITE7qX4ql0fFZ=jV{_ z;|rV}SWa+|wwcRXQHYJSsb94DpdHP|*^AEOn9e9;y4KS8Q+NeY;cTvd+gt$s?eVPs zErSpM%Sl};Y)}qL^@zyJ%&ndTkz*DmsROAFuWSw?PrrDXiT#&h(N^>{0X%6udL@!F z(Qw^m?eHQTH=xPS`#*kgzVovN{@1s0tgWprno~zxTf6K&K!$l)SqoVS`vK4KRg{$S zIc%Z3QS4e{;~gCelP?x4e9I{4$0vv^ddK{V8}UZIBRucz*9hhuJnh{>GZ|%;v>OE^V%4T!di9W$~b(@zZG)c&s1HHSINit2|lg8Yt zwmKtkUyV4P9WPZMRL`vG%;arV*KOs&h`0&!O(p$GP)PVDQgK#^asN?aC3>hw_qcqf z-WvzdS>0z5#z}6`lj2(CnSiLqU+Vaeyw@g!E~2VUBc_^#JpZ=5Y8{kBIxoHYqr&u( z!QJ?=#qX_b%{`4b!z?;)9-mP31F(Yn>oJ&l931v$TtM41ZERxFvepeioK!v@Di>{a zb#*N*t#|Lpd?q+mZ@Q4AisyT=}<~r$#L3I#XrDLK#%*ckGPu#IMZEJckKA~*{ zvA(|k(0$Ka6TPrcHz_h5g;Unff+qUV0<7@Q`b9 zv5kDD5Il1^-4S!YD%1G3|7v$k_q|&9erb(~djHZ=Q`?zTR)r@L$@f(~uv2ID`>%N<0ZVD^g#H*L0!Y_rACZ=N1o5>Ufcn8M2=R;MMjc5Po=_LJUg;-iz?rv>W9gpag zTF%Z)OmsYp?##817(SWvepqufpop}oZl!hEG7_uTuP(>5tN=(+xJD-tptGOQ{qiZT z)0`*Y*|PlkhqydER;TLf>U~Jn(9~4dv+(>FcS*{pTSSex5Txvb^ISkCXu>69ARREW zMo#9nWy;3&mo|5!FWtMyJ~OuefVGzU^wZUk_4D~67TV%NLPC6ui78pR;u`}JK7Hue z5~PUgAKS0ot*Ok-%>^j+M#b@M78ursD=yeFy5g|EAaGcysFiOtn(S@pz>T)L@~V0C zD#J0F5m*oP(<&`~)oOL55~IkyFe6v=#u+Rt_o_l~+FpX_m7foz$wf$B7>&ws@!61L zb@sYrZ#3zuGmpGqX8RCkALD+}8g{+pm$h2xDla9kv2luax(b?|jB{RqWTdy~nqg55 zI?^8xK~xEJ3+{n!|Ha%l+`cFmKf0UY>d^kl>|PMk3>%CMT?zPEw?Om)U9! zJISa9C(`EDS*m6B@z)hR)!Zk81iE{AABL%p<*`qRB1ElQX5CabMqJcOcY2R@XND51 zGZP#$PPTe4cB5U?D^G!?;%LEDvwV^@X_?t|X4y-lv8|l>9%{caQr%B<1@YaeVyBUk zKB$`>YkUaVVv7YRVJylbaf;#$aPkis=juyFu@BID>9TLfYuqk@I$lvxA!itK2NW9E zx_o?mpg%Fa9Od)1lX_k3!crN)!#|2APEL`9h!*`GgOZR7J9*iLKoF(F?@NTr#Nj(% zY}5O`Jne{L2ZQnbINt(=h|16ua1Or%oVztuemDYF;&P{wl?1;xLB#l+x4L6X#3YBh zt17hHo{F^TJr7e{_lWibTD%w86&1gZ6b}qS>^_m*{s}!Y(Er)|(5p*T0B^p25nD$8 z5n(4_;Jrx@fB<%kEfK3b4=S6r=PK9{QaZ6PDhc!xmNl<8t%Z%C*qcZL4Hg~ zP)##Ja&;M@TXTejVY+ht+^8*kjM0-0^Pg>BY-Hc=crI9uDSp^_QWbo9KL~EsM5Tpi z=im_j9Vkopg_yWjh&klBvGRc%#G?v^L1-yqf2-Q_f>yroeHJjWM-~BHfrW%*GdazL z$=DV%V@8+psm3W*eZ%NCdQS#$X!H*CFGTiFcSD1 zXQ(EX)Tsj_f!~(*%ZEO-=gWITQWk%0x+JTb4a@}KqH(RHTX#g{>IwxrBFzi)TWQB- zb#mP7%N zMzEnxHq1fl#Trg_h0Q=pyWa)skV8XVz0rAl?(7XI>saUy(^>aRbHeZ4;gV^%72;#u z5NvnF`aC;XS-)y1Ev(vqo%l9oH_eN$ntZ7s|Fo2)HK+$m+yMQxEUKNDNxN(1nL zMeAHKqV%K*f?qtD0T+1ZF#A22=4#4NAM2!ftcRGD6XBdH(V6BWESw)lwj?_H1siLf z=X$tIX&fqI5?m)3e9!lp7-a{Vo+aok_Y2;nN+X+K{*(uxZUlscz8|eN>sv0)$mnPw)lmfqDMPaYZf4%IO;2+ES zJWLHYqwpgNEcEc?wB5G-owGBLrWhYPPVVlS`qurGd-a25e4-O?aiAEve0EFSd+voa z-RG5DdNuD6QO}*r9^g;<=lb%rQjJ*%O{s9_=IsKem4**t2EpZtEi5dUpG=lsR(yMz6N9TT^(-^o9R~-;d@on06qRfqWnXybxnBX|6-Xci z(nZ++xRZigF*45033jFB%d3HkaDTb_b{Yxm!kMyWXW++<}{zSUo0c5BvUH z>wXQ*Xa=IAqvK5Xk*VL2^cH>f4_la-gB>&T%i^NK_wYL9@^w6mTZ5Mt--8>bMYBrk z%LPPQVeZs!Zf^12!otG-7u0)z-orh3Lafiejn6-;JUKnpE4NAe^XE@Rh47VrTAcOq zKgIcTAgcjrUc+_TCvYpN5b6PK%J0>>Fd2cUD}BwE8Dt*|j@VhdFY<0Uw*JBRJvBoQ4-b%;QB>>%F%OV)>FD*k+xFSO8vhT|0GMDv-A})Idhgyn0PRO- zW>k!$pEX^y_Q1oqKa7_;J?PwMz`T^i^9G-zE^qTYKKWJ5!*A%(u^`MzU{0#?I{8?s zv-^^&is*%Gh6nRvEkx`DBP?76;TuVCo)1&=ILv^e-8hdA^wN!vayL=0%4dUIY-r(bieRRExp2HBa7rv! zbtmLA7pt9t!O~KD1h5E!>r^^rqo|{!0|=~lZ%PSL>R&AYV)aRQbrqhrH&uS#sgtD(k9!BRl$g3X9B$xq!z_Rd-;Q}}Pz+ioRlMzDujsJ| ztAKQWI`+pPA&m9;Y$O}o$EBpUdqBQq=zJk2wyiL#gzdo}@dNtq-Af)G5Z74V4dNi} z?&`8ClzN0}N&9kjrqEcnj)zlARf|*D|8wFkX@eJ6Xx>GG+Gvf5hwzdR^JE=j^(V>1 zzupPpsMNxtke?cq$&+()bL)c{l@%4t%*+Z33O2#2Tk-hld#dK<+atL;j=M9;k!f8F zR|e1+`v|XjcYDK-p!fhO3#7E(542i&8wBB%Y}xq;3WXUinEr_55fxP`0TM9_GB`98 zv>Fiu}EM3SQ*3Ob7n%kFhKT^Ky8sX_+ zAqen$JIwnN>z$+dDXAJAyf`|-^nqpa*L1hRFc5evgshj+bUH7*tj8Spyv@wbpE-m> z&d*V}-2VWZOtb!Wz*aHoE$KdcW4!0xFOzVEp-Hui+I2qdro zFspkb&|#orgi!kx7kA$hBr%F~FosW+5t7^0$w<~9sxE1c9__jspi4cflN(CS13(+7 zo*;*oF9JX%Fu+gxHJvAvpTe=0Y6*^lIb6Kq&*OLm=_6R>!hFfni=>2gJg4Vdn_wpe z)zt}m?P1|!#f!bFNp~*Y88H$PBRt@38uib*-R&ofI!SXejpHVE|rQOz*z!$u`V9sk+=@b zdc}X%fk+5ULJbCj{_j-u4Dr>mCo+#bIf%YnA{)lLI^0LpUW!vy>9-Q9krhP1-1Zlw zPlDXmx3_PULeRK?w`XGPC`g(N`CR% zLO1;(%}*4?fBXRmxuB~7!U-pa)mAOnXcd(|s7%%AI5WbEi(c8N4^0+4Bi47>P~2Nt zZ7wj3;rw<$QgqdxI57w>%_n_+{m&>t5AJ+~Wa>?pUG0e+hXJuxyN{3U#nHN!o|`>T z-Zw{bLDSH3aS>S_{pb?%WKlR5%Z6zFN0otq?!19LeZkj@54V9k z4>dMk1>$>-_c1JT_KdnTbiQ1XMu_p={AybfxRqmF(InjKy${=HT@Dyamf9oPtRuyl zww=&j9xeveZ?SZZ&xZMsTqq{P$C;=Os!J`z#Crq1kRNYAX>gCc|7H!}--GxLutPP& z(O2>ZwBMEx{THm#UpGY{fwJ!aD$NM9L_>D>26(c_TwHC415k^*_{yllAK zdsXjoH4Sljd0hS`bDhKSE?fzdHne-K_O+~+Qv9MnOdNA{2-BnUxU%L#g0u?=Zf=4B z0cIfxVUQ72qtxWAxvP)Dvthdht+b07i);e&q1|`;4dq$w(j53tLv(M$j7QJ1CGk}C z^kxx^vLI{rRNeZW3PxaL?({+?5y$HGGTZFHK!e4^Xv>PqbWSN)X~L%R=}O1KXOVzU zY=ac0t2nP|+}Fj`F}M+@eQiU~+gp<@^k2LsVtq`71|12b6$^Q6$FaFiK@%IHmF<0I z9+l%3n2f3*m9Ui)^s-=M`#Mos`ZwojL(+HlLbEKG3gbjb=i#lf~p!jU@d8gy3`8<0Ep9QoKe|s8<-gu!#_EwF9d^M3c zmu#@P%FXPejzMsV*x~$O`DO``sFn{k46t_})n1{3(vLH`aA7-_mzQ8Fm9-E_-Pebe z73%7+-#uCq_bkLay-&^sn@cTSJMKr0p2IVCBQWmcbDBnBV^0VP{rqK;M636Z&{%Pf zhMIh{5iTm9|1)@rLzAV`(&)|?G1*mV=U>zFC^#~6L@zV+T&}|~Y{%a*BEx;Zesx~? z@P>2}uZA3DGIkzkri&jBx0bpdmqKbb^?G65SF!O6%Fh}L@Am4VH^!#?ivjp0G82U_ z)v#-CJm!qWtr#*cGy^#grmcnMpc|1eJ4Ym>UdB(`d2nc9mTpT+qYXNsv z0v`GWD@)OyP)IrGFkm%OHFpR=xwNX?7;W$Q>Bz`!lce3~bnJI}@_XQSb$ZBb4CJD4 zEx-M=%y=!}aO1;rD0cqY443@V3$nydQ~Ul5pmH#QifVCzYH7ujo(SiV22iSSD8WTVm8t!~FcUzV1Ong~bz%nEf0B{w zibd?fIyAeVFy|t4pT0qTD=sdMl<$XAwKlC9zYS${9SBKlOIothhK~h5X^Kky2lyE9 zr!YL5>%zjThARS$qTb7aY(~!vbaY(* zPzND6`LZWOMleGHMnNKS7BBAHV^2;h2e!mD+#k`B_al6|#9U4uNtu29+LpwBwzu~p zrrFce6W|HFS35J+m*~q~77sMYQGBY#f(U5R+E~)VC)bRy^^|+@`|fD_cf(n5e=NzD z0PolLj*f}j^C#I2TI(&*lXO1|O6hcP%7%UV%GQiJol}A5VRnb;=tint?u^mZWm*C0 z2fH*Si-kB{TaO{$Q==d`>TfMkBccQE_i)t7?*FL~8}NJ}uc)fp3#2PwUtioLpc9yT z0-ON{s|&CqK$o+{W}`HYQ`Ws=r@-$3;m`SQf!U=;oU9(&b)8QRc@Df=z0hljE*!}QRj6w(F8j3x4BK4Qkg zXxh&R8Qe!vy0NJJ+QfP6!Vvw0YmQB$!H2GMcfr)F=@<4fGz-H&P3;=Wnn$gQI663> zXIe2#KV|PK$88lR`*C0Y#&A4eJ4xeqTMt98g𝔧!HR_Ho~-;#|w>hpRKeZ7%xwE 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%0D+i^00!AT*0Cpjos2o{K zSZfl8NvNQ_g_G|EME$f`vrnCQKtwqZb^bU!TVEn2ts8yknH>m~jEwvmKYjYdW8V2r z5GFDOUou@4mEOKSsYfM*t>}rf)}$^qpFa79oAA$@1;sGbClrrEf+TpJJ`L~fVeV;A z6B3ZNFdc6=NTEvpjV7#jOY-YO8xLzukNyREAkles{rq zE{`Df8=Ia+0tai`ny=CU#G5AQZDO{D$8WYbM9F%1XYK9~$e3lAhYpol zl`r?hec{$7?CJvkwn|Xnd*j znrTVKv9dBXW2b64qx1j{99e2VIy&d|wSrRK92K7CdhcvT=Dz4P67t8V3efl=No%9}LUSH+&N37m+9LGk6XKt^^Vy62R*&~L(A3eXBT!e5eU_Y% zP|+iV0jOAOnmRV?Zd(&Gv)lkooIH+FJdX3LRV3UNYp3&af3$8Wc8wOlm{`cb?q_e- zUQ>xUqY{V=fGUk>&b=GO{NL@!@{~9lKF+w~VH}fb+5{?Oa#GR%!G^h<+zU6ifFuNA zwV#EGuJ!21!%g$h_(N%(&$`_iuC@&f)Uv#L@ndUJWyzPB(wR)!vWXp4qOZlXXPyo* z2WP0QLChX2>)qzBaM^Belk^s;Q;_?WO}Vd%5GdyNz2%MlhE|@%OQNwN>4l6JxUw5B z5|C?xAm!h8q(gjddHb5{(hJAFhYAW$BEyxyp@|Y_zRi3mjs6-zu%5s2XXfy2XJ_JX zQQ2+Zli8p6IQ70giaaiI7!p6Q{mj;Wft=joJOA#>yT>hk8|aOwsL$B)-)n!LH?At3 zqt@3~7ZP~*m|M{&{i!OnT_4&~cWCbW&$ezT_FexLn1$_`++Wz(O5h76wXv-ZuaVbe zr2p?4SN=82T*}umQtDBZJ!|OcSyh#jmY3&Z=5A)_otM>moGVYPTU3-*6)>AovC!HR z5YX;s`>ggUyPaP2$xG}_JH1>s4r`m7p%I;u^xRLMKevx5BzfPb^tt2C8|zKXZn(bi zP#DtQbUhR#yhhvG*-pWcnnYzuF>9_F>#>x0GVav!GImC4CVf7i^)9QXLFe?PZ05!4ey)m|QQaxDPO0OSunJ>2(j zs-gDF={rFNy*8lV;b5Ie0H;TKTpBPTC78zrZU%N6CQzAp6VadjND6*=fczek5f652 zdw4YNggbyZ2RbA`)wLat_Uuc0J1PUygCp2P9z1wF2mMNq8@NZhN?5YZoCANgHCz3# zdc6!pyfwKd-Sce8^7X%SPA@S4q9d4h^0dAE{3))*XwMGFlLWeE; z@9~{=j5&`78AeeLA%toeUPD8KUvrXez=upnP0es0#PC|BX+`&%W4K#LW9DJA#P#vJ zL)MlccaY7x^aPX6T-2jY%BZ9@$V=p}k&zQj*m}E=tZ4A=;kAs`R5Wsn8@B}!MdFKb z22<72*!ST+$M*>dkn)9v4Ny?nYpuZhSbZFO1pL@#zeFjKb6MI3EE;j)h1^_G#d7V& z_e?|^nOV^b#1!n8NJt7B0df0o~>STI{o4GF~g^qwRChDSGWPcMWSx7KM z@m0F6+Pr-E!23v`Yz0p$2^<@ww7JZxmSr;UbNpmmqz|~hai@zGu{9}wMF%5ouq$hR{|k2$p6n{ElE;22_f`p$sT z*M?Ck>AgX>Yc`?i7^B^gxeTRDr0|Scx6dZ&zr+5Pu@p3lupI`{JJLiPK6>q-^Yb~H z%8&@|%=6G+r}e{5qf<;2;-#M`>-&fVvF2iK6|+JW1!2ofR4kfI0t&x&W%%tVm_u+! z6^jWr0am4C_vh_5&arWEYU=8+#H=FY#)dh7v}a>&B!9swEdaE8W{0SqSkk_j|8Tgi z!s?H$0Fy=ny2zrt09 zm6c(USIoMQW`e4=wh;VcVW3Gjst2AAxRY-^spXQ7TPYFTA@9TVA$d_>Ur8AZZt0^W z_t1QQue0EO_^6Z8LHdJF^ymv=**}p;t|(5*{S9r2M@)tw!S5|fPY+;wd_qG{&n&H_ zXUabOqDzqBMqIc#Vk48zqg4w~kAH6>?NE7oa;VM`aFw{_Elh~ha#4&UVSiMTVZ4K9 zdRhrOAZ*XzpzL08(Zm0FPd&<9LgGB_on8y$w>gRjU)XT(hFpa?zT%uc>?GU_Y2p+FLOgfUmO1}-~cM-9aEHV{PzG!a)U+2 z>v(&>_F=$P7P%zUZiiNL@lzstj@;yP-%5a%25O<;@r5K-H0Vj+2Io}dz0OWkh7)KD z!E~{Uw8HLA0GY{LsJGa{GkqWmVapRI9MyYB)gj&EAp%LN@Q#H`m<+ZX zXw=ICMao@&60~>UbG@MbVx^pNcPN6VsiQC7oV9~*poso#_D6-eJ+nap!-=VOf&zg6 zE7sP*TK>Qp!5muBnqV>bUb?8U`%17w--bU!fLlrsPjq{*)=o zy-pu@F*0uX=3wBAfMoxzDinGQm@UuK!||G0GA&pHrmMRQYlE~8s2$|fz(xscr2Lf* z50C*$EcdHg0k~2X-WfDr`QXuU{>sB2qhU$3XveuHvm*P`(RpFmcHt{` zb+*oTcaY53m|A#F1W@Rx1c&dy?vQf#+g3HfK`>ZZ#S z*)H3Q`-+oz#b`#AjMZQyK^4i09U)RL%6TG(9y#hJb0z~=Dk!r7YV z8Y%TduTKojXj=XCMJda@2i7(SZO>b+$r?+0^B`*w-n&zE^%WWK_8NUaaBaVtXZVJP z&IMK_?RnSog=tdy1c3Bfd(t z*hCRX(wtn(R2Zf)4ZbwUna|K}lu?CL@QgKB1LJJ!Ht7W04PpP&XBZF>R^d7Ce>J1? zWC$m)2MJb@A;`fmVV0s!f8Vj1)-8Xe%^Mm0!H!X;JF4yCV_Te&-MBV=6Lai2f$#Dm zRs1O79RzwmYP{!mwBDpU?=HB*TJ_R|X6H}s8%iH(I#JrPBVrDXmkzNMdd)jTmx^?! z8Vt@xQnY*)4Gud}Mm1nrhHpG2p>JtEk-qF;GUawGdc4(pjFb|LLSr3``@H0gWuR}LN1h*p2 zl$~2PHZ(S-2fL+0wKdY#G_FFxe4lYy6|j`%7N{Vzok!eLY{o@sVV*53Qr2PQh>|w1 zpG!?+SfrkHTRBVD&X1;|l#$9xcW;fK1sKbUMo|FT4eNtKZ%%7TSVb?zaiL*zMYc}l z3E0fXcmwQcEX=Whf>~BYmf;~e>_CJK8iv)p#u^+7N~gS&kuGW|5?<@V)VeSh z{;h6vmsES`bx`b)Q%-gyjq|MlM@pr#*~*&l$+6Z*Z96!w-)*df6~GP2)3*yQL`?)e zk4g2~(OijLZc#Wo+ZGB(2R0MgzezeR$^g&xV0}fHQp*o548r_T#yT%ruHRSH{OHff zTZ2eUY-IkZ){@+FX*fQ!cA8~jUEeM>Me7>8KSX^r`~VHN17@k){^)7ZgCRMJb(z*S zW3dNQD@9n5F1G8HKWg2;gkMJwskb{A4@#xer3+2n1Tx+YW&PesdxFw>KdcI9H}_Ci zjI$HWJZILv7`|c1e}~h5g*!U42*85Z5BWBg%cbew_pJAltU}&PVqtw>X(?Y|1*}Si zm15h2Dtu&6lu=1HQ>>Ttj^NmtP}|slmA3Kpx{%HO*29wfo@@QOGo?*@%cT($2vsq= zbmn=8wtr$@TWVnP+iBsQ*s<0&ongKQ?@9)Htu97?X9&_TABah|J}T0+oyO9L(5|6*%yWz5zSnF)-NN%uNc$xuyJwFvDC}5 zZB2Z%cO~?Adt?9I-IjMdcDG%dkfigM4*z_O=UN-I33MHAEq5IczhRdnwP_c%S?1>Pe*K7P*owcL`)?F9$$NZACXMM2Z>TE!D{;GUoWR|#89Lf3LsyWHJ~ldw`DA_`Ghas5 z6lh9(#+#uQNq^Zs_tp~r?$&MNk=9_>|kg8Z*5*KXR3%FXPeU!L&imbghw_nb>= zcp@IJ)) zR5?|N{US#xbE;<){jPF-igl9cpST}9C-Lzk4)oJB`9$wN=+0AVy`sdeEk3%8R#_hx zi=?=oUApRMHidQ23&MK;RQ>^%xZC>bP|0G7$I8U^<_S)=0^QxQFa2dw5y%z!J4;TA zaIGUppj0Icn!T!L%mzAJ5Mb~$*NL=zV{$Y$L|B1U6jW(VW3ar^w!fbRb zd2~h$m5+b$anOiu)*?kjHQow2&R!b+akem@vqQkD^b8HQcMl!MZxI5Sp_!J_69}u? zz1{1*K`#A&7tU%OjWtM-8)h1elP<=;wKZ?N9?&2(NU!(_pRBHOszE)5I@xiFihQ(l zP5ngr=V=6MI94s*m^@)oUmgL=p!gH0-8%ebigXE2r4!Z+i$!P*hiNnVgB&8fC}0=x zf0wfmnP<@x0qeTYvU`XR!d+WeLO1LM_Bsb);{xBt1ayu>($Zw<>mZ0~x zd=>C3NZlZ!TT=4hUY7EfCB26Zn~%>FRhrXh@2rk1DWnHfj@jKVc0E(kx_!gHp_~Vd zADQ)ncc-WfTkbx5AKM}|(XebCl!ta0%m?}94-ss_l-d}d$O(b5mVm&-a#)e=-&@Zm zMMPUx27TXNl8M&U^0Zsiq+qy4AxM_z%(TY+r@+o`5Ha9X zg!REQRN4>0WW1(59TEM>bj#cEdFrdl5W6h%<(y!Nj>UVspGpl{(1JZeq5=`Q$FA1~ z7?DUpT=P7lfL&=o)X>fa4$`%G!fw8mrKRbW#B@NkL=UlD6?9xqMOC;3UI+IV-=wR4 z-=lir2D|7m^=9@_mn==--)caSyRFe8XBuLXYV?m(@L|?ww(K zulKicGS7iTCeSM^^5QU~&)*;Gi~$=eQv!BJ^`hr4M{KV*3$AGBOqu;G$gzGTav@w{ zCXg8RuFbz&&K=0UJM1zP$&!K;UA($ZuS{AJYYQ1+cSMzY3ACs~)chcxf z?L@>Ko*`H#d*yWPO7!F%&Q7JHpGq1RBD-${r6_p4H_{9>Y?MAMPdyY=#yi%v{ISD@ z+eEyzp7avmX6AUvuwJVTw@P){uDkR118w5EHYy<_m*;cL__giF=q z96}Z}UHP6ftm~wfmLYbVe*O}DR~qhGgfLQ4)rUe`w3ZaqTo6cKwk-7bkCwzFYioGt zL~P^C;FHS&0X`c_Cvu+hgI3-Tf{%ia(e{F7zMuBoxJqQOG + + + + Debug + AnyCPU + {49A5B00F-3E0F-43DF-A3F3-EA6DAF6B425C} + WinExe + Properties + CentennialApp + CentennialApp + v4.7.2 + 512 + {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} + 4 + true + + + + AnyCPU + true + full + false + bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + + + + + + + + + 4.0 + + + + + + + + MSBuild:Compile + Designer + + + True + True + Resources.resx + + + MSBuild:Compile + Designer + + + App.xaml + Code + + + MainWindow.xaml + Code + + + + + Code + + + True + Settings.settings + True + + + ResXFileCodeGenerator + Resources.Designer.cs + + + + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + + + + + + + + + + + + + + + + + + + + $(WinMetadataHintPath)\Windows.ApplicationModel.winmd + + + $(WinMetadataHintPath)\Windows.Foundation.winmd + + + $(WinMetadataHintPath)\Windows.Management.winmd + + + $(WinMetadataHintPath)\Windows.System.winmd + + + + + powershell -File $(ProjectDir)DiceSettings.ps1 + + + \ No newline at end of file diff --git a/CentennialApp/DiceSettings.json b/CentennialApp/DiceSettings.json new file mode 100644 index 0000000..2700dac --- /dev/null +++ b/CentennialApp/DiceSettings.json @@ -0,0 +1,361 @@ +{ + "_packageSizeComment": "InitialPackageSize is meant to be the size of a single appx or msix file. It may need adjusted based on Target Version and Min Version in the project settings.", + "PackageSize": { + "InitialPackageSizeInMB": 0.2, + "TargetPackageSizeInMB": 6 + }, + "_languageComment": "_sampleLanguages is provided as a reference. Copy values from _sampleLanguages to Languages to adjust the languages included in the packages.", + "Languages": [ + "en-us" + ], + "_sampleLanguages": [ + "af", + "af-za", + "am", + "am-et", + "ar", + "ar-ae", + "ar-bh", + "ar-dz", + "ar-eg", + "ar-iq", + "ar-jo", + "ar-kw", + "ar-lb", + "ar-ly", + "ar-ma", + "ar-om", + "ar-qa", + "ar-sa", + "ar-sy", + "ar-tn", + "ar-ye", + "as", + "as-in", + "az-arab", + "az-arab-az", + "az-cyrl", + "az-cyrl-az", + "az-latn", + "az-latn-az", + "be", + "be-by", + "bg", + "bg-bg", + "bn", + "bn-bd", + "bn-in", + "bs", + "bs-cyrl", + "bs-cyrl-ba", + "bs-latn", + "bs-latn-ba", + "ca", + "ca-es", + "ca-es-valencia", + "chr-cher", + "chr-cher-us", + "chr-latn", + "cs", + "cs-cz", + "cy", + "cy-gb", + "da", + "da-dk", + "de", + "de-at", + "de-ch", + "de-de", + "de-li", + "de-lu", + "el", + "el-gr", + "en", + "en-011", + "en-014", + "en-018", + "en-021", + "en-029", + "en-053", + "en-au", + "en-bz", + "en-ca", + "en-gb", + "en-hk", + "en-id", + "en-ie", + "en-in", + "en-jm", + "en-kz", + "en-mt", + "en-my", + "en-nz", + "en-ph", + "en-pk", + "en-sg", + "en-tt", + "en-us", + "en-vn", + "en-za", + "en-zw", + "es", + "es-019", + "es-419", + "es-ar", + "es-bo", + "es-cl", + "es-co", + "es-cr", + "es-do", + "es-ec", + "es-es", + "es-gt", + "es-hn", + "es-mx", + "es-ni", + "es-pa", + "es-pe", + "es-pr", + "es-py", + "es-sv", + "es-us", + "es-uy", + "es-ve", + "et", + "et-ee", + "eu", + "eu-es", + "fa", + "fa-ir", + "fi", + "fi-fi", + "fil", + "fil-latn", + "fil-ph", + "fr", + "fr-011", + "fr-015", + "fr-021", + "fr-029", + "fr-155", + "fr-be", + "fr-ca", + "fr-cd", + "fr-ch", + "fr-ci", + "frc-latn", + "fr-cm", + "fr-fr", + "fr-ht", + "fr-lu", + "fr-ma", + "fr-mc", + "fr-ml", + "frp-latn", + "fr-re", + "ga", + "ga-ie", + "gd-gb", + "gd-latn", + "gl", + "gl-es", + "gu", + "gu-in", + "ha-latn", + "ha-latn-ng", + "he", + "he-il", + "hi", + "hi-in", + "hr", + "hr-ba", + "hr-hr", + "hu", + "hu-hu", + "hy", + "hy-am", + "id", + "id-id", + "ig-latn", + "ig-ng", + "is", + "is-is", + "it", + "it-ch", + "it-it", + "iu-cans", + "iu-latn", + "iu-latn-ca", + "ja", + "ja-jp", + "ka", + "ka-ge", + "kk", + "kk-kz", + "km", + "km-kh", + "kn", + "kn-in", + "ko", + "kok", + "kok-in", + "ko-kr", + "ku-arab", + "ku-arab-iq", + "ky-cyrl", + "ky-kg", + "lb", + "lb-lu", + "lo", + "lo-la", + "lt", + "lt-lt", + "lv", + "lv-lv", + "mi", + "mi-latn", + "mi-nz", + "mk", + "mk-mk", + "ml", + "ml-in", + "mn-cyrl", + "mn-mn", + "mn-mong", + "mn-phag", + "mr", + "mr-in", + "ms", + "ms-bn", + "ms-my", + "mt", + "mt-mt", + "nb", + "nb-no", + "ne", + "ne-np", + "nl", + "nl-be", + "nl-nl", + "nn", + "nn-no", + "no", + "no-no", + "nso", + "nso-za", + "or", + "or-in", + "pa", + "pa-arab", + "pa-arab-pk", + "pa-deva", + "pa-in", + "pl", + "pl-pl", + "prs", + "prs-af", + "prs-arab", + "pt", + "pt-br", + "pt-pt", + "quc-latn", + "qut-gt", + "qut-latn", + "quz", + "quz-bo", + "quz-ec", + "quz-pe", + "ro", + "ro-ro", + "ru", + "ru-ru", + "rw", + "rw-rw", + "sd-arab", + "sd-arab-pk", + "sd-deva", + "si", + "si-lk", + "sk", + "sk-sk", + "sl", + "sl-si", + "sq", + "sq-al", + "sr", + "sr-cyrl", + "sr-cyrl-ba", + "sr-cyrl-cs", + "sr-cyrl-me", + "sr-cyrl-rs", + "sr-Latn", + "sr-latn-ba", + "sr-latn-cs", + "sr-latn-me", + "sr-latn-rs", + "sv", + "sv-fi", + "sv-se", + "sw", + "sw-ke", + "ta", + "ta-in", + "te", + "te-in", + "tg-arab", + "tg-cyrl", + "tg-cyrl-tj", + "tg-latn", + "th", + "th-th", + "ti", + "ti-et", + "tk-cyrl", + "tk-cyrl-tr", + "tk-latn", + "tk-latn-tr", + "tk-tm", + "tn", + "tn-bw", + "tn-za", + "tr", + "tr-tr", + "tt-arab", + "tt-cyrl", + "tt-latn", + "tt-ru", + "ug-arab", + "ug-cn", + "ug-cyrl", + "ug-latn", + "uk", + "uk-ua", + "ur", + "ur-pk", + "uz", + "uz-cyrl", + "uz-latn", + "uz-latn-uz", + "vi", + "vi-vn", + "wo", + "wo-sn", + "xh", + "xh-za", + "yo-latn", + "yo-ng", + "zh-cn", + "zh-Hans", + "zh-hans-cn", + "zh-hans-sg", + "zh-Hant", + "zh-hant-hk", + "zh-hant-mo", + "zh-hant-tw", + "zh-hk", + "zh-mo", + "zh-sg", + "zh-tw", + "zu" + ] +} \ No newline at end of file diff --git a/CentennialApp/DiceSettings.ps1 b/CentennialApp/DiceSettings.ps1 new file mode 100644 index 0000000..e7f877e --- /dev/null +++ b/CentennialApp/DiceSettings.ps1 @@ -0,0 +1,32 @@ +# Copyright (c) Microsoft Corporation. +# Licensed under the MIT License. + +# set directory, import utility functions, and load settings +Set-Location $PSScriptRoot +[System.Environment]::CurrentDirectory = $PSScriptRoot +.(Join-Path $PSScriptRoot "..\Scripts\DiceWebUtils.ps1") +$settings = ConvertFrom-Json (Get-Content ".\DiceSettings.json" -Raw) + +# find out the number of architectures included in each file +$project = [Xml](Get-Content "..\CentennialPackaging\CentennialPackaging.wapproj" -Raw) +$appxBundle = ($project.Project.PropertyGroup.AppxBundle | Out-String).Trim().Split(@(" ","`r","`n","`t"))[0] +$appxBundlePlatforms = ($project.Project.PropertyGroup.AppxBundlePlatforms | Out-String).Trim() +Write-Output "AppxBundle: $appxBundle" +Write-Output "AppxBundlePlatforms: $appxBundlePlatforms" +# only adjust the data file size if the bundle settings are available +if ((-not [string]::IsNullOrEmpty($appxBundle)) -and (-not [string]::IsNullOrEmpty($appxBundlePlatforms))) { + $isBundle = $appxBundle -ieq "Always" + if ($isBundle) { + $numArchitectures = $appxBundlePlatforms.Split("|").Count + } else { + $numArchitectures = 1 + } + # calculate the inflation size + $inflationSize = ($settings.PackageSize.TargetPackageSizeInMB - ($numArchitectures * $settings.PackageSize.InitialPackageSizeInMB)) / $numArchitectures + + # Set the size of the data file so the final package will be the desired size + InflateDataFile "..\CentennialPackaging\Data.dat" $inflationSize +} + +# Create the list of language resources +CreateLanguageResourcesForBridge ".\Strings" $settings.Languages \ No newline at end of file diff --git a/CentennialApp/MainWindow.xaml b/CentennialApp/MainWindow.xaml new file mode 100644 index 0000000..58d3a96 --- /dev/null +++ b/CentennialApp/MainWindow.xaml @@ -0,0 +1,50 @@ + + + + + + + + + + + + + + + + + + + + + + + + +